Merge ~simpoir/ubuntu/+source/landscape-client:xenial_trusted_local into ubuntu/+source/landscape-client:ubuntu/xenial-devel
- Git
- lp:~simpoir/ubuntu/+source/landscape-client
- xenial_trusted_local
- Merge into ubuntu/xenial-devel
Proposed by
Simon Poirier
Status: | Merged | ||||
---|---|---|---|---|---|
Merge reported by: | Simon Poirier | ||||
Merged at revision: | 5e83cf1146badd0090a0f65adefb4058501766b1 | ||||
Proposed branch: | ~simpoir/ubuntu/+source/landscape-client:xenial_trusted_local | ||||
Merge into: | ubuntu/+source/landscape-client:ubuntu/xenial-devel | ||||
Diff against target: |
773 lines (+740/-0) 4 files modified
debian/changelog (+7/-0) debian/landscape-client.postinst (+8/-0) debian/patches/1886491-trusted-local.patch (+724/-0) debian/patches/series (+1/-0) |
||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
git-ubuntu developers | Pending | ||
Review via email: mp+387004@code.launchpad.net |
Commit message
Description of the change
To post a comment you must log in.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | diff --git a/debian/changelog b/debian/changelog |
2 | index 58ef077..5511e13 100644 |
3 | --- a/debian/changelog |
4 | +++ b/debian/changelog |
5 | @@ -1,3 +1,10 @@ |
6 | +landscape-client (16.03-0ubuntu2.16.04.8) xenial; urgency=medium |
7 | + |
8 | + * debian/patches/1886491-trusted-local.patch: |
9 | + Backport implicit trust of file sources created by landscape (LP: #1886491) |
10 | + |
11 | + -- Simon Poirier <simpoir@moosey.she.simpoir.com> Tue, 07 Jul 2020 17:26:43 -0400 |
12 | + |
13 | landscape-client (16.03-0ubuntu2.16.04.7) xenial; urgency=medium |
14 | |
15 | * d/p/product-name-vminfo-1828217.patch: Add product_name to things scanned |
16 | diff --git a/debian/landscape-client.postinst b/debian/landscape-client.postinst |
17 | index b0c5002..4f6be53 100644 |
18 | --- a/debian/landscape-client.postinst |
19 | +++ b/debian/landscape-client.postinst |
20 | @@ -130,6 +130,14 @@ END |
21 | USER_UPDATE_FLAG_FILE="$DATA_PATH/user-update-flag" |
22 | install --owner=landscape /dev/null $USER_UPDATE_FLAG_FILE |
23 | echo "This file indicates that the Landscape client needs to send updated user information to the server." >> $USER_UPDATE_FLAG_FILE |
24 | + |
25 | + # To work around bug #1735100 we rewrite file-local landscape sources |
26 | + # with the trusted flag, as they have no release file, thus are |
27 | + # unsigned repositories. It exists while package profile is applying. |
28 | + LANDSCAPE_INTERNAL_SOURCES=/etc/apt/sources.list.d/_landscape-internal-facade.list |
29 | + if grep -q -e "^deb file:" $LANDSCAPE_INTERNAL_SOURCES; then |
30 | + sed -i 's/^deb file:/deb [ trusted=yes ] file:/' $LANDSCAPE_INTERNAL_SOURCES |
31 | + fi |
32 | ;; |
33 | |
34 | abort-upgrade|abort-remove|abort-deconfigure) |
35 | diff --git a/debian/patches/1886491-trusted-local.patch b/debian/patches/1886491-trusted-local.patch |
36 | new file mode 100644 |
37 | index 0000000..86cb2d3 |
38 | --- /dev/null |
39 | +++ b/debian/patches/1886491-trusted-local.patch |
40 | @@ -0,0 +1,724 @@ |
41 | +Description: Implicitly trust file-local sources managed by landscape |
42 | +Author: Simon Poirier <simon.poirier@canonical.com> |
43 | +Origin: backport, https://github.com/CanonicalLtd/landscape-client/commit/d640643a15414b0d8e4330179e11d5a6036a6e42 |
44 | +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1886491 |
45 | +Last-Update: 2020-07-07 |
46 | + |
47 | +--- a/landscape/package/facade.py |
48 | ++++ b/landscape/package/facade.py |
49 | +@@ -264,15 +264,21 @@ |
50 | + sources_dir = apt_pkg.config.find_dir("Dir::Etc::sourceparts") |
51 | + return os.path.join(sources_dir, "_landscape-internal-facade.list") |
52 | + |
53 | +- def add_channel_apt_deb(self, url, codename, components=None): |
54 | ++ def add_channel_apt_deb(self, url, codename, components=None, |
55 | ++ trusted=None): |
56 | + """Add a deb URL which points to a repository. |
57 | + |
58 | + @param url: The base URL of the repository. |
59 | + @param codename: The dist in the repository. |
60 | + @param components: The components to be included. |
61 | ++ @param trusted: Whether validation should be skipped (if local). |
62 | + """ |
63 | + sources_file_path = self._get_internal_sources_list() |
64 | +- sources_line = "deb %s %s" % (url, codename) |
65 | ++ source_options = "" |
66 | ++ if trusted is not None and url.startswith("file:"): |
67 | ++ trusted_val = "yes" if trusted else "no" |
68 | ++ source_options = "[ trusted={} ] ".format(trusted_val) |
69 | ++ sources_line = "deb {}{} {}".format(source_options, url, codename) |
70 | + if components: |
71 | + sources_line += " %s" % " ".join(components) |
72 | + if os.path.exists(sources_file_path): |
73 | +@@ -291,7 +297,9 @@ |
74 | + about the deb files. |
75 | + """ |
76 | + self._create_packages_file(path) |
77 | +- self.add_channel_apt_deb("file://%s" % path, "./", None) |
78 | ++ # yakkety+ validate even file repository by default. deb dirs don't |
79 | ++ # have a signed Release file but are local so they should be trusted. |
80 | ++ self.add_channel_apt_deb("file://%s" % path, "./", None, trusted=True) |
81 | + |
82 | + def clear_channels(self): |
83 | + """Clear the channels that have been added through the facade. |
84 | +--- a/landscape/package/tests/test_facade.py |
85 | ++++ b/landscape/package/tests/test_facade.py |
86 | +@@ -145,7 +145,8 @@ |
87 | + deb_dir = self.makeDir() |
88 | + self._add_system_package("foo", version="1.0") |
89 | + self._add_package_to_deb_dir(deb_dir, "foo", version="1.5") |
90 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
91 | ++ self.facade.add_channel_apt_deb( |
92 | ++ "file://%s" % deb_dir, "./", trusted=True) |
93 | + self.facade.reload_channels() |
94 | + self.assertEqual( |
95 | + [("foo", "1.0"), ("foo", "1.5")], |
96 | +@@ -219,6 +220,38 @@ |
97 | + "deb http://example.com/ubuntu lucid main restricted\n", |
98 | + sources_contents) |
99 | + |
100 | ++ def test_add_channel_apt_deb_trusted(self): |
101 | ++ """add_channel_apt_deb sets trusted option if trusted and local.""" |
102 | ++ # Don't override trust on unsigned/signed remotes. |
103 | ++ self.facade.add_channel_apt_deb( |
104 | ++ "http://example.com/ubuntu", "unsigned", ["main"], trusted=True) |
105 | ++ self.facade.add_channel_apt_deb( |
106 | ++ "http://example.com/ubuntu", "signed", ["main"], trusted=False) |
107 | ++ |
108 | ++ # We explicitly trust local |
109 | ++ self.facade.add_channel_apt_deb( |
110 | ++ "file://opt/spam", "unsigned", ["main"], trusted=True) |
111 | ++ # We explicitly distrust local (thus check gpg signatures) |
112 | ++ self.facade.add_channel_apt_deb( |
113 | ++ "file://opt/spam", "signed", ["main"], trusted=False) |
114 | ++ # apt defaults (which is to check signatures on >xenial) |
115 | ++ self.facade.add_channel_apt_deb( |
116 | ++ "file://opt/spam", "default", ["main"]) |
117 | ++ |
118 | ++ list_filename = ( |
119 | ++ self.apt_root + |
120 | ++ "/etc/apt/sources.list.d/_landscape-internal-facade.list") |
121 | ++ sources_contents = read_text_file(list_filename) |
122 | ++ self.assertEqual( |
123 | ++ textwrap.dedent("""\ |
124 | ++ deb http://example.com/ubuntu unsigned main |
125 | ++ deb http://example.com/ubuntu signed main |
126 | ++ deb [ trusted=yes ] file://opt/spam unsigned main |
127 | ++ deb [ trusted=no ] file://opt/spam signed main |
128 | ++ deb file://opt/spam default main |
129 | ++ """), |
130 | ++ sources_contents) |
131 | ++ |
132 | + def test_add_channel_deb_dir_adds_deb_channel(self): |
133 | + """ |
134 | + C{add_channel_deb_dir()} adds a deb channel pointing to the |
135 | +@@ -397,7 +430,8 @@ |
136 | + deb_dir = self.makeDir() |
137 | + self._add_package_to_deb_dir(deb_dir, "foo") |
138 | + self._add_package_to_deb_dir(deb_dir, "bar") |
139 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
140 | ++ self.facade.add_channel_apt_deb( |
141 | ++ "file://%s" % deb_dir, "./", trusted=True) |
142 | + self.facade.reload_channels() |
143 | + self.assertEqual( |
144 | + ["bar", "foo"], |
145 | +@@ -412,7 +446,8 @@ |
146 | + """ |
147 | + deb_dir = self.makeDir() |
148 | + self._add_package_to_deb_dir(deb_dir, "foo") |
149 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
150 | ++ self.facade.add_channel_apt_deb( |
151 | ++ "file://%s" % deb_dir, "./", trusted=True) |
152 | + self.facade.reload_channels() |
153 | + new_facade = AptFacade(root=self.apt_root) |
154 | + self._add_package_to_deb_dir(deb_dir, "bar") |
155 | +@@ -432,7 +467,8 @@ |
156 | + """ |
157 | + deb_dir = self.makeDir() |
158 | + self._add_package_to_deb_dir(deb_dir, "foo") |
159 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
160 | ++ self.facade.add_channel_apt_deb( |
161 | ++ "file://%s" % deb_dir, "./", trusted=True) |
162 | + self.facade.reload_channels() |
163 | + new_facade = AptFacade(root=self.apt_root) |
164 | + self._add_package_to_deb_dir(deb_dir, "foo", version="2.0") |
165 | +@@ -450,7 +486,8 @@ |
166 | + """ |
167 | + deb_dir = self.makeDir() |
168 | + self._add_package_to_deb_dir(deb_dir, "foo") |
169 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
170 | ++ self.facade.add_channel_apt_deb( |
171 | ++ "file://%s" % deb_dir, "./", trusted=True) |
172 | + self.facade.reload_channels() |
173 | + self._add_package_to_deb_dir(deb_dir, "bar") |
174 | + self._touch_packages_file(deb_dir) |
175 | +@@ -504,7 +541,8 @@ |
176 | + |
177 | + deb_dir = self.makeDir() |
178 | + self._add_package_to_deb_dir(deb_dir, "foo") |
179 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
180 | ++ self.facade.add_channel_apt_deb( |
181 | ++ "file://%s" % deb_dir, "./", trusted=True) |
182 | + self.facade.refetch_package_index = True |
183 | + self.facade._cache.update = new_apt_update |
184 | + self.facade.reload_channels(force_reload_binaries=True) |
185 | +@@ -525,7 +563,8 @@ |
186 | + |
187 | + deb_dir = self.makeDir() |
188 | + self._add_package_to_deb_dir(deb_dir, "foo") |
189 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
190 | ++ self.facade.add_channel_apt_deb( |
191 | ++ "file://%s" % deb_dir, "./", trusted=True) |
192 | + self.facade.refetch_package_index = False |
193 | + self.facade._cache.update = new_apt_update |
194 | + self.facade.reload_channels(force_reload_binaries=True) |
195 | +@@ -546,7 +585,8 @@ |
196 | + |
197 | + deb_dir = self.makeDir() |
198 | + self._add_package_to_deb_dir(deb_dir, "foo") |
199 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
200 | ++ self.facade.add_channel_apt_deb( |
201 | ++ "file://%s" % deb_dir, "./", trusted=True) |
202 | + self.facade.refetch_package_index = False |
203 | + self.facade._cache.update = old_apt_update |
204 | + self.facade.reload_channels(force_reload_binaries=True) |
205 | +@@ -885,7 +925,8 @@ |
206 | + """ |
207 | + deb_dir = self.makeDir() |
208 | + self._add_package_to_deb_dir(deb_dir, "foo", version="1.0") |
209 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
210 | ++ self.facade.add_channel_apt_deb( |
211 | ++ "file://%s" % deb_dir, "./", trusted=True) |
212 | + self.facade.reload_channels() |
213 | + [package] = self.facade.get_packages() |
214 | + self.assertFalse(self.facade.is_package_upgrade(package)) |
215 | +@@ -898,7 +939,8 @@ |
216 | + deb_dir = self.makeDir() |
217 | + self._add_system_package("foo", version="0.5") |
218 | + self._add_package_to_deb_dir(deb_dir, "foo", version="1.0") |
219 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
220 | ++ self.facade.add_channel_apt_deb( |
221 | ++ "file://%s" % deb_dir, "./", trusted=True) |
222 | + self.facade.reload_channels() |
223 | + [version_05, version_10] = sorted(self.facade.get_packages()) |
224 | + self.assertTrue(self.facade.is_package_upgrade(version_10)) |
225 | +@@ -912,7 +954,8 @@ |
226 | + deb_dir = self.makeDir() |
227 | + self._add_system_package("foo", version="1.5") |
228 | + self._add_package_to_deb_dir(deb_dir, "foo", version="1.0") |
229 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
230 | ++ self.facade.add_channel_apt_deb( |
231 | ++ "file://%s" % deb_dir, "./", trusted=True) |
232 | + self.facade.reload_channels() |
233 | + [version_10, version_15] = sorted(self.facade.get_packages()) |
234 | + self.assertFalse(self.facade.is_package_upgrade(version_10)) |
235 | +@@ -927,7 +970,8 @@ |
236 | + deb_dir = self.makeDir() |
237 | + self._add_system_package("foo", version="1.0") |
238 | + self._add_package_to_deb_dir(deb_dir, "foo", version="1.0") |
239 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
240 | ++ self.facade.add_channel_apt_deb( |
241 | ++ "file://%s" % deb_dir, "./", trusted=True) |
242 | + self.facade.reload_channels() |
243 | + [package] = self.facade.get_packages() |
244 | + self.assertFalse(self.facade.is_package_upgrade(package)) |
245 | +@@ -956,7 +1000,8 @@ |
246 | + self._add_system_package("foo", version="0.5") |
247 | + deb_dir = self.makeDir() |
248 | + self._add_package_to_deb_dir(deb_dir, "foo", version="1.0") |
249 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
250 | ++ self.facade.add_channel_apt_deb( |
251 | ++ "file://%s" % deb_dir, "./", trusted=True) |
252 | + self.facade.reload_channels() |
253 | + [version_05, version_10] = sorted(self.facade.get_packages()) |
254 | + self.assertFalse(self.facade.is_package_upgrade(version_10)) |
255 | +@@ -978,7 +1023,8 @@ |
256 | + deb_dir = self.makeDir() |
257 | + self._add_system_package("foo", version="1.0") |
258 | + self._add_package_to_deb_dir(deb_dir, "foo", version="1.5") |
259 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
260 | ++ self.facade.add_channel_apt_deb( |
261 | ++ "file://%s" % deb_dir, "./", trusted=True) |
262 | + self.facade.reload_channels() |
263 | + self.assertEqual( |
264 | + [("foo", "1.0"), ("foo", "1.5")], |
265 | +@@ -1012,7 +1058,8 @@ |
266 | + """ |
267 | + deb_dir = self.makeDir() |
268 | + self._add_package_to_deb_dir(deb_dir, "foo") |
269 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
270 | ++ self.facade.add_channel_apt_deb( |
271 | ++ "file://%s" % deb_dir, "./", trusted=True) |
272 | + self.facade.reload_channels() |
273 | + [foo] = self.facade.get_packages_by_name("foo") |
274 | + self.facade.mark_install(foo) |
275 | +@@ -1045,7 +1092,8 @@ |
276 | + """ |
277 | + deb_dir = self.makeDir() |
278 | + self._add_package_to_deb_dir(deb_dir, "foo") |
279 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
280 | ++ self.facade.add_channel_apt_deb( |
281 | ++ "file://%s" % deb_dir, "./", trusted=True) |
282 | + self.facade.reload_channels() |
283 | + [foo] = self.facade.get_packages_by_name("foo") |
284 | + self.facade.mark_install(foo) |
285 | +@@ -1070,7 +1118,8 @@ |
286 | + """ |
287 | + deb_dir = self.makeDir() |
288 | + self._add_package_to_deb_dir(deb_dir, "foo") |
289 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
290 | ++ self.facade.add_channel_apt_deb( |
291 | ++ "file://%s" % deb_dir, "./", trusted=True) |
292 | + self.facade.reload_channels() |
293 | + [foo] = self.facade.get_packages_by_name("foo") |
294 | + self.facade.mark_install(foo) |
295 | +@@ -1099,7 +1148,8 @@ |
296 | + self.facade.max_dpkg_retries = 1 |
297 | + deb_dir = self.makeDir() |
298 | + self._add_package_to_deb_dir(deb_dir, "foo") |
299 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
300 | ++ self.facade.add_channel_apt_deb( |
301 | ++ "file://%s" % deb_dir, "./", trusted=True) |
302 | + self.facade.reload_channels() |
303 | + [foo] = self.facade.get_packages_by_name("foo") |
304 | + self.facade.mark_install(foo) |
305 | +@@ -1128,7 +1178,8 @@ |
306 | + self.facade.max_dpkg_retries = 1 |
307 | + deb_dir = self.makeDir() |
308 | + self._add_package_to_deb_dir(deb_dir, "foo") |
309 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
310 | ++ self.facade.add_channel_apt_deb( |
311 | ++ "file://%s" % deb_dir, "./", trusted=True) |
312 | + self.facade.reload_channels() |
313 | + [foo] = self.facade.get_packages_by_name("foo") |
314 | + self.facade.mark_install(foo) |
315 | +@@ -1233,7 +1284,8 @@ |
316 | + """ |
317 | + deb_dir = self.makeDir() |
318 | + self._add_package_to_deb_dir(deb_dir, "foo") |
319 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
320 | ++ self.facade.add_channel_apt_deb( |
321 | ++ "file://%s" % deb_dir, "./", trusted=True) |
322 | + self.facade.reload_channels() |
323 | + foo = self.facade.get_packages_by_name("foo")[0] |
324 | + self.facade.mark_install(foo) |
325 | +@@ -1268,7 +1320,8 @@ |
326 | + deb_dir, "bar", |
327 | + control_fields={"Depends": "also-missing | also-lost (>= 1.0)", |
328 | + "Pre-Depends": "also-pre-missing | also-pre-lost"}) |
329 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
330 | ++ self.facade.add_channel_apt_deb( |
331 | ++ "file://%s" % deb_dir, "./", trusted=True) |
332 | + self.facade.reload_channels() |
333 | + [foo] = self.facade.get_packages_by_name("foo") |
334 | + [bar] = self.facade.get_packages_by_name("bar") |
335 | +@@ -1309,7 +1362,8 @@ |
336 | + deb_dir = self.makeDir() |
337 | + self._add_package_to_deb_dir( |
338 | + deb_dir, "foo", control_fields={"Depends": "bar"}) |
339 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
340 | ++ self.facade.add_channel_apt_deb( |
341 | ++ "file://%s" % deb_dir, "./", trusted=True) |
342 | + self.facade.reload_channels() |
343 | + self.assertEqual(set(), self.facade._get_broken_packages()) |
344 | + self.assertEqual("", self.facade._get_unmet_dependency_info()) |
345 | +@@ -1323,7 +1377,8 @@ |
346 | + deb_dir = self.makeDir() |
347 | + self._add_package_to_deb_dir( |
348 | + deb_dir, "foo", control_fields={"Depends": "bar"}) |
349 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
350 | ++ self.facade.add_channel_apt_deb( |
351 | ++ "file://%s" % deb_dir, "./", trusted=True) |
352 | + self.facade.reload_channels() |
353 | + [foo] = self.facade.get_packages_by_name("foo") |
354 | + self.facade.mark_install(foo) |
355 | +@@ -1345,7 +1400,8 @@ |
356 | + deb_dir = self.makeDir() |
357 | + self._add_package_to_deb_dir( |
358 | + deb_dir, "foo", control_fields={"Pre-Depends": "bar"}) |
359 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
360 | ++ self.facade.add_channel_apt_deb( |
361 | ++ "file://%s" % deb_dir, "./", trusted=True) |
362 | + self.facade.reload_channels() |
363 | + [foo] = self.facade.get_packages_by_name("foo") |
364 | + self.facade.mark_install(foo) |
365 | +@@ -1367,7 +1423,8 @@ |
366 | + deb_dir = self.makeDir() |
367 | + self._add_package_to_deb_dir( |
368 | + deb_dir, "foo", control_fields={"Depends": "bar (>= 1.0)"}) |
369 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
370 | ++ self.facade.add_channel_apt_deb( |
371 | ++ "file://%s" % deb_dir, "./", trusted=True) |
372 | + self.facade.reload_channels() |
373 | + [foo] = self.facade.get_packages_by_name("foo") |
374 | + self.facade.mark_install(foo) |
375 | +@@ -1391,7 +1448,8 @@ |
376 | + self._add_package_to_deb_dir(deb_dir, "bar", version="0.5") |
377 | + self._add_package_to_deb_dir( |
378 | + deb_dir, "foo", control_fields={"Depends": "bar (>= 1.0)"}) |
379 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
380 | ++ self.facade.add_channel_apt_deb( |
381 | ++ "file://%s" % deb_dir, "./", trusted=True) |
382 | + self.facade.reload_channels() |
383 | + [foo] = self.facade.get_packages_by_name("foo") |
384 | + [bar] = self.facade.get_packages_by_name("bar") |
385 | +@@ -1418,7 +1476,8 @@ |
386 | + self._add_package_to_deb_dir( |
387 | + deb_dir, "foo", control_fields={"Depends": "bar (>= 3.0)"}) |
388 | + self._add_package_to_deb_dir(deb_dir, "bar", version="2.0") |
389 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
390 | ++ self.facade.add_channel_apt_deb( |
391 | ++ "file://%s" % deb_dir, "./", trusted=True) |
392 | + self.facade.reload_channels() |
393 | + [foo] = self.facade.get_packages_by_name("foo") |
394 | + [bar1, bar2] = sorted(self.facade.get_packages_by_name("bar")) |
395 | +@@ -1445,7 +1504,8 @@ |
396 | + self._add_package_to_deb_dir( |
397 | + deb_dir, "foo", control_fields={"Depends": "bar (>= 3.0)"}) |
398 | + self._add_package_to_deb_dir(deb_dir, "bar", version="2.0") |
399 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
400 | ++ self.facade.add_channel_apt_deb( |
401 | ++ "file://%s" % deb_dir, "./", trusted=True) |
402 | + self.facade.reload_channels() |
403 | + [foo] = self.facade.get_packages_by_name("foo") |
404 | + [bar1, bar2] = sorted(self.facade.get_packages_by_name("bar")) |
405 | +@@ -1474,7 +1534,8 @@ |
406 | + self._add_package_to_deb_dir( |
407 | + deb_dir, "foo", control_fields={"Depends": "bar (>= 3.0)"}) |
408 | + self._add_package_to_deb_dir(deb_dir, "bar", version="1.0") |
409 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
410 | ++ self.facade.add_channel_apt_deb( |
411 | ++ "file://%s" % deb_dir, "./", trusted=True) |
412 | + self.facade.reload_channels() |
413 | + [foo] = self.facade.get_packages_by_name("foo") |
414 | + [bar1, bar2] = sorted(self.facade.get_packages_by_name("bar")) |
415 | +@@ -1500,7 +1561,8 @@ |
416 | + deb_dir = self.makeDir() |
417 | + self._add_package_to_deb_dir( |
418 | + deb_dir, "foo", control_fields={"Depends": "bar | baz (>= 1.0)"}) |
419 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
420 | ++ self.facade.add_channel_apt_deb( |
421 | ++ "file://%s" % deb_dir, "./", trusted=True) |
422 | + self.facade.reload_channels() |
423 | + [foo] = self.facade.get_packages_by_name("foo") |
424 | + self.facade.mark_install(foo) |
425 | +@@ -1524,7 +1586,8 @@ |
426 | + self._add_system_package("foo") |
427 | + self._add_package_to_deb_dir( |
428 | + deb_dir, "bar", control_fields={"Conflicts": "foo"}) |
429 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
430 | ++ self.facade.add_channel_apt_deb( |
431 | ++ "file://%s" % deb_dir, "./", trusted=True) |
432 | + self.facade.reload_channels() |
433 | + [foo] = self.facade.get_packages_by_name("foo") |
434 | + [bar] = self.facade.get_packages_by_name("bar") |
435 | +@@ -1551,7 +1614,8 @@ |
436 | + deb_dir, "foo", control_fields={"Depends": "bar"}) |
437 | + self._add_package_to_deb_dir( |
438 | + deb_dir, "bar", control_fields={"Breaks": "foo"}) |
439 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
440 | ++ self.facade.add_channel_apt_deb( |
441 | ++ "file://%s" % deb_dir, "./", trusted=True) |
442 | + self.facade.reload_channels() |
443 | + [foo] = self.facade.get_packages_by_name("foo") |
444 | + [bar] = self.facade.get_packages_by_name("bar") |
445 | +@@ -1577,7 +1641,8 @@ |
446 | + deb_dir, "bar", |
447 | + control_fields={"Conflicts": "foo, baz", "Breaks": "foo, baz"}) |
448 | + self._add_package_to_deb_dir(deb_dir, "baz") |
449 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
450 | ++ self.facade.add_channel_apt_deb( |
451 | ++ "file://%s" % deb_dir, "./", trusted=True) |
452 | + self.facade.reload_channels() |
453 | + [foo] = self.facade.get_packages_by_name("foo") |
454 | + [bar] = self.facade.get_packages_by_name("bar") |
455 | +@@ -1606,7 +1671,8 @@ |
456 | + deb_dir, "bar", |
457 | + control_fields={"Conflicts": "foo, baz", "Breaks": "foo, baz"}) |
458 | + self._add_system_package("baz") |
459 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
460 | ++ self.facade.add_channel_apt_deb( |
461 | ++ "file://%s" % deb_dir, "./", trusted=True) |
462 | + self.facade.reload_channels() |
463 | + [foo] = self.facade.get_packages_by_name("foo") |
464 | + [bar] = self.facade.get_packages_by_name("bar") |
465 | +@@ -1637,7 +1703,8 @@ |
466 | + self._add_package_to_deb_dir( |
467 | + deb_dir, "foo", |
468 | + control_fields={"Depends": "there1, missing1, there2 | missing2"}) |
469 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
470 | ++ self.facade.add_channel_apt_deb( |
471 | ++ "file://%s" % deb_dir, "./", trusted=True) |
472 | + self.facade.reload_channels() |
473 | + [foo] = self.facade.get_packages_by_name("foo") |
474 | + self.facade.mark_install(foo) |
475 | +@@ -1660,7 +1727,8 @@ |
476 | + deb_dir, "foo", control_fields={"Depends": "bar"}) |
477 | + self._add_package_to_deb_dir( |
478 | + deb_dir, "another-foo", control_fields={"Depends": "another-bar"}) |
479 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
480 | ++ self.facade.add_channel_apt_deb( |
481 | ++ "file://%s" % deb_dir, "./", trusted=True) |
482 | + self.facade.reload_channels() |
483 | + [foo] = self.facade.get_packages_by_name("foo") |
484 | + [another_foo] = self.facade.get_packages_by_name("another-foo") |
485 | +@@ -1724,7 +1792,8 @@ |
486 | + """ |
487 | + deb_dir = self.makeDir() |
488 | + self._add_package_to_deb_dir(deb_dir, "foo") |
489 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
490 | ++ self.facade.add_channel_apt_deb( |
491 | ++ "file://%s" % deb_dir, "./", trusted=True) |
492 | + self.facade.reload_channels() |
493 | + [foo] = self.facade.get_packages_by_name("foo") |
494 | + self.facade.mark_install(foo) |
495 | +@@ -1743,7 +1812,8 @@ |
496 | + """ |
497 | + deb_dir = self.makeDir() |
498 | + self._add_package_to_deb_dir(deb_dir, "foo") |
499 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
500 | ++ self.facade.add_channel_apt_deb( |
501 | ++ "file://%s" % deb_dir, "./", trusted=True) |
502 | + self.facade.reload_channels() |
503 | + [foo] = self.facade.get_packages_by_name("foo") |
504 | + self.facade.mark_install(foo) |
505 | +@@ -1769,7 +1839,8 @@ |
506 | + self._add_system_package("bar", version="1.0") |
507 | + self._add_package_to_deb_dir(deb_dir, "bar", version="1.5") |
508 | + self._add_system_package("baz") |
509 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
510 | ++ self.facade.add_channel_apt_deb( |
511 | ++ "file://%s" % deb_dir, "./", trusted=True) |
512 | + self._add_system_package("quux", version="1.0") |
513 | + self._add_system_package("wibble", version="1.0") |
514 | + self.facade.reload_channels() |
515 | +@@ -1799,7 +1870,8 @@ |
516 | + self._add_package_to_deb_dir( |
517 | + deb_dir, "foo", control_fields={"Depends": "bar"}) |
518 | + self._add_package_to_deb_dir(deb_dir, "bar") |
519 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
520 | ++ self.facade.add_channel_apt_deb( |
521 | ++ "file://%s" % deb_dir, "./", trusted=True) |
522 | + self.facade.reload_channels() |
523 | + [foo] = self.facade.get_packages_by_name("foo") |
524 | + self.facade.mark_install(foo) |
525 | +@@ -1831,7 +1903,8 @@ |
526 | + deb_dir = self.makeDir() |
527 | + self._add_system_package("foo", version="1.0") |
528 | + self._add_package_to_deb_dir(deb_dir, "foo", version="1.5") |
529 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
530 | ++ self.facade.add_channel_apt_deb( |
531 | ++ "file://%s" % deb_dir, "./", trusted=True) |
532 | + self.facade.reload_channels() |
533 | + foo_10 = sorted(self.facade.get_packages_by_name("foo"))[0] |
534 | + self.facade.mark_global_upgrade() |
535 | +@@ -1858,7 +1931,8 @@ |
536 | + deb_dir = self.makeDir() |
537 | + self._add_package_to_deb_dir(deb_dir, "foo", version="1.0") |
538 | + self._add_package_to_deb_dir(deb_dir, "foo", version="2.0") |
539 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
540 | ++ self.facade.add_channel_apt_deb( |
541 | ++ "file://%s" % deb_dir, "./", trusted=True) |
542 | + self.facade.reload_channels() |
543 | + foo1, foo2 = sorted(self.facade.get_packages_by_name("foo")) |
544 | + self.assertEqual(foo2, foo1.package.candidate) |
545 | +@@ -1896,7 +1970,8 @@ |
546 | + deb_dir, "single-arch", architecture="amd64", version="2.0") |
547 | + self._add_package_to_deb_dir( |
548 | + deb_dir, "single-arch", architecture="i386", version="2.0") |
549 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
550 | ++ self.facade.add_channel_apt_deb( |
551 | ++ "file://%s" % deb_dir, "./", trusted=True) |
552 | + self.facade.reload_channels() |
553 | + |
554 | + multi_arch1, multi_arch2 = sorted( |
555 | +@@ -1941,7 +2016,8 @@ |
556 | + self._add_package_to_deb_dir( |
557 | + deb_dir, "multi-arch", architecture="i386", version="2.0", |
558 | + control_fields={"Multi-Arch": "same"}) |
559 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
560 | ++ self.facade.add_channel_apt_deb( |
561 | ++ "file://%s" % deb_dir, "./", trusted=True) |
562 | + self.facade.reload_channels() |
563 | + |
564 | + multi_arch1, multi_arch2 = sorted( |
565 | +@@ -1971,7 +2047,8 @@ |
566 | + self._add_system_package("bar") |
567 | + self._add_package_to_deb_dir(deb_dir, "foo", version="2.0") |
568 | + self._add_package_to_deb_dir(deb_dir, "baz") |
569 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
570 | ++ self.facade.add_channel_apt_deb( |
571 | ++ "file://%s" % deb_dir, "./", trusted=True) |
572 | + self.facade.reload_channels() |
573 | + foo1, foo2 = sorted(self.facade.get_packages_by_name("foo")) |
574 | + self.facade.mark_global_upgrade() |
575 | +@@ -1991,7 +2068,8 @@ |
576 | + self._add_system_package("foo", version="1.0") |
577 | + self._add_package_to_deb_dir(deb_dir, "foo", version="2.0") |
578 | + self._add_package_to_deb_dir(deb_dir, "foo", version="3.0") |
579 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
580 | ++ self.facade.add_channel_apt_deb( |
581 | ++ "file://%s" % deb_dir, "./", trusted=True) |
582 | + self.facade.reload_channels() |
583 | + foo1, foo2, foo3 = sorted(self.facade.get_packages_by_name("foo")) |
584 | + self.assertEqual(foo3, foo1.package.candidate) |
585 | +@@ -2010,7 +2088,8 @@ |
586 | + self._add_system_package("foo", version="3.0") |
587 | + self._add_package_to_deb_dir(deb_dir, "foo", version="2.0") |
588 | + self._add_package_to_deb_dir(deb_dir, "foo", version="1.0") |
589 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
590 | ++ self.facade.add_channel_apt_deb( |
591 | ++ "file://%s" % deb_dir, "./", trusted=True) |
592 | + self.facade.reload_channels() |
593 | + foo3 = sorted(self.facade.get_packages_by_name("foo"))[-1] |
594 | + self.assertEqual(foo3, foo3.package.candidate) |
595 | +@@ -2026,7 +2105,8 @@ |
596 | + self._add_package_to_deb_dir(deb_dir, "auto", version="2.0") |
597 | + self._add_system_package("noauto", version="1.0") |
598 | + self._add_package_to_deb_dir(deb_dir, "noauto", version="2.0") |
599 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
600 | ++ self.facade.add_channel_apt_deb( |
601 | ++ "file://%s" % deb_dir, "./", trusted=True) |
602 | + self.facade.reload_channels() |
603 | + auto1, auto2 = sorted(self.facade.get_packages_by_name("auto")) |
604 | + noauto1, noauto2 = sorted(self.facade.get_packages_by_name("noauto")) |
605 | +@@ -2085,7 +2165,8 @@ |
606 | + "broken", control_fields={"Depends": "missing"}) |
607 | + self._add_package_to_deb_dir(deb_dir, "foo") |
608 | + self._add_package_to_deb_dir(deb_dir, "missing") |
609 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
610 | ++ self.facade.add_channel_apt_deb( |
611 | ++ "file://%s" % deb_dir, "./", trusted=True) |
612 | + self.facade.reload_channels() |
613 | + [foo] = self.facade.get_packages_by_name("foo") |
614 | + self.facade.mark_install(foo) |
615 | +@@ -2107,7 +2188,8 @@ |
616 | + deb_dir, "foo", control_fields={"Depends": "bar"}) |
617 | + self._add_package_to_deb_dir(deb_dir, "bar") |
618 | + self._add_package_to_deb_dir(deb_dir, "missing") |
619 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
620 | ++ self.facade.add_channel_apt_deb( |
621 | ++ "file://%s" % deb_dir, "./", trusted=True) |
622 | + self.facade.reload_channels() |
623 | + [foo] = self.facade.get_packages_by_name("foo") |
624 | + [bar] = self.facade.get_packages_by_name("bar") |
625 | +@@ -2126,7 +2208,8 @@ |
626 | + "broken", control_fields={"Depends": "missing"}) |
627 | + self._add_system_package("foo") |
628 | + self._add_package_to_deb_dir(deb_dir, "missing") |
629 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
630 | ++ self.facade.add_channel_apt_deb( |
631 | ++ "file://%s" % deb_dir, "./", trusted=True) |
632 | + self.facade.reload_channels() |
633 | + [foo] = self.facade.get_packages_by_name("foo") |
634 | + self.facade.mark_remove(foo) |
635 | +@@ -2151,7 +2234,8 @@ |
636 | + self._add_package_to_deb_dir( |
637 | + deb_dir, "foo", control_fields={"Depends": "really-missing"}) |
638 | + self._add_package_to_deb_dir(deb_dir, "missing") |
639 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
640 | ++ self.facade.add_channel_apt_deb( |
641 | ++ "file://%s" % deb_dir, "./", trusted=True) |
642 | + self.facade.reload_channels() |
643 | + [broken] = self.facade.get_packages_by_name("broken") |
644 | + [foo] = self.facade.get_packages_by_name("foo") |
645 | +@@ -2218,7 +2302,8 @@ |
646 | + self._add_package_to_deb_dir( |
647 | + deb_dir, "foo", control_fields={"Depends": "bar"}) |
648 | + self._add_package_to_deb_dir(deb_dir, "bar") |
649 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
650 | ++ self.facade.add_channel_apt_deb( |
651 | ++ "file://%s" % deb_dir, "./", trusted=True) |
652 | + self.facade.reload_channels() |
653 | + [foo] = self.facade.get_packages_by_name("foo") |
654 | + [bar] = self.facade.get_packages_by_name("bar") |
655 | +@@ -2235,7 +2320,8 @@ |
656 | + deb_dir = self.makeDir() |
657 | + self._add_package_to_deb_dir(deb_dir, "foo", version="1.0") |
658 | + self._add_package_to_deb_dir(deb_dir, "foo", version="2.0") |
659 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
660 | ++ self.facade.add_channel_apt_deb( |
661 | ++ "file://%s" % deb_dir, "./", trusted=True) |
662 | + self.facade.reload_channels() |
663 | + [foo1, foo2] = sorted(self.facade.get_packages_by_name("foo")) |
664 | + self.assertEqual(foo1.package, foo2.package) |
665 | +@@ -2259,7 +2345,8 @@ |
666 | + deb_dir = self.makeDir() |
667 | + self._add_package_to_deb_dir(deb_dir, "foo", version="1.0") |
668 | + self._add_package_to_deb_dir(deb_dir, "foo", version="2.0") |
669 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
670 | ++ self.facade.add_channel_apt_deb( |
671 | ++ "file://%s" % deb_dir, "./", trusted=True) |
672 | + self.facade.reload_channels() |
673 | + [foo1, foo2] = sorted(self.facade.get_packages_by_name("foo")) |
674 | + self.assertEqual(foo1.package, foo2.package) |
675 | +@@ -2301,7 +2388,8 @@ |
676 | + self._add_system_package("foo", version="1.0") |
677 | + deb_dir = self.makeDir() |
678 | + self._add_package_to_deb_dir(deb_dir, "foo", version="2.0") |
679 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
680 | ++ self.facade.add_channel_apt_deb( |
681 | ++ "file://%s" % deb_dir, "./", trusted=True) |
682 | + self.facade.reload_channels() |
683 | + [foo1, foo2] = sorted(self.facade.get_packages_by_name("foo")) |
684 | + self.assertEqual(foo1.package, foo2.package) |
685 | +@@ -2324,7 +2412,8 @@ |
686 | + self._add_system_package("foo", version="1.0") |
687 | + deb_dir = self.makeDir() |
688 | + self._add_package_to_deb_dir(deb_dir, "foo", version="2.0") |
689 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
690 | ++ self.facade.add_channel_apt_deb( |
691 | ++ "file://%s" % deb_dir, "./", trusted=True) |
692 | + self.facade.reload_channels() |
693 | + [foo1, foo2] = sorted(self.facade.get_packages_by_name("foo")) |
694 | + self.assertEqual(foo1.package, foo2.package) |
695 | +@@ -2348,7 +2437,8 @@ |
696 | + deb_dir = self.makeDir() |
697 | + self._add_package_to_deb_dir(deb_dir, "foo", version="1.0") |
698 | + self._add_package_to_deb_dir(deb_dir, "foo", version="3.0") |
699 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
700 | ++ self.facade.add_channel_apt_deb( |
701 | ++ "file://%s" % deb_dir, "./", trusted=True) |
702 | + self.facade.reload_channels() |
703 | + [foo1, foo2] = sorted(self.facade.get_packages_by_name("foo"))[:2] |
704 | + self.assertEqual(foo1.package, foo2.package) |
705 | +@@ -2374,7 +2464,8 @@ |
706 | + self._add_package_to_deb_dir( |
707 | + deb_dir, "foo", version="1.5", control_fields={"Depends": "bar"}) |
708 | + self._add_package_to_deb_dir(deb_dir, "bar") |
709 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
710 | ++ self.facade.add_channel_apt_deb( |
711 | ++ "file://%s" % deb_dir, "./", trusted=True) |
712 | + self.facade.reload_channels() |
713 | + foo_10, foo_15 = sorted(self.facade.get_packages_by_name("foo")) |
714 | + [bar] = self.facade.get_packages_by_name("bar") |
715 | +@@ -2432,7 +2523,8 @@ |
716 | + self._add_system_package("bar", version="1.0") |
717 | + deb_dir = self.makeDir() |
718 | + self._add_package_to_deb_dir(deb_dir, "bar", version="2.0") |
719 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
720 | ++ self.facade.add_channel_apt_deb( |
721 | ++ "file://%s" % deb_dir, "./", trusted=True) |
722 | + self.facade.reload_channels() |
723 | + bar_1, bar_2 = sorted(self.facade.get_packages_by_name("bar")) |
724 | + self.facade.mark_install(bar_2) |
725 | +@@ -2453,7 +2545,8 @@ |
726 | + control_fields={"Status": "hold ok installed"}) |
727 | + deb_dir = self.makeDir() |
728 | + self._add_package_to_deb_dir(deb_dir, "foo", version="1.5") |
729 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
730 | ++ self.facade.add_channel_apt_deb( |
731 | ++ "file://%s" % deb_dir, "./", trusted=True) |
732 | + self.facade.reload_channels() |
733 | + [foo_10, foo_15] = sorted(self.facade.get_packages_by_name("foo")) |
734 | + self.facade.mark_global_upgrade() |
735 | +@@ -2477,7 +2570,8 @@ |
736 | + self._add_package_to_deb_dir( |
737 | + deb_dir, "bar", version="2.0", |
738 | + control_fields={"Depends": "foo (>> 1.0)"}) |
739 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
740 | ++ self.facade.add_channel_apt_deb( |
741 | ++ "file://%s" % deb_dir, "./", trusted=True) |
742 | + self.facade.reload_channels() |
743 | + [foo_1, foo_2] = sorted(self.facade.get_packages_by_name("foo")) |
744 | + [bar_1, bar_2] = sorted(self.facade.get_packages_by_name("bar")) |
745 | +@@ -2514,7 +2608,8 @@ |
746 | + deb_dir = self.makeDir() |
747 | + self._add_package_to_deb_dir(deb_dir, "foo", version="1.5") |
748 | + self._add_package_to_deb_dir(deb_dir, "bar", version="1.5") |
749 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
750 | ++ self.facade.add_channel_apt_deb( |
751 | ++ "file://%s" % deb_dir, "./", trusted=True) |
752 | + self.facade.reload_channels() |
753 | + foo_10 = sorted(self.facade.get_packages_by_name("foo"))[0] |
754 | + self.assertEqual([foo_10], self.facade.get_locked_packages()) |
755 | +@@ -2647,7 +2742,8 @@ |
756 | + self._add_system_package("foo") |
757 | + deb_dir = self.makeDir() |
758 | + self._add_package_to_deb_dir(deb_dir, "bar") |
759 | +- self.facade.add_channel_apt_deb("file://%s" % deb_dir, "./") |
760 | ++ self.facade.add_channel_apt_deb( |
761 | ++ "file://%s" % deb_dir, "./", trusted=True) |
762 | + self.facade.reload_channels() |
763 | + [bar] = self.facade.get_packages_by_name("bar") |
764 | + self.facade.mark_remove_hold(bar) |
765 | diff --git a/debian/patches/series b/debian/patches/series |
766 | index 68f4a9a..7c8ca8a 100644 |
767 | --- a/debian/patches/series |
768 | +++ b/debian/patches/series |
769 | @@ -15,3 +15,4 @@ post-upgrade-reboot.patch |
770 | mem-usage-1685885.patch |
771 | product-name-vminfo-1828217.patch |
772 | stagger-launch-1788518.patch |
773 | +1886491-trusted-local.patch |