summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2013-08-22 02:16:30 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-08-28 00:37:00 +0100
commit937968bf95e38dcdfc3e7791dc9efaf5f7613f24 (patch)
tree281e7ee48cfefa2ba946eb1593ef779243dc1bae
parent695039598b18a49e9637fdb335a5d7b011e9598c (diff)
downloadpoky-937968bf95e38dcdfc3e7791dc9efaf5f7613f24.tar.gz
systemd: Upgrade to 206
Add new PACKAGE systemd-rpm-macros, this will hold the macros which are interesting when rpm is used as package management backend Forward port uclibc only patches. Add a new patch to stub out use of preadv/pwritev in testcases Delete patches that have been merged upstream in systemd Remove force export of GPERF variable in environment this was causing AC_CHECK_TOOL to not populate GPERF variable as expected systemd needs kmod to be present on rootfs so add it to RDEPENDS some services substitute discovered kmod when the service file is generated during boot, however the discovered kmod is from native sysroot and it gets into the service file with absolute path. So specify the target path of kmod using KMOD variable so the unit files have correct pointer to kmod on target Add a patch to make sure that mknod capability is checked before the service which excercise mknod, this patch is also submitted to upstream systemd (From OE-Core rev: 3f1788f8edf18a292cb5d8e16a2a98a19ec89239) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-core/systemd/systemd/0001-uClibc-doesn-t-implement-pwritev-preadv.patch37
-rw-r--r--meta/recipes-core/systemd/systemd/0001-use-CAP_MKNOD-ConditionCapability.patch32
-rw-r--r--meta/recipes-core/systemd/systemd/0001-utmp-turn-systemd-update-utmp-shutdown.service-into-.patch367
-rw-r--r--meta/recipes-core/systemd/systemd/install-quotaon-once.patch34
-rw-r--r--meta/recipes-core/systemd/systemd/systemd-pam-fix-getty-unit.patch24
-rw-r--r--meta/recipes-core/systemd/systemd/systemd-pam-fix-mkostemp.patch59
-rw-r--r--meta/recipes-core/systemd/systemd_206.bb (renamed from meta/recipes-core/systemd/systemd_204.bb)19
7 files changed, 120 insertions, 452 deletions
diff --git a/meta/recipes-core/systemd/systemd/0001-uClibc-doesn-t-implement-pwritev-preadv.patch b/meta/recipes-core/systemd/systemd/0001-uClibc-doesn-t-implement-pwritev-preadv.patch
new file mode 100644
index 0000000000..e204a5063e
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd/0001-uClibc-doesn-t-implement-pwritev-preadv.patch
@@ -0,0 +1,37 @@
1Upstream-Status: Inappropriate [uclibc specific]
2
3From 7be9273548bcb1f57d011fc252965e45dd2a058c Mon Sep 17 00:00:00 2001
4From: Khem Raj <raj.khem@gmail.com>
5Date: Wed, 21 Aug 2013 19:09:27 -0700
6Subject: [PATCH] uClibc doesn't implement pwritev/preadv
7
8Lets stub out the testcase for building.
9
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11---
12 src/libsystemd-bus/test-bus-memfd.c | 2 ++
13 1 file changed, 2 insertions(+)
14
15diff --git a/src/libsystemd-bus/test-bus-memfd.c b/src/libsystemd-bus/test-bus-memfd.c
16index 05ef555..45e5e44 100644
17--- a/src/libsystemd-bus/test-bus-memfd.c
18+++ b/src/libsystemd-bus/test-bus-memfd.c
19@@ -145,6 +145,7 @@ int main(int argc, char *argv[]) {
20 /* check content */
21 assert_se(memcmp(buf, "ll", 2) == 0);
22
23+#ifndef __UCLIBC__
24 /* writev it out*/
25 iov[0].iov_base = (char *)"ABC";
26 iov[0].iov_len = 3;
27@@ -167,6 +168,7 @@ int main(int argc, char *argv[]) {
28 assert_se(memcmp(bufv[0], "ABC", 3) == 0);
29 assert_se(memcmp(bufv[1], "DEF", 3) == 0);
30 assert_se(memcmp(bufv[2], "GHI", 3) == 0);
31+#endif /* __UCLIBC__ */
32
33 sd_memfd_free(m);
34
35--
361.8.3.4
37
diff --git a/meta/recipes-core/systemd/systemd/0001-use-CAP_MKNOD-ConditionCapability.patch b/meta/recipes-core/systemd/systemd/0001-use-CAP_MKNOD-ConditionCapability.patch
new file mode 100644
index 0000000000..4a35c2301a
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd/0001-use-CAP_MKNOD-ConditionCapability.patch
@@ -0,0 +1,32 @@
1Upstream-Status: Submitted
2
3From cfdd1eb76dced87c73bac8ec22d3a10244c9bbf6 Mon Sep 17 00:00:00 2001
4From: Khem Raj <raj.khem@gmail.com>
5Date: Wed, 21 Aug 2013 20:25:19 -0700
6Subject: [PATCH] use CAP_MKNOD ConditionCapability
7
8Fixes errors seen when booting VMs on QEMU like
9
10systemd[1]: kmod-static-nodes.service: main process exited, code=exited, status=203/EXEC
11systemd[1]: Failed to start Create list of required static device nodes for the current kernel.
12systemd[1]: Unit kmod-static-nodes.service entered failed state.
13
14Make sure that mknod capability is available
15
16Signed-off-by: Khem Raj <raj.khem@gmail.com>
17---
18 units/kmod-static-nodes.service.in | 2 +-
19 1 file changed, 1 insertion(+), 1 deletion(-)
20
21Index: systemd-206/units/kmod-static-nodes.service.in
22===================================================================
23--- systemd-206.orig/units/kmod-static-nodes.service.in 2013-08-21 19:13:02.000000000 -0700
24+++ systemd-206/units/kmod-static-nodes.service.in 2013-08-21 20:39:13.310689871 -0700
25@@ -9,6 +9,7 @@
26 Description=Create list of required static device nodes for the current kernel
27 DefaultDependencies=no
28 Before=sysinit.target systemd-tmpfiles-setup-dev.service
29+ConditionCapability=CAP_MKNOD
30
31 [Service]
32 Type=oneshot
diff --git a/meta/recipes-core/systemd/systemd/0001-utmp-turn-systemd-update-utmp-shutdown.service-into-.patch b/meta/recipes-core/systemd/systemd/0001-utmp-turn-systemd-update-utmp-shutdown.service-into-.patch
deleted file mode 100644
index 86fab9734c..0000000000
--- a/meta/recipes-core/systemd/systemd/0001-utmp-turn-systemd-update-utmp-shutdown.service-into-.patch
+++ /dev/null
@@ -1,367 +0,0 @@
1Upstream-Status: Backport
2Signed-off-by: Jonathan Liu <net147@gmail.com>
3
4From 3f92e4b4b61042391bd44de4dceb18177df0dd57 Mon Sep 17 00:00:00 2001
5From: Lennart Poettering <lennart@poettering.net>
6Date: Thu, 16 May 2013 00:19:03 +0200
7Subject: [PATCH] utmp: turn systemd-update-utmp-shutdown.service into a normal
8 runtime service
9
10With this change systemd-update-utmp-shutdown.service is replaced by
11systemd-update-utmp.service which is started at boot and stays around
12until shutdown. This allows us to properly order the unit against both
13/var/log and auditd.
14
15https://bugzilla.redhat.com/show_bug.cgi?id=853104
16https://bugs.freedesktop.org/show_bug.cgi?id=64365
17---
18 Makefile-man.am | 12 ++---
19 Makefile.am | 8 +--
20 man/systemd-update-utmp-runlevel.service.xml | 76 ---------------------------
21 man/systemd-update-utmp.service.xml | 76 +++++++++++++++++++++++++++
22 src/update-utmp/update-utmp.c | 2 +-
23 units/.gitignore | 2 +-
24 units/systemd-update-utmp-runlevel.service.in | 8 +--
25 units/systemd-update-utmp-shutdown.service.in | 19 -------
26 units/systemd-update-utmp.service.in | 21 ++++++++
27 9 files changed, 114 insertions(+), 110 deletions(-)
28 delete mode 100644 man/systemd-update-utmp-runlevel.service.xml
29 create mode 100644 man/systemd-update-utmp.service.xml
30 delete mode 100644 units/systemd-update-utmp-shutdown.service.in
31 create mode 100644 units/systemd-update-utmp.service.in
32
33diff --git a/Makefile-man.am b/Makefile-man.am
34index 7d62094..5888158 100644
35--- a/Makefile-man.am
36+++ b/Makefile-man.am
37@@ -72,7 +72,7 @@ MANPAGES += \
38 man/systemd-tmpfiles.8 \
39 man/systemd-tty-ask-password-agent.1 \
40 man/systemd-udevd.service.8 \
41- man/systemd-update-utmp-runlevel.service.8 \
42+ man/systemd-update-utmp.service.8 \
43 man/systemd.1 \
44 man/systemd.automount.5 \
45 man/systemd.device.5 \
46@@ -191,7 +191,7 @@ MANPAGES_ALIAS += \
47 man/systemd-udevd-control.socket.8 \
48 man/systemd-udevd-kernel.socket.8 \
49 man/systemd-udevd.8 \
50- man/systemd-update-utmp-shutdown.service.8 \
51+ man/systemd-update-utmp-runlevel.service.8 \
52 man/systemd-update-utmp.8 \
53 man/systemd-user.conf.5
54 man/SD_ALERT.3: man/sd-daemon.3
55@@ -289,8 +289,8 @@ man/systemd-tmpfiles-setup.service.8: man/systemd-tmpfiles.8
56 man/systemd-udevd-control.socket.8: man/systemd-udevd.service.8
57 man/systemd-udevd-kernel.socket.8: man/systemd-udevd.service.8
58 man/systemd-udevd.8: man/systemd-udevd.service.8
59-man/systemd-update-utmp-shutdown.service.8: man/systemd-update-utmp-runlevel.service.8
60-man/systemd-update-utmp.8: man/systemd-update-utmp-runlevel.service.8
61+man/systemd-update-utmp-runlevel.service.8: man/systemd-update-utmp.service.8
62+man/systemd-update-utmp.8: man/systemd-update-utmp.service.8
63 man/systemd-user.conf.5: man/systemd-system.conf.5
64 man/SD_ALERT.html: man/sd-daemon.html
65 $(html-alias)
66@@ -577,10 +577,10 @@ man/systemd-udevd-kernel.socket.html: man/systemd-udevd.service.html
67 man/systemd-udevd.html: man/systemd-udevd.service.html
68 $(html-alias)
69
70-man/systemd-update-utmp-shutdown.service.html: man/systemd-update-utmp-runlevel.service.html
71+man/systemd-update-utmp-runlevel.service.html: man/systemd-update-utmp.service.html
72 $(html-alias)
73
74-man/systemd-update-utmp.html: man/systemd-update-utmp-runlevel.service.html
75+man/systemd-update-utmp.html: man/systemd-update-utmp.service.html
76 $(html-alias)
77
78 man/systemd-user.conf.html: man/systemd-system.conf.html
79diff --git a/Makefile.am b/Makefile.am
80index 8d8139c..4c5e6fc 100644
81--- a/Makefile.am
82+++ b/Makefile.am
83@@ -417,8 +417,8 @@ nodist_systemunit_DATA = \
84 units/systemd-initctl.service \
85 units/systemd-shutdownd.service \
86 units/systemd-remount-fs.service \
87+ units/systemd-update-utmp.service \
88 units/systemd-update-utmp-runlevel.service \
89- units/systemd-update-utmp-shutdown.service \
90 units/systemd-tmpfiles-setup-dev.service \
91 units/systemd-tmpfiles-setup.service \
92 units/systemd-tmpfiles-clean.service \
93@@ -463,8 +463,8 @@ EXTRA_DIST += \
94 units/systemd-initctl.service.in \
95 units/systemd-shutdownd.service.in \
96 units/systemd-remount-fs.service.in \
97+ units/systemd-update-utmp.service.in \
98 units/systemd-update-utmp-runlevel.service.in \
99- units/systemd-update-utmp-shutdown.service.in \
100 units/systemd-tmpfiles-setup-dev.service.in \
101 units/systemd-tmpfiles-setup.service.in \
102 units/systemd-tmpfiles-clean.service.in \
103@@ -4070,8 +4070,8 @@ RUNLEVEL4_TARGET_WANTS += \
104 RUNLEVEL5_TARGET_WANTS += \
105 systemd-update-utmp-runlevel.service
106 endif
107-SHUTDOWN_TARGET_WANTS += \
108- systemd-update-utmp-shutdown.service
109+SYSINIT_TARGET_WANTS += \
110+ systemd-update-utmp.service
111 LOCAL_FS_TARGET_WANTS += \
112 systemd-remount-fs.service \
113 systemd-fsck-root.service \
114diff --git a/man/systemd-update-utmp-runlevel.service.xml b/man/systemd-update-utmp-runlevel.service.xml
115deleted file mode 100644
116index 867b958..0000000
117--- a/man/systemd-update-utmp-runlevel.service.xml
118+++ /dev/null
119@@ -1,76 +0,0 @@
120-<?xml version="1.0"?>
121-<!--*-nxml-*-->
122-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
123-<!--
124- This file is part of systemd.
125-
126- Copyright 2012 Lennart Poettering
127-
128- systemd is free software; you can redistribute it and/or modify it
129- under the terms of the GNU Lesser General Public License as published by
130- the Free Software Foundation; either version 2.1 of the License, or
131- (at your option) any later version.
132-
133- systemd is distributed in the hope that it will be useful, but
134- WITHOUT ANY WARRANTY; without even the implied warranty of
135- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
136- Lesser General Public License for more details.
137-
138- You should have received a copy of the GNU Lesser General Public License
139- along with systemd; If not, see <http://www.gnu.org/licenses/>.
140--->
141-<refentry id="systemd-update-utmp-runlevel.service">
142-
143- <refentryinfo>
144- <title>systemd-update-utmp-runlevel.service</title>
145- <productname>systemd</productname>
146-
147- <authorgroup>
148- <author>
149- <contrib>Developer</contrib>
150- <firstname>Lennart</firstname>
151- <surname>Poettering</surname>
152- <email>lennart@poettering.net</email>
153- </author>
154- </authorgroup>
155- </refentryinfo>
156-
157- <refmeta>
158- <refentrytitle>systemd-update-utmp-runlevel.service</refentrytitle>
159- <manvolnum>8</manvolnum>
160- </refmeta>
161-
162- <refnamediv>
163- <refname>systemd-update-utmp-runlevel.service</refname>
164- <refname>systemd-update-utmp-shutdown.service</refname>
165- <refname>systemd-update-utmp</refname>
166- <refpurpose>Write audit and utmp updates at runlevel
167- changes and shutdown</refpurpose>
168- </refnamediv>
169-
170- <refsynopsisdiv>
171- <para><filename>systemd-update-utmp-runlevel.service</filename></para>
172- <para><filename>systemd-update-utmp-shutdown.service</filename></para>
173- <para><filename>/usr/lib/systemd/systemd-update-utmp</filename></para>
174- </refsynopsisdiv>
175-
176- <refsect1>
177- <title>Description</title>
178-
179- <para><filename>systemd-update-utmp-runlevel.service</filename>
180- is a service that writes SysV runlevel changes to utmp
181- and wtmp, as well as the audit logs, as they
182- occur. <filename>systemd-update-utmp-shutdown.service</filename>
183- does the same for shut-down requests.</para>
184- </refsect1>
185-
186- <refsect1>
187- <title>See Also</title>
188- <para>
189- <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
190- <citerefentry><refentrytitle>utmp</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
191- <citerefentry><refentrytitle>auditd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
192- </para>
193- </refsect1>
194-
195-</refentry>
196diff --git a/man/systemd-update-utmp.service.xml b/man/systemd-update-utmp.service.xml
197new file mode 100644
198index 0000000..846fc95
199--- /dev/null
200+++ b/man/systemd-update-utmp.service.xml
201@@ -0,0 +1,76 @@
202+<?xml version="1.0"?>
203+<!--*-nxml-*-->
204+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
205+<!--
206+ This file is part of systemd.
207+
208+ Copyright 2012 Lennart Poettering
209+
210+ systemd is free software; you can redistribute it and/or modify it
211+ under the terms of the GNU Lesser General Public License as published by
212+ the Free Software Foundation; either version 2.1 of the License, or
213+ (at your option) any later version.
214+
215+ systemd is distributed in the hope that it will be useful, but
216+ WITHOUT ANY WARRANTY; without even the implied warranty of
217+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
218+ Lesser General Public License for more details.
219+
220+ You should have received a copy of the GNU Lesser General Public License
221+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
222+-->
223+<refentry id="systemd-update-utmp.service">
224+
225+ <refentryinfo>
226+ <title>systemd-update-utmp.service</title>
227+ <productname>systemd</productname>
228+
229+ <authorgroup>
230+ <author>
231+ <contrib>Developer</contrib>
232+ <firstname>Lennart</firstname>
233+ <surname>Poettering</surname>
234+ <email>lennart@poettering.net</email>
235+ </author>
236+ </authorgroup>
237+ </refentryinfo>
238+
239+ <refmeta>
240+ <refentrytitle>systemd-update-utmp.service</refentrytitle>
241+ <manvolnum>8</manvolnum>
242+ </refmeta>
243+
244+ <refnamediv>
245+ <refname>systemd-update-utmp.service</refname>
246+ <refname>systemd-update-utmp-runlevel.service</refname>
247+ <refname>systemd-update-utmp</refname>
248+ <refpurpose>Write audit and utmp updates at bootup, runlevel
249+ changes and shutdown</refpurpose>
250+ </refnamediv>
251+
252+ <refsynopsisdiv>
253+ <para><filename>systemd-update-utmp.service</filename></para>
254+ <para><filename>systemd-update-utmp-runlevel.service</filename></para>
255+ <para><filename>/usr/lib/systemd/systemd-update-utmp</filename></para>
256+ </refsynopsisdiv>
257+
258+ <refsect1>
259+ <title>Description</title>
260+
261+ <para><filename>systemd-update-utmp-runlevel.service</filename>
262+ is a service that writes SysV runlevel changes to utmp
263+ and wtmp, as well as the audit logs, as they
264+ occur. <filename>systemd-update-utmp.service</filename>
265+ does the same for system reboots and shut-down requests.</para>
266+ </refsect1>
267+
268+ <refsect1>
269+ <title>See Also</title>
270+ <para>
271+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
272+ <citerefentry><refentrytitle>utmp</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
273+ <citerefentry><refentrytitle>auditd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
274+ </para>
275+ </refsect1>
276+
277+</refentry>
278diff --git a/src/update-utmp/update-utmp.c b/src/update-utmp/update-utmp.c
279index 9184025..202aa98 100644
280--- a/src/update-utmp/update-utmp.c
281+++ b/src/update-utmp/update-utmp.c
282@@ -104,7 +104,7 @@ static int get_current_runlevel(Context *c) {
283 { '3', SPECIAL_RUNLEVEL3_TARGET },
284 { '4', SPECIAL_RUNLEVEL4_TARGET },
285 { '2', SPECIAL_RUNLEVEL2_TARGET },
286- { 'S', SPECIAL_RESCUE_TARGET },
287+ { '1', SPECIAL_RESCUE_TARGET },
288 };
289 const char
290 *interface = "org.freedesktop.systemd1.Unit",
291diff --git a/units/systemd-update-utmp-runlevel.service.in b/units/systemd-update-utmp-runlevel.service.in
292index 27fae2c..99783e2 100644
293--- a/units/systemd-update-utmp-runlevel.service.in
294+++ b/units/systemd-update-utmp-runlevel.service.in
295@@ -7,12 +7,14 @@
296
297 [Unit]
298 Description=Update UTMP about System Runlevel Changes
299-Documentation=man:systemd-update-utmp-runlevel.service(8) man:utmp(5)
300+Documentation=man:systemd-update-utmp.service(8) man:utmp(5)
301 DefaultDependencies=no
302 RequiresMountsFor=/var/log/wtmp
303-After=systemd-remount-fs.service systemd-tmpfiles-setup.service auditd.service
304+Conflicts=shutdown.target
305+Requisite=systemd-update-utmp.service
306+After=systemd-update-utmp.service
307 After=runlevel1.target runlevel2.target runlevel3.target runlevel4.target runlevel5.target
308-Before=final.target
309+Before=shutdown.target
310
311 [Service]
312 Type=oneshot
313diff --git a/units/systemd-update-utmp-shutdown.service.in b/units/systemd-update-utmp-shutdown.service.in
314deleted file mode 100644
315index aa93562..0000000
316--- a/units/systemd-update-utmp-shutdown.service.in
317+++ /dev/null
318@@ -1,19 +0,0 @@
319-# This file is part of systemd.
320-#
321-# systemd is free software; you can redistribute it and/or modify it
322-# under the terms of the GNU Lesser General Public License as published by
323-# the Free Software Foundation; either version 2.1 of the License, or
324-# (at your option) any later version.
325-
326-[Unit]
327-Description=Update UTMP about System Shutdown
328-Documentation=man:systemd-update-utmp-runlevel.service(8) man:utmp(5)
329-DefaultDependencies=no
330-RequiresMountsFor=/var/log/wtmp
331-After=systemd-remount-fs.service systemd-tmpfiles-setup.service auditd.service
332-After=systemd-update-utmp-runlevel.service
333-Before=final.target
334-
335-[Service]
336-Type=oneshot
337-ExecStart=@rootlibexecdir@/systemd-update-utmp shutdown
338diff --git a/units/systemd-update-utmp.service.in b/units/systemd-update-utmp.service.in
339new file mode 100644
340index 0000000..e7c20a5
341--- /dev/null
342+++ b/units/systemd-update-utmp.service.in
343@@ -0,0 +1,21 @@
344+# This file is part of systemd.
345+#
346+# systemd is free software; you can redistribute it and/or modify it
347+# under the terms of the GNU Lesser General Public License as published by
348+# the Free Software Foundation; either version 2.1 of the License, or
349+# (at your option) any later version.
350+
351+[Unit]
352+Description=Update UTMP about System Reboot/Shutdown
353+Documentation=man:systemd-update-utmp.service(8) man:utmp(5)
354+DefaultDependencies=no
355+RequiresMountsFor=/var/log/wtmp
356+Conflicts=shutdown.target
357+After=systemd-readahead-collect.service systemd-readahead-replay.service systemd-remount-fs.service systemd-tmpfiles-setup.service auditd.service
358+Before=sysinit.target shutdown.target
359+
360+[Service]
361+Type=oneshot
362+RemainAfterExit=yes
363+ExecStart=@rootlibexecdir@/systemd-update-utmp reboot
364+ExecStop=@rootlibexecdir@/systemd-update-utmp shutdown
365--
3661.8.2.3
367
diff --git a/meta/recipes-core/systemd/systemd/install-quotaon-once.patch b/meta/recipes-core/systemd/systemd/install-quotaon-once.patch
deleted file mode 100644
index 6b7cf2f9b5..0000000000
--- a/meta/recipes-core/systemd/systemd/install-quotaon-once.patch
+++ /dev/null
@@ -1,34 +0,0 @@
1Upstream-Status: Backport
2Signed-off-by: Ross Burton <ross.burton@intel.com>
3
4From 622004565eca385c685086cd478aa79afe73b785 Mon Sep 17 00:00:00 2001
5From: Ross Burton <ross.burton@intel.com>
6Date: Tue, 11 Jun 2013 17:16:37 +0100
7Subject: [PATCH] build-sys: don't install quotaon.service twice
8
9quotaon.service is already installed through dist_systemunit_DATA, so it doesn't
10need to be added to nodist_systemunit_DATA. Installing the same file twice
11results in a race condition where the install process can fail.
12
13https://bugs.freedesktop.org/show_bug.cgi?id=65659
14
15[zj: actually remove quotaon.service from the other list.]
16---
17 Makefile.am | 1 -
18 1 file changed, 1 deletion(-)
19
20diff --git a/Makefile.am b/Makefile.am
21index 3a196a6..d444eac 100644
22--- a/Makefile.am
23+++ b/Makefile.am
24@@ -401,7 +401,6 @@ dist_systemunit_DATA = \
25 units/bluetooth.target \
26 units/smartcard.target \
27 units/systemd-tmpfiles-clean.timer \
28- units/quotaon.service \
29 units/systemd-ask-password-wall.path \
30 units/systemd-ask-password-console.path \
31 units/systemd-udevd-control.socket \
32--
331.7.10.4
34
diff --git a/meta/recipes-core/systemd/systemd/systemd-pam-fix-getty-unit.patch b/meta/recipes-core/systemd/systemd/systemd-pam-fix-getty-unit.patch
index 72d1411868..ceb8483624 100644
--- a/meta/recipes-core/systemd/systemd/systemd-pam-fix-getty-unit.patch
+++ b/meta/recipes-core/systemd/systemd/systemd-pam-fix-getty-unit.patch
@@ -7,29 +7,29 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
7 units/serial-getty@.service.m4 | 2 +- 7 units/serial-getty@.service.m4 | 2 +-
8 2 files changed, 2 insertions(+), 2 deletions(-) 8 2 files changed, 2 insertions(+), 2 deletions(-)
9 9
10Index: systemd-196/units/getty@.service.m4 10Index: systemd-206/units/getty@.service.m4
11=================================================================== 11===================================================================
12--- systemd-196.orig/units/getty@.service.m4 2012-11-20 12:39:16.000000000 -0800 12--- systemd-206.orig/units/getty@.service.m4 2013-07-21 15:43:28.000000000 -0700
13+++ systemd-196/units/getty@.service.m4 2013-01-21 16:08:03.707533381 -0800 13+++ systemd-206/units/getty@.service.m4 2013-08-21 08:45:48.569886828 -0700
14@@ -45,7 +45,7 @@ 14@@ -27,7 +27,7 @@
15 15
16 [Service] 16 [Service]
17 # the VT is cleared by TTYVTDisallocate 17 # the VT is cleared by TTYVTDisallocate
18-ExecStart=-/sbin/agetty --noclear %I 38400 linux 18-ExecStart=-/sbin/agetty --noclear %I
19+ExecStart=-/sbin/getty -L %I 115200 linux 19+ExecStart=-/sbin/getty -L %I
20 Type=idle 20 Type=idle
21 Restart=always 21 Restart=always
22 RestartSec=0 22 RestartSec=0
23Index: systemd-196/units/serial-getty@.service.m4 23Index: systemd-206/units/serial-getty@.service.m4
24=================================================================== 24===================================================================
25--- systemd-196.orig/units/serial-getty@.service.m4 2012-11-20 12:39:16.000000000 -0800 25--- systemd-206.orig/units/serial-getty@.service.m4 2013-07-21 15:43:28.000000000 -0700
26+++ systemd-196/units/serial-getty@.service.m4 2013-01-21 16:09:01.763535039 -0800 26+++ systemd-206/units/serial-getty@.service.m4 2013-08-21 08:48:52.337890275 -0700
27@@ -40,7 +40,7 @@ 27@@ -22,7 +22,7 @@
28 IgnoreOnIsolate=yes 28 IgnoreOnIsolate=yes
29 29
30 [Service] 30 [Service]
31-ExecStart=-/sbin/agetty -s %I 115200,38400,9600 vt102 31-ExecStart=-/sbin/agetty --keep-baud %I 115200,38400,9600
32+ExecStart=-/sbin/getty -L %I 115200 vt102 32+ExecStart=-/sbin/getty -L %I 115200
33 Type=idle 33 Type=idle
34 Restart=always 34 Restart=always
35 RestartSec=0 35 RestartSec=0
diff --git a/meta/recipes-core/systemd/systemd/systemd-pam-fix-mkostemp.patch b/meta/recipes-core/systemd/systemd/systemd-pam-fix-mkostemp.patch
index 0ea2da321c..99ea5736bc 100644
--- a/meta/recipes-core/systemd/systemd/systemd-pam-fix-mkostemp.patch
+++ b/meta/recipes-core/systemd/systemd/systemd-pam-fix-mkostemp.patch
@@ -1,10 +1,10 @@
1Upstream-Status: Denied [no desire for uclibc support] 1Upstream-Status: Denied [no desire for uclibc support]
2Signed-off-by: Khem Raj <raj.khem@gmail.com> 2Signed-off-by: Khem Raj <raj.khem@gmail.com>
3 3
4Index: systemd-204/src/journal/journal-send.c 4Index: systemd-206/src/journal/journal-send.c
5=================================================================== 5===================================================================
6--- systemd-204.orig/src/journal/journal-send.c 2013-05-06 12:06:04.000000000 -0700 6--- systemd-206.orig/src/journal/journal-send.c 2013-07-21 15:43:28.000000000 -0700
7+++ systemd-204/src/journal/journal-send.c 2013-05-23 11:21:14.500338688 -0700 7+++ systemd-206/src/journal/journal-send.c 2013-08-21 08:50:50.825892498 -0700
8@@ -46,6 +46,8 @@ 8@@ -46,6 +46,8 @@
9 memcpy(*_f + 10, _func, _fl); \ 9 memcpy(*_f + 10, _func, _fl); \
10 } while(false) 10 } while(false)
@@ -14,7 +14,7 @@ Index: systemd-204/src/journal/journal-send.c
14 /* We open a single fd, and we'll share it with the current process, 14 /* We open a single fd, and we'll share it with the current process,
15 * all its threads, and all its subprocesses. This means we need to 15 * all its threads, and all its subprocesses. This means we need to
16 * initialize it atomically, and need to operate on it atomically 16 * initialize it atomically, and need to operate on it atomically
17@@ -312,8 +314,13 @@ 17@@ -311,8 +313,13 @@
18 /* Message doesn't fit... Let's dump the data in a temporary 18 /* Message doesn't fit... Let's dump the data in a temporary
19 * file and just pass a file descriptor of it to the other 19 * file and just pass a file descriptor of it to the other
20 * side */ 20 * side */
@@ -29,20 +29,19 @@ Index: systemd-204/src/journal/journal-send.c
29 if (buffer_fd < 0) 29 if (buffer_fd < 0)
30 return -errno; 30 return -errno;
31 31
32Index: systemd-204/src/core/manager.c 32Index: systemd-206/src/core/manager.c
33=================================================================== 33===================================================================
34--- systemd-204.orig/src/core/manager.c 2013-04-25 17:53:56.000000000 -0700 34--- systemd-206.orig/src/core/manager.c 2013-07-21 15:43:28.000000000 -0700
35+++ systemd-204/src/core/manager.c 2013-05-23 11:23:15.864340878 -0700 35+++ systemd-206/src/core/manager.c 2013-08-21 08:51:35.209893331 -0700
36@@ -72,6 +72,8 @@ 36@@ -71,6 +71,7 @@
37 #include "audit-fd.h" 37 #include "audit-fd.h"
38 #include "efivars.h"
38 #include "env-util.h" 39 #include "env-util.h"
39
40+#include "config.h" 40+#include "config.h"
41+
42 /* As soon as 16 units are in our GC queue, make sure to run a gc sweep */
43 #define GC_QUEUE_ENTRIES_MAX 16
44 41
45@@ -1973,7 +1975,12 @@ 42 /* As soon as 5s passed since a unit was added to our GC queue, make sure to run a gc sweep */
43 #define GC_QUEUE_USEC_MAX (10*USEC_PER_SEC)
44@@ -2058,7 +2059,12 @@
46 return -ENOMEM; 45 return -ENOMEM;
47 46
48 RUN_WITH_UMASK(0077) { 47 RUN_WITH_UMASK(0077) {
@@ -55,10 +54,10 @@ Index: systemd-204/src/core/manager.c
55 } 54 }
56 55
57 if (fd < 0) { 56 if (fd < 0) {
58Index: systemd-204/src/shared/util.c 57Index: systemd-206/src/shared/util.c
59=================================================================== 58===================================================================
60--- systemd-204.orig/src/shared/util.c 2013-05-07 12:07:22.000000000 -0700 59--- systemd-206.orig/src/shared/util.c 2013-07-21 15:43:28.000000000 -0700
61+++ systemd-204/src/shared/util.c 2013-05-23 11:19:35.028336822 -0700 60+++ systemd-206/src/shared/util.c 2013-08-21 08:50:50.829892498 -0700
62@@ -74,6 +74,8 @@ 61@@ -74,6 +74,8 @@
63 #include "env-util.h" 62 #include "env-util.h"
64 #include "fileio.h" 63 #include "fileio.h"
@@ -68,7 +67,7 @@ Index: systemd-204/src/shared/util.c
68 int saved_argc = 0; 67 int saved_argc = 0;
69 char **saved_argv = NULL; 68 char **saved_argv = NULL;
70 69
71@@ -3921,7 +3923,12 @@ 70@@ -3980,7 +3982,12 @@
72 t[k] = '.'; 71 t[k] = '.';
73 stpcpy(stpcpy(t+k+1, fn), "XXXXXX"); 72 stpcpy(stpcpy(t+k+1, fn), "XXXXXX");
74 73
@@ -81,10 +80,10 @@ Index: systemd-204/src/shared/util.c
81 if (fd < 0) { 80 if (fd < 0) {
82 free(t); 81 free(t);
83 return -errno; 82 return -errno;
84Index: systemd-204/src/shared/ask-password-api.c 83Index: systemd-206/src/shared/ask-password-api.c
85=================================================================== 84===================================================================
86--- systemd-204.orig/src/shared/ask-password-api.c 2013-04-08 08:26:34.000000000 -0700 85--- systemd-206.orig/src/shared/ask-password-api.c 2013-07-21 15:43:28.000000000 -0700
87+++ systemd-204/src/shared/ask-password-api.c 2013-05-23 11:24:43.456342451 -0700 86+++ systemd-206/src/shared/ask-password-api.c 2013-08-21 08:50:50.829892498 -0700
88@@ -37,6 +37,8 @@ 87@@ -37,6 +37,8 @@
89 88
90 #include "ask-password-api.h" 89 #include "ask-password-api.h"
@@ -107,11 +106,11 @@ Index: systemd-204/src/shared/ask-password-api.c
107 } 106 }
108 107
109 if (fd < 0) { 108 if (fd < 0) {
110Index: systemd-204/src/journal/journalctl.c 109Index: systemd-206/src/journal/journalctl.c
111=================================================================== 110===================================================================
112--- systemd-204.orig/src/journal/journalctl.c 2013-05-07 12:07:22.000000000 -0700 111--- systemd-206.orig/src/journal/journalctl.c 2013-07-21 15:43:28.000000000 -0700
113+++ systemd-204/src/journal/journalctl.c 2013-05-23 11:19:35.028336822 -0700 112+++ systemd-206/src/journal/journalctl.c 2013-08-21 08:50:50.833892498 -0700
114@@ -755,7 +755,13 @@ 113@@ -1005,7 +1005,13 @@
115 n /= arg_interval; 114 n /= arg_interval;
116 115
117 close_nointr_nofail(fd); 116 close_nointr_nofail(fd);
@@ -125,11 +124,11 @@ Index: systemd-204/src/journal/journalctl.c
125 if (fd < 0) { 124 if (fd < 0) {
126 log_error("Failed to open %s: %m", k); 125 log_error("Failed to open %s: %m", k);
127 r = -errno; 126 r = -errno;
128Index: systemd-204/src/journal/journal-verify.c 127Index: systemd-206/src/journal/journal-verify.c
129=================================================================== 128===================================================================
130--- systemd-204.orig/src/journal/journal-verify.c 2012-11-20 13:42:23.000000000 -0800 129--- systemd-206.orig/src/journal/journal-verify.c 2013-07-21 15:43:28.000000000 -0700
131+++ systemd-204/src/journal/journal-verify.c 2013-05-23 11:19:35.032336822 -0700 130+++ systemd-206/src/journal/journal-verify.c 2013-08-21 08:50:50.833892498 -0700
132@@ -700,8 +700,12 @@ 131@@ -811,8 +811,12 @@
133 #endif 132 #endif
134 } else if (f->seal) 133 } else if (f->seal)
135 return -ENOKEY; 134 return -ENOKEY;
@@ -143,7 +142,7 @@ Index: systemd-204/src/journal/journal-verify.c
143 if (data_fd < 0) { 142 if (data_fd < 0) {
144 log_error("Failed to create data file: %m"); 143 log_error("Failed to create data file: %m");
145 r = -errno; 144 r = -errno;
146@@ -709,7 +713,12 @@ 145@@ -820,7 +824,12 @@
147 } 146 }
148 unlink(data_path); 147 unlink(data_path);
149 148
@@ -156,7 +155,7 @@ Index: systemd-204/src/journal/journal-verify.c
156 if (entry_fd < 0) { 155 if (entry_fd < 0) {
157 log_error("Failed to create entry file: %m"); 156 log_error("Failed to create entry file: %m");
158 r = -errno; 157 r = -errno;
159@@ -717,7 +726,12 @@ 158@@ -828,7 +837,12 @@
160 } 159 }
161 unlink(entry_path); 160 unlink(entry_path);
162 161
diff --git a/meta/recipes-core/systemd/systemd_204.bb b/meta/recipes-core/systemd/systemd_206.bb
index 62613673a9..f05aa1b6d9 100644
--- a/meta/recipes-core/systemd/systemd_204.bb
+++ b/meta/recipes-core/systemd/systemd_206.bb
@@ -18,15 +18,14 @@ SECTION = "base/shell"
18inherit gtk-doc useradd pkgconfig autotools perlnative update-rc.d update-alternatives qemu 18inherit gtk-doc useradd pkgconfig autotools perlnative update-rc.d update-alternatives qemu
19 19
20SRC_URI = "http://www.freedesktop.org/software/systemd/systemd-${PV}.tar.xz \ 20SRC_URI = "http://www.freedesktop.org/software/systemd/systemd-${PV}.tar.xz \
21 file://0001-use-CAP_MKNOD-ConditionCapability.patch \
21 file://touchscreen.rules \ 22 file://touchscreen.rules \
22 ${UCLIBCPATCHES} \ 23 ${UCLIBCPATCHES} \
23 file://0001-utmp-turn-systemd-update-utmp-shutdown.service-into-.patch \
24 file://install-quotaon-once.patch \
25 file://00-create-volatile.conf \ 24 file://00-create-volatile.conf \
26 file://init \ 25 file://init \
27 " 26 "
28SRC_URI[md5sum] = "a07619bb19f48164fbf0761d12fd39a8" 27SRC_URI[md5sum] = "89e36f2d3ba963020b72738549954cbc"
29SRC_URI[sha256sum] = "072c393503c7c1e55ca7acf3db659cbd28c7fe5fa94fab3db95360bafd96731b" 28SRC_URI[sha256sum] = "4c993de071118ea1df7ffc4be26ef0b0d78354ef15b2743a2783d20edfcde9de"
30 29
31UCLIBCPATCHES = "" 30UCLIBCPATCHES = ""
32UCLIBCPATCHES_libc-uclibc = "file://systemd-pam-configure-check-uclibc.patch \ 31UCLIBCPATCHES_libc-uclibc = "file://systemd-pam-configure-check-uclibc.patch \
@@ -36,6 +35,7 @@ UCLIBCPATCHES_libc-uclibc = "file://systemd-pam-configure-check-uclibc.patch \
36 file://systemd-pam-fix-mkostemp.patch \ 35 file://systemd-pam-fix-mkostemp.patch \
37 file://systemd-pam-fix-msformat.patch \ 36 file://systemd-pam-fix-msformat.patch \
38 file://optional_secure_getenv.patch \ 37 file://optional_secure_getenv.patch \
38 file://0001-uClibc-doesn-t-implement-pwritev-preadv.patch \
39 " 39 "
40LDFLAGS_libc-uclibc_append = " -lrt" 40LDFLAGS_libc-uclibc_append = " -lrt"
41 41
@@ -80,9 +80,7 @@ EXTRA_OECONF_append_libc-uclibc = " --disable-myhostname "
80 80
81do_configure_prepend() { 81do_configure_prepend() {
82 export CPP="${HOST_PREFIX}cpp ${TOOLCHAIN_OPTIONS} ${HOST_CC_ARCH}" 82 export CPP="${HOST_PREFIX}cpp ${TOOLCHAIN_OPTIONS} ${HOST_CC_ARCH}"
83 83 export KMOD="${base_bindir}/kmod"
84 export GPERF="${HOST_PREFIX}gperf"
85
86 sed -i -e 's:=/root:=${ROOT_HOME}:g' ${S}/units/*.service* 84 sed -i -e 's:=/root:=${ROOT_HOME}:g' ${S}/units/*.service*
87} 85}
88 86
@@ -120,7 +118,7 @@ python populate_packages_prepend (){
120} 118}
121PACKAGES_DYNAMIC += "^lib(udev|gudev|systemd).*" 119PACKAGES_DYNAMIC += "^lib(udev|gudev|systemd).*"
122 120
123PACKAGES =+ "${PN}-gui ${PN}-vconsole-setup ${PN}-initramfs ${PN}-analyze ${PN}-kernel-install" 121PACKAGES =+ "${PN}-gui ${PN}-vconsole-setup ${PN}-initramfs ${PN}-analyze ${PN}-kernel-install ${PN}-rpm-macros"
124 122
125USERADD_PACKAGES = "${PN}" 123USERADD_PACKAGES = "${PN}"
126GROUPADD_PARAM_${PN} = "-r lock; -r systemd-journal" 124GROUPADD_PARAM_${PN} = "-r lock; -r systemd-journal"
@@ -140,6 +138,9 @@ FILES_${PN}-kernel-install = "${bindir}/kernel-install \
140 ${sysconfdir}/kernel/ \ 138 ${sysconfdir}/kernel/ \
141 ${exec_prefix}/lib/kernel \ 139 ${exec_prefix}/lib/kernel \
142 " 140 "
141FILES_${PN}-rpm-macros = "${libdir}/rpm \
142 "
143
143RRECOMMENDS_${PN}-vconsole-setup = "kbd kbd-consolefonts" 144RRECOMMENDS_${PN}-vconsole-setup = "kbd kbd-consolefonts"
144 145
145CONFFILES_${PN} = "${sysconfdir}/systemd/journald.conf \ 146CONFFILES_${PN} = "${sysconfdir}/systemd/journald.conf \
@@ -189,7 +190,7 @@ FILES_${PN} = " ${base_bindir}/* \
189FILES_${PN}-dbg += "${rootlibdir}/.debug ${systemd_unitdir}/.debug ${systemd_unitdir}/*/.debug ${base_libdir}/security/.debug/" 190FILES_${PN}-dbg += "${rootlibdir}/.debug ${systemd_unitdir}/.debug ${systemd_unitdir}/*/.debug ${base_libdir}/security/.debug/"
190FILES_${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ ${sysconfdir}/rpm/macros.systemd" 191FILES_${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ ${sysconfdir}/rpm/macros.systemd"
191 192
192RDEPENDS_${PN} += "dbus util-linux-mount" 193RDEPENDS_${PN} += "kmod dbus util-linux-mount"
193 194
194RRECOMMENDS_${PN} += "systemd-serialgetty systemd-compat-units \ 195RRECOMMENDS_${PN} += "systemd-serialgetty systemd-compat-units \
195 util-linux-agetty \ 196 util-linux-agetty \