diff options
Diffstat (limited to 'meta/recipes-core/systemd/systemd')
12 files changed, 91 insertions, 616 deletions
diff --git a/meta/recipes-core/systemd/systemd/0001-core-device.c-Change-the-default-device-timeout-to-2.patch b/meta/recipes-core/systemd/systemd/0001-core-device.c-Change-the-default-device-timeout-to-2.patch index ee2cd6c453..7f1bc447fe 100644 --- a/meta/recipes-core/systemd/systemd/0001-core-device.c-Change-the-default-device-timeout-to-2.patch +++ b/meta/recipes-core/systemd/systemd/0001-core-device.c-Change-the-default-device-timeout-to-2.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From a544d6d15f5c418084f322349aafe341128d5fca Mon Sep 17 00:00:00 2001 | 1 | From f1b5a6f717bda6f80a6b5e3e4d50b450f6cc7b09 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Mon, 14 Dec 2015 04:09:19 +0000 | 3 | Date: Mon, 14 Dec 2015 04:09:19 +0000 |
4 | Subject: [PATCH 01/19] core/device.c: Change the default device timeout to 240 | 4 | Subject: [PATCH 14/14] core/device.c: Change the default device timeout to 240 |
5 | sec. | 5 | sec. |
6 | MIME-Version: 1.0 | 6 | MIME-Version: 1.0 |
7 | Content-Type: text/plain; charset=UTF-8 | 7 | Content-Type: text/plain; charset=UTF-8 |
@@ -11,23 +11,24 @@ Upstream-Status: Inappropriate [Specific case QEMU/AB] | |||
11 | 11 | ||
12 | Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> | 12 | Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> |
13 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 13 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
14 | |||
14 | --- | 15 | --- |
15 | src/core/device.c | 2 +- | 16 | src/core/device.c | 2 +- |
16 | 1 file changed, 1 insertion(+), 1 deletion(-) | 17 | 1 file changed, 1 insertion(+), 1 deletion(-) |
17 | 18 | ||
18 | diff --git a/src/core/device.c b/src/core/device.c | 19 | diff --git a/src/core/device.c b/src/core/device.c |
19 | index c572a67..f90774e 100644 | 20 | index 77601c552..98bf49ba2 100644 |
20 | --- a/src/core/device.c | 21 | --- a/src/core/device.c |
21 | +++ b/src/core/device.c | 22 | +++ b/src/core/device.c |
22 | @@ -112,7 +112,7 @@ static void device_init(Unit *u) { | 23 | @@ -112,7 +112,7 @@ static void device_init(Unit *u) { |
23 | * indefinitely for plugged in devices, something which cannot | 24 | * indefinitely for plugged in devices, something which cannot |
24 | * happen for the other units since their operations time out | 25 | * happen for the other units since their operations time out |
25 | * anyway. */ | 26 | * anyway. */ |
26 | - u->job_timeout = u->manager->default_timeout_start_usec; | 27 | - u->job_running_timeout = u->manager->default_timeout_start_usec; |
27 | + u->job_timeout = (240 * USEC_PER_SEC); | 28 | + u->job_running_timeout = (240 * USEC_PER_SEC); |
28 | 29 | ||
29 | u->ignore_on_isolate = true; | 30 | u->ignore_on_isolate = true; |
30 | } | 31 | } |
31 | -- | 32 | -- |
32 | 2.10.2 | 33 | 2.13.2 |
33 | 34 | ||
diff --git a/meta/recipes-core/systemd/systemd/0001-core-load-fragment-refuse-units-with-errors-in-certa.patch b/meta/recipes-core/systemd/systemd/0001-core-load-fragment-refuse-units-with-errors-in-certa.patch deleted file mode 100644 index 80948b2cee..0000000000 --- a/meta/recipes-core/systemd/systemd/0001-core-load-fragment-refuse-units-with-errors-in-certa.patch +++ /dev/null | |||
@@ -1,329 +0,0 @@ | |||
1 | If a user is created with a strictly-speaking invalid name such as '0day' and a | ||
2 | unit created to run as that user, systemd rejects the username and runs the unit | ||
3 | as root. | ||
4 | |||
5 | CVE: CVE-2017-1000082 | ||
6 | Upstream-Status: Backport | ||
7 | Signed-off-by: Ross Burton <ross.burton@intel.com> | ||
8 | |||
9 | From d8e1310e1ed7b6f122bc7eb8ba061fbd088783c0 Mon Sep 17 00:00:00 2001 | ||
10 | From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl> | ||
11 | Date: Thu, 6 Jul 2017 13:28:19 -0400 | ||
12 | Subject: [PATCH] core/load-fragment: refuse units with errors in certain | ||
13 | directives | ||
14 | |||
15 | If an error is encountered in any of the Exec* lines, WorkingDirectory, | ||
16 | SELinuxContext, ApparmorProfile, SmackProcessLabel, Service (in .socket | ||
17 | units), User, or Group, refuse to load the unit. If the config stanza | ||
18 | has support, ignore the failure if '-' is present. | ||
19 | |||
20 | For those configuration directives, even if we started the unit, it's | ||
21 | pretty likely that it'll do something unexpected (like write files | ||
22 | in a wrong place, or with a wrong context, or run with wrong permissions, | ||
23 | etc). It seems better to refuse to start the unit and have the admin | ||
24 | clean up the configuration without giving the service a chance to mess | ||
25 | up stuff. | ||
26 | |||
27 | Note that all "security" options that restrict what the unit can do | ||
28 | (Capabilities, AmbientCapabilities, Restrict*, SystemCallFilter, Limit*, | ||
29 | PrivateDevices, Protect*, etc) are _not_ treated like this. Such options are | ||
30 | only supplementary, and are not always available depending on the architecture | ||
31 | and compilation options, so unit authors have to make sure that the service | ||
32 | runs correctly without them anyway. | ||
33 | |||
34 | Fixes #6237, #6277. | ||
35 | |||
36 | Signed-off-by: Ross Burton <ross.burton@intel.com> | ||
37 | --- | ||
38 | src/core/load-fragment.c | 104 ++++++++++++++++++++++++++++------------------ | ||
39 | src/test/test-unit-file.c | 14 +++---- | ||
40 | 2 files changed, 70 insertions(+), 48 deletions(-) | ||
41 | |||
42 | diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c | ||
43 | index cbc826809..2047974f4 100644 | ||
44 | --- a/src/core/load-fragment.c | ||
45 | +++ b/src/core/load-fragment.c | ||
46 | @@ -630,20 +630,28 @@ int config_parse_exec( | ||
47 | |||
48 | if (isempty(f)) { | ||
49 | /* First word is either "-" or "@" with no command. */ | ||
50 | - log_syntax(unit, LOG_ERR, filename, line, 0, "Empty path in command line, ignoring: \"%s\"", rvalue); | ||
51 | - return 0; | ||
52 | + log_syntax(unit, LOG_ERR, filename, line, 0, | ||
53 | + "Empty path in command line%s: \"%s\"", | ||
54 | + ignore ? ", ignoring" : "", rvalue); | ||
55 | + return ignore ? 0 : -ENOEXEC; | ||
56 | } | ||
57 | if (!string_is_safe(f)) { | ||
58 | - log_syntax(unit, LOG_ERR, filename, line, 0, "Executable path contains special characters, ignoring: %s", rvalue); | ||
59 | - return 0; | ||
60 | + log_syntax(unit, LOG_ERR, filename, line, 0, | ||
61 | + "Executable path contains special characters%s: %s", | ||
62 | + ignore ? ", ignoring" : "", rvalue); | ||
63 | + return ignore ? 0 : -ENOEXEC; | ||
64 | } | ||
65 | if (!path_is_absolute(f)) { | ||
66 | - log_syntax(unit, LOG_ERR, filename, line, 0, "Executable path is not absolute, ignoring: %s", rvalue); | ||
67 | - return 0; | ||
68 | + log_syntax(unit, LOG_ERR, filename, line, 0, | ||
69 | + "Executable path is not absolute%s: %s", | ||
70 | + ignore ? ", ignoring" : "", rvalue); | ||
71 | + return ignore ? 0 : -ENOEXEC; | ||
72 | } | ||
73 | if (endswith(f, "/")) { | ||
74 | - log_syntax(unit, LOG_ERR, filename, line, 0, "Executable path specifies a directory, ignoring: %s", rvalue); | ||
75 | - return 0; | ||
76 | + log_syntax(unit, LOG_ERR, filename, line, 0, | ||
77 | + "Executable path specifies a directory%s: %s", | ||
78 | + ignore ? ", ignoring" : "", rvalue); | ||
79 | + return ignore ? 0 : -ENOEXEC; | ||
80 | } | ||
81 | |||
82 | if (f == firstword) { | ||
83 | @@ -699,7 +707,7 @@ int config_parse_exec( | ||
84 | if (r == 0) | ||
85 | break; | ||
86 | else if (r < 0) | ||
87 | - return 0; | ||
88 | + return ignore ? 0 : -ENOEXEC; | ||
89 | |||
90 | if (!GREEDY_REALLOC(n, nbufsize, nlen + 2)) | ||
91 | return log_oom(); | ||
92 | @@ -709,8 +717,10 @@ int config_parse_exec( | ||
93 | } | ||
94 | |||
95 | if (!n || !n[0]) { | ||
96 | - log_syntax(unit, LOG_ERR, filename, line, 0, "Empty executable name or zeroeth argument, ignoring: %s", rvalue); | ||
97 | - return 0; | ||
98 | + log_syntax(unit, LOG_ERR, filename, line, 0, | ||
99 | + "Empty executable name or zeroeth argument%s: %s", | ||
100 | + ignore ? ", ignoring" : "", rvalue); | ||
101 | + return ignore ? 0 : -ENOEXEC; | ||
102 | } | ||
103 | |||
104 | nce = new0(ExecCommand, 1); | ||
105 | @@ -1315,8 +1325,10 @@ int config_parse_exec_selinux_context( | ||
106 | |||
107 | r = unit_name_printf(u, rvalue, &k); | ||
108 | if (r < 0) { | ||
109 | - log_syntax(unit, LOG_ERR, filename, line, r, "Failed to resolve specifiers, ignoring: %m"); | ||
110 | - return 0; | ||
111 | + log_syntax(unit, LOG_ERR, filename, line, r, | ||
112 | + "Failed to resolve specifiers%s: %m", | ||
113 | + ignore ? ", ignoring" : ""); | ||
114 | + return ignore ? 0 : -ENOEXEC; | ||
115 | } | ||
116 | |||
117 | free(c->selinux_context); | ||
118 | @@ -1363,8 +1375,10 @@ int config_parse_exec_apparmor_profile( | ||
119 | |||
120 | r = unit_name_printf(u, rvalue, &k); | ||
121 | if (r < 0) { | ||
122 | - log_syntax(unit, LOG_ERR, filename, line, r, "Failed to resolve specifiers, ignoring: %m"); | ||
123 | - return 0; | ||
124 | + log_syntax(unit, LOG_ERR, filename, line, r, | ||
125 | + "Failed to resolve specifiers%s: %m", | ||
126 | + ignore ? ", ignoring" : ""); | ||
127 | + return ignore ? 0 : -ENOEXEC; | ||
128 | } | ||
129 | |||
130 | free(c->apparmor_profile); | ||
131 | @@ -1411,8 +1425,10 @@ int config_parse_exec_smack_process_label( | ||
132 | |||
133 | r = unit_name_printf(u, rvalue, &k); | ||
134 | if (r < 0) { | ||
135 | - log_syntax(unit, LOG_ERR, filename, line, r, "Failed to resolve specifiers, ignoring: %m"); | ||
136 | - return 0; | ||
137 | + log_syntax(unit, LOG_ERR, filename, line, r, | ||
138 | + "Failed to resolve specifiers%s: %m", | ||
139 | + ignore ? ", ignoring" : ""); | ||
140 | + return ignore ? 0 : -ENOEXEC; | ||
141 | } | ||
142 | |||
143 | free(c->smack_process_label); | ||
144 | @@ -1630,19 +1646,19 @@ int config_parse_socket_service( | ||
145 | |||
146 | r = unit_name_printf(UNIT(s), rvalue, &p); | ||
147 | if (r < 0) { | ||
148 | - log_syntax(unit, LOG_ERR, filename, line, r, "Failed to resolve specifiers, ignoring: %s", rvalue); | ||
149 | - return 0; | ||
150 | + log_syntax(unit, LOG_ERR, filename, line, r, "Failed to resolve specifiers: %s", rvalue); | ||
151 | + return -ENOEXEC; | ||
152 | } | ||
153 | |||
154 | if (!endswith(p, ".service")) { | ||
155 | - log_syntax(unit, LOG_ERR, filename, line, 0, "Unit must be of type service, ignoring: %s", rvalue); | ||
156 | - return 0; | ||
157 | + log_syntax(unit, LOG_ERR, filename, line, 0, "Unit must be of type service: %s", rvalue); | ||
158 | + return -ENOEXEC; | ||
159 | } | ||
160 | |||
161 | r = manager_load_unit(UNIT(s)->manager, p, NULL, &error, &x); | ||
162 | if (r < 0) { | ||
163 | - log_syntax(unit, LOG_ERR, filename, line, r, "Failed to load unit %s, ignoring: %s", rvalue, bus_error_message(&error, r)); | ||
164 | - return 0; | ||
165 | + log_syntax(unit, LOG_ERR, filename, line, r, "Failed to load unit %s: %s", rvalue, bus_error_message(&error, r)); | ||
166 | + return -ENOEXEC; | ||
167 | } | ||
168 | |||
169 | unit_ref_set(&s->service, x); | ||
170 | @@ -1893,13 +1909,13 @@ int config_parse_user_group( | ||
171 | |||
172 | r = unit_full_printf(u, rvalue, &k); | ||
173 | if (r < 0) { | ||
174 | - log_syntax(unit, LOG_ERR, filename, line, r, "Failed to resolve unit specifiers in %s, ignoring: %m", rvalue); | ||
175 | - return 0; | ||
176 | + log_syntax(unit, LOG_ERR, filename, line, r, "Failed to resolve unit specifiers in %s: %m", rvalue); | ||
177 | + return -ENOEXEC; | ||
178 | } | ||
179 | |||
180 | if (!valid_user_group_name_or_id(k)) { | ||
181 | - log_syntax(unit, LOG_ERR, filename, line, 0, "Invalid user/group name or numeric ID, ignoring: %s", k); | ||
182 | - return 0; | ||
183 | + log_syntax(unit, LOG_ERR, filename, line, 0, "Invalid user/group name or numeric ID: %s", k); | ||
184 | + return -ENOEXEC; | ||
185 | } | ||
186 | |||
187 | n = k; | ||
188 | @@ -1957,19 +1973,19 @@ int config_parse_user_group_strv( | ||
189 | if (r == -ENOMEM) | ||
190 | return log_oom(); | ||
191 | if (r < 0) { | ||
192 | - log_syntax(unit, LOG_ERR, filename, line, r, "Invalid syntax, ignoring: %s", rvalue); | ||
193 | - break; | ||
194 | + log_syntax(unit, LOG_ERR, filename, line, r, "Invalid syntax: %s", rvalue); | ||
195 | + return -ENOEXEC; | ||
196 | } | ||
197 | |||
198 | r = unit_full_printf(u, word, &k); | ||
199 | if (r < 0) { | ||
200 | - log_syntax(unit, LOG_ERR, filename, line, r, "Failed to resolve unit specifiers in %s, ignoring: %m", word); | ||
201 | - continue; | ||
202 | + log_syntax(unit, LOG_ERR, filename, line, r, "Failed to resolve unit specifiers in %s: %m", word); | ||
203 | + return -ENOEXEC; | ||
204 | } | ||
205 | |||
206 | if (!valid_user_group_name_or_id(k)) { | ||
207 | - log_syntax(unit, LOG_ERR, filename, line, 0, "Invalid user/group name or numeric ID, ignoring: %s", k); | ||
208 | - continue; | ||
209 | + log_syntax(unit, LOG_ERR, filename, line, 0, "Invalid user/group name or numeric ID: %s", k); | ||
210 | + return -ENOEXEC; | ||
211 | } | ||
212 | |||
213 | r = strv_push(users, k); | ||
214 | @@ -2128,25 +2144,28 @@ int config_parse_working_directory( | ||
215 | |||
216 | r = unit_full_printf(u, rvalue, &k); | ||
217 | if (r < 0) { | ||
218 | - log_syntax(unit, LOG_ERR, filename, line, r, "Failed to resolve unit specifiers in working directory path '%s', ignoring: %m", rvalue); | ||
219 | - return 0; | ||
220 | + log_syntax(unit, LOG_ERR, filename, line, r, | ||
221 | + "Failed to resolve unit specifiers in working directory path '%s'%s: %m", | ||
222 | + rvalue, missing_ok ? ", ignoring" : ""); | ||
223 | + return missing_ok ? 0 : -ENOEXEC; | ||
224 | } | ||
225 | |||
226 | path_kill_slashes(k); | ||
227 | |||
228 | if (!utf8_is_valid(k)) { | ||
229 | log_syntax_invalid_utf8(unit, LOG_ERR, filename, line, rvalue); | ||
230 | - return 0; | ||
231 | + return missing_ok ? 0 : -ENOEXEC; | ||
232 | } | ||
233 | |||
234 | if (!path_is_absolute(k)) { | ||
235 | - log_syntax(unit, LOG_ERR, filename, line, 0, "Working directory path '%s' is not absolute, ignoring.", rvalue); | ||
236 | - return 0; | ||
237 | + log_syntax(unit, LOG_ERR, filename, line, 0, | ||
238 | + "Working directory path '%s' is not absolute%s.", | ||
239 | + rvalue, missing_ok ? ", ignoring" : ""); | ||
240 | + return missing_ok ? 0 : -ENOEXEC; | ||
241 | } | ||
242 | |||
243 | - free_and_replace(c->working_directory, k); | ||
244 | - | ||
245 | c->working_directory_home = false; | ||
246 | + free_and_replace(c->working_directory, k); | ||
247 | } | ||
248 | |||
249 | c->working_directory_missing_ok = missing_ok; | ||
250 | @@ -4228,8 +4247,11 @@ int unit_load_fragment(Unit *u) { | ||
251 | return r; | ||
252 | |||
253 | r = load_from_path(u, k); | ||
254 | - if (r < 0) | ||
255 | + if (r < 0) { | ||
256 | + if (r == -ENOEXEC) | ||
257 | + log_unit_notice(u, "Unit configuration has fatal error, unit will not be started."); | ||
258 | return r; | ||
259 | + } | ||
260 | |||
261 | if (u->load_state == UNIT_STUB) { | ||
262 | SET_FOREACH(t, u->names, i) { | ||
263 | diff --git a/src/test/test-unit-file.c b/src/test/test-unit-file.c | ||
264 | index 12f48bf43..fd797b587 100644 | ||
265 | --- a/src/test/test-unit-file.c | ||
266 | +++ b/src/test/test-unit-file.c | ||
267 | @@ -146,7 +146,7 @@ static void test_config_parse_exec(void) { | ||
268 | r = config_parse_exec(NULL, "fake", 4, "section", 1, | ||
269 | "LValue", 0, "/RValue/ argv0 r1", | ||
270 | &c, u); | ||
271 | - assert_se(r == 0); | ||
272 | + assert_se(r == -ENOEXEC); | ||
273 | assert_se(c1->command_next == NULL); | ||
274 | |||
275 | log_info("/* honour_argv0 */"); | ||
276 | @@ -161,7 +161,7 @@ static void test_config_parse_exec(void) { | ||
277 | r = config_parse_exec(NULL, "fake", 3, "section", 1, | ||
278 | "LValue", 0, "@/RValue", | ||
279 | &c, u); | ||
280 | - assert_se(r == 0); | ||
281 | + assert_se(r == -ENOEXEC); | ||
282 | assert_se(c1->command_next == NULL); | ||
283 | |||
284 | log_info("/* no command, whitespace only, reset */"); | ||
285 | @@ -220,7 +220,7 @@ static void test_config_parse_exec(void) { | ||
286 | "-@/RValue argv0 r1 ; ; " | ||
287 | "/goo/goo boo", | ||
288 | &c, u); | ||
289 | - assert_se(r >= 0); | ||
290 | + assert_se(r == -ENOEXEC); | ||
291 | c1 = c1->command_next; | ||
292 | check_execcommand(c1, "/RValue", "argv0", "r1", NULL, true); | ||
293 | |||
294 | @@ -374,7 +374,7 @@ static void test_config_parse_exec(void) { | ||
295 | r = config_parse_exec(NULL, "fake", 4, "section", 1, | ||
296 | "LValue", 0, path, | ||
297 | &c, u); | ||
298 | - assert_se(r == 0); | ||
299 | + assert_se(r == -ENOEXEC); | ||
300 | assert_se(c1->command_next == NULL); | ||
301 | } | ||
302 | |||
303 | @@ -401,21 +401,21 @@ static void test_config_parse_exec(void) { | ||
304 | r = config_parse_exec(NULL, "fake", 4, "section", 1, | ||
305 | "LValue", 0, "/path\\", | ||
306 | &c, u); | ||
307 | - assert_se(r == 0); | ||
308 | + assert_se(r == -ENOEXEC); | ||
309 | assert_se(c1->command_next == NULL); | ||
310 | |||
311 | log_info("/* missing ending ' */"); | ||
312 | r = config_parse_exec(NULL, "fake", 4, "section", 1, | ||
313 | "LValue", 0, "/path 'foo", | ||
314 | &c, u); | ||
315 | - assert_se(r == 0); | ||
316 | + assert_se(r == -ENOEXEC); | ||
317 | assert_se(c1->command_next == NULL); | ||
318 | |||
319 | log_info("/* missing ending ' with trailing backslash */"); | ||
320 | r = config_parse_exec(NULL, "fake", 4, "section", 1, | ||
321 | "LValue", 0, "/path 'foo\\", | ||
322 | &c, u); | ||
323 | - assert_se(r == 0); | ||
324 | + assert_se(r == -ENOEXEC); | ||
325 | assert_se(c1->command_next == NULL); | ||
326 | |||
327 | log_info("/* invalid space between modifiers */"); | ||
328 | -- | ||
329 | 2.11.0 | ||
diff --git a/meta/recipes-core/systemd/systemd/0003-define-exp10-if-missing.patch b/meta/recipes-core/systemd/systemd/0003-define-exp10-if-missing.patch index 37c6ac5d10..5ba4b9a364 100644 --- a/meta/recipes-core/systemd/systemd/0003-define-exp10-if-missing.patch +++ b/meta/recipes-core/systemd/systemd/0003-define-exp10-if-missing.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From b383c286f58184575216b2bf6f185ba2ad648956 Mon Sep 17 00:00:00 2001 | 1 | From 96baee0e1962e559f4ea025024ebc337cb5d50c5 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Wed, 9 Nov 2016 19:25:45 -0800 | 3 | Date: Wed, 9 Nov 2016 19:25:45 -0800 |
4 | Subject: [PATCH 03/19] define exp10 if missing | 4 | Subject: [PATCH 01/14] define exp10 if missing |
5 | 5 | ||
6 | Inspired by: http://peter.korsgaard.com/patches/alsa-utils/alsamixer-fix-build-on-uClibc-exp10.patch | 6 | Inspired by: http://peter.korsgaard.com/patches/alsa-utils/alsamixer-fix-build-on-uClibc-exp10.patch |
7 | 7 | ||
@@ -11,16 +11,17 @@ Upstream-Status: Pending | |||
11 | 11 | ||
12 | Signed-off-by: Samuel Martin <s.martin49@gmail.com> | 12 | Signed-off-by: Samuel Martin <s.martin49@gmail.com> |
13 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 13 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
14 | |||
14 | --- | 15 | --- |
15 | src/basic/missing.h | 5 +++++ | 16 | src/basic/missing.h | 5 +++++ |
16 | 1 file changed, 5 insertions(+) | 17 | 1 file changed, 5 insertions(+) |
17 | 18 | ||
18 | diff --git a/src/basic/missing.h b/src/basic/missing.h | 19 | diff --git a/src/basic/missing.h b/src/basic/missing.h |
19 | index 4c013be..4a3fd9c 100644 | 20 | index 7830a4f41..177c0eb8a 100644 |
20 | --- a/src/basic/missing.h | 21 | --- a/src/basic/missing.h |
21 | +++ b/src/basic/missing.h | 22 | +++ b/src/basic/missing.h |
22 | @@ -1078,4 +1078,9 @@ typedef int32_t key_serial_t; | 23 | @@ -1227,4 +1227,9 @@ struct ethtool_link_settings { |
23 | 24 | #define AF_VSOCK 40 | |
24 | #endif | 25 | #endif |
25 | 26 | ||
26 | +#ifdef __UCLIBC__ | 27 | +#ifdef __UCLIBC__ |
@@ -30,5 +31,5 @@ index 4c013be..4a3fd9c 100644 | |||
30 | + | 31 | + |
31 | #include "missing_syscall.h" | 32 | #include "missing_syscall.h" |
32 | -- | 33 | -- |
33 | 2.10.2 | 34 | 2.13.2 |
34 | 35 | ||
diff --git a/meta/recipes-core/systemd/systemd/0012-rules-whitelist-hd-devices.patch b/meta/recipes-core/systemd/systemd/0012-rules-whitelist-hd-devices.patch index 8666bdc652..eb380ce78d 100644 --- a/meta/recipes-core/systemd/systemd/0012-rules-whitelist-hd-devices.patch +++ b/meta/recipes-core/systemd/systemd/0012-rules-whitelist-hd-devices.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 8cc1ae11f54dcc38ee2168b0f99703b835dd3942 Mon Sep 17 00:00:00 2001 | 1 | From ab5a27040133f7cdf062ac8cfeb94e081d3567b3 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Wed, 9 Nov 2016 19:41:13 -0800 | 3 | Date: Wed, 9 Nov 2016 19:41:13 -0800 |
4 | Subject: [PATCH 12/19] rules: whitelist hd* devices | 4 | Subject: [PATCH 07/14] rules: whitelist hd* devices |
5 | 5 | ||
6 | qemu by default emulates IDE and the linux-yocto kernel(s) use | 6 | qemu by default emulates IDE and the linux-yocto kernel(s) use |
7 | CONFIG_IDE instead of the more modern libsata, so disks appear as | 7 | CONFIG_IDE instead of the more modern libsata, so disks appear as |
@@ -11,23 +11,24 @@ Upstream-Status: Denied [https://github.com/systemd/systemd/pull/1276] | |||
11 | 11 | ||
12 | Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> | 12 | Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> |
13 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 13 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
14 | |||
14 | --- | 15 | --- |
15 | rules/60-persistent-storage.rules | 2 +- | 16 | rules/60-persistent-storage.rules | 2 +- |
16 | 1 file changed, 1 insertion(+), 1 deletion(-) | 17 | 1 file changed, 1 insertion(+), 1 deletion(-) |
17 | 18 | ||
18 | diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules | 19 | diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules |
19 | index c13d05c..b14fbed 100644 | 20 | index d2745f65f..63f472be8 100644 |
20 | --- a/rules/60-persistent-storage.rules | 21 | --- a/rules/60-persistent-storage.rules |
21 | +++ b/rules/60-persistent-storage.rules | 22 | +++ b/rules/60-persistent-storage.rules |
22 | @@ -7,7 +7,7 @@ ACTION=="remove", GOTO="persistent_storage_end" | 23 | @@ -7,7 +7,7 @@ ACTION=="remove", GOTO="persistent_storage_end" |
23 | ENV{UDEV_DISABLE_PERSISTENT_STORAGE_RULES_FLAG}=="1", GOTO="persistent_storage_end" | 24 | ENV{UDEV_DISABLE_PERSISTENT_STORAGE_RULES_FLAG}=="1", GOTO="persistent_storage_end" |
24 | 25 | ||
25 | SUBSYSTEM!="block", GOTO="persistent_storage_end" | 26 | SUBSYSTEM!="block", GOTO="persistent_storage_end" |
26 | -KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*|scm*|pmem*", GOTO="persistent_storage_end" | 27 | -KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*|scm*|pmem*|nbd*", GOTO="persistent_storage_end" |
27 | +KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|hd*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*|scm*|pmem*", GOTO="persistent_storage_end" | 28 | +KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*|scm*|pmem*|nbd*|hd*", GOTO="persistent_storage_end" |
28 | 29 | ||
29 | # ignore partitions that span the entire disk | 30 | # ignore partitions that span the entire disk |
30 | TEST=="whole_disk", GOTO="persistent_storage_end" | 31 | TEST=="whole_disk", GOTO="persistent_storage_end" |
31 | -- | 32 | -- |
32 | 2.10.2 | 33 | 2.13.2 |
33 | 34 | ||
diff --git a/meta/recipes-core/systemd/systemd/0013-Make-root-s-home-directory-configurable.patch b/meta/recipes-core/systemd/systemd/0013-Make-root-s-home-directory-configurable.patch index 2b333375bb..aeebbfb8fe 100644 --- a/meta/recipes-core/systemd/systemd/0013-Make-root-s-home-directory-configurable.patch +++ b/meta/recipes-core/systemd/systemd/0013-Make-root-s-home-directory-configurable.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 79e64a07840e0d97d66e46111f1c086bf83981b7 Mon Sep 17 00:00:00 2001 | 1 | From 479e1f4aa2b9f1c911a4d0dd18e222d241a978ea Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Wed, 9 Nov 2016 20:35:30 -0800 | 3 | Date: Wed, 9 Nov 2016 20:35:30 -0800 |
4 | Subject: [PATCH 13/19] Make root's home directory configurable | 4 | Subject: [PATCH 42/48] Make root's home directory configurable |
5 | 5 | ||
6 | OpenEmbedded has a configurable home directory for root. Allow | 6 | OpenEmbedded has a configurable home directory for root. Allow |
7 | systemd to be built using its idea of what root's home directory | 7 | systemd to be built using its idea of what root's home directory |
@@ -14,6 +14,7 @@ https://github.com/systemd/systemd/issues/541 | |||
14 | 14 | ||
15 | Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca> | 15 | Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca> |
16 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 16 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
17 | |||
17 | --- | 18 | --- |
18 | Makefile.am | 2 ++ | 19 | Makefile.am | 2 ++ |
19 | configure.ac | 7 +++++++ | 20 | configure.ac | 7 +++++++ |
@@ -24,18 +25,18 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
24 | 6 files changed, 17 insertions(+), 8 deletions(-) | 25 | 6 files changed, 17 insertions(+), 8 deletions(-) |
25 | 26 | ||
26 | diff --git a/Makefile.am b/Makefile.am | 27 | diff --git a/Makefile.am b/Makefile.am |
27 | index 420e0e0..3010b01 100644 | 28 | index 1bcd932c2..c2b4a99d2 100644 |
28 | --- a/Makefile.am | 29 | --- a/Makefile.am |
29 | +++ b/Makefile.am | 30 | +++ b/Makefile.am |
30 | @@ -213,6 +213,7 @@ AM_CPPFLAGS = \ | 31 | @@ -226,6 +226,7 @@ AM_CPPFLAGS = \ |
31 | -DLIBDIR=\"$(libdir)\" \ | 32 | -DLIBDIR=\"$(libdir)\" \ |
32 | -DROOTLIBDIR=\"$(rootlibdir)\" \ | 33 | -DROOTLIBDIR=\"$(rootlibdir)\" \ |
33 | -DROOTLIBEXECDIR=\"$(rootlibexecdir)\" \ | 34 | -DROOTLIBEXECDIR=\"$(rootlibexecdir)\" \ |
34 | + -DROOTHOMEDIR=\"$(roothomedir)\" \ | 35 | + -DROOTHOMEDIR=\"$(roothomedir)\" \ |
35 | -DTEST_DIR=\"$(abs_top_srcdir)/test\" \ | ||
36 | -I $(top_srcdir)/src \ | 36 | -I $(top_srcdir)/src \ |
37 | -I $(top_builddir)/src/basic \ | 37 | -I $(top_builddir)/src/basic \ |
38 | @@ -6057,6 +6058,7 @@ substitutions = \ | 38 | -I $(top_srcdir)/src/basic \ |
39 | @@ -6356,6 +6357,7 @@ substitutions = \ | ||
39 | '|rootlibdir=$(rootlibdir)|' \ | 40 | '|rootlibdir=$(rootlibdir)|' \ |
40 | '|rootlibexecdir=$(rootlibexecdir)|' \ | 41 | '|rootlibexecdir=$(rootlibexecdir)|' \ |
41 | '|rootbindir=$(rootbindir)|' \ | 42 | '|rootbindir=$(rootbindir)|' \ |
@@ -44,10 +45,10 @@ index 420e0e0..3010b01 100644 | |||
44 | '|SYSTEMCTL=$(rootbindir)/systemctl|' \ | 45 | '|SYSTEMCTL=$(rootbindir)/systemctl|' \ |
45 | '|SYSTEMD_NOTIFY=$(rootbindir)/systemd-notify|' \ | 46 | '|SYSTEMD_NOTIFY=$(rootbindir)/systemd-notify|' \ |
46 | diff --git a/configure.ac b/configure.ac | 47 | diff --git a/configure.ac b/configure.ac |
47 | index b10c952..dfc0bd3 100644 | 48 | index 0354ffe6a..b53ca1f1a 100644 |
48 | --- a/configure.ac | 49 | --- a/configure.ac |
49 | +++ b/configure.ac | 50 | +++ b/configure.ac |
50 | @@ -1513,6 +1513,11 @@ AC_ARG_WITH([rootlibdir], | 51 | @@ -1641,6 +1641,11 @@ AC_ARG_WITH([rootlibdir], |
51 | [with_rootlibdir=${libdir}]) | 52 | [with_rootlibdir=${libdir}]) |
52 | AX_NORMALIZE_PATH([with_rootlibdir]) | 53 | AX_NORMALIZE_PATH([with_rootlibdir]) |
53 | 54 | ||
@@ -57,29 +58,29 @@ index b10c952..dfc0bd3 100644 | |||
57 | + [with_roothomedir=/root]) | 58 | + [with_roothomedir=/root]) |
58 | + | 59 | + |
59 | AC_ARG_WITH([pamlibdir], | 60 | AC_ARG_WITH([pamlibdir], |
60 | AS_HELP_STRING([--with-pamlibdir=DIR], [Directory for PAM modules]), | 61 | AS_HELP_STRING([--with-pamlibdir=DIR], [directory for PAM modules]), |
61 | [], | 62 | [], |
62 | @@ -1598,6 +1603,7 @@ AC_SUBST([pamlibdir], [$with_pamlibdir]) | 63 | @@ -1733,6 +1738,7 @@ AC_SUBST([pamconfdir], [$with_pamconfdir]) |
63 | AC_SUBST([pamconfdir], [$with_pamconfdir]) | 64 | AC_SUBST([rpmmacrosdir], [$with_rpmmacrosdir]) |
64 | AC_SUBST([rootprefix], [$with_rootprefix]) | 65 | AC_SUBST([rootprefix], [$with_rootprefix]) |
65 | AC_SUBST([rootlibdir], [$with_rootlibdir]) | 66 | AC_SUBST([rootlibdir], [$with_rootlibdir]) |
66 | +AC_SUBST([roothomedir], [$with_roothomedir]) | 67 | +AC_SUBST([roothomedir], [$with_roothomedir]) |
67 | 68 | ||
68 | AC_CONFIG_FILES([ | 69 | AC_CONFIG_FILES([ |
69 | Makefile | 70 | Makefile |
70 | @@ -1688,6 +1694,7 @@ AC_MSG_RESULT([ | 71 | @@ -1829,6 +1835,7 @@ AC_MSG_RESULT([ |
71 | includedir: ${includedir} | 72 | includedir: ${includedir} |
72 | lib dir: ${libdir} | 73 | lib dir: ${libdir} |
73 | rootlib dir: ${with_rootlibdir} | 74 | rootlib dir: ${with_rootlibdir} |
74 | + root home dir: ${with_roothomedir} | 75 | + root home dir: ${with_roothomedir} |
75 | SysV init scripts: ${SYSTEM_SYSVINIT_PATH} | 76 | SysV init scripts: ${SYSTEM_SYSVINIT_PATH} |
76 | SysV rc?.d directories: ${SYSTEM_SYSVRCND_PATH} | 77 | SysV rc?.d directories: ${SYSTEM_SYSVRCND_PATH} |
77 | Build Python: ${PYTHON} | 78 | build Python: ${PYTHON} |
78 | diff --git a/src/basic/user-util.c b/src/basic/user-util.c | 79 | diff --git a/src/basic/user-util.c b/src/basic/user-util.c |
79 | index 938533d..3f9fdc4 100644 | 80 | index c619dad52..662682adf 100644 |
80 | --- a/src/basic/user-util.c | 81 | --- a/src/basic/user-util.c |
81 | +++ b/src/basic/user-util.c | 82 | +++ b/src/basic/user-util.c |
82 | @@ -127,7 +127,7 @@ int get_user_creds( | 83 | @@ -129,7 +129,7 @@ int get_user_creds( |
83 | *gid = 0; | 84 | *gid = 0; |
84 | 85 | ||
85 | if (home) | 86 | if (home) |
@@ -88,7 +89,7 @@ index 938533d..3f9fdc4 100644 | |||
88 | 89 | ||
89 | if (shell) | 90 | if (shell) |
90 | *shell = "/bin/sh"; | 91 | *shell = "/bin/sh"; |
91 | @@ -387,7 +387,7 @@ int get_home_dir(char **_h) { | 92 | @@ -389,7 +389,7 @@ int get_home_dir(char **_h) { |
92 | /* Hardcode home directory for root to avoid NSS */ | 93 | /* Hardcode home directory for root to avoid NSS */ |
93 | u = getuid(); | 94 | u = getuid(); |
94 | if (u == 0) { | 95 | if (u == 0) { |
@@ -98,10 +99,10 @@ index 938533d..3f9fdc4 100644 | |||
98 | return -ENOMEM; | 99 | return -ENOMEM; |
99 | 100 | ||
100 | diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c | 101 | diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c |
101 | index 19b47cd..e42bf19 100644 | 102 | index 8a5fedd4b..7b01ec078 100644 |
102 | --- a/src/nspawn/nspawn.c | 103 | --- a/src/nspawn/nspawn.c |
103 | +++ b/src/nspawn/nspawn.c | 104 | +++ b/src/nspawn/nspawn.c |
104 | @@ -2798,7 +2798,7 @@ static int inner_child( | 105 | @@ -2291,7 +2291,7 @@ static int inner_child( |
105 | if (envp[n_env]) | 106 | if (envp[n_env]) |
106 | n_env++; | 107 | n_env++; |
107 | 108 | ||
@@ -110,8 +111,8 @@ index 19b47cd..e42bf19 100644 | |||
110 | (asprintf((char**)(envp + n_env++), "USER=%s", arg_user ? arg_user : "root") < 0) || | 111 | (asprintf((char**)(envp + n_env++), "USER=%s", arg_user ? arg_user : "root") < 0) || |
111 | (asprintf((char**)(envp + n_env++), "LOGNAME=%s", arg_user ? arg_user : "root") < 0)) | 112 | (asprintf((char**)(envp + n_env++), "LOGNAME=%s", arg_user ? arg_user : "root") < 0)) |
112 | return log_oom(); | 113 | return log_oom(); |
113 | @@ -2882,7 +2882,7 @@ static int inner_child( | 114 | @@ -2373,7 +2373,7 @@ static int inner_child( |
114 | else { | 115 | } else { |
115 | if (!arg_chdir) | 116 | if (!arg_chdir) |
116 | /* If we cannot change the directory, we'll end up in /, that is expected. */ | 117 | /* If we cannot change the directory, we'll end up in /, that is expected. */ |
117 | - (void) chdir(home ?: "/root"); | 118 | - (void) chdir(home ?: "/root"); |
@@ -120,7 +121,7 @@ index 19b47cd..e42bf19 100644 | |||
120 | execle("/bin/bash", "-bash", NULL, env_use); | 121 | execle("/bin/bash", "-bash", NULL, env_use); |
121 | execle("/bin/sh", "-sh", NULL, env_use); | 122 | execle("/bin/sh", "-sh", NULL, env_use); |
122 | diff --git a/units/emergency.service.in b/units/emergency.service.in | 123 | diff --git a/units/emergency.service.in b/units/emergency.service.in |
123 | index da68eb8..e25f879 100644 | 124 | index e9eb238b9..32588e48a 100644 |
124 | --- a/units/emergency.service.in | 125 | --- a/units/emergency.service.in |
125 | +++ b/units/emergency.service.in | 126 | +++ b/units/emergency.service.in |
126 | @@ -15,8 +15,8 @@ Conflicts=syslog.socket | 127 | @@ -15,8 +15,8 @@ Conflicts=syslog.socket |
@@ -131,11 +132,11 @@ index da68eb8..e25f879 100644 | |||
131 | -WorkingDirectory=-/root | 132 | -WorkingDirectory=-/root |
132 | +Environment=HOME=@roothomedir@ | 133 | +Environment=HOME=@roothomedir@ |
133 | +WorkingDirectory=-@roothomedir@ | 134 | +WorkingDirectory=-@roothomedir@ |
134 | ExecStartPre=-/bin/plymouth --wait quit | 135 | ExecStart=-@rootlibexecdir@/systemd-sulogin-shell emergency |
135 | ExecStartPre=-/bin/echo -e 'You are in emergency mode. After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" or ^D to\\ntry again to boot into default mode.' | 136 | Type=idle |
136 | ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --job-mode=fail --no-block default" | 137 | StandardInput=tty-force |
137 | diff --git a/units/rescue.service.in b/units/rescue.service.in | 138 | diff --git a/units/rescue.service.in b/units/rescue.service.in |
138 | index 5feff69..a83439e 100644 | 139 | index 4ab66f485..bd9898f2c 100644 |
139 | --- a/units/rescue.service.in | 140 | --- a/units/rescue.service.in |
140 | +++ b/units/rescue.service.in | 141 | +++ b/units/rescue.service.in |
141 | @@ -14,8 +14,8 @@ After=sysinit.target plymouth-start.service | 142 | @@ -14,8 +14,8 @@ After=sysinit.target plymouth-start.service |
@@ -146,9 +147,9 @@ index 5feff69..a83439e 100644 | |||
146 | -WorkingDirectory=-/root | 147 | -WorkingDirectory=-/root |
147 | +Environment=HOME=@roothomedir@ | 148 | +Environment=HOME=@roothomedir@ |
148 | +WorkingDirectory=-@roothomedir@ | 149 | +WorkingDirectory=-@roothomedir@ |
149 | ExecStartPre=-/bin/plymouth --wait quit | 150 | ExecStart=-@rootlibexecdir@/systemd-sulogin-shell rescue |
150 | ExecStartPre=-/bin/echo -e 'You are in rescue mode. After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" or ^D to\\nboot into default mode.' | 151 | Type=idle |
151 | ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --job-mode=fail --no-block default" | 152 | StandardInput=tty-force |
152 | -- | 153 | -- |
153 | 2.10.2 | 154 | 2.13.2 |
154 | 155 | ||
diff --git a/meta/recipes-core/systemd/systemd/0015-Revert-udev-remove-userspace-firmware-loading-suppor.patch b/meta/recipes-core/systemd/systemd/0015-Revert-udev-remove-userspace-firmware-loading-suppor.patch index f31d211e76..95871bb053 100644 --- a/meta/recipes-core/systemd/systemd/0015-Revert-udev-remove-userspace-firmware-loading-suppor.patch +++ b/meta/recipes-core/systemd/systemd/0015-Revert-udev-remove-userspace-firmware-loading-suppor.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 4d28d9a7d8d69fb429955d770e53e7a81640da24 Mon Sep 17 00:00:00 2001 | 1 | From 7883985a3a78677e9a1d5d61fe7fa8badf39f565 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Wed, 9 Nov 2016 20:45:23 -0800 | 3 | Date: Wed, 9 Nov 2016 20:45:23 -0800 |
4 | Subject: [PATCH 15/19] Revert "udev: remove userspace firmware loading | 4 | Subject: [PATCH 10/14] Revert "udev: remove userspace firmware loading |
5 | support" | 5 | support" |
6 | 6 | ||
7 | This reverts commit be2ea723b1d023b3d385d3b791ee4607cbfb20ca. | 7 | This reverts commit be2ea723b1d023b3d385d3b791ee4607cbfb20ca. |
@@ -11,23 +11,24 @@ Upstream-Status: Inappropriate [OE specific] | |||
11 | 11 | ||
12 | Signed-off-by: Jonathan Liu <net147@gmail.com> | 12 | Signed-off-by: Jonathan Liu <net147@gmail.com> |
13 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 13 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
14 | |||
14 | --- | 15 | --- |
15 | Makefile.am | 12 +++ | 16 | Makefile.am | 12 +++ |
16 | README | 6 +- | 17 | README | 4 +- |
17 | TODO | 1 + | 18 | TODO | 1 + |
18 | configure.ac | 18 +++++ | 19 | configure.ac | 18 +++++ |
19 | src/udev/udev-builtin-firmware.c | 154 +++++++++++++++++++++++++++++++++++++++ | 20 | src/udev/udev-builtin-firmware.c | 154 +++++++++++++++++++++++++++++++++++++++ |
20 | src/udev/udev-builtin.c | 3 + | 21 | src/udev/udev-builtin.c | 3 + |
21 | src/udev/udev.h | 6 ++ | 22 | src/udev/udev.h | 6 ++ |
22 | src/udev/udevd.c | 13 ++++ | 23 | src/udev/udevd.c | 13 ++++ |
23 | 8 files changed, 210 insertions(+), 3 deletions(-) | 24 | 8 files changed, 209 insertions(+), 2 deletions(-) |
24 | create mode 100644 src/udev/udev-builtin-firmware.c | 25 | create mode 100644 src/udev/udev-builtin-firmware.c |
25 | 26 | ||
26 | diff --git a/Makefile.am b/Makefile.am | 27 | diff --git a/Makefile.am b/Makefile.am |
27 | index 3010b01..229492a 100644 | 28 | index c2b4a99d2..692d7bb95 100644 |
28 | --- a/Makefile.am | 29 | --- a/Makefile.am |
29 | +++ b/Makefile.am | 30 | +++ b/Makefile.am |
30 | @@ -3791,6 +3791,18 @@ libudev_core_la_LIBADD = \ | 31 | @@ -3985,6 +3985,18 @@ libudev_core_la_LIBADD = \ |
31 | $(BLKID_LIBS) \ | 32 | $(BLKID_LIBS) \ |
32 | $(KMOD_LIBS) | 33 | $(KMOD_LIBS) |
33 | 34 | ||
@@ -47,17 +48,10 @@ index 3010b01..229492a 100644 | |||
47 | libudev_core_la_SOURCES += \ | 48 | libudev_core_la_SOURCES += \ |
48 | src/udev/udev-builtin-kmod.c | 49 | src/udev/udev-builtin-kmod.c |
49 | diff --git a/README b/README | 50 | diff --git a/README b/README |
50 | index 9f5bc93..f60ae11 100644 | 51 | index 60388eebe..e21976393 100644 |
51 | --- a/README | 52 | --- a/README |
52 | +++ b/README | 53 | +++ b/README |
53 | @@ -50,14 +50,14 @@ REQUIREMENTS: | 54 | @@ -61,8 +61,8 @@ REQUIREMENTS: |
54 | CONFIG_PROC_FS | ||
55 | CONFIG_FHANDLE (libudev, mount and bind mount handling) | ||
56 | |||
57 | - udev will fail to work with the legacy sysfs layout: | ||
58 | + Udev will fail to work with the legacy sysfs layout: | ||
59 | CONFIG_SYSFS_DEPRECATED=n | ||
60 | |||
61 | Legacy hotplug slows down the system and confuses udev: | 55 | Legacy hotplug slows down the system and confuses udev: |
62 | CONFIG_UEVENT_HELPER_PATH="" | 56 | CONFIG_UEVENT_HELPER_PATH="" |
63 | 57 | ||
@@ -69,10 +63,10 @@ index 9f5bc93..f60ae11 100644 | |||
69 | 63 | ||
70 | Some udev rules and virtualization detection relies on it: | 64 | Some udev rules and virtualization detection relies on it: |
71 | diff --git a/TODO b/TODO | 65 | diff --git a/TODO b/TODO |
72 | index baaac94..1ab1691 100644 | 66 | index 61efa5e9f..67ccac224 100644 |
73 | --- a/TODO | 67 | --- a/TODO |
74 | +++ b/TODO | 68 | +++ b/TODO |
75 | @@ -658,6 +658,7 @@ Features: | 69 | @@ -740,6 +740,7 @@ Features: |
76 | * initialize the hostname from the fs label of /, if /etc/hostname does not exist? | 70 | * initialize the hostname from the fs label of /, if /etc/hostname does not exist? |
77 | 71 | ||
78 | * udev: | 72 | * udev: |
@@ -81,11 +75,11 @@ index baaac94..1ab1691 100644 | |||
81 | - kill scsi_id | 75 | - kill scsi_id |
82 | - add trigger --subsystem-match=usb/usb_device device | 76 | - add trigger --subsystem-match=usb/usb_device device |
83 | diff --git a/configure.ac b/configure.ac | 77 | diff --git a/configure.ac b/configure.ac |
84 | index dfc0bd3..1de0066 100644 | 78 | index b53ca1f1a..1150ca50e 100644 |
85 | --- a/configure.ac | 79 | --- a/configure.ac |
86 | +++ b/configure.ac | 80 | +++ b/configure.ac |
87 | @@ -1394,6 +1394,23 @@ AM_CONDITIONAL(HAVE_MYHOSTNAME, [test "$have_myhostname" = "yes"]) | 81 | @@ -1522,6 +1522,23 @@ AM_CONDITIONAL(HAVE_MYHOSTNAME, [test "$have_myhostname" = "yes"]) |
88 | AC_ARG_ENABLE(hwdb, [AC_HELP_STRING([--disable-hwdb], [disable hardware database support])], | 82 | AC_ARG_ENABLE(hwdb, [AS_HELP_STRING([--disable-hwdb], [disable hardware database support])], |
89 | enable_hwdb=$enableval, enable_hwdb=yes) | 83 | enable_hwdb=$enableval, enable_hwdb=yes) |
90 | AM_CONDITIONAL(ENABLE_HWDB, [test x$enable_hwdb = xyes]) | 84 | AM_CONDITIONAL(ENABLE_HWDB, [test x$enable_hwdb = xyes]) |
91 | +AC_ARG_WITH(firmware-path, | 85 | +AC_ARG_WITH(firmware-path, |
@@ -108,17 +102,17 @@ index dfc0bd3..1de0066 100644 | |||
108 | 102 | ||
109 | # ------------------------------------------------------------------------------ | 103 | # ------------------------------------------------------------------------------ |
110 | have_manpages=no | 104 | have_manpages=no |
111 | @@ -1698,6 +1715,7 @@ AC_MSG_RESULT([ | 105 | @@ -1839,6 +1856,7 @@ AC_MSG_RESULT([ |
112 | SysV init scripts: ${SYSTEM_SYSVINIT_PATH} | 106 | SysV init scripts: ${SYSTEM_SYSVINIT_PATH} |
113 | SysV rc?.d directories: ${SYSTEM_SYSVRCND_PATH} | 107 | SysV rc?.d directories: ${SYSTEM_SYSVRCND_PATH} |
114 | Build Python: ${PYTHON} | 108 | build Python: ${PYTHON} |
115 | + firmware path: ${FIRMWARE_PATH} | 109 | + firmware path: ${FIRMWARE_PATH} |
116 | PAM modules dir: ${with_pamlibdir} | 110 | PAM modules dir: ${with_pamlibdir} |
117 | PAM configuration dir: ${with_pamconfdir} | 111 | PAM configuration dir: ${with_pamconfdir} |
118 | D-Bus policy dir: ${with_dbuspolicydir} | 112 | RPM macros dir: ${with_rpmmacrosdir} |
119 | diff --git a/src/udev/udev-builtin-firmware.c b/src/udev/udev-builtin-firmware.c | 113 | diff --git a/src/udev/udev-builtin-firmware.c b/src/udev/udev-builtin-firmware.c |
120 | new file mode 100644 | 114 | new file mode 100644 |
121 | index 0000000..bd8c2fb | 115 | index 000000000..bd8c2fb96 |
122 | --- /dev/null | 116 | --- /dev/null |
123 | +++ b/src/udev/udev-builtin-firmware.c | 117 | +++ b/src/udev/udev-builtin-firmware.c |
124 | @@ -0,0 +1,154 @@ | 118 | @@ -0,0 +1,154 @@ |
@@ -277,7 +271,7 @@ index 0000000..bd8c2fb | |||
277 | + .run_once = true, | 271 | + .run_once = true, |
278 | +}; | 272 | +}; |
279 | diff --git a/src/udev/udev-builtin.c b/src/udev/udev-builtin.c | 273 | diff --git a/src/udev/udev-builtin.c b/src/udev/udev-builtin.c |
280 | index e6b36f1..cd9947e 100644 | 274 | index e6b36f124..cd9947e2a 100644 |
281 | --- a/src/udev/udev-builtin.c | 275 | --- a/src/udev/udev-builtin.c |
282 | +++ b/src/udev/udev-builtin.c | 276 | +++ b/src/udev/udev-builtin.c |
283 | @@ -31,6 +31,9 @@ static const struct udev_builtin *builtins[] = { | 277 | @@ -31,6 +31,9 @@ static const struct udev_builtin *builtins[] = { |
@@ -291,10 +285,10 @@ index e6b36f1..cd9947e 100644 | |||
291 | [UDEV_BUILTIN_INPUT_ID] = &udev_builtin_input_id, | 285 | [UDEV_BUILTIN_INPUT_ID] = &udev_builtin_input_id, |
292 | [UDEV_BUILTIN_KEYBOARD] = &udev_builtin_keyboard, | 286 | [UDEV_BUILTIN_KEYBOARD] = &udev_builtin_keyboard, |
293 | diff --git a/src/udev/udev.h b/src/udev/udev.h | 287 | diff --git a/src/udev/udev.h b/src/udev/udev.h |
294 | index 8433e8d..d32366d 100644 | 288 | index c0cb7eae8..9f0f1cf13 100644 |
295 | --- a/src/udev/udev.h | 289 | --- a/src/udev/udev.h |
296 | +++ b/src/udev/udev.h | 290 | +++ b/src/udev/udev.h |
297 | @@ -148,6 +148,9 @@ enum udev_builtin_cmd { | 291 | @@ -150,6 +150,9 @@ enum udev_builtin_cmd { |
298 | UDEV_BUILTIN_BLKID, | 292 | UDEV_BUILTIN_BLKID, |
299 | #endif | 293 | #endif |
300 | UDEV_BUILTIN_BTRFS, | 294 | UDEV_BUILTIN_BTRFS, |
@@ -304,7 +298,7 @@ index 8433e8d..d32366d 100644 | |||
304 | UDEV_BUILTIN_HWDB, | 298 | UDEV_BUILTIN_HWDB, |
305 | UDEV_BUILTIN_INPUT_ID, | 299 | UDEV_BUILTIN_INPUT_ID, |
306 | UDEV_BUILTIN_KEYBOARD, | 300 | UDEV_BUILTIN_KEYBOARD, |
307 | @@ -176,6 +179,9 @@ struct udev_builtin { | 301 | @@ -178,6 +181,9 @@ struct udev_builtin { |
308 | extern const struct udev_builtin udev_builtin_blkid; | 302 | extern const struct udev_builtin udev_builtin_blkid; |
309 | #endif | 303 | #endif |
310 | extern const struct udev_builtin udev_builtin_btrfs; | 304 | extern const struct udev_builtin udev_builtin_btrfs; |
@@ -315,7 +309,7 @@ index 8433e8d..d32366d 100644 | |||
315 | extern const struct udev_builtin udev_builtin_input_id; | 309 | extern const struct udev_builtin udev_builtin_input_id; |
316 | extern const struct udev_builtin udev_builtin_keyboard; | 310 | extern const struct udev_builtin udev_builtin_keyboard; |
317 | diff --git a/src/udev/udevd.c b/src/udev/udevd.c | 311 | diff --git a/src/udev/udevd.c b/src/udev/udevd.c |
318 | index d336ee0..81e5dc5 100644 | 312 | index acbddd418..20347b402 100644 |
319 | --- a/src/udev/udevd.c | 313 | --- a/src/udev/udevd.c |
320 | +++ b/src/udev/udevd.c | 314 | +++ b/src/udev/udevd.c |
321 | @@ -125,6 +125,9 @@ struct event { | 315 | @@ -125,6 +125,9 @@ struct event { |
@@ -353,5 +347,5 @@ index d336ee0..81e5dc5 100644 | |||
353 | if (event->devpath[common] == '/') { | 347 | if (event->devpath[common] == '/') { |
354 | event->delaying_seqnum = loop_event->seqnum; | 348 | event->delaying_seqnum = loop_event->seqnum; |
355 | -- | 349 | -- |
356 | 2.10.2 | 350 | 2.13.2 |
357 | 351 | ||
diff --git a/meta/recipes-core/systemd/systemd/0016-make-test-dir-configurable.patch b/meta/recipes-core/systemd/systemd/0016-make-test-dir-configurable.patch deleted file mode 100644 index 10d1df5d52..0000000000 --- a/meta/recipes-core/systemd/systemd/0016-make-test-dir-configurable.patch +++ /dev/null | |||
@@ -1,65 +0,0 @@ | |||
1 | From 218bbc555a37f9373fbb7f03c744eb65109d3470 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Wed, 9 Nov 2016 20:47:37 -0800 | ||
4 | Subject: [PATCH 16/19] make test dir configurable | ||
5 | |||
6 | Upstream-Status: Pending | ||
7 | |||
8 | test maybe be run on target in cross-compile environment, and test dir | ||
9 | is not the compilation dir, so make it configurable | ||
10 | |||
11 | Signed-off-by: Roy Li <rongqing.li@windriver.com> | ||
12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
13 | --- | ||
14 | Makefile.am | 2 +- | ||
15 | configure.ac | 7 +++++++ | ||
16 | 2 files changed, 8 insertions(+), 1 deletion(-) | ||
17 | |||
18 | diff --git a/Makefile.am b/Makefile.am | ||
19 | index 229492a..e997d82 100644 | ||
20 | --- a/Makefile.am | ||
21 | +++ b/Makefile.am | ||
22 | @@ -214,7 +214,7 @@ AM_CPPFLAGS = \ | ||
23 | -DROOTLIBDIR=\"$(rootlibdir)\" \ | ||
24 | -DROOTLIBEXECDIR=\"$(rootlibexecdir)\" \ | ||
25 | -DROOTHOMEDIR=\"$(roothomedir)\" \ | ||
26 | - -DTEST_DIR=\"$(abs_top_srcdir)/test\" \ | ||
27 | + -DTEST_DIR=\"$(testdir)/test\" \ | ||
28 | -I $(top_srcdir)/src \ | ||
29 | -I $(top_builddir)/src/basic \ | ||
30 | -I $(top_srcdir)/src/basic \ | ||
31 | diff --git a/configure.ac b/configure.ac | ||
32 | index 1de0066..b12e320 100644 | ||
33 | --- a/configure.ac | ||
34 | +++ b/configure.ac | ||
35 | @@ -1535,6 +1535,11 @@ AC_ARG_WITH([roothomedir], | ||
36 | [], | ||
37 | [with_roothomedir=/root]) | ||
38 | |||
39 | +AC_ARG_WITH([testdir], | ||
40 | + AS_HELP_STRING([--with-testdir=DIR], [test file directory]), | ||
41 | + [], | ||
42 | + [with_testdir=${abs_top_srcdir}]) | ||
43 | + | ||
44 | AC_ARG_WITH([pamlibdir], | ||
45 | AS_HELP_STRING([--with-pamlibdir=DIR], [Directory for PAM modules]), | ||
46 | [], | ||
47 | @@ -1621,6 +1626,7 @@ AC_SUBST([pamconfdir], [$with_pamconfdir]) | ||
48 | AC_SUBST([rootprefix], [$with_rootprefix]) | ||
49 | AC_SUBST([rootlibdir], [$with_rootlibdir]) | ||
50 | AC_SUBST([roothomedir], [$with_roothomedir]) | ||
51 | +AC_SUBST([testdir], [$with_testdir]) | ||
52 | |||
53 | AC_CONFIG_FILES([ | ||
54 | Makefile | ||
55 | @@ -1712,6 +1718,7 @@ AC_MSG_RESULT([ | ||
56 | lib dir: ${libdir} | ||
57 | rootlib dir: ${with_rootlibdir} | ||
58 | root home dir: ${with_roothomedir} | ||
59 | + test dir: ${with_testdir} | ||
60 | SysV init scripts: ${SYSTEM_SYSVINIT_PATH} | ||
61 | SysV rc?.d directories: ${SYSTEM_SYSVRCND_PATH} | ||
62 | Build Python: ${PYTHON} | ||
63 | -- | ||
64 | 2.10.2 | ||
65 | |||
diff --git a/meta/recipes-core/systemd/systemd/0018-check-for-uchar.h-in-configure.patch b/meta/recipes-core/systemd/systemd/0018-check-for-uchar.h-in-configure.patch index 548ffe03e6..067b73ff35 100644 --- a/meta/recipes-core/systemd/systemd/0018-check-for-uchar.h-in-configure.patch +++ b/meta/recipes-core/systemd/systemd/0018-check-for-uchar.h-in-configure.patch | |||
@@ -1,22 +1,23 @@ | |||
1 | From 7cc0b19d244023c7b3e557765b03b7971e047f29 Mon Sep 17 00:00:00 2001 | 1 | From 1355457092b02a15c646fc1c72e68b694a86dd99 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Mon, 22 Feb 2016 06:02:38 +0000 | 3 | Date: Mon, 22 Feb 2016 06:02:38 +0000 |
4 | Subject: [PATCH 18/19] check for uchar.h in configure | 4 | Subject: [PATCH 12/14] check for uchar.h in configure |
5 | 5 | ||
6 | Use ifdef to include uchar.h | 6 | Use ifdef to include uchar.h |
7 | 7 | ||
8 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 8 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
9 | Upstream-Status: Pending | 9 | Upstream-Status: Pending |
10 | |||
10 | --- | 11 | --- |
11 | configure.ac | 1 + | 12 | configure.ac | 1 + |
12 | src/basic/missing.h | 2 ++ | 13 | src/basic/missing.h | 2 ++ |
13 | 2 files changed, 3 insertions(+) | 14 | 2 files changed, 3 insertions(+) |
14 | 15 | ||
15 | diff --git a/configure.ac b/configure.ac | 16 | diff --git a/configure.ac b/configure.ac |
16 | index b12e320..4e6dfdf 100644 | 17 | index 1150ca50e..60e7df5ee 100644 |
17 | --- a/configure.ac | 18 | --- a/configure.ac |
18 | +++ b/configure.ac | 19 | +++ b/configure.ac |
19 | @@ -298,6 +298,7 @@ AM_CONDITIONAL([HAVE_PYTHON], [test "x$have_python" = "xyes"]) | 20 | @@ -304,6 +304,7 @@ AM_CONDITIONAL([HAVE_PYTHON], [test "x$have_python" = "xyes"]) |
20 | 21 | ||
21 | # ------------------------------------------------------------------------------ | 22 | # ------------------------------------------------------------------------------ |
22 | 23 | ||
@@ -25,12 +26,12 @@ index b12e320..4e6dfdf 100644 | |||
25 | AC_CHECK_HEADERS([linux/btrfs.h], [], []) | 26 | AC_CHECK_HEADERS([linux/btrfs.h], [], []) |
26 | AC_CHECK_HEADERS([linux/memfd.h], [], []) | 27 | AC_CHECK_HEADERS([linux/memfd.h], [], []) |
27 | diff --git a/src/basic/missing.h b/src/basic/missing.h | 28 | diff --git a/src/basic/missing.h b/src/basic/missing.h |
28 | index 4936873..ce79404 100644 | 29 | index 25a11f351..d631b7e3e 100644 |
29 | --- a/src/basic/missing.h | 30 | --- a/src/basic/missing.h |
30 | +++ b/src/basic/missing.h | 31 | +++ b/src/basic/missing.h |
31 | @@ -35,7 +35,9 @@ | 32 | @@ -37,7 +37,9 @@ |
32 | #include <stdlib.h> | ||
33 | #include <sys/resource.h> | 33 | #include <sys/resource.h> |
34 | #include <sys/socket.h> | ||
34 | #include <sys/syscall.h> | 35 | #include <sys/syscall.h> |
35 | +#ifdef HAVE_UCHAR_H | 36 | +#ifdef HAVE_UCHAR_H |
36 | #include <uchar.h> | 37 | #include <uchar.h> |
@@ -39,5 +40,5 @@ index 4936873..ce79404 100644 | |||
39 | 40 | ||
40 | #ifdef HAVE_AUDIT | 41 | #ifdef HAVE_AUDIT |
41 | -- | 42 | -- |
42 | 2.10.2 | 43 | 2.13.2 |
43 | 44 | ||
diff --git a/meta/recipes-core/systemd/systemd/0019-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch b/meta/recipes-core/systemd/systemd/0019-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch index 66aa4cab84..b609276201 100644 --- a/meta/recipes-core/systemd/systemd/0019-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch +++ b/meta/recipes-core/systemd/systemd/0019-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch | |||
@@ -1,18 +1,19 @@ | |||
1 | From 289554d87e4fd96cae08c0fb449bf41d5641cd24 Mon Sep 17 00:00:00 2001 | 1 | From b7c6bfe2ec5ae426e586e1d6ecadb52a97128a3f Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Wed, 9 Nov 2016 20:49:53 -0800 | 3 | Date: Wed, 9 Nov 2016 20:49:53 -0800 |
4 | Subject: [PATCH 19/19] socket-util: don't fail if libc doesn't support IDN | 4 | Subject: [PATCH 13/14] socket-util: don't fail if libc doesn't support IDN |
5 | 5 | ||
6 | Upstream-Status: Pending | 6 | Upstream-Status: Pending |
7 | 7 | ||
8 | Signed-off-by: Emil Renner Berthing <systemd@esmil.dk> | 8 | Signed-off-by: Emil Renner Berthing <systemd@esmil.dk> |
9 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 9 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
10 | |||
10 | --- | 11 | --- |
11 | src/basic/socket-util.c | 9 +++++++++ | 12 | src/basic/socket-util.c | 9 +++++++++ |
12 | 1 file changed, 9 insertions(+) | 13 | 1 file changed, 9 insertions(+) |
13 | 14 | ||
14 | diff --git a/src/basic/socket-util.c b/src/basic/socket-util.c | 15 | diff --git a/src/basic/socket-util.c b/src/basic/socket-util.c |
15 | index 4ebf106..53b9a12 100644 | 16 | index 016e64aa0..d4658826e 100644 |
16 | --- a/src/basic/socket-util.c | 17 | --- a/src/basic/socket-util.c |
17 | +++ b/src/basic/socket-util.c | 18 | +++ b/src/basic/socket-util.c |
18 | @@ -47,6 +47,15 @@ | 19 | @@ -47,6 +47,15 @@ |
@@ -29,8 +30,8 @@ index 4ebf106..53b9a12 100644 | |||
29 | +#define NI_IDN_USE_STD3_ASCII_RULES 0 | 30 | +#define NI_IDN_USE_STD3_ASCII_RULES 0 |
30 | +#endif | 31 | +#endif |
31 | 32 | ||
32 | int socket_address_parse(SocketAddress *a, const char *s) { | 33 | #ifdef ENABLE_IDN |
33 | char *e, *n; | 34 | # define IDN_FLAGS (NI_IDN|NI_IDN_USE_STD3_ASCII_RULES) |
34 | -- | 35 | -- |
35 | 2.10.2 | 36 | 2.13.2 |
36 | 37 | ||
diff --git a/meta/recipes-core/systemd/systemd/0020-back-port-233-don-t-use-the-unified-hierarchy-for-the-systemd.patch b/meta/recipes-core/systemd/systemd/0020-back-port-233-don-t-use-the-unified-hierarchy-for-the-systemd.patch deleted file mode 100644 index e96d4d7803..0000000000 --- a/meta/recipes-core/systemd/systemd/0020-back-port-233-don-t-use-the-unified-hierarchy-for-the-systemd.patch +++ /dev/null | |||
@@ -1,53 +0,0 @@ | |||
1 | This is a direct backport from systemd-233's stream to fix lxc/docker. | ||
2 | |||
3 | % lxc-start -n container -F | ||
4 | lxc-start: cgfsng.c: parse_hierarchies: 825 Failed to find current cgroup for controller 'name=systemd' | ||
5 | lxc-start: cgfsng.c: all_controllers_found: 431 no systemd controller mountpoint found | ||
6 | lxc-start: start.c: lxc_spawn: 1082 failed initializing cgroup support | ||
7 | lxc-start: start.c: __lxc_start: 1332 failed to spawn 'container' | ||
8 | lxc-start: lxc_start.c: main: 344 The container failed to start. | ||
9 | lxc-start: lxc_start.c: main: 348 Additional information can be obtained by setting the --logfile and --logpriority options. | ||
10 | |||
11 | ## begin backport ## | ||
12 | |||
13 | From 843d5baf6aad6c53fc00ea8d95d83209a4f92de1 Mon Sep 17 00:00:00 2001 | ||
14 | From: Martin Pitt <martin.pitt@ubuntu.com> | ||
15 | Date: Thu, 10 Nov 2016 05:33:13 +0100 | ||
16 | Subject: [PATCH] core: don't use the unified hierarchy for the systemd cgroup | ||
17 | yet (#4628) | ||
18 | |||
19 | Too many things don't get along with the unified hierarchy yet: | ||
20 | |||
21 | * https://github.com/opencontainers/runc/issues/1175 | ||
22 | * https://github.com/docker/docker/issues/28109 | ||
23 | * https://github.com/lxc/lxc/issues/1280 | ||
24 | |||
25 | So revert the default to the legacy hierarchy for now. Developers of the above | ||
26 | software can opt into the unified hierarchy with | ||
27 | "systemd.legacy_systemd_cgroup_controller=0". | ||
28 | |||
29 | Upstream-Status: Backport | ||
30 | --- | ||
31 | src/basic/cgroup-util.c | 4 ++-- | ||
32 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
33 | |||
34 | diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c | ||
35 | index 5e73753..dc13025 100644 | ||
36 | --- a/src/basic/cgroup-util.c | ||
37 | +++ b/src/basic/cgroup-util.c | ||
38 | @@ -2423,10 +2423,10 @@ bool cg_is_unified_systemd_controller_wanted(void) { | ||
39 | |||
40 | r = get_proc_cmdline_key("systemd.legacy_systemd_cgroup_controller=", &value); | ||
41 | if (r < 0) | ||
42 | - return true; | ||
43 | + return false; | ||
44 | |||
45 | if (r == 0) | ||
46 | - wanted = true; | ||
47 | + wanted = false; | ||
48 | else | ||
49 | wanted = parse_boolean(value) <= 0; | ||
50 | } | ||
51 | -- | ||
52 | 2.10.1 | ||
53 | |||
diff --git a/meta/recipes-core/systemd/systemd/0021-build-sys-check-for-lz4-in-the-old-and-new-numbering.patch b/meta/recipes-core/systemd/systemd/0021-build-sys-check-for-lz4-in-the-old-and-new-numbering.patch deleted file mode 100644 index a7d7461bc8..0000000000 --- a/meta/recipes-core/systemd/systemd/0021-build-sys-check-for-lz4-in-the-old-and-new-numbering.patch +++ /dev/null | |||
@@ -1,51 +0,0 @@ | |||
1 | From 8200002233bd40acda4bbfb991a31d87f4224fea Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl> | ||
3 | Date: Wed, 23 Nov 2016 10:18:30 -0500 | ||
4 | Subject: [PATCH 21/21] build-sys: check for lz4 in the old and new numbering | ||
5 | scheme (#4717) | ||
6 | MIME-Version: 1.0 | ||
7 | Content-Type: text/plain; charset=UTF-8 | ||
8 | Content-Transfer-Encoding: 8bit | ||
9 | |||
10 | lz4 upstream decided to switch to an incompatible numbering scheme | ||
11 | (1.7.3 follows 131, to match the so version). | ||
12 | PKG_CHECK_MODULES does not allow two version matches for the same package, | ||
13 | so e.g. lz4 < 10 || lz4 >= 125 cannot be used. Check twice, once for | ||
14 | "new" numbers (anything below 10 is assume to be new), once for the "old" | ||
15 | numbers (anything above >= 125). This assumes that the "new" versioning | ||
16 | will not get to 10 to quickly. I think that's a safe assumption, lz4 is a | ||
17 | mature project. | ||
18 | |||
19 | Fixed #4690. | ||
20 | |||
21 | Upstream-Status: Backport | ||
22 | |||
23 | Signed-off-by: Stefan Müller-Klieser <s.mueller-klieser@phytec.de> | ||
24 | --- | ||
25 | configure.ac | 9 ++++++--- | ||
26 | 1 file changed, 6 insertions(+), 3 deletions(-) | ||
27 | |||
28 | diff --git a/configure.ac b/configure.ac | ||
29 | index 279ce28..782b5d7 100644 | ||
30 | --- a/configure.ac | ||
31 | +++ b/configure.ac | ||
32 | @@ -640,10 +640,13 @@ AM_CONDITIONAL(HAVE_BZIP2, [test "$have_bzip2" = "yes"]) | ||
33 | have_lz4=no | ||
34 | AC_ARG_ENABLE(lz4, AS_HELP_STRING([--disable-lz4], [Disable optional LZ4 support])) | ||
35 | AS_IF([test "x$enable_lz4" != "xno"], [ | ||
36 | - PKG_CHECK_MODULES(LZ4, [ liblz4 >= 125 ], | ||
37 | - [AC_DEFINE(HAVE_LZ4, 1, [Define in LZ4 is available]) | ||
38 | + PKG_CHECK_MODULES(LZ4, [ liblz4 < 10 ], | ||
39 | + [AC_DEFINE(HAVE_LZ4, 1, [Define if LZ4 is available]) | ||
40 | have_lz4=yes], | ||
41 | - have_lz4=no) | ||
42 | + [PKG_CHECK_MODULES(LZ4, [ liblz4 >= 125 ], | ||
43 | + [AC_DEFINE(HAVE_LZ4, 1, [Define if LZ4 is available]) | ||
44 | + have_lz4=yes], | ||
45 | + have_lz4=no)]) | ||
46 | AS_IF([test "x$have_lz4" = xno -a "x$enable_lz4" = xyes], | ||
47 | [AC_MSG_ERROR([*** LZ4 support requested but libraries not found])]) | ||
48 | ]) | ||
49 | -- | ||
50 | 1.9.1 | ||
51 | |||
diff --git a/meta/recipes-core/systemd/systemd/0022-parse-util-Do-not-include-unneeded-xlocale.h.patch b/meta/recipes-core/systemd/systemd/0022-parse-util-Do-not-include-unneeded-xlocale.h.patch deleted file mode 100644 index cad1867a4c..0000000000 --- a/meta/recipes-core/systemd/systemd/0022-parse-util-Do-not-include-unneeded-xlocale.h.patch +++ /dev/null | |||
@@ -1,27 +0,0 @@ | |||
1 | From 0c50b8332092178378257c2de800fb6b6b4a8706 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Mon, 3 Jul 2017 08:45:04 -0700 | ||
4 | Subject: [PATCH] parse-util: Do not include unneeded xlocale.h | ||
5 | |||
6 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
7 | --- | ||
8 | Upstream-Status: Backport [ partial https://github.com/systemd/systemd/commit/284d1cd0a12cad96a5ea61d1afb0dd677dbd147e] | ||
9 | |||
10 | src/basic/parse-util.c | 1 - | ||
11 | 1 file changed, 1 deletion(-) | ||
12 | |||
13 | diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c | ||
14 | index c98815b9b..a0eb45805 100644 | ||
15 | --- a/src/basic/parse-util.c | ||
16 | +++ b/src/basic/parse-util.c | ||
17 | @@ -23,7 +23,6 @@ | ||
18 | #include <stdio.h> | ||
19 | #include <stdlib.h> | ||
20 | #include <string.h> | ||
21 | -#include <xlocale.h> | ||
22 | |||
23 | #include "alloc-util.h" | ||
24 | #include "extract-word.h" | ||
25 | -- | ||
26 | 2.13.2 | ||
27 | |||