Merge ~mitchburton/ubuntu/+source/landscape-client:plucky-fix-build into ubuntu/+source/landscape-client:ubuntu/devel
- Git
- lp:~mitchburton/ubuntu/+source/landscape-client
- plucky-fix-build
- Merge into ubuntu/devel
Status: | Merged | ||||||||
---|---|---|---|---|---|---|---|---|---|
Merged at revision: | 8992f1bea43124d019dfec59ef75fdb3b11cb308 | ||||||||
Proposed branch: | ~mitchburton/ubuntu/+source/landscape-client:plucky-fix-build | ||||||||
Merge into: | ubuntu/+source/landscape-client:ubuntu/devel | ||||||||
Diff against target: |
369 lines (+312/-3) 7 files modified
debian/changelog (+18/-0) debian/patches/2087852-feat-manage-ubuntu-sources-glob.patch (+188/-0) debian/patches/allow-http-proxy-in-tests.patch (+60/-0) debian/patches/series (+3/-0) debian/patches/unittest-makeSuite-deprecation.patch (+40/-0) debian/rules (+2/-2) debian/tests/control (+1/-1) |
||||||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Andreas Hasenack | Approve | ||
Ubuntu Sponsors | Pending | ||
Review via email:
|
Commit message
Description of the change

Mitch Burton (mitchburton) wrote : | # |

Andreas Hasenack (ahasenack) wrote : | # |

Mitch Burton (mitchburton) wrote : | # |
I've included the changes from https:/

Andreas Hasenack (ahasenack) wrote : | # |

Andreas Hasenack (ahasenack) : | # |

Andreas Hasenack (ahasenack) : | # |

Andreas Hasenack (ahasenack) : | # |

Mitch Burton (mitchburton) wrote : | # |
I believe I've addressed all the diff comments left by ahasenack:
- Created bug LP: #2106263 for the FTBFS and referenced it in the changelog and commits
- Updated the headers on the first patch to include the Bug-Ubuntu reference to same
- Reformatted the changelog entry for multiple authors

Andreas Hasenack (ahasenack) wrote : | # |
Actually, hold that thought. I triggered the autopkgtests in your ppa, and got a failure[1]:
558s [ERROR]
558s Traceback (most recent call last):
558s File "/tmp/autopkgte
558s super().setUp()
558s File "/tmp/autopkgte
558s result = testing.
558s File "/tmp/autopkgte
558s result = helper.set_up(self)
558s File "/tmp/autopkgte
558s test_case.
558s File "/tmp/autopkgte
558s super()
558s File "/tmp/autopkgte
558s self.persist = get_versioned_
558s File "/tmp/autopkgte
558s persist.
558s File "/tmp/autopkgte
558s shutil.
558s File "/usr/lib/
558s raise LookupError("no such user: {!r}".format(user))
558s builtins.
I remember this having been fixed already, is that ppa old? Just to be sure, I'll create a new one and run the tests there. It will be a while, though.

Mitch Burton (mitchburton) wrote (last edit ): | # |
I've made changes that should hopefully resolve the autopkgtest issues. I've also made a new upload to my PPA of this version (~ppa4). My autopkgtest testbed has the landscape user, so that's likely why I didn't see this issue previously.
I've also updated LP: #2106263 to include the autopkgtest build failure.

Andreas Hasenack (ahasenack) wrote : | # |
autopkgtests are still failing[1]. Multiple tests show this error pattern with the proxy variables:
626s landscape.
626s =======
626s [FAIL]
626s Traceback (most recent call last):
626s File "/usr/lib/
626s return func(*newargs, **newkeywargs)
626s File "/tmp/autopkgte
626s self.assertConf
626s File "/tmp/autopkgte
626s self.assertEqual(
626s File "/usr/lib/
626s super()
626s File "/usr/lib/
626s assertion_
626s File "/usr/lib/
626s self.fail(
626s twisted.
626s {'data_path': '/tmp/tmpsrhj5v
626s - 'http_proxy': 'http://
626s - 'https_proxy': 'http://
626s 'url': 'https:/

Mitch Burton (mitchburton) wrote : | # |
I've added a fix for the http/https proxy variable issue based on https:/

Andreas Hasenack (ahasenack) wrote : | # |
As soon as your ppa finishes publishing the new builds, I'll trigger the autopkgtests there.

Andreas Hasenack (ahasenack) wrote : | # |
Tests are good. There is a failure on ppc64el that looks like it's just flaky (connection errors).
+1

Andreas Hasenack (ahasenack) wrote : | # |
Actually, you dropped the d/t/control change from d/changelog :(

Mitch Burton (mitchburton) wrote : | # |
Ah my mistake. Will rectify.

Andreas Hasenack (ahasenack) wrote : | # |
\o/

Andreas Hasenack (ahasenack) wrote : | # |
Sponsored:
Uploading landscape-
Uploading landscape-
Uploading landscape-
Uploading landscape-
Preview Diff
1 | diff --git a/debian/changelog b/debian/changelog | |||
2 | index cd69d49..461698e 100644 | |||
3 | --- a/debian/changelog | |||
4 | +++ b/debian/changelog | |||
5 | @@ -1,3 +1,21 @@ | |||
6 | 1 | landscape-client (24.12-0ubuntu2) plucky; urgency=medium | ||
7 | 2 | |||
8 | 3 | [ Bryan Fraschetti ] | ||
9 | 4 | * d/p/2087852-feat-manage-ubuntu-sources-glob.patch: include DEB822 formatted sources | ||
10 | 5 | when managing apt sources by regex matching .sources files (LP: #2087852) | ||
11 | 6 | |||
12 | 7 | [ Mitch Burton ] | ||
13 | 8 | * Fix FTBFS (LP: #2106263) | ||
14 | 9 | - d/p/unittest-makeSuite-deprecation.patch: fix tests on python versions | ||
15 | 10 | where unittest.makeSuite has been removed | ||
16 | 11 | - d/rules: don't make root:root owner of installed executables | ||
17 | 12 | - d/tests/control: set environment variables for autopkgtest user and | ||
18 | 13 | build environment | ||
19 | 14 | - d/p/allow-http-proxy-in-tests.patch: fix tests by making them | ||
20 | 15 | insensitive to http/https proxy environment variables | ||
21 | 16 | |||
22 | 17 | -- Mitch Burton <mitch.burton@canonical.com> Wed, 26 Mar 2025 17:47:28 -0700 | ||
23 | 18 | |||
24 | 1 | landscape-client (24.12-0ubuntu1) plucky; urgency=medium | 19 | landscape-client (24.12-0ubuntu1) plucky; urgency=medium |
25 | 2 | 20 | ||
26 | 3 | * New upstream release 24.12 | 21 | * New upstream release 24.12 |
27 | diff --git a/debian/patches/2087852-feat-manage-ubuntu-sources-glob.patch b/debian/patches/2087852-feat-manage-ubuntu-sources-glob.patch | |||
28 | 4 | new file mode 100644 | 22 | new file mode 100644 |
29 | index 0000000..7dd82a5 | |||
30 | --- /dev/null | |||
31 | +++ b/debian/patches/2087852-feat-manage-ubuntu-sources-glob.patch | |||
32 | @@ -0,0 +1,188 @@ | |||
33 | 1 | Subject: feat: add support for .sources when applying repository profiles | ||
34 | 2 | |||
35 | 3 | This is the backport of an upstream commit which added support to manage | ||
36 | 4 | ubuntu sources in DEB822 format (.sources files) alongside the one-liner | ||
37 | 5 | format (.list files). The bug reported is outlined in LP: #2087852. | ||
38 | 6 | |||
39 | 7 | Origin: upstream, https://github.com/canonical/landscape-client/commit/556f87c2819b218029ba0a13e2b2ceddfbec3e6b | ||
40 | 8 | Bug-Ubuntu: https://bugs.launchpad.net/landscape-client/+bug/2087852 | ||
41 | 9 | Last-Update: 2025-03-31 | ||
42 | 10 | |||
43 | 11 | diff --git a/landscape/client/manager/aptsources.py b/landscape/client/manager/aptsources.py | ||
44 | 12 | index 179fa723..785fa215 100644 | ||
45 | 13 | --- a/landscape/client/manager/aptsources.py | ||
46 | 14 | +++ b/landscape/client/manager/aptsources.py | ||
47 | 15 | @@ -27,6 +27,11 @@ class AptSources(ManagerPlugin): | ||
48 | 16 | SOURCES_LIST_D = "/etc/apt/sources.list.d" | ||
49 | 17 | TRUSTED_GPG_D = "/etc/apt/trusted.gpg.d" | ||
50 | 18 | |||
51 | 19 | + """ | ||
52 | 20 | + Valid file patterns for one-line and Deb822-style sources, respectively. | ||
53 | 21 | + """ | ||
54 | 22 | + SOURCES_LIST_D_FILE_PATTERNS = ["*.list", "*.sources"] | ||
55 | 23 | + | ||
56 | 24 | def register(self, registry): | ||
57 | 25 | super().register(registry) | ||
58 | 26 | registry.register_message( | ||
59 | 27 | @@ -140,10 +145,14 @@ def _handle_sources(self, ignored, sources): | ||
60 | 28 | "manage_sources_list_d", | ||
61 | 29 | True, | ||
62 | 30 | ) | ||
63 | 31 | + | ||
64 | 32 | if manage_sources_list_d not in FALSE_VALUES: | ||
65 | 33 | - filenames = glob.glob(os.path.join(self.SOURCES_LIST_D, "*.list")) | ||
66 | 34 | - for filename in filenames: | ||
67 | 35 | - shutil.move(filename, f"{filename}.save") | ||
68 | 36 | + for pattern in self.SOURCES_LIST_D_FILE_PATTERNS: | ||
69 | 37 | + filenames = glob.glob( | ||
70 | 38 | + os.path.join(self.SOURCES_LIST_D, pattern) | ||
71 | 39 | + ) | ||
72 | 40 | + for filename in filenames: | ||
73 | 41 | + shutil.move(filename, f"{filename}.save") | ||
74 | 42 | |||
75 | 43 | for source in sources: | ||
76 | 44 | filename = os.path.join( | ||
77 | 45 | diff --git a/landscape/client/manager/tests/test_aptsources.py b/landscape/client/manager/tests/test_aptsources.py | ||
78 | 46 | index aa648be6..c17aac44 100644 | ||
79 | 47 | --- a/landscape/client/manager/tests/test_aptsources.py | ||
80 | 48 | +++ b/landscape/client/manager/tests/test_aptsources.py | ||
81 | 49 | @@ -260,20 +260,28 @@ def buggy_source_handler(*args): | ||
82 | 50 | |||
83 | 51 | def test_renames_sources_list_d(self): | ||
84 | 52 | """ | ||
85 | 53 | - The sources files in sources.list.d are renamed to .save when a message | ||
86 | 54 | - is received if config says to manage them, which is the default. | ||
87 | 55 | + The sources files (.list, .sources) in sources.list.d | ||
88 | 56 | + are renamed to .save when a message is received | ||
89 | 57 | + if config says to manage them, which is the default. | ||
90 | 58 | """ | ||
91 | 59 | + FILE_1_LIST = os.path.join( | ||
92 | 60 | + self.sourceslist.SOURCES_LIST_D, "file1.list" | ||
93 | 61 | + ) | ||
94 | 62 | + | ||
95 | 63 | + FILE_2_SOURCES = os.path.join( | ||
96 | 64 | + self.sourceslist.SOURCES_LIST_D, "file2.sources" | ||
97 | 65 | + ) | ||
98 | 66 | with open( | ||
99 | 67 | - os.path.join(self.sourceslist.SOURCES_LIST_D, "file1.list"), | ||
100 | 68 | + FILE_1_LIST, | ||
101 | 69 | "w", | ||
102 | 70 | - ) as sources1: | ||
103 | 71 | - sources1.write("ok\n") | ||
104 | 72 | + ) as source1: | ||
105 | 73 | + source1.write("ok\n") | ||
106 | 74 | |||
107 | 75 | with open( | ||
108 | 76 | - os.path.join(self.sourceslist.SOURCES_LIST_D, "file2.list.save"), | ||
109 | 77 | + FILE_2_SOURCES, | ||
110 | 78 | "w", | ||
111 | 79 | - ) as sources2: | ||
112 | 80 | - sources2.write("ok\n") | ||
113 | 81 | + ) as source2: | ||
114 | 82 | + source2.write("ok\n") | ||
115 | 83 | |||
116 | 84 | self.manager.dispatch_message( | ||
117 | 85 | { | ||
118 | 86 | @@ -285,45 +293,42 @@ def test_renames_sources_list_d(self): | ||
119 | 87 | ) | ||
120 | 88 | |||
121 | 89 | self.assertFalse( | ||
122 | 90 | - os.path.exists( | ||
123 | 91 | - os.path.join(self.sourceslist.SOURCES_LIST_D, "file1.list"), | ||
124 | 92 | - ), | ||
125 | 93 | + os.path.exists(FILE_1_LIST), | ||
126 | 94 | ) | ||
127 | 95 | |||
128 | 96 | + self.assertFalse(os.path.exists(FILE_2_SOURCES)) | ||
129 | 97 | + | ||
130 | 98 | self.assertTrue( | ||
131 | 99 | - os.path.exists( | ||
132 | 100 | - os.path.join( | ||
133 | 101 | - self.sourceslist.SOURCES_LIST_D, | ||
134 | 102 | - "file1.list.save", | ||
135 | 103 | - ), | ||
136 | 104 | - ), | ||
137 | 105 | + os.path.exists(f"{FILE_1_LIST}.save"), | ||
138 | 106 | ) | ||
139 | 107 | |||
140 | 108 | self.assertTrue( | ||
141 | 109 | - os.path.exists( | ||
142 | 110 | - os.path.join( | ||
143 | 111 | - self.sourceslist.SOURCES_LIST_D, | ||
144 | 112 | - "file2.list.save", | ||
145 | 113 | - ), | ||
146 | 114 | - ), | ||
147 | 115 | + os.path.exists(f"{FILE_2_SOURCES}.save"), | ||
148 | 116 | ) | ||
149 | 117 | |||
150 | 118 | def test_does_not_rename_sources_list_d(self): | ||
151 | 119 | """ | ||
152 | 120 | - The sources files in sources.list.d are not renamed to .save when a | ||
153 | 121 | - message is received if config says not to manage them. | ||
154 | 122 | + The sources files (.list, .sources) in sources.list.d | ||
155 | 123 | + are not renamed to .save when a message is received | ||
156 | 124 | + if config says not to manage them | ||
157 | 125 | """ | ||
158 | 126 | + FILE_3_LIST = os.path.join( | ||
159 | 127 | + self.sourceslist.SOURCES_LIST_D, "file3.list" | ||
160 | 128 | + ) | ||
161 | 129 | + | ||
162 | 130 | + FILE_4_SOURCES = os.path.join( | ||
163 | 131 | + self.sourceslist.SOURCES_LIST_D, "file4.sources" | ||
164 | 132 | + ) | ||
165 | 133 | with open( | ||
166 | 134 | - os.path.join(self.sourceslist.SOURCES_LIST_D, "file1.list"), | ||
167 | 135 | + FILE_3_LIST, | ||
168 | 136 | "w", | ||
169 | 137 | - ) as sources1: | ||
170 | 138 | - sources1.write("ok\n") | ||
171 | 139 | - | ||
172 | 140 | + ) as source3: | ||
173 | 141 | + source3.write("ok\n") | ||
174 | 142 | with open( | ||
175 | 143 | - os.path.join(self.sourceslist.SOURCES_LIST_D, "file2.list.save"), | ||
176 | 144 | + FILE_4_SOURCES, | ||
177 | 145 | "w", | ||
178 | 146 | - ) as sources2: | ||
179 | 147 | - sources2.write("ok\n") | ||
180 | 148 | + ) as source4: | ||
181 | 149 | + source4.write("ok\n") | ||
182 | 150 | |||
183 | 151 | self.manager.config.manage_sources_list_d = False | ||
184 | 152 | self.manager.dispatch_message( | ||
185 | 153 | @@ -336,27 +341,19 @@ def test_does_not_rename_sources_list_d(self): | ||
186 | 154 | ) | ||
187 | 155 | |||
188 | 156 | self.assertTrue( | ||
189 | 157 | - os.path.exists( | ||
190 | 158 | - os.path.join(self.sourceslist.SOURCES_LIST_D, "file1.list"), | ||
191 | 159 | - ), | ||
192 | 160 | + os.path.exists(FILE_3_LIST), | ||
193 | 161 | + ) | ||
194 | 162 | + | ||
195 | 163 | + self.assertTrue( | ||
196 | 164 | + os.path.exists(FILE_4_SOURCES), | ||
197 | 165 | ) | ||
198 | 166 | |||
199 | 167 | self.assertFalse( | ||
200 | 168 | - os.path.exists( | ||
201 | 169 | - os.path.join( | ||
202 | 170 | - self.sourceslist.SOURCES_LIST_D, | ||
203 | 171 | - "file1.list.save", | ||
204 | 172 | - ), | ||
205 | 173 | - ), | ||
206 | 174 | + os.path.exists(f"{FILE_3_LIST}.save"), | ||
207 | 175 | ) | ||
208 | 176 | |||
209 | 177 | - self.assertTrue( | ||
210 | 178 | - os.path.exists( | ||
211 | 179 | - os.path.join( | ||
212 | 180 | - self.sourceslist.SOURCES_LIST_D, | ||
213 | 181 | - "file2.list.save", | ||
214 | 182 | - ), | ||
215 | 183 | - ), | ||
216 | 184 | + self.assertFalse( | ||
217 | 185 | + os.path.exists(f"{FILE_4_SOURCES}.save"), | ||
218 | 186 | ) | ||
219 | 187 | |||
220 | 188 | def test_create_landscape_sources(self): | ||
221 | diff --git a/debian/patches/allow-http-proxy-in-tests.patch b/debian/patches/allow-http-proxy-in-tests.patch | |||
222 | 0 | new file mode 100644 | 189 | new file mode 100644 |
223 | index 0000000..3fc6473 | |||
224 | --- /dev/null | |||
225 | +++ b/debian/patches/allow-http-proxy-in-tests.patch | |||
226 | @@ -0,0 +1,60 @@ | |||
227 | 1 | Description: Fix config tests; make them insensitive to http(s) proxy environment variables | ||
228 | 2 | Author: Mitch Burton <mitch.burton@canonical.com> | ||
229 | 3 | Origin: upstream | ||
230 | 4 | Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/landscape-client/+bug/2106263 | ||
231 | 5 | Applied-Upstream: https://github.com/canonical/landscape-client/commit/e79f605e3c69fc5b9b529a9997e4e89a6728066f | ||
232 | 6 | Last-Update: 2025-04-07 | ||
233 | 7 | --- | ||
234 | 8 | This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ | ||
235 | 9 | Index: landscape-client/landscape/client/tests/test_configuration.py | ||
236 | 10 | =================================================================== | ||
237 | 11 | --- landscape-client.orig/landscape/client/tests/test_configuration.py | ||
238 | 12 | +++ landscape-client/landscape/client/tests/test_configuration.py | ||
239 | 13 | @@ -756,6 +756,7 @@ class ConfigurationFunctionsTest(Landsca | ||
240 | 14 | ) | ||
241 | 15 | |||
242 | 16 | @mock.patch("landscape.client.configuration.ServiceConfig") | ||
243 | 17 | + @mock.patch("os.environ", new={}) | ||
244 | 18 | def test_silent_setup(self, mock_serviceconfig): | ||
245 | 19 | """ | ||
246 | 20 | Only command-line options are used in silent mode. | ||
247 | 21 | @@ -775,6 +776,7 @@ url = https://landscape.canonical.com/me | ||
248 | 22 | ) | ||
249 | 23 | |||
250 | 24 | @mock.patch("landscape.client.configuration.ServiceConfig") | ||
251 | 25 | + @mock.patch("os.environ", {}) | ||
252 | 26 | def test_silent_setup_no_register(self, mock_serviceconfig): | ||
253 | 27 | """ | ||
254 | 28 | Called with command line options to write a config file but no | ||
255 | 29 | @@ -846,6 +848,7 @@ url = https://landscape.canonical.com/me | ||
256 | 30 | ) | ||
257 | 31 | |||
258 | 32 | @mock.patch("landscape.client.configuration.ServiceConfig") | ||
259 | 33 | + @mock.patch("os.environ", {}) | ||
260 | 34 | def test_silent_setup_unicode_computer_title(self, mock_serviceconfig): | ||
261 | 35 | """ | ||
262 | 36 | Setup accepts a non-ascii computer title and registration is | ||
263 | 37 | @@ -880,6 +883,7 @@ url = https://landscape.canonical.com/me | ||
264 | 38 | |||
265 | 39 | @mock.patch("landscape.client.configuration.input") | ||
266 | 40 | @mock.patch("landscape.client.configuration.ServiceConfig") | ||
267 | 41 | + @mock.patch("os.environ", new={}) | ||
268 | 42 | def test_silent_script_users_imply_script_execution_plugin( | ||
269 | 43 | self, | ||
270 | 44 | mock_serviceconfig, | ||
271 | 45 | @@ -951,6 +955,7 @@ bus = session | ||
272 | 46 | mock_serviceconfig.set_start_on_boot.assert_called_once_with(True) | ||
273 | 47 | |||
274 | 48 | @mock.patch("landscape.client.configuration.ServiceConfig") | ||
275 | 49 | + @mock.patch("os.environ", new={}) | ||
276 | 50 | def test_silent_setup_with_ping_url(self, mock_serviceconfig): | ||
277 | 51 | mock_serviceconfig.restart_landscape.return_value = True | ||
278 | 52 | filename = self.makeFile( | ||
279 | 53 | @@ -1814,6 +1819,7 @@ registration_key = shared-secret | ||
280 | 54 | ) | ||
281 | 55 | |||
282 | 56 | @mock.patch("landscape.client.configuration.ServiceConfig") | ||
283 | 57 | + @mock.patch("os.environ", new={}) | ||
284 | 58 | def test_import_from_file_may_reset_old_options(self, mock_serviceconfig): | ||
285 | 59 | """ | ||
286 | 60 | This test ensures that setting an empty option in an imported | ||
287 | diff --git a/debian/patches/series b/debian/patches/series | |||
288 | index 051c373..62e9fa0 100644 | |||
289 | --- a/debian/patches/series | |||
290 | +++ b/debian/patches/series | |||
291 | @@ -1 +1,4 @@ | |||
292 | 1 | fix-landscape-client-manpage.patch | 1 | fix-landscape-client-manpage.patch |
293 | 2 | unittest-makeSuite-deprecation.patch | ||
294 | 3 | 2087852-feat-manage-ubuntu-sources-glob.patch | ||
295 | 4 | allow-http-proxy-in-tests.patch | ||
296 | diff --git a/debian/patches/unittest-makeSuite-deprecation.patch b/debian/patches/unittest-makeSuite-deprecation.patch | |||
297 | 2 | new file mode 100644 | 5 | new file mode 100644 |
298 | index 0000000..e06382e | |||
299 | --- /dev/null | |||
300 | +++ b/debian/patches/unittest-makeSuite-deprecation.patch | |||
301 | @@ -0,0 +1,40 @@ | |||
302 | 1 | Description: Fix tests on python versions where unittest.makeSuite has been removed | ||
303 | 2 | Author: Mitch Burton <mitch.burton@canonical.com> | ||
304 | 3 | Origin: upstream | ||
305 | 4 | Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/landscape-client/+bug/2106263 | ||
306 | 5 | Applied-Upstream: https://github.com/canonical/landscape-client/commit/e3f051ad6a33029845f9f11b17649299004598a7 | ||
307 | 6 | Last-Update: 2025-03-26 | ||
308 | 7 | --- | ||
309 | 8 | This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ | ||
310 | 9 | Index: landscape-client/landscape/lib/tests/test_sequenceranges.py | ||
311 | 10 | =================================================================== | ||
312 | 11 | --- landscape-client.orig/landscape/lib/tests/test_sequenceranges.py | ||
313 | 12 | +++ landscape-client/landscape/lib/tests/test_sequenceranges.py | ||
314 | 13 | @@ -297,11 +297,21 @@ class RemoveFromRangesTest(unittest.Test | ||
315 | 14 | def test_suite(): | ||
316 | 15 | return unittest.TestSuite( | ||
317 | 16 | ( | ||
318 | 17 | - unittest.makeSuite(SequenceToRangesTest), | ||
319 | 18 | - unittest.makeSuite(RangesToSequenceTest), | ||
320 | 19 | - unittest.makeSuite(SequenceRangesTest), | ||
321 | 20 | - unittest.makeSuite(FindRangesIndexTest), | ||
322 | 21 | - unittest.makeSuite(AddToRangesTest), | ||
323 | 22 | - unittest.makeSuite(RemoveFromRangesTest), | ||
324 | 23 | + unittest.defaultTestLoader.loadTestsFromTestCase( | ||
325 | 24 | + SequenceToRangesTest | ||
326 | 25 | + ), | ||
327 | 26 | + unittest.defaultTestLoader.loadTestsFromTestCase( | ||
328 | 27 | + RangesToSequenceTest | ||
329 | 28 | + ), | ||
330 | 29 | + unittest.defaultTestLoader.loadTestsFromTestCase( | ||
331 | 30 | + SequenceRangesTest | ||
332 | 31 | + ), | ||
333 | 32 | + unittest.defaultTestLoader.loadTestsFromTestCase( | ||
334 | 33 | + FindRangesIndexTest | ||
335 | 34 | + ), | ||
336 | 35 | + unittest.defaultTestLoader.loadTestsFromTestCase(AddToRangesTest), | ||
337 | 36 | + unittest.defaultTestLoader.loadTestsFromTestCase( | ||
338 | 37 | + RemoveFromRangesTest | ||
339 | 38 | + ), | ||
340 | 39 | ), | ||
341 | 40 | ) | ||
342 | diff --git a/debian/rules b/debian/rules | |||
343 | index 3fcf3ae..267a32a 100755 | |||
344 | --- a/debian/rules | |||
345 | +++ b/debian/rules | |||
346 | @@ -19,8 +19,8 @@ override_dh_auto_build: | |||
347 | 19 | override_dh_auto_install: | 19 | override_dh_auto_install: |
348 | 20 | dh_auto_install | 20 | dh_auto_install |
349 | 21 | make -C apt-update | 21 | make -C apt-update |
352 | 22 | install -D -o root -g root -m 755 debian/landscape-sysinfo.wrapper $(CURDIR)/$(root_dir)$(SHAREDIR)/landscape-sysinfo.wrapper | 22 | install -D -m 755 debian/landscape-sysinfo.wrapper $(CURDIR)/$(root_dir)$(SHAREDIR)/landscape-sysinfo.wrapper |
353 | 23 | install -D -o root -g root -m 755 apt-update/apt-update $(CURDIR)/$(root_dir)$(LIBDIR)/apt-update | 23 | install -D -m 755 apt-update/apt-update $(CURDIR)/$(root_dir)$(LIBDIR)/apt-update |
354 | 24 | 24 | ||
355 | 25 | override_dh_installsystemd: | 25 | override_dh_installsystemd: |
356 | 26 | dh_installsystemd | 26 | dh_installsystemd |
357 | diff --git a/debian/tests/control b/debian/tests/control | |||
358 | index 082632c..0f6d748 100644 | |||
359 | --- a/debian/tests/control | |||
360 | +++ b/debian/tests/control | |||
361 | @@ -1,7 +1,7 @@ | |||
362 | 1 | Tests: smoke | 1 | Tests: smoke |
363 | 2 | Restrictions: allow-stderr, needs-sudo, superficial | 2 | Restrictions: allow-stderr, needs-sudo, superficial |
364 | 3 | 3 | ||
366 | 4 | Test-Command: HOME=$(mktemp -d) make check | 4 | Test-Command: HOME=$(mktemp -d) LANDSCAPE_CLIENT_USER=$(whoami) LANDSCAPE_CLIENT_BUILDING=1 make check |
367 | 5 | Depends: @builddeps@ | 5 | Depends: @builddeps@ |
368 | 6 | Restrictions: allow-stderr | 6 | Restrictions: allow-stderr |
369 | 7 | Features: test-name=unit | 7 | Features: test-name=unit |
Successful build can be seen in this PPA: https:/ /launchpad. net/~mitchburto n/+archive/ ubuntu/ landscape- client- ppa/+packages, version 24.12-0ubuntu2~ ppa2.
I've had to remove the ownership change to root for landscape- sysinfo. wrapper and apt-update. Since these are both 755 it shouldn't impact the ability to execute them, but I am curious if anyone knows why this root ownership change now produces build errors.