summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2015-09-06 15:25:40 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-09-12 22:48:23 +0100
commit68147678dd8855636b2c67789e9f2c3f21f42433 (patch)
treebbd64a15912a801be10758b293c08586ea21ba07
parent21fffdeea3ac5a84dcfc753665cb1df4625c0b2a (diff)
downloadpoky-68147678dd8855636b2c67789e9f2c3f21f42433.tar.gz
systemd: Upgrade 219 -> 225
Drop patches that were straight backports from upstream MIT licence was unused and dropped from systemd sources for more details see https://github.com/systemd/systemd/commit/8f1e0c5f38cdf7e401ab4d2bb93ad816d08e7715 Drop gtkdoc dependency since libudev API documentation has been converted from gtkdoc into man pages Remove packaging gudev as it has moved to separate repository outside systemd For more details see https://github.com/systemd/systemd/commit/2375607039517c88df51ef16ddbb624ec1c10654 package newly added script for xorg to be usable with systemd --user intance For more details see https://github.com/systemd/systemd/commit/1401ec2d34bcde406ced531a72dc46ebaf332594 machinectl now has shell support private-zone DHCP options are supported by systemd-networkd For complete differences between two releases run git log --oneline v219..v225 in systemd git clone Change-Id: I998e652382950a3c74c4839f3767ef8bef23d88f (From OE-Core rev: ec2770b0d1d562ff6d5736e056f937fa24c67b10) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-core/systemd/systemd/0001-Revert-core-mount-add-dependencies-to-dynamically-mo.patch36
-rw-r--r--meta/recipes-core/systemd/systemd/0002-shared-missing.h-fall-back-to-insecure-getenv.patch25
-rw-r--r--meta/recipes-core/systemd/systemd/0003-binfmt-Don-t-install-dependency-links-at-install-tim.patch35
-rw-r--r--meta/recipes-core/systemd/systemd/0004-configure-Check-for-additional-features-that-uclibc-.patch23
-rw-r--r--meta/recipes-core/systemd/systemd/0005-nspawn-Use-execvpe-only-when-libc-supports-it.patch37
-rw-r--r--meta/recipes-core/systemd/systemd/0007-util-Use-mkostemp-only-if-libc-supports-it.patch8
-rw-r--r--meta/recipes-core/systemd/systemd/0008-util-bypass-unimplemented-_SC_PHYS_PAGES-system-conf.patch8
-rw-r--r--meta/recipes-core/systemd/systemd/0010-Make-root-s-home-directory-configurable.patch136
-rw-r--r--meta/recipes-core/systemd/systemd/0012-systemd-tmpfiles.c-Honor-ordering-within-files-as-th.patch185
-rw-r--r--meta/recipes-core/systemd/systemd/0015-Revert-udev-remove-userspace-firmware-loading-suppor.patch99
-rw-r--r--meta/recipes-core/systemd/systemd/tmpfiles-pam.patch30
-rw-r--r--meta/recipes-core/systemd/systemd_225.bb (renamed from meta/recipes-core/systemd/systemd_219.bb)25
12 files changed, 174 insertions, 473 deletions
diff --git a/meta/recipes-core/systemd/systemd/0001-Revert-core-mount-add-dependencies-to-dynamically-mo.patch b/meta/recipes-core/systemd/systemd/0001-Revert-core-mount-add-dependencies-to-dynamically-mo.patch
deleted file mode 100644
index d69cfe0bd8..0000000000
--- a/meta/recipes-core/systemd/systemd/0001-Revert-core-mount-add-dependencies-to-dynamically-mo.patch
+++ /dev/null
@@ -1,36 +0,0 @@
1From eb7a760052667c5a35637901de9359c377263804 Mon Sep 17 00:00:00 2001
2From: Colin Walters <walters@verbum.org>
3Date: Tue, 24 Feb 2015 10:12:28 -0500
4Subject: [PATCH] Revert "core/mount: add dependencies to dynamically mounted
5 mounts too"
6
7This reverts commit 06e97888883e2cc12eb6514e80c7f0014295f59b.
8
9This patch was imported from Fedora (http://pkgs.fedoraproject.org/cgit/systemd.git/commit/?h=f22&id=9bbe0e92dc59d5a42258c729b105a7d9901eb35e).
10
11It fixes an issue where mount points not listed in fstab are immediately
12unmounted after a call to mount.
13
14Upstream-Status: Inappropriate [fixed upstream]
15
16Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
17---
18 src/core/mount.c | 2 +-
19 1 file changed, 1 insertion(+), 1 deletion(-)
20
21diff --git a/src/core/mount.c b/src/core/mount.c
22index 40037e7..cddb5e2 100644
23--- a/src/core/mount.c
24+++ b/src/core/mount.c
25@@ -295,7 +295,7 @@ static int mount_add_device_links(Mount *m) {
26
27 assert(m);
28
29- p = get_mount_parameters(m);
30+ p = get_mount_parameters_fragment(m);
31 if (!p)
32 return 0;
33
34--
351.8.3.1
36
diff --git a/meta/recipes-core/systemd/systemd/0002-shared-missing.h-fall-back-to-insecure-getenv.patch b/meta/recipes-core/systemd/systemd/0002-shared-missing.h-fall-back-to-insecure-getenv.patch
deleted file mode 100644
index 1cf7840976..0000000000
--- a/meta/recipes-core/systemd/systemd/0002-shared-missing.h-fall-back-to-insecure-getenv.patch
+++ /dev/null
@@ -1,25 +0,0 @@
1From 03baade6db2cf83b44a157818ba827d725449bb0 Mon Sep 17 00:00:00 2001
2From: Emil Renner Berthing <systemd@esmil.dk>
3Date: Thu, 18 Sep 2014 15:24:47 +0200
4Subject: [PATCH 02/11] shared/missing.h: fall back to insecure getenv
5
6---
7 src/shared/missing.h | 2 +-
8 1 file changed, 1 insertion(+), 1 deletion(-)
9
10diff --git a/src/shared/missing.h b/src/shared/missing.h
11index b33a70c..11cca04 100644
12--- a/src/shared/missing.h
13+++ b/src/shared/missing.h
14@@ -366,7 +366,7 @@ static inline int name_to_handle_at(int fd, const char *name, struct file_handle
15 # ifdef HAVE___SECURE_GETENV
16 # define secure_getenv __secure_getenv
17 # else
18-# error "neither secure_getenv nor __secure_getenv are available"
19+# define secure_getenv getenv
20 # endif
21 #endif
22
23--
242.1.4
25
diff --git a/meta/recipes-core/systemd/systemd/0003-binfmt-Don-t-install-dependency-links-at-install-tim.patch b/meta/recipes-core/systemd/systemd/0003-binfmt-Don-t-install-dependency-links-at-install-tim.patch
index c14cc6fdd6..0e20fd0548 100644
--- a/meta/recipes-core/systemd/systemd/0003-binfmt-Don-t-install-dependency-links-at-install-tim.patch
+++ b/meta/recipes-core/systemd/systemd/0003-binfmt-Don-t-install-dependency-links-at-install-tim.patch
@@ -23,11 +23,11 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
23 units/systemd-binfmt.service.in | 5 +++++ 23 units/systemd-binfmt.service.in | 5 +++++
24 3 files changed, 8 insertions(+), 4 deletions(-) 24 3 files changed, 8 insertions(+), 4 deletions(-)
25 25
26diff --git a/Makefile.am b/Makefile.am 26Index: git/Makefile.am
27index ba63f68..0fb3f9f 100644 27===================================================================
28--- a/Makefile.am 28--- git.orig/Makefile.am
29+++ b/Makefile.am 29+++ git/Makefile.am
30@@ -4838,10 +4838,6 @@ INSTALL_DIRS += \ 30@@ -4271,10 +4271,6 @@ INSTALL_DIRS += \
31 $(prefix)/lib/binfmt.d \ 31 $(prefix)/lib/binfmt.d \
32 $(sysconfdir)/binfmt.d 32 $(sysconfdir)/binfmt.d
33 33
@@ -38,10 +38,10 @@ index ba63f68..0fb3f9f 100644
38 endif 38 endif
39 39
40 EXTRA_DIST += \ 40 EXTRA_DIST += \
41diff --git a/units/proc-sys-fs-binfmt_misc.automount b/units/proc-sys-fs-binfmt_misc.automount 41Index: git/units/proc-sys-fs-binfmt_misc.automount
42index 6be3893..709adef 100644 42===================================================================
43--- a/units/proc-sys-fs-binfmt_misc.automount 43--- git.orig/units/proc-sys-fs-binfmt_misc.automount
44+++ b/units/proc-sys-fs-binfmt_misc.automount 44+++ git/units/proc-sys-fs-binfmt_misc.automount
45@@ -16,3 +16,6 @@ ConditionPathIsReadWrite=/proc/sys/ 45@@ -16,3 +16,6 @@ ConditionPathIsReadWrite=/proc/sys/
46 46
47 [Automount] 47 [Automount]
@@ -49,11 +49,11 @@ index 6be3893..709adef 100644
49+ 49+
50+[Install] 50+[Install]
51+WantedBy=sysinit.target 51+WantedBy=sysinit.target
52diff --git a/units/systemd-binfmt.service.in b/units/systemd-binfmt.service.in 52Index: git/units/systemd-binfmt.service.in
53index 34a5d52..617462b 100644 53===================================================================
54--- a/units/systemd-binfmt.service.in 54--- git.orig/units/systemd-binfmt.service.in
55+++ b/units/systemd-binfmt.service.in 55+++ git/units/systemd-binfmt.service.in
56@@ -11,6 +11,8 @@ Documentation=man:systemd-binfmt.service(8) man:binfmt.d(5) 56@@ -11,6 +11,8 @@ Documentation=man:systemd-binfmt.service
57 Documentation=https://www.kernel.org/doc/Documentation/binfmt_misc.txt 57 Documentation=https://www.kernel.org/doc/Documentation/binfmt_misc.txt
58 DefaultDependencies=no 58 DefaultDependencies=no
59 Conflicts=shutdown.target 59 Conflicts=shutdown.target
@@ -62,13 +62,10 @@ index 34a5d52..617462b 100644
62 After=proc-sys-fs-binfmt_misc.automount 62 After=proc-sys-fs-binfmt_misc.automount
63 Before=sysinit.target shutdown.target 63 Before=sysinit.target shutdown.target
64 ConditionPathIsReadWrite=/proc/sys/ 64 ConditionPathIsReadWrite=/proc/sys/
65@@ -24,3 +26,6 @@ ConditionDirectoryNotEmpty=|/run/binfmt.d 65@@ -25,3 +27,6 @@ Type=oneshot
66 Type=oneshot
67 RemainAfterExit=yes 66 RemainAfterExit=yes
68 ExecStart=@rootlibexecdir@/systemd-binfmt 67 ExecStart=@rootlibexecdir@/systemd-binfmt
68 TimeoutSec=90s
69+ 69+
70+[Install] 70+[Install]
71+WantedBy=sysinit.target 71+WantedBy=sysinit.target
72--
732.1.4
74
diff --git a/meta/recipes-core/systemd/systemd/0004-configure-Check-for-additional-features-that-uclibc-.patch b/meta/recipes-core/systemd/systemd/0004-configure-Check-for-additional-features-that-uclibc-.patch
index dddb7da690..8078da9bb4 100644
--- a/meta/recipes-core/systemd/systemd/0004-configure-Check-for-additional-features-that-uclibc-.patch
+++ b/meta/recipes-core/systemd/systemd/0004-configure-Check-for-additional-features-that-uclibc-.patch
@@ -14,13 +14,13 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
14 configure.ac | 18 ++++++++++++++++++ 14 configure.ac | 18 ++++++++++++++++++
15 1 file changed, 18 insertions(+) 15 1 file changed, 18 insertions(+)
16 16
17diff --git a/configure.ac b/configure.ac 17Index: git/configure.ac
18index 9a2235b..a5b2e6e 100644 18===================================================================
19--- a/configure.ac 19--- git.orig/configure.ac
20+++ b/configure.ac 20+++ git/configure.ac
21@@ -103,6 +103,24 @@ AS_IF([! ln --relative --help > /dev/null 2>&1], [AC_MSG_ERROR([*** ln doesn't s 21@@ -110,6 +110,24 @@ AC_PATH_PROG([UMOUNT_PATH], [umount], [/
22 22
23 M4_DEFINES= 23 AS_IF([! ln --relative --help > /dev/null 2>&1], [AC_MSG_ERROR([*** ln doesn't support --relative ***])])
24 24
25+# check for few functions not implemented in uClibc 25+# check for few functions not implemented in uClibc
26+ 26+
@@ -31,7 +31,7 @@ index 9a2235b..a5b2e6e 100644
31+AC_MSG_CHECKING([whether %ms format is supported by *scanf]) 31+AC_MSG_CHECKING([whether %ms format is supported by *scanf])
32+ 32+
33+AC_LINK_IFELSE( 33+AC_LINK_IFELSE(
34+ [AC_LANG_PROGRAM([ 34+ [AC_LANG_PROGRAM([
35+ #include <stdio.h> 35+ #include <stdio.h>
36+ ],[ 36+ ],[
37+ char *buf1, *buf2, *buf3, str="1 2.3 abcde" ; 37+ char *buf1, *buf2, *buf3, str="1 2.3 abcde" ;
@@ -40,9 +40,6 @@ index 9a2235b..a5b2e6e 100644
40+ [AC_DEFINE([HAVE_MSFORMAT], [1], [Define if %ms format is supported by *scanf.])], 40+ [AC_DEFINE([HAVE_MSFORMAT], [1], [Define if %ms format is supported by *scanf.])],
41+ [AC_MSG_RESULT([no])]) 41+ [AC_MSG_RESULT([no])])
42+ 42+
43 # gtkdocize greps for '^GTK_DOC_CHECK', so it needs to be on its own line 43 M4_DEFINES=
44 m4_ifdef([GTK_DOC_CHECK], [ 44
45 GTK_DOC_CHECK([1.18],[--flavour no-tmpl])], 45 AC_CHECK_TOOL(OBJCOPY, objcopy)
46--
472.1.4
48
diff --git a/meta/recipes-core/systemd/systemd/0005-nspawn-Use-execvpe-only-when-libc-supports-it.patch b/meta/recipes-core/systemd/systemd/0005-nspawn-Use-execvpe-only-when-libc-supports-it.patch
index 85279d68c2..55a0088c65 100644
--- a/meta/recipes-core/systemd/systemd/0005-nspawn-Use-execvpe-only-when-libc-supports-it.patch
+++ b/meta/recipes-core/systemd/systemd/0005-nspawn-Use-execvpe-only-when-libc-supports-it.patch
@@ -10,32 +10,29 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
10 src/nspawn/nspawn.c | 7 +++++++ 10 src/nspawn/nspawn.c | 7 +++++++
11 1 file changed, 7 insertions(+) 11 1 file changed, 7 insertions(+)
12 12
13diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c 13Index: git/src/nspawn/nspawn.c
14index 0d8d199..b597edb 100644 14===================================================================
15--- a/src/nspawn/nspawn.c 15--- git.orig/src/nspawn/nspawn.c
16+++ b/src/nspawn/nspawn.c 16+++ git/src/nspawn/nspawn.c
17@@ -129,6 +129,8 @@ typedef enum Volatile { 17@@ -143,6 +143,8 @@ typedef struct CustomMount {
18 VOLATILE_STATE, 18 char **lower;
19 } Volatile; 19 } CustomMount;
20 20
21+#include "config.h" 21+#include "config.h"
22+ 22+
23 static char *arg_directory = NULL; 23 static char *arg_directory = NULL;
24 static char *arg_template = NULL; 24 static char *arg_template = NULL;
25 static char *arg_user = NULL; 25 static char *arg_user = NULL;
26@@ -4257,7 +4259,12 @@ int main(int argc, char *argv[]) { 26@@ -4238,7 +4240,12 @@ static int inner_child(
27 a[0] = (char*) "/sbin/init"; 27 a[0] = (char*) "/sbin/init";
28 execve(a[0], a, env_use); 28 execve(a[0], a, env_use);
29 } else if (argc > optind) 29 } else if (argc > optind)
30+#ifdef HAVE_EXECVPE 30+#ifdef HAVE_EXECVPE
31 execvpe(argv[optind], argv + optind, env_use); 31 execvpe(argv[optind], argv + optind, env_use);
32+#else 32+#else
33+ environ = env_use; 33+ environ = env_use;
34+ execvp(argv[optind], argv + optind); 34+ execvp(argv[optind], argv + optind);
35+#endif /* HAVE_EXECVPE */ 35+#endif /* HAVE_EXECVPE */
36 else { 36 else {
37 chdir(home ? home : "/root"); 37 chdir(home ? home : "/root");
38 execle("/bin/bash", "-bash", NULL, env_use); 38 execle("/bin/bash", "-bash", NULL, env_use);
39--
402.1.4
41
diff --git a/meta/recipes-core/systemd/systemd/0007-util-Use-mkostemp-only-if-libc-supports-it.patch b/meta/recipes-core/systemd/systemd/0007-util-Use-mkostemp-only-if-libc-supports-it.patch
index 29c20c010f..b8ab7c4e70 100644
--- a/meta/recipes-core/systemd/systemd/0007-util-Use-mkostemp-only-if-libc-supports-it.patch
+++ b/meta/recipes-core/systemd/systemd/0007-util-Use-mkostemp-only-if-libc-supports-it.patch
@@ -7,13 +7,13 @@ Upstream-Status: Denied [no desire for uclibc support]
7 7
8Signed-off-by: Khem Raj <raj.khem@gmail.com> 8Signed-off-by: Khem Raj <raj.khem@gmail.com>
9--- 9---
10 src/shared/util.c | 8 ++++++++ 10 src/basic/util.c | 8 ++++++++
11 1 file changed, 8 insertions(+) 11 1 file changed, 8 insertions(+)
12 12
13diff --git a/src/shared/util.c b/src/shared/util.c 13diff --git a/src/basic/util.c b/src/basic/util.c
14index dc65280..72f4665 100644 14index dc65280..72f4665 100644
15--- a/src/shared/util.c 15--- a/src/basic/util.c
16+++ b/src/shared/util.c 16+++ b/src/basic/util.c
17@@ -97,6 +97,8 @@ 17@@ -97,6 +97,8 @@
18 #include "def.h" 18 #include "def.h"
19 #include "sparse-endian.h" 19 #include "sparse-endian.h"
diff --git a/meta/recipes-core/systemd/systemd/0008-util-bypass-unimplemented-_SC_PHYS_PAGES-system-conf.patch b/meta/recipes-core/systemd/systemd/0008-util-bypass-unimplemented-_SC_PHYS_PAGES-system-conf.patch
index 5297625c93..3f4d4de080 100644
--- a/meta/recipes-core/systemd/systemd/0008-util-bypass-unimplemented-_SC_PHYS_PAGES-system-conf.patch
+++ b/meta/recipes-core/systemd/systemd/0008-util-bypass-unimplemented-_SC_PHYS_PAGES-system-conf.patch
@@ -8,13 +8,13 @@ Upstream-Status: Inappropriate [uclibc-specific]
8 8
9Signed-off-by: Khem Raj <raj.khem@gmail.com> 9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10--- 10---
11 src/shared/util.c | 15 +++++++++++++++ 11 src/basic/util.c | 15 +++++++++++++++
12 1 file changed, 15 insertions(+) 12 1 file changed, 15 insertions(+)
13 13
14diff --git a/src/shared/util.c b/src/shared/util.c 14diff --git a/src/basic/util.c b/src/basic/util.c
15index 72f4665..cbbe3b1 100644 15index 72f4665..cbbe3b1 100644
16--- a/src/shared/util.c 16--- a/src/basic/util.c
17+++ b/src/shared/util.c 17+++ b/src/basic/util.c
18@@ -6793,10 +6793,25 @@ uint64_t physical_memory(void) { 18@@ -6793,10 +6793,25 @@ uint64_t physical_memory(void) {
19 /* We return this as uint64_t in case we are running as 32bit 19 /* We return this as uint64_t in case we are running as 32bit
20 * process on a 64bit kernel with huge amounts of memory */ 20 * process on a 64bit kernel with huge amounts of memory */
diff --git a/meta/recipes-core/systemd/systemd/0010-Make-root-s-home-directory-configurable.patch b/meta/recipes-core/systemd/systemd/0010-Make-root-s-home-directory-configurable.patch
index 76a9481a42..ed7ff5b09c 100644
--- a/meta/recipes-core/systemd/systemd/0010-Make-root-s-home-directory-configurable.patch
+++ b/meta/recipes-core/systemd/systemd/0010-Make-root-s-home-directory-configurable.patch
@@ -19,26 +19,25 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
19 configure.ac | 7 +++++++ 19 configure.ac | 7 +++++++
20 src/core/unit-printf.c | 2 +- 20 src/core/unit-printf.c | 2 +-
21 src/nspawn/nspawn.c | 4 ++-- 21 src/nspawn/nspawn.c | 4 ++--
22 src/shared/util.c | 4 ++-- 22 src/basic/util.c | 4 ++--
23 units/console-shell.service.m4.in | 4 ++-- 23 units/console-shell.service.m4.in | 4 ++--
24 units/emergency.service.in | 4 ++-- 24 units/emergency.service.in | 4 ++--
25 units/rescue.service.in | 4 ++-- 25 units/rescue.service.in | 4 ++--
26 8 files changed, 20 insertions(+), 11 deletions(-) 26 8 files changed, 20 insertions(+), 11 deletions(-)
27 27
28diff --git a/Makefile.am b/Makefile.am 28Index: git/Makefile.am
29index 0fb3f9f..4623963 100644 29===================================================================
30--- a/Makefile.am 30--- git.orig/Makefile.am
31+++ b/Makefile.am 31+++ git/Makefile.am
32@@ -199,7 +199,8 @@ AM_CPPFLAGS = \ 32@@ -208,6 +208,7 @@ AM_CPPFLAGS = \
33 -DKEXEC=\"$(KEXEC)\" \
34 -DLIBDIR=\"$(libdir)\" \ 33 -DLIBDIR=\"$(libdir)\" \
35 -DROOTLIBDIR=\"$(rootlibdir)\" \ 34 -DROOTLIBDIR=\"$(rootlibdir)\" \
36 -DROOTLIBEXECDIR=\"$(rootlibexecdir)\" \ 35 -DROOTLIBEXECDIR=\"$(rootlibexecdir)\" \
37+ -DROOTHOMEDIR=\"$(roothomedir)\" \ 36+ -DROOTHOMEDIR=\"$(roothomedir)\" \
38 -DTEST_DIR=\"$(abs_top_srcdir)/test\" \ 37 -DTEST_DIR=\"$(abs_top_srcdir)/test\" \
39 -I $(top_srcdir)/src \ 38 -I $(top_srcdir)/src \
40 -I $(top_builddir)/src/shared \ 39 -I $(top_builddir)/src/basic \
41@@ -6342,6 +6343,7 @@ EXTRA_DIST += \ 40@@ -5615,6 +5616,7 @@ EXTRA_DIST += \
42 substitutions = \ 41 substitutions = \
43 '|rootlibexecdir=$(rootlibexecdir)|' \ 42 '|rootlibexecdir=$(rootlibexecdir)|' \
44 '|rootbindir=$(rootbindir)|' \ 43 '|rootbindir=$(rootbindir)|' \
@@ -46,13 +45,13 @@ index 0fb3f9f..4623963 100644
46 '|bindir=$(bindir)|' \ 45 '|bindir=$(bindir)|' \
47 '|SYSTEMCTL=$(rootbindir)/systemctl|' \ 46 '|SYSTEMCTL=$(rootbindir)/systemctl|' \
48 '|SYSTEMD_NOTIFY=$(rootbindir)/systemd-notify|' \ 47 '|SYSTEMD_NOTIFY=$(rootbindir)/systemd-notify|' \
49diff --git a/configure.ac b/configure.ac 48Index: git/configure.ac
50index a5b2e6e..55bb7d8 100644 49===================================================================
51--- a/configure.ac 50--- git.orig/configure.ac
52+++ b/configure.ac 51+++ git/configure.ac
53@@ -1428,6 +1428,11 @@ AC_ARG_WITH([rootlibdir], 52@@ -1383,6 +1383,11 @@ AC_ARG_WITH([rootlibdir],
54 [],
55 [with_rootlibdir=${libdir}]) 53 [with_rootlibdir=${libdir}])
54 AX_NORMALIZE_PATH([with_rootlibdir])
56 55
57+AC_ARG_WITH([roothomedir], 56+AC_ARG_WITH([roothomedir],
58+ AS_HELP_STRING([--with-roothomedir=DIR], [Home directory for the root user]), 57+ AS_HELP_STRING([--with-roothomedir=DIR], [Home directory for the root user]),
@@ -62,62 +61,62 @@ index a5b2e6e..55bb7d8 100644
62 AC_ARG_WITH([pamlibdir], 61 AC_ARG_WITH([pamlibdir],
63 AS_HELP_STRING([--with-pamlibdir=DIR], [Directory for PAM modules]), 62 AS_HELP_STRING([--with-pamlibdir=DIR], [Directory for PAM modules]),
64 [], 63 [],
65@@ -1518,6 +1523,7 @@ AC_SUBST([pamlibdir], [$with_pamlibdir]) 64@@ -1474,6 +1479,7 @@ AC_SUBST([pamlibdir], [$with_pamlibdir])
66 AC_SUBST([pamconfdir], [$with_pamconfdir]) 65 AC_SUBST([pamconfdir], [$with_pamconfdir])
67 AC_SUBST([rootprefix], [$with_rootprefix]) 66 AC_SUBST([rootprefix], [$with_rootprefix])
68 AC_SUBST([rootlibdir], [$with_rootlibdir]) 67 AC_SUBST([rootlibdir], [$with_rootlibdir])
69+AC_SUBST([roothomedir], [$with_roothomedir]) 68+AC_SUBST([roothomedir], [$with_roothomedir])
70 69
71 AC_CONFIG_FILES([ 70 AC_CONFIG_FILES([
72 Makefile po/Makefile.in 71 Makefile
73@@ -1617,6 +1623,7 @@ AC_MSG_RESULT([ 72@@ -1563,6 +1569,7 @@ AC_MSG_RESULT([
74 include_prefix: ${INCLUDE_PREFIX} 73 includedir: ${includedir}
75 lib dir: ${libdir} 74 lib dir: ${libdir}
76 rootlib dir: ${with_rootlibdir} 75 rootlib dir: ${with_rootlibdir}
77+ root home dir: ${with_roothomedir} 76+ root home dir: ${with_roothomedir}
78 SysV init scripts: ${SYSTEM_SYSVINIT_PATH} 77 SysV init scripts: ${SYSTEM_SYSVINIT_PATH}
79 SysV rc?.d directories: ${SYSTEM_SYSVRCND_PATH} 78 SysV rc?.d directories: ${SYSTEM_SYSVRCND_PATH}
80 Build Python: ${PYTHON} 79 Build Python: ${PYTHON}
81diff --git a/src/core/unit-printf.c b/src/core/unit-printf.c 80Index: git/src/core/unit-printf.c
82index 97135db..14d12f1 100644 81===================================================================
83--- a/src/core/unit-printf.c 82--- git.orig/src/core/unit-printf.c
84+++ b/src/core/unit-printf.c 83+++ git/src/core/unit-printf.c
85@@ -259,7 +259,7 @@ static int specifier_user_home(char specifier, void *data, void *userdata, char 84@@ -237,7 +237,7 @@ static int specifier_user_home(char spec
86 * best of it if we can, but fail if we can't */ 85 * best of it if we can, but fail if we can't */
87 86
88 if (!c->user || streq(c->user, "root") || streq(c->user, "0")) 87 if (!c->user || streq(c->user, "root") || streq(c->user, "0"))
89- n = strdup("/root"); 88- n = strdup("/root");
90+ n = strdup(ROOTHOMEDIR); 89+ n = strdup(ROOTHOMEDIR);
91 else 90 else
92 return -ENOTSUP; 91 return -EOPNOTSUPP;
93 92
94diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c 93Index: git/src/nspawn/nspawn.c
95index b597edb..0b32673 100644 94===================================================================
96--- a/src/nspawn/nspawn.c 95--- git.orig/src/nspawn/nspawn.c
97+++ b/src/nspawn/nspawn.c 96+++ git/src/nspawn/nspawn.c
98@@ -4192,7 +4192,7 @@ int main(int argc, char *argv[]) { 97@@ -4176,7 +4176,7 @@ static int inner_child(
99 if (r < 0) 98 if (envp[n_env])
100 _exit(EXIT_FAILURE); 99 n_env ++;
101 100
102- if ((asprintf((char**)(envp + n_env++), "HOME=%s", home ? home: "/root") < 0) || 101- if ((asprintf((char**)(envp + n_env++), "HOME=%s", home ? home: "/root") < 0) ||
103+ if ((asprintf((char**)(envp + n_env++), "HOME=%s", home ? home: ROOTHOMEDIR) < 0) || 102+ if ((asprintf((char**)(envp + n_env++), "HOME=%s", home ? home: ROOTHOMEDIR) < 0) ||
104 (asprintf((char**)(envp + n_env++), "USER=%s", arg_user ? arg_user : "root") < 0) || 103 (asprintf((char**)(envp + n_env++), "USER=%s", arg_user ? arg_user : "root") < 0) ||
105 (asprintf((char**)(envp + n_env++), "LOGNAME=%s", arg_user ? arg_user : "root") < 0)) { 104 (asprintf((char**)(envp + n_env++), "LOGNAME=%s", arg_user ? arg_user : "root") < 0))
106 log_oom(); 105 return log_oom();
107@@ -4266,7 +4266,7 @@ int main(int argc, char *argv[]) { 106@@ -4247,7 +4247,7 @@ static int inner_child(
108 execvp(argv[optind], argv + optind); 107 execvp(argv[optind], argv + optind);
109 #endif /* HAVE_EXECVPE */ 108 #endif /* HAVE_EXECVPE */
110 else { 109 else {
111- chdir(home ? home : "/root"); 110- chdir(home ? home : "/root");
112+ chdir(home ? home : ROOTHOMEDIR); 111+ chdir(home ? home : ROOTHOMEDIR);
113 execle("/bin/bash", "-bash", NULL, env_use); 112 execle("/bin/bash", "-bash", NULL, env_use);
114 execle("/bin/sh", "-sh", NULL, env_use); 113 execle("/bin/sh", "-sh", NULL, env_use);
115 } 114 }
116diff --git a/src/shared/util.c b/src/shared/util.c 115Index: git/src/basic/util.c
117index cbbe3b1..a0e3cc5 100644 116===================================================================
118--- a/src/shared/util.c 117--- git.orig/src/basic/util.c
119+++ b/src/shared/util.c 118+++ git/src/basic/util.c
120@@ -4609,7 +4609,7 @@ int get_user_creds( 119@@ -3233,7 +3233,7 @@ int get_user_creds(
121 *gid = 0; 120 *gid = 0;
122 121
123 if (home) 122 if (home)
@@ -126,7 +125,7 @@ index cbbe3b1..a0e3cc5 100644
126 125
127 if (shell) 126 if (shell)
128 *shell = "/bin/sh"; 127 *shell = "/bin/sh";
129@@ -5611,7 +5611,7 @@ int get_home_dir(char **_h) { 128@@ -4069,7 +4069,7 @@ int get_home_dir(char **_h) {
130 /* Hardcode home directory for root to avoid NSS */ 129 /* Hardcode home directory for root to avoid NSS */
131 u = getuid(); 130 u = getuid();
132 if (u == 0) { 131 if (u == 0) {
@@ -135,10 +134,10 @@ index cbbe3b1..a0e3cc5 100644
135 if (!h) 134 if (!h)
136 return -ENOMEM; 135 return -ENOMEM;
137 136
138diff --git a/units/console-shell.service.m4.in b/units/console-shell.service.m4.in 137Index: git/units/console-shell.service.m4.in
139index 5c80722..efde5f0 100644 138===================================================================
140--- a/units/console-shell.service.m4.in 139--- git.orig/units/console-shell.service.m4.in
141+++ b/units/console-shell.service.m4.in 140+++ git/units/console-shell.service.m4.in
142@@ -15,8 +15,8 @@ After=rc-local.service 141@@ -15,8 +15,8 @@ After=rc-local.service
143 Before=getty.target 142 Before=getty.target
144 143
@@ -150,10 +149,10 @@ index 5c80722..efde5f0 100644
150 ExecStart=-@SULOGIN@ 149 ExecStart=-@SULOGIN@
151 ExecStopPost=-@SYSTEMCTL@ poweroff 150 ExecStopPost=-@SYSTEMCTL@ poweroff
152 Type=idle 151 Type=idle
153diff --git a/units/emergency.service.in b/units/emergency.service.in 152Index: git/units/emergency.service.in
154index 2695d7b..7f47b73 100644 153===================================================================
155--- a/units/emergency.service.in 154--- git.orig/units/emergency.service.in
156+++ b/units/emergency.service.in 155+++ git/units/emergency.service.in
157@@ -14,8 +14,8 @@ Conflicts=rescue.service 156@@ -14,8 +14,8 @@ Conflicts=rescue.service
158 Before=shutdown.target 157 Before=shutdown.target
159 158
@@ -162,14 +161,14 @@ index 2695d7b..7f47b73 100644
162-WorkingDirectory=/root 161-WorkingDirectory=/root
163+Environment=HOME=@roothomedir@ 162+Environment=HOME=@roothomedir@
164+WorkingDirectory=@roothomedir@ 163+WorkingDirectory=@roothomedir@
165 ExecStartPre=-/bin/plymouth quit 164 ExecStartPre=-/bin/plymouth --wait quit
166 ExecStartPre=-/bin/echo -e 'Welcome to 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.' 165 ExecStartPre=-/bin/echo -e 'Welcome to 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.'
167 ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --fail --no-block default" 166 ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --job-mode=fail --no-block default"
168diff --git a/units/rescue.service.in b/units/rescue.service.in 167Index: git/units/rescue.service.in
169index de73fee..47f3593 100644 168===================================================================
170--- a/units/rescue.service.in 169--- git.orig/units/rescue.service.in
171+++ b/units/rescue.service.in 170+++ git/units/rescue.service.in
172@@ -14,8 +14,8 @@ After=sysinit.target plymouth-start.service 171@@ -14,8 +14,8 @@ After=sysinit.target plymouth-start.serv
173 Before=shutdown.target 172 Before=shutdown.target
174 173
175 [Service] 174 [Service]
@@ -179,7 +178,4 @@ index de73fee..47f3593 100644
179+WorkingDirectory=@roothomedir@ 178+WorkingDirectory=@roothomedir@
180 ExecStartPre=-/bin/plymouth quit 179 ExecStartPre=-/bin/plymouth quit
181 ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" or ^D to\\nboot into default mode.' 180 ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" or ^D to\\nboot into default mode.'
182 ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --fail --no-block default" 181 ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --job-mode=fail --no-block default"
183--
1842.1.4
185
diff --git a/meta/recipes-core/systemd/systemd/0012-systemd-tmpfiles.c-Honor-ordering-within-files-as-th.patch b/meta/recipes-core/systemd/systemd/0012-systemd-tmpfiles.c-Honor-ordering-within-files-as-th.patch
deleted file mode 100644
index ccd675798c..0000000000
--- a/meta/recipes-core/systemd/systemd/0012-systemd-tmpfiles.c-Honor-ordering-within-files-as-th.patch
+++ /dev/null
@@ -1,185 +0,0 @@
1From 2abf886295b979bce6d3f0a240f6f5ecfd70ba37 Mon Sep 17 00:00:00 2001
2From: Randy Witt <randy.e.witt@linux.intel.com>
3Date: Wed, 4 Mar 2015 18:32:40 -0800
4Subject: [PATCH] tmpfiles.c: Honor ordering within files as the docs say.
5
6Previously, globs would always get processed first followed by any other
7items in arbitrary order. This is contrary to the documentation which
8states "Otherwise, the files/directories are processed in the order they
9are listed."
10
11To fix this, remove the separate "globs" hashmap, and instead use only one
12marking each entry as a glob or not. There should be little overhead
13from doing this, considering the only time nested processing will occur
14is for processing of globs which are not of type "X".
15
16Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
17---
18 src/tmpfiles/tmpfiles.c | 53 ++++++++++++++++++++++---------------------------
19 1 file changed, 24 insertions(+), 29 deletions(-)
20
21diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
22index 917bb3c..0b6d226 100644
23--- a/src/tmpfiles/tmpfiles.c
24+++ b/src/tmpfiles/tmpfiles.c
25@@ -116,6 +116,7 @@ typedef struct Item {
26 bool force:1;
27
28 bool done:1;
29+ bool glob:1;
30 } Item;
31
32 typedef struct ItemArray {
33@@ -137,7 +138,7 @@ static const char conf_file_dirs[] = CONF_DIRS_NULSTR("tmpfiles");
34
35 #define MAX_DEPTH 256
36
37-static Hashmap *items = NULL, *globs = NULL;
38+static OrderedHashmap *items = NULL;
39 static Set *unix_sockets = NULL;
40
41 static bool needs_glob(ItemType t) {
42@@ -176,17 +177,17 @@ static bool takes_ownership(ItemType t) {
43 RECURSIVE_REMOVE_PATH);
44 }
45
46-static struct Item* find_glob(Hashmap *h, const char *match) {
47+static struct Item* find_glob(OrderedHashmap *h, const char *match) {
48 ItemArray *j;
49 Iterator i;
50
51- HASHMAP_FOREACH(j, h, i) {
52+ ORDERED_HASHMAP_FOREACH(j, h, i) {
53 unsigned n;
54
55 for (n = 0; n < j->count; n++) {
56 Item *item = j->items + n;
57
58- if (fnmatch(item->path, match, FNM_PATHNAME|FNM_PERIOD) == 0)
59+ if (item->glob && fnmatch(item->path, match, FNM_PATHNAME|FNM_PERIOD) == 0)
60 return item;
61 }
62 }
63@@ -391,12 +392,12 @@ static int dir_cleanup(
64 }
65
66 /* Is there an item configured for this path? */
67- if (hashmap_get(items, sub_path)) {
68+ if (ordered_hashmap_get(items, sub_path)) {
69 log_debug("Ignoring \"%s\": a separate entry exists.", sub_path);
70 continue;
71 }
72
73- if (find_glob(globs, sub_path)) {
74+ if (find_glob(items, sub_path)) {
75 log_debug("Ignoring \"%s\": a separate glob exists.", sub_path);
76 continue;
77 }
78@@ -1378,7 +1379,7 @@ static int process_item(Item *i) {
79 PATH_FOREACH_PREFIX(prefix, i->path) {
80 ItemArray *j;
81
82- j = hashmap_get(items, prefix);
83+ j = ordered_hashmap_get(items, prefix);
84 if (j) {
85 int s;
86
87@@ -1505,7 +1506,6 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) {
88 _cleanup_free_ char *action = NULL, *mode = NULL, *user = NULL, *group = NULL, *age = NULL, *path = NULL;
89 _cleanup_(item_free_contents) Item i = {};
90 ItemArray *existing;
91- Hashmap *h;
92 int r, c = -1, pos;
93 bool force = false, boot = false;
94
95@@ -1739,9 +1739,9 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) {
96 i.age_set = true;
97 }
98
99- h = needs_glob(i.type) ? globs : items;
100+ i.glob = needs_glob(i.type);
101
102- existing = hashmap_get(h, i.path);
103+ existing = ordered_hashmap_get(items, i.path);
104 if (existing) {
105 unsigned n;
106
107@@ -1752,7 +1752,7 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) {
108 }
109 } else {
110 existing = new0(ItemArray, 1);
111- r = hashmap_put(h, i.path, existing);
112+ r = ordered_hashmap_put(items, i.path, existing);
113 if (r < 0)
114 return log_oom();
115 }
116@@ -1911,14 +1911,20 @@ static int read_config_file(const char *fn, bool ignore_enoent) {
117 }
118
119 /* we have to determine age parameter for each entry of type X */
120- HASHMAP_FOREACH(i, globs, iterator) {
121+ ORDERED_HASHMAP_FOREACH(i, items, iterator) {
122 Iterator iter;
123 Item *j, *candidate_item = NULL;
124+ int number = 0;
125
126+ if (!i->glob)
127+ continue;
128 if (i->type != IGNORE_DIRECTORY_PATH)
129 continue;
130
131- HASHMAP_FOREACH(j, items, iter) {
132+ ORDERED_HASHMAP_FOREACH(j, items, iter) {
133+ number++;
134+ if (j == i)
135+ continue;
136 if (j->type != CREATE_DIRECTORY && j->type != TRUNCATE_DIRECTORY && j->type != CREATE_SUBVOLUME)
137 continue;
138
139@@ -1964,10 +1970,9 @@ int main(int argc, char *argv[]) {
140
141 mac_selinux_init(NULL);
142
143- items = hashmap_new(&string_hash_ops);
144- globs = hashmap_new(&string_hash_ops);
145+ items = ordered_hashmap_new(&string_hash_ops);
146
147- if (!items || !globs) {
148+ if (!items) {
149 r = log_oom();
150 goto finish;
151 }
152@@ -2000,27 +2005,17 @@ int main(int argc, char *argv[]) {
153 }
154 }
155
156- HASHMAP_FOREACH(a, globs, iterator) {
157- k = process_item_array(a);
158- if (k < 0 && r == 0)
159- r = k;
160- }
161-
162- HASHMAP_FOREACH(a, items, iterator) {
163+ ORDERED_HASHMAP_FOREACH(a, items, iterator) {
164 k = process_item_array(a);
165 if (k < 0 && r == 0)
166 r = k;
167 }
168
169 finish:
170- while ((a = hashmap_steal_first(items)))
171- item_array_free(a);
172-
173- while ((a = hashmap_steal_first(globs)))
174+ while ((a = ordered_hashmap_steal_first(items)))
175 item_array_free(a);
176
177- hashmap_free(items);
178- hashmap_free(globs);
179+ ordered_hashmap_free(items);
180
181 free(arg_include_prefixes);
182 free(arg_exclude_prefixes);
183--
1841.9.3
185
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 3e3aa278bd..6308cc73ab 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
@@ -21,11 +21,11 @@ Signed-off-by: Jonathan Liu <net147@gmail.com>
21 8 files changed, 214 insertions(+), 4 deletions(-) 21 8 files changed, 214 insertions(+), 4 deletions(-)
22 create mode 100644 src/udev/udev-builtin-firmware.c 22 create mode 100644 src/udev/udev-builtin-firmware.c
23 23
24diff --git a/Makefile.am b/Makefile.am 24Index: git/Makefile.am
25index bf04d31..9394700 100644 25===================================================================
26--- a/Makefile.am 26--- git.orig/Makefile.am
27+++ b/Makefile.am 27+++ git/Makefile.am
28@@ -3678,6 +3678,18 @@ libudev_core_la_LIBADD = \ 28@@ -3470,6 +3470,18 @@ libudev_core_la_LIBADD = \
29 $(BLKID_LIBS) \ 29 $(BLKID_LIBS) \
30 $(KMOD_LIBS) 30 $(KMOD_LIBS)
31 31
@@ -44,10 +44,10 @@ index bf04d31..9394700 100644
44 if HAVE_KMOD 44 if HAVE_KMOD
45 libudev_core_la_SOURCES += \ 45 libudev_core_la_SOURCES += \
46 src/udev/udev-builtin-kmod.c 46 src/udev/udev-builtin-kmod.c
47diff --git a/README b/README 47Index: git/README
48index c722092..db382d2 100644 48===================================================================
49--- a/README 49--- git.orig/README
50+++ b/README 50+++ git/README
51@@ -36,7 +36,8 @@ LICENSE: 51@@ -36,7 +36,8 @@ LICENSE:
52 - except src/udev/* which is (currently still) GPLv2, GPLv2+ 52 - except src/udev/* which is (currently still) GPLv2, GPLv2+
53 53
@@ -76,11 +76,11 @@ index c722092..db382d2 100644
76 CONFIG_FW_LOADER_USER_HELPER=n 76 CONFIG_FW_LOADER_USER_HELPER=n
77 77
78 Some udev rules and virtualization detection relies on it: 78 Some udev rules and virtualization detection relies on it:
79diff --git a/TODO b/TODO 79Index: git/TODO
80index 255a4f2..407bdd0 100644 80===================================================================
81--- a/TODO 81--- git.orig/TODO
82+++ b/TODO 82+++ git/TODO
83@@ -727,6 +727,7 @@ Features: 83@@ -754,6 +754,7 @@ Features:
84 * ExecOnFailure=/usr/bin/foo 84 * ExecOnFailure=/usr/bin/foo
85 85
86 * udev: 86 * udev:
@@ -88,11 +88,11 @@ index 255a4f2..407bdd0 100644
88 - move to LGPL 88 - move to LGPL
89 - kill scsi_id 89 - kill scsi_id
90 - add trigger --subsystem-match=usb/usb_device device 90 - add trigger --subsystem-match=usb/usb_device device
91diff --git a/configure.ac b/configure.ac 91Index: git/configure.ac
92index 97a29d6..13b80ce 100644 92===================================================================
93--- a/configure.ac 93--- git.orig/configure.ac
94+++ b/configure.ac 94+++ git/configure.ac
95@@ -1245,6 +1245,25 @@ fi 95@@ -1268,6 +1268,26 @@ fi
96 AM_CONDITIONAL(HAVE_MYHOSTNAME, [test "$have_myhostname" = "yes"]) 96 AM_CONDITIONAL(HAVE_MYHOSTNAME, [test "$have_myhostname" = "yes"])
97 97
98 # ------------------------------------------------------------------------------ 98 # ------------------------------------------------------------------------------
@@ -114,23 +114,23 @@ index 97a29d6..13b80ce 100644
114+AS_IF([test "x${FIRMWARE_PATH}" != "x"], [ AC_DEFINE(HAVE_FIRMWARE, 1, [Define if FIRMWARE is available]) ]) 114+AS_IF([test "x${FIRMWARE_PATH}" != "x"], [ AC_DEFINE(HAVE_FIRMWARE, 1, [Define if FIRMWARE is available]) ])
115+AM_CONDITIONAL(ENABLE_FIRMWARE, [test "x${FIRMWARE_PATH}" != "x"]) 115+AM_CONDITIONAL(ENABLE_FIRMWARE, [test "x${FIRMWARE_PATH}" != "x"])
116+ 116+
117+
117+# ------------------------------------------------------------------------------ 118+# ------------------------------------------------------------------------------
118 AC_ARG_ENABLE([gudev], 119 AC_ARG_ENABLE(hwdb, [AC_HELP_STRING([--disable-hwdb], [disable hardware database support])],
119 AS_HELP_STRING([--disable-gudev], [disable Gobject libudev support @<:@default=enabled@:>@]), 120 enable_hwdb=$enableval, enable_hwdb=yes)
120 [], [enable_gudev=yes]) 121 AM_CONDITIONAL(ENABLE_HWDB, [test x$enable_hwdb = xyes])
121@@ -1533,6 +1552,7 @@ AC_MSG_RESULT([ 122@@ -1574,6 +1594,7 @@ AC_MSG_RESULT([
123 SysV rc?.d directories: ${SYSTEM_SYSVRCND_PATH}
122 Build Python: ${PYTHON} 124 Build Python: ${PYTHON}
123 Installation Python: ${PYTHON_BINARY}
124 sphinx binary: ${SPHINX_BUILD} 125 sphinx binary: ${SPHINX_BUILD}
125+ firmware path: ${FIRMWARE_PATH} 126+ firmware path: ${FIRMWARE_PATH}
126 PAM modules dir: ${with_pamlibdir} 127 PAM modules dir: ${with_pamlibdir}
127 PAM configuration dir: ${with_pamconfdir} 128 PAM configuration dir: ${with_pamconfdir}
128 D-Bus policy dir: ${with_dbuspolicydir} 129 D-Bus policy dir: ${with_dbuspolicydir}
129diff --git a/src/udev/udev-builtin-firmware.c b/src/udev/udev-builtin-firmware.c 130Index: git/src/udev/udev-builtin-firmware.c
130new file mode 100644 131===================================================================
131index 0000000..bd8c2fb
132--- /dev/null 132--- /dev/null
133+++ b/src/udev/udev-builtin-firmware.c 133+++ git/src/udev/udev-builtin-firmware.c
134@@ -0,0 +1,154 @@ 134@@ -0,0 +1,154 @@
135+/* 135+/*
136+ * firmware - Kernel firmware loader 136+ * firmware - Kernel firmware loader
@@ -286,11 +286,11 @@ index 0000000..bd8c2fb
286+ .help = "kernel firmware loader", 286+ .help = "kernel firmware loader",
287+ .run_once = true, 287+ .run_once = true,
288+}; 288+};
289diff --git a/src/udev/udev-builtin.c b/src/udev/udev-builtin.c 289Index: git/src/udev/udev-builtin.c
290index 1950ec2..f21c0b6 100644 290===================================================================
291--- a/src/udev/udev-builtin.c 291--- git.orig/src/udev/udev-builtin.c
292+++ b/src/udev/udev-builtin.c 292+++ git/src/udev/udev-builtin.c
293@@ -34,6 +34,9 @@ static const struct udev_builtin *builtins[] = { 293@@ -30,6 +30,9 @@ static const struct udev_builtin *builti
294 [UDEV_BUILTIN_BLKID] = &udev_builtin_blkid, 294 [UDEV_BUILTIN_BLKID] = &udev_builtin_blkid,
295 #endif 295 #endif
296 [UDEV_BUILTIN_BTRFS] = &udev_builtin_btrfs, 296 [UDEV_BUILTIN_BTRFS] = &udev_builtin_btrfs,
@@ -300,11 +300,11 @@ index 1950ec2..f21c0b6 100644
300 [UDEV_BUILTIN_HWDB] = &udev_builtin_hwdb, 300 [UDEV_BUILTIN_HWDB] = &udev_builtin_hwdb,
301 [UDEV_BUILTIN_INPUT_ID] = &udev_builtin_input_id, 301 [UDEV_BUILTIN_INPUT_ID] = &udev_builtin_input_id,
302 [UDEV_BUILTIN_KEYBOARD] = &udev_builtin_keyboard, 302 [UDEV_BUILTIN_KEYBOARD] = &udev_builtin_keyboard,
303diff --git a/src/udev/udev.h b/src/udev/udev.h 303Index: git/src/udev/udev.h
304index dece6ec..f7ee1e7 100644 304===================================================================
305--- a/src/udev/udev.h 305--- git.orig/src/udev/udev.h
306+++ b/src/udev/udev.h 306+++ git/src/udev/udev.h
307@@ -151,6 +151,9 @@ enum udev_builtin_cmd { 307@@ -146,6 +146,9 @@ enum udev_builtin_cmd {
308 UDEV_BUILTIN_BLKID, 308 UDEV_BUILTIN_BLKID,
309 #endif 309 #endif
310 UDEV_BUILTIN_BTRFS, 310 UDEV_BUILTIN_BTRFS,
@@ -314,7 +314,7 @@ index dece6ec..f7ee1e7 100644
314 UDEV_BUILTIN_HWDB, 314 UDEV_BUILTIN_HWDB,
315 UDEV_BUILTIN_INPUT_ID, 315 UDEV_BUILTIN_INPUT_ID,
316 UDEV_BUILTIN_KEYBOARD, 316 UDEV_BUILTIN_KEYBOARD,
317@@ -179,6 +182,9 @@ struct udev_builtin { 317@@ -174,6 +177,9 @@ struct udev_builtin {
318 extern const struct udev_builtin udev_builtin_blkid; 318 extern const struct udev_builtin udev_builtin_blkid;
319 #endif 319 #endif
320 extern const struct udev_builtin udev_builtin_btrfs; 320 extern const struct udev_builtin udev_builtin_btrfs;
@@ -324,21 +324,21 @@ index dece6ec..f7ee1e7 100644
324 extern const struct udev_builtin udev_builtin_hwdb; 324 extern const struct udev_builtin udev_builtin_hwdb;
325 extern const struct udev_builtin udev_builtin_input_id; 325 extern const struct udev_builtin udev_builtin_input_id;
326 extern const struct udev_builtin udev_builtin_keyboard; 326 extern const struct udev_builtin udev_builtin_keyboard;
327diff --git a/src/udev/udevd.c b/src/udev/udevd.c 327Index: git/src/udev/udevd.c
328index 99d4c89..71af1e1 100644 328===================================================================
329--- a/src/udev/udevd.c 329--- git.orig/src/udev/udevd.c
330+++ b/src/udev/udevd.c 330+++ git/src/udev/udevd.c
331@@ -99,6 +99,9 @@ struct event { 331@@ -116,6 +116,9 @@ struct event {
332 dev_t devnum;
333 int ifindex;
334 bool is_block; 332 bool is_block;
333 sd_event_source *timeout_warning;
334 sd_event_source *timeout;
335+#ifdef HAVE_FIRMWARE 335+#ifdef HAVE_FIRMWARE
336+ bool nodelay; 336+ bool nodelay;
337+#endif 337+#endif
338 }; 338 };
339 339
340 static inline struct event *node_to_event(struct udev_list_node *node) { 340 static inline struct event *node_to_event(struct udev_list_node *node) {
341@@ -472,6 +475,10 @@ static int event_queue_insert(struct udev_device *dev) { 341@@ -607,6 +610,10 @@ static int event_queue_insert(Manager *m
342 event->devnum = udev_device_get_devnum(dev); 342 event->devnum = udev_device_get_devnum(dev);
343 event->is_block = streq("block", udev_device_get_subsystem(dev)); 343 event->is_block = streq("block", udev_device_get_subsystem(dev));
344 event->ifindex = udev_device_get_ifindex(dev); 344 event->ifindex = udev_device_get_ifindex(dev);
@@ -349,7 +349,7 @@ index 99d4c89..71af1e1 100644
349 349
350 log_debug("seq %llu queued, '%s' '%s'", udev_device_get_seqnum(dev), 350 log_debug("seq %llu queued, '%s' '%s'", udev_device_get_seqnum(dev),
351 udev_device_get_action(dev), udev_device_get_subsystem(dev)); 351 udev_device_get_action(dev), udev_device_get_subsystem(dev));
352@@ -548,6 +555,12 @@ static bool is_devpath_busy(struct event *event) { 352@@ -692,6 +699,12 @@ static bool is_devpath_busy(Manager *man
353 return true; 353 return true;
354 } 354 }
355 355
@@ -362,6 +362,3 @@ index 99d4c89..71af1e1 100644
362 /* parent device event found */ 362 /* parent device event found */
363 if (event->devpath[common] == '/') { 363 if (event->devpath[common] == '/') {
364 event->delaying_seqnum = loop_event->seqnum; 364 event->delaying_seqnum = loop_event->seqnum;
365--
3662.3.3
367
diff --git a/meta/recipes-core/systemd/systemd/tmpfiles-pam.patch b/meta/recipes-core/systemd/systemd/tmpfiles-pam.patch
deleted file mode 100644
index a40b1b9d3f..0000000000
--- a/meta/recipes-core/systemd/systemd/tmpfiles-pam.patch
+++ /dev/null
@@ -1,30 +0,0 @@
1Upstream-Status: Submitted
2Signed-off-by: Ross Burton <ross.burton@intel.com>
3
4From 0802aaaa9784813d318d045c79533a044eedf542 Mon Sep 17 00:00:00 2001
5From: Ross Burton <ross.burton@intel.com>
6Date: Tue, 3 Mar 2015 11:32:29 +0000
7Subject: [PATCH] tmpfiles.d: only copy /etc/pam.d if PAM is present
8
9If HAVE_PAM isn't set then don't attempt to copy /etc/pam.d from the factory, as
10it doesn't get installed.
11
12Signed-off-by: Ross Burton <ross.burton@intel.com>
13---
14 tmpfiles.d/etc.conf.m4 | 2 ++
15 1 file changed, 2 insertions(+)
16
17diff --git a/tmpfiles.d/etc.conf.m4 b/tmpfiles.d/etc.conf.m4
18index 9b0e080..ab5cd16 100644
19--- a/tmpfiles.d/etc.conf.m4
20+++ b/tmpfiles.d/etc.conf.m4
21@@ -14,4 +14,6 @@ m4_ifdef(`ENABLE_RESOLVED',
22 L /etc/resolv.conf - - - - ../run/systemd/resolve/resolv.conf
23 )m4_dnl
24 C /etc/nsswitch.conf - - - -
25+m4_ifdef(`HAVE_PAM',
26 C /etc/pam.d - - - -
27+)m4_dnl
28--
291.7.10.4
30
diff --git a/meta/recipes-core/systemd/systemd_219.bb b/meta/recipes-core/systemd/systemd_225.bb
index a64dbac360..2dc8884839 100644
--- a/meta/recipes-core/systemd/systemd_219.bb
+++ b/meta/recipes-core/systemd/systemd_225.bb
@@ -10,10 +10,9 @@ state, maintains mount and automount points and implements an \
10elaborate transactional dependency-based service control logic. It can \ 10elaborate transactional dependency-based service control logic. It can \
11work as a drop-in replacement for sysvinit." 11work as a drop-in replacement for sysvinit."
12 12
13LICENSE = "GPLv2 & LGPLv2.1 & MIT" 13LICENSE = "GPLv2 & LGPLv2.1"
14LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \ 14LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
15 file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c \ 15 file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
16 file://LICENSE.MIT;md5=544799d0b492f119fa04641d1b8868ed"
17 16
18PROVIDES = "udev" 17PROVIDES = "udev"
19 18
@@ -23,14 +22,13 @@ DEPENDS = "kmod docbook-sgml-dtd-4.1-native intltool-native gperf-native acl rea
23 22
24SECTION = "base/shell" 23SECTION = "base/shell"
25 24
26inherit gtk-doc useradd pkgconfig autotools perlnative update-rc.d update-alternatives qemu systemd ptest gettext 25inherit useradd pkgconfig autotools perlnative update-rc.d update-alternatives qemu systemd ptest gettext
27 26
28SRCREV = "85a6fabdd3e43cfab0fc6359e9f2a9e368d4a3ed" 27SRCREV = "e1439a1472c5f691733b8ef10e702beac2496a63"
29 28
30PV = "219-stable+git${SRCPV}" 29PV = "225+git${SRCPV}"
31 30
32SRC_URI = "git://github.com/systemd/systemd-stable;branch=v219-stable;protocol=git \ 31SRC_URI = "git://github.com/systemd/systemd.git;protocol=git \
33 file://0002-shared-missing.h-fall-back-to-insecure-getenv.patch \
34 file://0003-binfmt-Don-t-install-dependency-links-at-install-tim.patch \ 32 file://0003-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
35 file://0004-configure-Check-for-additional-features-that-uclibc-.patch \ 33 file://0004-configure-Check-for-additional-features-that-uclibc-.patch \
36 file://0005-nspawn-Use-execvpe-only-when-libc-supports-it.patch \ 34 file://0005-nspawn-Use-execvpe-only-when-libc-supports-it.patch \
@@ -40,11 +38,8 @@ SRC_URI = "git://github.com/systemd/systemd-stable;branch=v219-stable;protocol=g
40 file://0009-sysv-generator-add-support-for-executing-scripts-und.patch \ 38 file://0009-sysv-generator-add-support-for-executing-scripts-und.patch \
41 file://0010-Make-root-s-home-directory-configurable.patch \ 39 file://0010-Make-root-s-home-directory-configurable.patch \
42 file://0011-systemd-user-avoid-using-system-auth.patch \ 40 file://0011-systemd-user-avoid-using-system-auth.patch \
43 file://0012-systemd-tmpfiles.c-Honor-ordering-within-files-as-th.patch \
44 file://0014-Revert-rules-remove-firmware-loading-rules.patch \ 41 file://0014-Revert-rules-remove-firmware-loading-rules.patch \
45 file://0015-Revert-udev-remove-userspace-firmware-loading-suppor.patch \ 42 file://0015-Revert-udev-remove-userspace-firmware-loading-suppor.patch \
46 file://tmpfiles-pam.patch \
47 file://0001-Revert-core-mount-add-dependencies-to-dynamically-mo.patch \
48 file://touchscreen.rules \ 43 file://touchscreen.rules \
49 file://00-create-volatile.conf \ 44 file://00-create-volatile.conf \
50 file://init \ 45 file://init \
@@ -119,8 +114,6 @@ EXTRA_OECONF = " --with-rootprefix=${rootprefix} \
119 --with-rootlibdir=${rootlibdir} \ 114 --with-rootlibdir=${rootlibdir} \
120 --with-roothomedir=${ROOT_HOME} \ 115 --with-roothomedir=${ROOT_HOME} \
121 --disable-coredump \ 116 --disable-coredump \
122 --disable-introspection \
123 --disable-kdbus \
124 --enable-split-usr \ 117 --enable-split-usr \
125 --without-python \ 118 --without-python \
126 --with-sysvrcnd-path=${sysconfdir} \ 119 --with-sysvrcnd-path=${sysconfdir} \
@@ -220,7 +213,7 @@ python populate_packages_prepend (){
220PACKAGES_DYNAMIC += "^lib(udev|systemd).*" 213PACKAGES_DYNAMIC += "^lib(udev|systemd).*"
221 214
222PACKAGES =+ "${PN}-gui ${PN}-vconsole-setup ${PN}-initramfs ${PN}-analyze ${PN}-kernel-install \ 215PACKAGES =+ "${PN}-gui ${PN}-vconsole-setup ${PN}-initramfs ${PN}-analyze ${PN}-kernel-install \
223 ${PN}-rpm-macros ${PN}-binfmt ${PN}-pam ${PN}-zsh libgudev" 216 ${PN}-rpm-macros ${PN}-binfmt ${PN}-pam ${PN}-zsh ${PN}-xorg-xinitrc"
224 217
225SYSTEMD_PACKAGES = "${PN}-binfmt" 218SYSTEMD_PACKAGES = "${PN}-binfmt"
226SYSTEMD_SERVICE_${PN}-binfmt = "systemd-binfmt.service" 219SYSTEMD_SERVICE_${PN}-binfmt = "systemd-binfmt.service"
@@ -234,8 +227,6 @@ FILES_${PN}-analyze = "${bindir}/systemd-analyze"
234FILES_${PN}-initramfs = "/init" 227FILES_${PN}-initramfs = "/init"
235RDEPENDS_${PN}-initramfs = "${PN}" 228RDEPENDS_${PN}-initramfs = "${PN}"
236 229
237FILES_libgudev = "${libdir}/libgudev*${SOLIBS}"
238
239RDEPENDS_${PN}-ptest += "perl python bash" 230RDEPENDS_${PN}-ptest += "perl python bash"
240FILES_${PN}-ptest += "${libdir}/udev/rules.d" 231FILES_${PN}-ptest += "${libdir}/udev/rules.d"
241 232
@@ -255,6 +246,8 @@ FILES_${PN}-kernel-install = "${bindir}/kernel-install \
255FILES_${PN}-rpm-macros = "${exec_prefix}/lib/rpm \ 246FILES_${PN}-rpm-macros = "${exec_prefix}/lib/rpm \
256 " 247 "
257 248
249FILES_${PN}-xorg-xinitrc = "${sysconfdir}/X11/xinit/xinitrc.d/*"
250
258FILES_${PN}-zsh = "${datadir}/zsh/site-functions" 251FILES_${PN}-zsh = "${datadir}/zsh/site-functions"
259 252
260FILES_${PN}-binfmt = "${sysconfdir}/binfmt.d/ \ 253FILES_${PN}-binfmt = "${sysconfdir}/binfmt.d/ \