summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2016-11-28 13:26:06 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-12-08 10:31:29 +0000
commitf9c12adaf8b3db01a91cc1ea11369d89a3a61c41 (patch)
tree07af401695250da26f363bdc464bbc8340b22ce1 /meta/recipes-core
parentb71f78ed6d17432aaaa389bdfc175e2d397a3f74 (diff)
downloadpoky-f9c12adaf8b3db01a91cc1ea11369d89a3a61c41.tar.gz
systemd: Upgrade to 232
* Drop support for rcS.d SysV init scripts. These are prone to cause dependency loops, and almost all packages with rcS scripts now ship a native systemd service. * Drop mount propagation patch, it only happens with libseccomp, OE doesnt enable it * kdbus option has disappeared from configure * Ignore dev-so for PN now since systemd introduced private .so see https://github.com/systemd/systemd/issues/3810 * Add libnss* to PACKAGES_DYNAMIC for libnss-resolve to work correctly * Forward port systemd-boot patches to systemd-232 (From OE-Core rev: e6c1765a05c1321f08f3d1fb521dfe6b07bc8e92) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core')
-rw-r--r--meta/recipes-core/systemd/systemd.inc4
-rw-r--r--meta/recipes-core/systemd/systemd/0001-core-device.c-Change-the-default-device-timeout-to-2.patch8
-rw-r--r--meta/recipes-core/systemd/systemd/0002-units-Prefer-getty-to-agetty-in-console-setup-system.patch10
-rw-r--r--meta/recipes-core/systemd/systemd/0003-define-exp10-if-missing.patch12
-rw-r--r--meta/recipes-core/systemd/systemd/0004-Use-getenv-when-secure-versions-are-not-available.patch21
-rw-r--r--meta/recipes-core/systemd/systemd/0005-binfmt-Don-t-install-dependency-links-at-install-tim.patch10
-rw-r--r--meta/recipes-core/systemd/systemd/0006-configure-Check-for-additional-features-that-uclibc-.patch10
-rw-r--r--meta/recipes-core/systemd/systemd/0007-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch38
-rw-r--r--meta/recipes-core/systemd/systemd/0008-nspawn-Use-execvpe-only-when-libc-supports-it.patch16
-rw-r--r--meta/recipes-core/systemd/systemd/0009-util-bypass-unimplemented-_SC_PHYS_PAGES-system-conf.patch27
-rw-r--r--meta/recipes-core/systemd/systemd/0010-implment-systemd-sysv-install-for-OE.patch6
-rw-r--r--meta/recipes-core/systemd/systemd/0011-nss-mymachines-Build-conditionally-when-HAVE_MYHOSTN.patch12
-rw-r--r--meta/recipes-core/systemd/systemd/0012-rules-whitelist-hd-devices.patch21
-rw-r--r--meta/recipes-core/systemd/systemd/0013-Make-root-s-home-directory-configurable.patch (renamed from meta/recipes-core/systemd/systemd/0014-Make-root-s-home-directory-configurable.patch)90
-rw-r--r--meta/recipes-core/systemd/systemd/0013-sysv-generator-add-support-for-executing-scripts-und.patch133
-rw-r--r--meta/recipes-core/systemd/systemd/0014-Revert-rules-remove-firmware-loading-rules.patch (renamed from meta/recipes-core/systemd/systemd/0016-Revert-rules-remove-firmware-loading-rules.patch)6
-rw-r--r--meta/recipes-core/systemd/systemd/0015-Revert-udev-remove-userspace-firmware-loading-suppor.patch (renamed from meta/recipes-core/systemd/systemd/0017-Revert-udev-remove-userspace-firmware-loading-suppor.patch)58
-rw-r--r--meta/recipes-core/systemd/systemd/0015-systemd-user-avoid-using-system-auth.patch35
-rw-r--r--meta/recipes-core/systemd/systemd/0016-make-test-dir-configurable.patch (renamed from meta/recipes-core/systemd/systemd/0018-make-test-dir-configurable.patch)21
-rw-r--r--meta/recipes-core/systemd/systemd/0017-remove-duplicate-include-uchar.h.patch (renamed from meta/recipes-core/systemd/systemd/0019-remove-duplicate-include-uchar.h.patch)10
-rw-r--r--meta/recipes-core/systemd/systemd/0018-check-for-uchar.h-in-configure.patch (renamed from meta/recipes-core/systemd/systemd/0020-check-for-uchar.h-in-configure.patch)16
-rw-r--r--meta/recipes-core/systemd/systemd/0019-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch (renamed from meta/recipes-core/systemd/systemd/0022-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch)20
-rw-r--r--meta/recipes-core/systemd/systemd/0021-include-missing.h-for-getting-secure_getenv-definiti.patch27
-rw-r--r--meta/recipes-core/systemd/systemd/CVE-2016-7795.patch69
-rw-r--r--meta/recipes-core/systemd/systemd/udev-re-enable-mount-propagation-for-udevd.patch31
-rw-r--r--meta/recipes-core/systemd/systemd_232.bb (renamed from meta/recipes-core/systemd/systemd_230.bb)24
26 files changed, 196 insertions, 539 deletions
diff --git a/meta/recipes-core/systemd/systemd.inc b/meta/recipes-core/systemd/systemd.inc
index f800f42e97..29e0be6ae5 100644
--- a/meta/recipes-core/systemd/systemd.inc
+++ b/meta/recipes-core/systemd/systemd.inc
@@ -14,12 +14,10 @@ LICENSE = "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 16
17SRCREV = "3a74d4fc90cb322a4784a3515bef7118c8f8c5ba" 17SRCREV = "a1e2ef7ec912902d8142e7cb5830cbfb47dba86c"
18 18
19SRC_URI = "git://github.com/systemd/systemd.git;protocol=git" 19SRC_URI = "git://github.com/systemd/systemd.git;protocol=git"
20 20
21PV = "230+git${SRCPV}"
22
23S = "${WORKDIR}/git" 21S = "${WORKDIR}/git"
24 22
25LDFLAGS_append_libc-uclibc = " -lrt -lssp_nonshared -lssp " 23LDFLAGS_append_libc-uclibc = " -lrt -lssp_nonshared -lssp "
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 f7ef7a3219..ee2cd6c453 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 @@
1From 3bc4552117879f57522b5972b724729ca993f1ea Mon Sep 17 00:00:00 2001 1From a544d6d15f5c418084f322349aafe341128d5fca Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 14 Dec 2015 04:09:19 +0000 3Date: Mon, 14 Dec 2015 04:09:19 +0000
4Subject: [PATCH 01/36] core/device.c: Change the default device timeout to 240 4Subject: [PATCH 01/19] core/device.c: Change the default device timeout to 240
5 sec. 5 sec.
6MIME-Version: 1.0 6MIME-Version: 1.0
7Content-Type: text/plain; charset=UTF-8 7Content-Type: text/plain; charset=UTF-8
@@ -16,7 +16,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
16 1 file changed, 1 insertion(+), 1 deletion(-) 16 1 file changed, 1 insertion(+), 1 deletion(-)
17 17
18diff --git a/src/core/device.c b/src/core/device.c 18diff --git a/src/core/device.c b/src/core/device.c
19index d201dc5..340d62a 100644 19index c572a67..f90774e 100644
20--- a/src/core/device.c 20--- a/src/core/device.c
21+++ b/src/core/device.c 21+++ b/src/core/device.c
22@@ -112,7 +112,7 @@ static void device_init(Unit *u) { 22@@ -112,7 +112,7 @@ static void device_init(Unit *u) {
@@ -29,5 +29,5 @@ index d201dc5..340d62a 100644
29 u->ignore_on_isolate = true; 29 u->ignore_on_isolate = true;
30 } 30 }
31-- 31--
321.8.3.1 322.10.2
33 33
diff --git a/meta/recipes-core/systemd/systemd/0002-units-Prefer-getty-to-agetty-in-console-setup-system.patch b/meta/recipes-core/systemd/systemd/0002-units-Prefer-getty-to-agetty-in-console-setup-system.patch
index 28939eb021..951a28d4f8 100644
--- a/meta/recipes-core/systemd/systemd/0002-units-Prefer-getty-to-agetty-in-console-setup-system.patch
+++ b/meta/recipes-core/systemd/systemd/0002-units-Prefer-getty-to-agetty-in-console-setup-system.patch
@@ -1,7 +1,7 @@
1From e5f405aba347d216e7f2b73d7dd681b13be442e3 Mon Sep 17 00:00:00 2001 1From 8736d9b9bb492f60e8f3a1a7fb5a05ba3201d86b Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 20 Feb 2015 05:29:15 +0000 3Date: Fri, 20 Feb 2015 05:29:15 +0000
4Subject: [PATCH 02/36] units: Prefer getty to agetty in console setup systemd 4Subject: [PATCH 02/19] units: Prefer getty to agetty in console setup systemd
5 units 5 units
6 6
7Upstream-Status: Inappropriate [configuration specific] 7Upstream-Status: Inappropriate [configuration specific]
@@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
14 2 files changed, 2 insertions(+), 2 deletions(-) 14 2 files changed, 2 insertions(+), 2 deletions(-)
15 15
16diff --git a/units/getty@.service.m4 b/units/getty@.service.m4 16diff --git a/units/getty@.service.m4 b/units/getty@.service.m4
17index 46164ab..bdf6ec8 100644 17index 5b82c13..e729469 100644
18--- a/units/getty@.service.m4 18--- a/units/getty@.service.m4
19+++ b/units/getty@.service.m4 19+++ b/units/getty@.service.m4
20@@ -27,7 +27,7 @@ ConditionPathExists=/dev/tty0 20@@ -33,7 +33,7 @@ ConditionPathExists=/dev/tty0
21 21
22 [Service] 22 [Service]
23 # the VT is cleared by TTYVTDisallocate 23 # the VT is cleared by TTYVTDisallocate
@@ -40,5 +40,5 @@ index 4522d0d..e6d499d 100644
40 Restart=always 40 Restart=always
41 UtmpIdentifier=%I 41 UtmpIdentifier=%I
42-- 42--
431.8.3.1 432.10.2
44 44
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 e62d580f18..37c6ac5d10 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,4 +1,7 @@
1Subject: [PATCH 03/36] define exp10 if missing 1From b383c286f58184575216b2bf6f185ba2ad648956 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 9 Nov 2016 19:25:45 -0800
4Subject: [PATCH 03/19] define exp10 if missing
2 5
3Inspired by: http://peter.korsgaard.com/patches/alsa-utils/alsamixer-fix-build-on-uClibc-exp10.patch 6Inspired by: http://peter.korsgaard.com/patches/alsa-utils/alsamixer-fix-build-on-uClibc-exp10.patch
4 7
@@ -8,16 +11,15 @@ Upstream-Status: Pending
8 11
9Signed-off-by: Samuel Martin <s.martin49@gmail.com> 12Signed-off-by: Samuel Martin <s.martin49@gmail.com>
10Signed-off-by: Khem Raj <raj.khem@gmail.com> 13Signed-off-by: Khem Raj <raj.khem@gmail.com>
11
12--- 14---
13 src/basic/missing.h | 5 +++++ 15 src/basic/missing.h | 5 +++++
14 1 file changed, 5 insertions(+) 16 1 file changed, 5 insertions(+)
15 17
16diff --git a/src/basic/missing.h b/src/basic/missing.h 18diff --git a/src/basic/missing.h b/src/basic/missing.h
17index 651e414..fafa233 100644 19index 4c013be..4a3fd9c 100644
18--- a/src/basic/missing.h 20--- a/src/basic/missing.h
19+++ b/src/basic/missing.h 21+++ b/src/basic/missing.h
20@@ -1013,4 +1013,9 @@ typedef int32_t key_serial_t; 22@@ -1078,4 +1078,9 @@ typedef int32_t key_serial_t;
21 23
22 #endif 24 #endif
23 25
@@ -28,5 +30,5 @@ index 651e414..fafa233 100644
28+ 30+
29 #include "missing_syscall.h" 31 #include "missing_syscall.h"
30-- 32--
312.8.3 332.10.2
32 34
diff --git a/meta/recipes-core/systemd/systemd/0004-Use-getenv-when-secure-versions-are-not-available.patch b/meta/recipes-core/systemd/systemd/0004-Use-getenv-when-secure-versions-are-not-available.patch
index 989a1fa1df..ab2cbe035b 100644
--- a/meta/recipes-core/systemd/systemd/0004-Use-getenv-when-secure-versions-are-not-available.patch
+++ b/meta/recipes-core/systemd/systemd/0004-Use-getenv-when-secure-versions-are-not-available.patch
@@ -1,7 +1,7 @@
1From bb8d8148b16572ae17d3c308552cf73915386b05 Mon Sep 17 00:00:00 2001 1From 5765cda4f7243e240b1e8723dc536fb20503d544 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 12 Sep 2015 19:10:04 +0000 3Date: Wed, 9 Nov 2016 19:28:32 -0800
4Subject: [PATCH 04/36] Use getenv when secure versions are not available 4Subject: [PATCH 04/19] Use getenv when secure versions are not available
5 5
6musl doesnt implement secure version, so we default 6musl doesnt implement secure version, so we default
7to it if configure does not detect a secure imeplementation 7to it if configure does not detect a secure imeplementation
@@ -9,19 +9,14 @@ to it if configure does not detect a secure imeplementation
9Signed-off-by: Khem Raj <raj.khem@gmail.com> 9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10Upstream-Status: Denied 10Upstream-Status: Denied
11--- 11---
12 src/basic/missing.h | 3 +-- 12 src/basic/missing.h | 2 +-
13 1 file changed, 1 insertion(+), 2 deletions(-) 13 1 file changed, 1 insertion(+), 1 deletion(-)
14 14
15diff --git a/src/basic/missing.h b/src/basic/missing.h 15diff --git a/src/basic/missing.h b/src/basic/missing.h
16index ee7e7ea..3170429 100644 16index 4a3fd9c..4936873 100644
17--- a/src/basic/missing.h 17--- a/src/basic/missing.h
18+++ b/src/basic/missing.h 18+++ b/src/basic/missing.h
19@@ -585,12 +585,11 @@ static inline int name_to_handle_at(int fd, const char *name, struct file_handle 19@@ -529,7 +529,7 @@ struct btrfs_ioctl_quota_ctl_args {
20 return syscall(__NR_name_to_handle_at, fd, name, handle, mnt_id, flags);
21 }
22 #endif
23-
24 #ifndef HAVE_SECURE_GETENV
25 # ifdef HAVE___SECURE_GETENV 20 # ifdef HAVE___SECURE_GETENV
26 # define secure_getenv __secure_getenv 21 # define secure_getenv __secure_getenv
27 # else 22 # else
@@ -31,5 +26,5 @@ index ee7e7ea..3170429 100644
31 #endif 26 #endif
32 27
33-- 28--
341.8.3.1 292.10.2
35 30
diff --git a/meta/recipes-core/systemd/systemd/0005-binfmt-Don-t-install-dependency-links-at-install-tim.patch b/meta/recipes-core/systemd/systemd/0005-binfmt-Don-t-install-dependency-links-at-install-tim.patch
index f69e26ec5c..7016e986b8 100644
--- a/meta/recipes-core/systemd/systemd/0005-binfmt-Don-t-install-dependency-links-at-install-tim.patch
+++ b/meta/recipes-core/systemd/systemd/0005-binfmt-Don-t-install-dependency-links-at-install-tim.patch
@@ -1,7 +1,7 @@
1From 3436b12d40bf4f4ab7e3e16600e5f6c35a470da4 Mon Sep 17 00:00:00 2001 1From 74450f0dbad2f8478c26eeaa46d4e4a987858f45 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 20 Feb 2015 05:03:44 +0000 3Date: Fri, 20 Feb 2015 05:03:44 +0000
4Subject: [PATCH 05/36] binfmt: Don't install dependency links at install time 4Subject: [PATCH 05/19] binfmt: Don't install dependency links at install time
5 for the binfmt services 5 for the binfmt services
6 6
7use [Install] blocks so that they get created when the service is enabled 7use [Install] blocks so that they get created when the service is enabled
@@ -24,10 +24,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
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 26diff --git a/Makefile.am b/Makefile.am
27index 03341fc..629740f 100644 27index 50da458..29ed1dd 100644
28--- a/Makefile.am 28--- a/Makefile.am
29+++ b/Makefile.am 29+++ b/Makefile.am
30@@ -4387,10 +4387,6 @@ INSTALL_DIRS += \ 30@@ -4635,10 +4635,6 @@ INSTALL_DIRS += \
31 $(prefix)/lib/binfmt.d \ 31 $(prefix)/lib/binfmt.d \
32 $(sysconfdir)/binfmt.d 32 $(sysconfdir)/binfmt.d
33 33
@@ -70,5 +70,5 @@ index d53073e..8c57ee0 100644
70+[Install] 70+[Install]
71+WantedBy=sysinit.target 71+WantedBy=sysinit.target
72-- 72--
731.8.3.1 732.10.2
74 74
diff --git a/meta/recipes-core/systemd/systemd/0006-configure-Check-for-additional-features-that-uclibc-.patch b/meta/recipes-core/systemd/systemd/0006-configure-Check-for-additional-features-that-uclibc-.patch
index 0d63755731..43a0d3f616 100644
--- a/meta/recipes-core/systemd/systemd/0006-configure-Check-for-additional-features-that-uclibc-.patch
+++ b/meta/recipes-core/systemd/systemd/0006-configure-Check-for-additional-features-that-uclibc-.patch
@@ -1,7 +1,7 @@
1From bb6f1d8a000b337280541afde7cccdcfe03cdeb1 Mon Sep 17 00:00:00 2001 1From 82d837b76618a773485b96e38b7b91083a7437e8 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 20 Feb 2015 05:05:45 +0000 3Date: Fri, 20 Feb 2015 05:05:45 +0000
4Subject: [PATCH 06/36] configure: Check for additional features that uclibc 4Subject: [PATCH 06/19] configure: Check for additional features that uclibc
5 doesnt support 5 doesnt support
6 6
7This helps in supporting uclibc which does not have all features that 7This helps in supporting uclibc which does not have all features that
@@ -15,10 +15,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
15 1 file changed, 18 insertions(+) 15 1 file changed, 18 insertions(+)
16 16
17diff --git a/configure.ac b/configure.ac 17diff --git a/configure.ac b/configure.ac
18index f51533c..0239fd0 100644 18index 7f6b3b9..7c4b5a2 100644
19--- a/configure.ac 19--- a/configure.ac
20+++ b/configure.ac 20+++ b/configure.ac
21@@ -112,6 +112,24 @@ AC_PATH_PROG([UMOUNT_PATH], [umount], [/usr/bin/umount], [$PATH:/usr/sbin:/sbin] 21@@ -110,6 +110,24 @@ AC_PATH_PROG([UMOUNT_PATH], [umount], [/usr/bin/umount], [$PATH:/usr/sbin:/sbin]
22 22
23 AS_IF([! ln --relative --help > /dev/null 2>&1], [AC_MSG_ERROR([*** ln doesn't support --relative ***])]) 23 AS_IF([! ln --relative --help > /dev/null 2>&1], [AC_MSG_ERROR([*** ln doesn't support --relative ***])])
24 24
@@ -44,5 +44,5 @@ index f51533c..0239fd0 100644
44 44
45 AC_CHECK_TOOL(OBJCOPY, objcopy) 45 AC_CHECK_TOOL(OBJCOPY, objcopy)
46-- 46--
471.8.3.1 472.10.2
48 48
diff --git a/meta/recipes-core/systemd/systemd/0007-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch b/meta/recipes-core/systemd/systemd/0007-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch
index 12f6ace93d..fad69a51af 100644
--- a/meta/recipes-core/systemd/systemd/0007-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch
+++ b/meta/recipes-core/systemd/systemd/0007-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch
@@ -1,31 +1,22 @@
1From fa5e137fbd2fb081ae897575377d718ee8cb6349 Mon Sep 17 00:00:00 2001 1From a3482c91642cf568b3ac27fa6c0cb3c6b30669b7 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 20 Dec 2015 04:20:28 +0000 3Date: Wed, 9 Nov 2016 19:32:14 -0800
4Subject: [PATCH 07/36] use lnr wrapper instead of looking for --relative 4Subject: [PATCH 07/19] use lnr wrapper instead of looking for --relative
5 option for ln 5 option for ln
6 6
7Upstream-Status: Inappropriate [OE-Specific] 7Upstream-Status: Inappropriate [OE-Specific]
8 8
9Signed-off-by: Khem Raj <raj.khem@gmail.com> 9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10--- 10---
11 Makefile.am | 6 +++--- 11 Makefile.am | 2 +-
12 configure.ac | 2 -- 12 configure.ac | 2 --
13 2 files changed, 3 insertions(+), 5 deletions(-) 13 2 files changed, 1 insertion(+), 3 deletions(-)
14 14
15diff --git a/Makefile.am b/Makefile.am 15diff --git a/Makefile.am b/Makefile.am
16index 629740f..82b6553 100644 16index 29ed1dd..02f4017 100644
17--- a/Makefile.am 17--- a/Makefile.am
18+++ b/Makefile.am 18+++ b/Makefile.am
19@@ -243,7 +243,7 @@ define move-to-rootlibdir 19@@ -320,7 +320,7 @@ define install-relative-aliases
20 $(MKDIR_P) $(DESTDIR)$(rootlibdir) && \
21 so_img_name=$$(readlink $(DESTDIR)$(libdir)/$$libname) && \
22 rm -f $(DESTDIR)$(libdir)/$$libname && \
23- $(LN_S) --relative -f $(DESTDIR)$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/$$libname && \
24+ lnr $(DESTDIR)$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/$$libname && \
25 mv $(DESTDIR)$(libdir)/$$libname.* $(DESTDIR)$(rootlibdir); \
26 fi
27 endef
28@@ -317,7 +317,7 @@ define install-relative-aliases
29 while [ -n "$$1" ]; do \ 20 while [ -n "$$1" ]; do \
30 $(MKDIR_P) `dirname $(DESTDIR)$$dir/$$2` && \ 21 $(MKDIR_P) `dirname $(DESTDIR)$$dir/$$2` && \
31 rm -f $(DESTDIR)$$dir/$$2 && \ 22 rm -f $(DESTDIR)$$dir/$$2 && \
@@ -34,20 +25,11 @@ index 629740f..82b6553 100644
34 shift 2 || exit $$?; \ 25 shift 2 || exit $$?; \
35 done 26 done
36 endef 27 endef
37@@ -2781,7 +2781,7 @@ systemd_dbus1_generator_LDADD = \
38 dbus1-generator-install-hook:
39 $(AM_V_at)$(MKDIR_P) $(DESTDIR)$(usergeneratordir)
40 $(AM_V_RM)rm -f $(DESTDIR)$(usergeneratordir)/systemd-dbus1-generator
41- $(AM_V_LN)$(LN_S) --relative -f $(DESTDIR)$(systemgeneratordir)/systemd-dbus1-generator $(DESTDIR)$(usergeneratordir)/systemd-dbus1-generator
42+ $(AM_V_LN)lnr $(DESTDIR)$(systemgeneratordir)/systemd-dbus1-generator $(DESTDIR)$(usergeneratordir)/systemd-dbus1-generator
43
44 dbus1-generator-uninstall-hook:
45 rm -f $(DESTDIR)$(usergeneratordir)/systemd-dbus1-generator
46diff --git a/configure.ac b/configure.ac 28diff --git a/configure.ac b/configure.ac
47index 0239fd0..c5ab9d0 100644 29index 7c4b5a2..b10c952 100644
48--- a/configure.ac 30--- a/configure.ac
49+++ b/configure.ac 31+++ b/configure.ac
50@@ -110,8 +110,6 @@ AC_PATH_PROG([SULOGIN], [sulogin], [/usr/sbin/sulogin], [$PATH:/usr/sbin:/sbin]) 32@@ -108,8 +108,6 @@ AC_PATH_PROG([SULOGIN], [sulogin], [/usr/sbin/sulogin], [$PATH:/usr/sbin:/sbin])
51 AC_PATH_PROG([MOUNT_PATH], [mount], [/usr/bin/mount], [$PATH:/usr/sbin:/sbin]) 33 AC_PATH_PROG([MOUNT_PATH], [mount], [/usr/bin/mount], [$PATH:/usr/sbin:/sbin])
52 AC_PATH_PROG([UMOUNT_PATH], [umount], [/usr/bin/umount], [$PATH:/usr/sbin:/sbin]) 34 AC_PATH_PROG([UMOUNT_PATH], [umount], [/usr/bin/umount], [$PATH:/usr/sbin:/sbin])
53 35
@@ -57,5 +39,5 @@ index 0239fd0..c5ab9d0 100644
57 39
58 AC_CHECK_FUNCS_ONCE(mkostemp execvpe posix_fallocate) 40 AC_CHECK_FUNCS_ONCE(mkostemp execvpe posix_fallocate)
59-- 41--
601.8.3.1 422.10.2
61 43
diff --git a/meta/recipes-core/systemd/systemd/0008-nspawn-Use-execvpe-only-when-libc-supports-it.patch b/meta/recipes-core/systemd/systemd/0008-nspawn-Use-execvpe-only-when-libc-supports-it.patch
index 6e6f199ef1..586b5aab7d 100644
--- a/meta/recipes-core/systemd/systemd/0008-nspawn-Use-execvpe-only-when-libc-supports-it.patch
+++ b/meta/recipes-core/systemd/systemd/0008-nspawn-Use-execvpe-only-when-libc-supports-it.patch
@@ -1,7 +1,7 @@
1From ae999ff50efb9cc82537adef7696c6f732afcfc8 Mon Sep 17 00:00:00 2001 1From 96026a3763264eb41a2c3e374f232f6e543284a8 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 20 Feb 2015 05:10:37 +0000 3Date: Wed, 9 Nov 2016 19:33:49 -0800
4Subject: [PATCH 08/36] nspawn: Use execvpe only when libc supports it 4Subject: [PATCH 08/19] nspawn: Use execvpe only when libc supports it
5 5
6Upstream-Status: Denied [no desire for uclibc support] 6Upstream-Status: Denied [no desire for uclibc support]
7 7
@@ -11,10 +11,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
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 13diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
14index 5a68fec..65e65ec 100644 14index 9b9ae90..19b47cd 100644
15--- a/src/nspawn/nspawn.c 15--- a/src/nspawn/nspawn.c
16+++ b/src/nspawn/nspawn.c 16+++ b/src/nspawn/nspawn.c
17@@ -111,6 +111,8 @@ typedef enum LinkJournal { 17@@ -123,6 +123,8 @@ typedef enum LinkJournal {
18 LINK_GUEST 18 LINK_GUEST
19 } LinkJournal; 19 } LinkJournal;
20 20
@@ -23,7 +23,7 @@ index 5a68fec..65e65ec 100644
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_chdir = NULL; 25 static char *arg_chdir = NULL;
26@@ -2637,7 +2639,12 @@ static int inner_child( 26@@ -2871,7 +2873,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 (!strv_isempty(arg_parameters)) 29 } else if (!strv_isempty(arg_parameters))
@@ -35,7 +35,7 @@ index 5a68fec..65e65ec 100644
35+#endif /* HAVE_EXECVPE */ 35+#endif /* HAVE_EXECVPE */
36 else { 36 else {
37 if (!arg_chdir) 37 if (!arg_chdir)
38 chdir(home ?: "/root"); 38 /* If we cannot change the directory, we'll end up in /, that is expected. */
39-- 39--
401.8.3.1 402.10.2
41 41
diff --git a/meta/recipes-core/systemd/systemd/0009-util-bypass-unimplemented-_SC_PHYS_PAGES-system-conf.patch b/meta/recipes-core/systemd/systemd/0009-util-bypass-unimplemented-_SC_PHYS_PAGES-system-conf.patch
index 116f3d4de6..f150bb087a 100644
--- a/meta/recipes-core/systemd/systemd/0009-util-bypass-unimplemented-_SC_PHYS_PAGES-system-conf.patch
+++ b/meta/recipes-core/systemd/systemd/0009-util-bypass-unimplemented-_SC_PHYS_PAGES-system-conf.patch
@@ -1,7 +1,7 @@
1From 3498f488b27f90398d7c8d1d06aac5ab684370e8 Mon Sep 17 00:00:00 2001 1From 085c8b6f253726ad547e7be84ff3f2b99701488b Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 14 Dec 2015 00:47:53 +0000 3Date: Wed, 9 Nov 2016 19:38:07 -0800
4Subject: [PATCH 09/36] util: bypass unimplemented _SC_PHYS_PAGES system 4Subject: [PATCH 09/19] util: bypass unimplemented _SC_PHYS_PAGES system
5 configuration API on uclibc 5 configuration API on uclibc
6 6
7Upstream-Status: Inappropriate [uclibc-specific] 7Upstream-Status: Inappropriate [uclibc-specific]
@@ -12,12 +12,12 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
12 1 file changed, 15 insertions(+) 12 1 file changed, 15 insertions(+)
13 13
14diff --git a/src/basic/util.c b/src/basic/util.c 14diff --git a/src/basic/util.c b/src/basic/util.c
15index ea1bed7..fdaf340 100644 15index c1b5ca1..4c62d43 100644
16--- a/src/basic/util.c 16--- a/src/basic/util.c
17+++ b/src/basic/util.c 17+++ b/src/basic/util.c
18@@ -767,10 +767,25 @@ uint64_t physical_memory(void) { 18@@ -742,6 +742,20 @@ uint64_t physical_memory(void) {
19 /* We return this as uint64_t in case we are running as 32bit 19 * In order to support containers nicely that have a configured memory limit we'll take the minimum of the
20 * process on a 64bit kernel with huge amounts of memory */ 20 * physically reported amount of memory and the limit configured for the root cgroup, if there is any. */
21 21
22+#ifdef __UCLIBC__ 22+#ifdef __UCLIBC__
23+ char line[128]; 23+ char line[128];
@@ -33,14 +33,17 @@ index ea1bed7..fdaf340 100644
33+ fclose(f); 33+ fclose(f);
34+ return (uint64_t) mem; 34+ return (uint64_t) mem;
35+#else 35+#else
36 mem = sysconf(_SC_PHYS_PAGES); 36 sc = sysconf(_SC_PHYS_PAGES);
37 assert(mem > 0); 37 assert(sc > 0);
38 38
39 return (uint64_t) mem * (uint64_t) page_size(); 39@@ -762,6 +776,7 @@ uint64_t physical_memory(void) {
40 lim *= ps;
41
42 return MIN(mem, lim);
40+#endif 43+#endif
41 } 44 }
42 45
43 int update_reboot_param_file(const char *param) { 46 uint64_t physical_memory_scale(uint64_t v, uint64_t max) {
44-- 47--
451.8.3.1 482.10.2
46 49
diff --git a/meta/recipes-core/systemd/systemd/0010-implment-systemd-sysv-install-for-OE.patch b/meta/recipes-core/systemd/systemd/0010-implment-systemd-sysv-install-for-OE.patch
index 75fa3a54eb..8828d6ec3e 100644
--- a/meta/recipes-core/systemd/systemd/0010-implment-systemd-sysv-install-for-OE.patch
+++ b/meta/recipes-core/systemd/systemd/0010-implment-systemd-sysv-install-for-OE.patch
@@ -1,7 +1,7 @@
1From 5f94f5ad46c1ded54c3797979d384e4c1eb77bb0 Mon Sep 17 00:00:00 2001 1From 52726be92e2b841f744a96c378cc872ae0033a2b Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 5 Sep 2015 06:31:47 +0000 3Date: Sat, 5 Sep 2015 06:31:47 +0000
4Subject: [PATCH 10/36] implment systemd-sysv-install for OE 4Subject: [PATCH 10/19] implment systemd-sysv-install for OE
5 5
6Use update-rc.d for enabling/disabling and status command 6Use update-rc.d for enabling/disabling and status command
7to check the status of the sysv service 7to check the status of the sysv service
@@ -39,5 +39,5 @@ index a53a3e6..5d877b0 100755
39 *) 39 *)
40 usage ;; 40 usage ;;
41-- 41--
421.8.3.1 422.10.2
43 43
diff --git a/meta/recipes-core/systemd/systemd/0011-nss-mymachines-Build-conditionally-when-HAVE_MYHOSTN.patch b/meta/recipes-core/systemd/systemd/0011-nss-mymachines-Build-conditionally-when-HAVE_MYHOSTN.patch
index 34ae64535d..b01ae97150 100644
--- a/meta/recipes-core/systemd/systemd/0011-nss-mymachines-Build-conditionally-when-HAVE_MYHOSTN.patch
+++ b/meta/recipes-core/systemd/systemd/0011-nss-mymachines-Build-conditionally-when-HAVE_MYHOSTN.patch
@@ -1,7 +1,7 @@
1From 2b2450f6b7197bff4637c0283e8784500471d083 Mon Sep 17 00:00:00 2001 1From 3f6f45578b828e414f50c6822375073e7174236a Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 14 Dec 2015 00:50:01 +0000 3Date: Mon, 14 Dec 2015 00:50:01 +0000
4Subject: [PATCH 11/36] nss-mymachines: Build conditionally when 4Subject: [PATCH 11/19] nss-mymachines: Build conditionally when
5 HAVE_MYHOSTNAME is set 5 HAVE_MYHOSTNAME is set
6 6
7Fixes build failures when building with --disable-myhostname 7Fixes build failures when building with --disable-myhostname
@@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
14 1 file changed, 2 insertions(+) 14 1 file changed, 2 insertions(+)
15 15
16diff --git a/Makefile.am b/Makefile.am 16diff --git a/Makefile.am b/Makefile.am
17index 82b6553..b3f3343 100644 17index 02f4017..420e0e0 100644
18--- a/Makefile.am 18--- a/Makefile.am
19+++ b/Makefile.am 19+++ b/Makefile.am
20@@ -4876,6 +4876,7 @@ SYSTEM_UNIT_ALIASES += \ 20@@ -5146,6 +5146,7 @@ SYSTEM_UNIT_ALIASES += \
21 BUSNAMES_TARGET_WANTS += \ 21 BUSNAMES_TARGET_WANTS += \
22 org.freedesktop.machine1.busname 22 org.freedesktop.machine1.busname
23 23
@@ -25,7 +25,7 @@ index 82b6553..b3f3343 100644
25 libnss_mymachines_la_SOURCES = \ 25 libnss_mymachines_la_SOURCES = \
26 src/nss-mymachines/nss-mymachines.sym \ 26 src/nss-mymachines/nss-mymachines.sym \
27 src/nss-mymachines/nss-mymachines.c 27 src/nss-mymachines/nss-mymachines.c
28@@ -4896,6 +4897,7 @@ lib_LTLIBRARIES += \ 28@@ -5167,6 +5168,7 @@ rootlib_LTLIBRARIES += \
29 libnss_mymachines.la 29 libnss_mymachines.la
30 30
31 endif 31 endif
@@ -34,5 +34,5 @@ index 82b6553..b3f3343 100644
34 polkitpolicy_in_files += \ 34 polkitpolicy_in_files += \
35 src/machine/org.freedesktop.machine1.policy.in 35 src/machine/org.freedesktop.machine1.policy.in
36-- 36--
371.8.3.1 372.10.2
38 38
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 6143088e8c..8666bdc652 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 @@
1From 5ebc0d87565a73710dea602c00b1586d5a1364e5 Mon Sep 17 00:00:00 2001 1From 8cc1ae11f54dcc38ee2168b0f99703b835dd3942 Mon Sep 17 00:00:00 2001
2From: Patrick Ohly <patrick.ohly@intel.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 16 Sep 2015 13:55:58 +0200 3Date: Wed, 9 Nov 2016 19:41:13 -0800
4Subject: [PATCH 12/36] rules: whitelist hd* devices 4Subject: [PATCH 12/19] rules: whitelist hd* devices
5 5
6qemu by default emulates IDE and the linux-yocto kernel(s) use 6qemu by default emulates IDE and the linux-yocto kernel(s) use
7CONFIG_IDE instead of the more modern libsata, so disks appear as 7CONFIG_IDE instead of the more modern libsata, so disks appear as
@@ -10,23 +10,24 @@ CONFIG_IDE instead of the more modern libsata, so disks appear as
10Upstream-Status: Denied [https://github.com/systemd/systemd/pull/1276] 10Upstream-Status: Denied [https://github.com/systemd/systemd/pull/1276]
11 11
12Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> 12Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
13Signed-off-by: Khem Raj <raj.khem@gmail.com>
13--- 14---
14 rules/60-persistent-storage.rules | 2 +- 15 rules/60-persistent-storage.rules | 2 +-
15 1 file changed, 1 insertion(+), 1 deletion(-) 16 1 file changed, 1 insertion(+), 1 deletion(-)
16 17
17diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules 18diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules
18index 0b14bb4..1c4d97a 100644 19index c13d05c..b14fbed 100644
19--- a/rules/60-persistent-storage.rules 20--- a/rules/60-persistent-storage.rules
20+++ b/rules/60-persistent-storage.rules 21+++ b/rules/60-persistent-storage.rules
21@@ -6,7 +6,7 @@ 22@@ -7,7 +7,7 @@ ACTION=="remove", GOTO="persistent_storage_end"
22 ACTION=="remove", GOTO="persistent_storage_end" 23 ENV{UDEV_DISABLE_PERSISTENT_STORAGE_RULES_FLAG}=="1", GOTO="persistent_storage_end"
23 24
24 SUBSYSTEM!="block", GOTO="persistent_storage_end" 25 SUBSYSTEM!="block", GOTO="persistent_storage_end"
25-KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*", 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"
26+KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|hd*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*", 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"
27 28
28 # ignore partitions that span the entire disk 29 # ignore partitions that span the entire disk
29 TEST=="whole_disk", GOTO="persistent_storage_end" 30 TEST=="whole_disk", GOTO="persistent_storage_end"
30-- 31--
311.8.3.1 322.10.2
32 33
diff --git a/meta/recipes-core/systemd/systemd/0014-Make-root-s-home-directory-configurable.patch b/meta/recipes-core/systemd/systemd/0013-Make-root-s-home-directory-configurable.patch
index 2eea0ff9a6..2b333375bb 100644
--- a/meta/recipes-core/systemd/systemd/0014-Make-root-s-home-directory-configurable.patch
+++ b/meta/recipes-core/systemd/systemd/0013-Make-root-s-home-directory-configurable.patch
@@ -1,4 +1,7 @@
1Subject: [PATCH 14/36] Make root's home directory configurable 1From 79e64a07840e0d97d66e46111f1c086bf83981b7 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 9 Nov 2016 20:35:30 -0800
4Subject: [PATCH 13/19] Make root's home directory configurable
2 5
3OpenEmbedded has a configurable home directory for root. Allow 6OpenEmbedded has a configurable home directory for root. Allow
4systemd to be built using its idea of what root's home directory 7systemd to be built using its idea of what root's home directory
@@ -11,23 +14,20 @@ https://github.com/systemd/systemd/issues/541
11 14
12Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca> 15Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
13Signed-off-by: Khem Raj <raj.khem@gmail.com> 16Signed-off-by: Khem Raj <raj.khem@gmail.com>
14
15--- 17---
16 Makefile.am | 2 ++ 18 Makefile.am | 2 ++
17 configure.ac | 7 +++++++ 19 configure.ac | 7 +++++++
18 src/basic/user-util.c | 4 ++-- 20 src/basic/user-util.c | 4 ++--
19 src/core/namespace.c | 2 +- 21 src/nspawn/nspawn.c | 4 ++--
20 src/nspawn/nspawn.c | 4 ++-- 22 units/emergency.service.in | 4 ++--
21 units/console-shell.service.m4.in | 4 ++-- 23 units/rescue.service.in | 4 ++--
22 units/emergency.service.in | 4 ++-- 24 6 files changed, 17 insertions(+), 8 deletions(-)
23 units/rescue.service.in | 4 ++--
24 8 files changed, 20 insertions(+), 11 deletions(-)
25 25
26diff --git a/Makefile.am b/Makefile.am 26diff --git a/Makefile.am b/Makefile.am
27index 305099a..88c1250 100644 27index 420e0e0..3010b01 100644
28--- a/Makefile.am 28--- a/Makefile.am
29+++ b/Makefile.am 29+++ b/Makefile.am
30@@ -206,6 +206,7 @@ AM_CPPFLAGS = \ 30@@ -213,6 +213,7 @@ AM_CPPFLAGS = \
31 -DLIBDIR=\"$(libdir)\" \ 31 -DLIBDIR=\"$(libdir)\" \
32 -DROOTLIBDIR=\"$(rootlibdir)\" \ 32 -DROOTLIBDIR=\"$(rootlibdir)\" \
33 -DROOTLIBEXECDIR=\"$(rootlibexecdir)\" \ 33 -DROOTLIBEXECDIR=\"$(rootlibexecdir)\" \
@@ -35,8 +35,8 @@ index 305099a..88c1250 100644
35 -DTEST_DIR=\"$(abs_top_srcdir)/test\" \ 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@@ -5863,6 +5864,7 @@ EXTRA_DIST += \ 38@@ -6057,6 +6058,7 @@ substitutions = \
39 substitutions = \ 39 '|rootlibdir=$(rootlibdir)|' \
40 '|rootlibexecdir=$(rootlibexecdir)|' \ 40 '|rootlibexecdir=$(rootlibexecdir)|' \
41 '|rootbindir=$(rootbindir)|' \ 41 '|rootbindir=$(rootbindir)|' \
42+ '|roothomedir=$(roothomedir)|' \ 42+ '|roothomedir=$(roothomedir)|' \
@@ -44,10 +44,10 @@ index 305099a..88c1250 100644
44 '|SYSTEMCTL=$(rootbindir)/systemctl|' \ 44 '|SYSTEMCTL=$(rootbindir)/systemctl|' \
45 '|SYSTEMD_NOTIFY=$(rootbindir)/systemd-notify|' \ 45 '|SYSTEMD_NOTIFY=$(rootbindir)/systemd-notify|' \
46diff --git a/configure.ac b/configure.ac 46diff --git a/configure.ac b/configure.ac
47index 329861a..01764f5 100644 47index b10c952..dfc0bd3 100644
48--- a/configure.ac 48--- a/configure.ac
49+++ b/configure.ac 49+++ b/configure.ac
50@@ -1478,6 +1478,11 @@ AC_ARG_WITH([rootlibdir], 50@@ -1513,6 +1513,11 @@ AC_ARG_WITH([rootlibdir],
51 [with_rootlibdir=${libdir}]) 51 [with_rootlibdir=${libdir}])
52 AX_NORMALIZE_PATH([with_rootlibdir]) 52 AX_NORMALIZE_PATH([with_rootlibdir])
53 53
@@ -59,7 +59,7 @@ index 329861a..01764f5 100644
59 AC_ARG_WITH([pamlibdir], 59 AC_ARG_WITH([pamlibdir],
60 AS_HELP_STRING([--with-pamlibdir=DIR], [Directory for PAM modules]), 60 AS_HELP_STRING([--with-pamlibdir=DIR], [Directory for PAM modules]),
61 [], 61 [],
62@@ -1562,6 +1567,7 @@ AC_SUBST([pamlibdir], [$with_pamlibdir]) 62@@ -1598,6 +1603,7 @@ AC_SUBST([pamlibdir], [$with_pamlibdir])
63 AC_SUBST([pamconfdir], [$with_pamconfdir]) 63 AC_SUBST([pamconfdir], [$with_pamconfdir])
64 AC_SUBST([rootprefix], [$with_rootprefix]) 64 AC_SUBST([rootprefix], [$with_rootprefix])
65 AC_SUBST([rootlibdir], [$with_rootlibdir]) 65 AC_SUBST([rootlibdir], [$with_rootlibdir])
@@ -67,7 +67,7 @@ index 329861a..01764f5 100644
67 67
68 AC_CONFIG_FILES([ 68 AC_CONFIG_FILES([
69 Makefile 69 Makefile
70@@ -1653,6 +1659,7 @@ AC_MSG_RESULT([ 70@@ -1688,6 +1694,7 @@ AC_MSG_RESULT([
71 includedir: ${includedir} 71 includedir: ${includedir}
72 lib dir: ${libdir} 72 lib dir: ${libdir}
73 rootlib dir: ${with_rootlibdir} 73 rootlib dir: ${with_rootlibdir}
@@ -76,10 +76,10 @@ index 329861a..01764f5 100644
76 SysV rc?.d directories: ${SYSTEM_SYSVRCND_PATH} 76 SysV rc?.d directories: ${SYSTEM_SYSVRCND_PATH}
77 Build Python: ${PYTHON} 77 Build Python: ${PYTHON}
78diff --git a/src/basic/user-util.c b/src/basic/user-util.c 78diff --git a/src/basic/user-util.c b/src/basic/user-util.c
79index f65ca3e..da1101a 100644 79index 938533d..3f9fdc4 100644
80--- a/src/basic/user-util.c 80--- a/src/basic/user-util.c
81+++ b/src/basic/user-util.c 81+++ b/src/basic/user-util.c
82@@ -123,7 +123,7 @@ int get_user_creds( 82@@ -127,7 +127,7 @@ int get_user_creds(
83 *gid = 0; 83 *gid = 0;
84 84
85 if (home) 85 if (home)
@@ -88,7 +88,7 @@ index f65ca3e..da1101a 100644
88 88
89 if (shell) 89 if (shell)
90 *shell = "/bin/sh"; 90 *shell = "/bin/sh";
91@@ -354,7 +354,7 @@ int get_home_dir(char **_h) { 91@@ -387,7 +387,7 @@ int get_home_dir(char **_h) {
92 /* Hardcode home directory for root to avoid NSS */ 92 /* Hardcode home directory for root to avoid NSS */
93 u = getuid(); 93 u = getuid();
94 if (u == 0) { 94 if (u == 0) {
@@ -97,24 +97,11 @@ index f65ca3e..da1101a 100644
97 if (!h) 97 if (!h)
98 return -ENOMEM; 98 return -ENOMEM;
99 99
100diff --git a/src/core/namespace.c b/src/core/namespace.c
101index 203d122..45c0d11 100644
102--- a/src/core/namespace.c
103+++ b/src/core/namespace.c
104@@ -415,7 +415,7 @@ int setup_namespace(
105 home_dir = strjoina("-", home_dir);
106 run_user_dir = prefix_roota(root_directory, "/run/user");
107 run_user_dir = strjoina("-", run_user_dir);
108- root_dir = prefix_roota(root_directory, "/root");
109+ root_dir = prefix_roota(root_directory, ROOTHOMEDIR);
110 root_dir = strjoina("-", root_dir);
111
112 r = append_mounts(&m, STRV_MAKE(home_dir, run_user_dir, root_dir),
113diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c 100diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
114index 8ec0584..51df00b 100644 101index 19b47cd..e42bf19 100644
115--- a/src/nspawn/nspawn.c 102--- a/src/nspawn/nspawn.c
116+++ b/src/nspawn/nspawn.c 103+++ b/src/nspawn/nspawn.c
117@@ -2739,7 +2739,7 @@ static int inner_child( 104@@ -2798,7 +2798,7 @@ static int inner_child(
118 if (envp[n_env]) 105 if (envp[n_env])
119 n_env++; 106 n_env++;
120 107
@@ -123,7 +110,7 @@ index 8ec0584..51df00b 100644
123 (asprintf((char**)(envp + n_env++), "USER=%s", arg_user ? arg_user : "root") < 0) || 110 (asprintf((char**)(envp + n_env++), "USER=%s", arg_user ? arg_user : "root") < 0) ||
124 (asprintf((char**)(envp + n_env++), "LOGNAME=%s", arg_user ? arg_user : "root") < 0)) 111 (asprintf((char**)(envp + n_env++), "LOGNAME=%s", arg_user ? arg_user : "root") < 0))
125 return log_oom(); 112 return log_oom();
126@@ -2816,7 +2816,7 @@ static int inner_child( 113@@ -2882,7 +2882,7 @@ static int inner_child(
127 else { 114 else {
128 if (!arg_chdir) 115 if (!arg_chdir)
129 /* If we cannot change the directory, we'll end up in /, that is expected. */ 116 /* If we cannot change the directory, we'll end up in /, that is expected. */
@@ -132,23 +119,8 @@ index 8ec0584..51df00b 100644
132 119
133 execle("/bin/bash", "-bash", NULL, env_use); 120 execle("/bin/bash", "-bash", NULL, env_use);
134 execle("/bin/sh", "-sh", NULL, env_use); 121 execle("/bin/sh", "-sh", NULL, env_use);
135diff --git a/units/console-shell.service.m4.in b/units/console-shell.service.m4.in
136index a345ec2..3caae7d 100644
137--- a/units/console-shell.service.m4.in
138+++ b/units/console-shell.service.m4.in
139@@ -15,8 +15,8 @@ After=rc-local.service
140 Before=getty.target
141
142 [Service]
143-Environment=HOME=/root
144-WorkingDirectory=-/root
145+Environment=HOME=@roothomedir@
146+WorkingDirectory=-@roothomedir@
147 ExecStart=-@SULOGIN@
148 ExecStopPost=-@SYSTEMCTL@ poweroff
149 Type=idle
150diff --git a/units/emergency.service.in b/units/emergency.service.in 122diff --git a/units/emergency.service.in b/units/emergency.service.in
151index 0de16f2..4826062 100644 123index da68eb8..e25f879 100644
152--- a/units/emergency.service.in 124--- a/units/emergency.service.in
153+++ b/units/emergency.service.in 125+++ b/units/emergency.service.in
154@@ -15,8 +15,8 @@ Conflicts=syslog.socket 126@@ -15,8 +15,8 @@ Conflicts=syslog.socket
@@ -160,10 +132,10 @@ index 0de16f2..4826062 100644
160+Environment=HOME=@roothomedir@ 132+Environment=HOME=@roothomedir@
161+WorkingDirectory=-@roothomedir@ 133+WorkingDirectory=-@roothomedir@
162 ExecStartPre=-/bin/plymouth --wait quit 134 ExecStartPre=-/bin/plymouth --wait quit
163 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.' 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.'
164 ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --job-mode=fail --no-block default" 136 ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --job-mode=fail --no-block default"
165diff --git a/units/rescue.service.in b/units/rescue.service.in 137diff --git a/units/rescue.service.in b/units/rescue.service.in
166index 92553f6..590ae17 100644 138index 5feff69..a83439e 100644
167--- a/units/rescue.service.in 139--- a/units/rescue.service.in
168+++ b/units/rescue.service.in 140+++ b/units/rescue.service.in
169@@ -14,8 +14,8 @@ After=sysinit.target plymouth-start.service 141@@ -14,8 +14,8 @@ After=sysinit.target plymouth-start.service
@@ -174,9 +146,9 @@ index 92553f6..590ae17 100644
174-WorkingDirectory=-/root 146-WorkingDirectory=-/root
175+Environment=HOME=@roothomedir@ 147+Environment=HOME=@roothomedir@
176+WorkingDirectory=-@roothomedir@ 148+WorkingDirectory=-@roothomedir@
177 ExecStartPre=-/bin/plymouth quit 149 ExecStartPre=-/bin/plymouth --wait quit
178 ExecStartPre=-/bin/echo -e 'Welcome to 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.' 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.'
179 ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --job-mode=fail --no-block default" 151 ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --job-mode=fail --no-block default"
180-- 152--
1812.8.3 1532.10.2
182 154
diff --git a/meta/recipes-core/systemd/systemd/0013-sysv-generator-add-support-for-executing-scripts-und.patch b/meta/recipes-core/systemd/systemd/0013-sysv-generator-add-support-for-executing-scripts-und.patch
deleted file mode 100644
index ac67f65685..0000000000
--- a/meta/recipes-core/systemd/systemd/0013-sysv-generator-add-support-for-executing-scripts-und.patch
+++ /dev/null
@@ -1,133 +0,0 @@
1From 6736de4a3caf9a0b3c888c6cc05103ab1b86907d Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 14 Dec 2015 05:09:53 +0000
4Subject: [PATCH 13/36] sysv-generator: add support for executing scripts under
5 /etc/rcS.d/
6
7To be compatible, all services translated from scripts under /etc/rcS.d would
8run before services translated from scripts under /etc/rcN.d.
9
10Upstream-Status: Inappropriate [OE specific]
11
12Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
13Signed-off-by: Khem Raj <raj.khem@gmail.com>
14---
15 src/sysv-generator/sysv-generator.c | 47 ++++++++++++++++++++++++++++---------
16 1 file changed, 36 insertions(+), 11 deletions(-)
17
18diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c
19index b5925a4..ea06d6a 100644
20--- a/src/sysv-generator/sysv-generator.c
21+++ b/src/sysv-generator/sysv-generator.c
22@@ -44,7 +44,8 @@
23
24 typedef enum RunlevelType {
25 RUNLEVEL_UP,
26- RUNLEVEL_DOWN
27+ RUNLEVEL_DOWN,
28+ RUNLEVEL_SYSINIT
29 } RunlevelType;
30
31 static const struct {
32@@ -59,6 +60,9 @@ static const struct {
33 { "rc4.d", SPECIAL_MULTI_USER_TARGET, RUNLEVEL_UP },
34 { "rc5.d", SPECIAL_GRAPHICAL_TARGET, RUNLEVEL_UP },
35
36+ /* Debian style rcS.d, also adopted by OE */
37+ { "rcS.d", SPECIAL_SYSINIT_TARGET, RUNLEVEL_SYSINIT},
38+
39 /* Standard SysV runlevels for shutdown */
40 { "rc0.d", SPECIAL_POWEROFF_TARGET, RUNLEVEL_DOWN },
41 { "rc6.d", SPECIAL_REBOOT_TARGET, RUNLEVEL_DOWN }
42@@ -67,7 +71,7 @@ static const struct {
43 directories in this order, and we want to make sure that
44 sysv_start_priority is known when we first load the
45 unit. And that value we only know from S links. Hence
46- UP must be read before DOWN */
47+ UP/SYSINIT must be read before DOWN */
48 };
49
50 static const char *arg_dest = "/tmp";
51@@ -86,6 +90,8 @@ typedef struct SysvStub {
52 bool has_lsb;
53 bool reload;
54 bool loaded;
55+ bool default_dependencies;
56+ bool from_rcsd;
57 } SysvStub;
58
59 static void free_sysvstub(SysvStub *s) {
60@@ -711,17 +717,31 @@ static int fix_order(SysvStub *s, Hashmap *all_services) {
61 if (s->has_lsb && other->has_lsb)
62 continue;
63
64- if (other->sysv_start_priority < s->sysv_start_priority) {
65- r = strv_extend(&s->after, other->name);
66+ /* All scripts under /etc/rcS.d should execute before scripts under
67+ * /etc/rcN.d */
68+ if (!other->from_rcsd && s->from_rcsd) {
69+ r = strv_extend(&s->before, other->name);
70 if (r < 0)
71 return log_oom();
72
73- } else if (other->sysv_start_priority > s->sysv_start_priority) {
74- r = strv_extend(&s->before, other->name);
75+ } else if (other->from_rcsd && !s->from_rcsd) {
76+ r = strv_extend(&s->after, other->name);
77 if (r < 0)
78 return log_oom();
79- } else
80- continue;
81+ } else {
82+ if (other->sysv_start_priority < s->sysv_start_priority) {
83+ r = strv_extend(&s->after, other->name);
84+ if (r < 0)
85+ return log_oom();
86+ }
87+ else if (other->sysv_start_priority > s->sysv_start_priority) {
88+ r = strv_extend(&s->before, other->name);
89+ if (r < 0)
90+ return log_oom();
91+ }
92+ else
93+ continue;
94+ }
95
96 /* FIXME: Maybe we should compare the name here lexicographically? */
97 }
98@@ -788,6 +808,8 @@ static int enumerate_sysv(const LookupPaths *lp, Hashmap *all_services) {
99 return log_oom();
100
101 service->sysv_start_priority = -1;
102+ service->default_dependencies = true;
103+ service->from_rcsd = false;
104 service->name = name;
105 service->path = fpath;
106 name = fpath = NULL;
107@@ -871,9 +893,11 @@ static int set_dependencies_from_rcnd(const LookupPaths *lp, Hashmap *all_servic
108
109 if (de->d_name[0] == 'S') {
110
111- if (rcnd_table[i].type == RUNLEVEL_UP)
112+ if (rcnd_table[i].type == RUNLEVEL_UP || rcnd_table[i].type == RUNLEVEL_SYSINIT) {
113 service->sysv_start_priority = MAX(a*10 + b, service->sysv_start_priority);
114-
115+ service->default_dependencies = (rcnd_table[i].type == RUNLEVEL_SYSINIT)?false:true;
116+ service->from_rcsd = (rcnd_table[i].type == RUNLEVEL_SYSINIT)?true:false;
117+ }
118 r = set_ensure_allocated(&runlevel_services[i], NULL);
119 if (r < 0) {
120 log_oom();
121@@ -887,7 +911,8 @@ static int set_dependencies_from_rcnd(const LookupPaths *lp, Hashmap *all_servic
122 }
123
124 } else if (de->d_name[0] == 'K' &&
125- (rcnd_table[i].type == RUNLEVEL_DOWN)) {
126+ (rcnd_table[i].type == RUNLEVEL_DOWN ||
127+ rcnd_table[i].type == RUNLEVEL_SYSINIT)) {
128
129 r = set_ensure_allocated(&shutdown_services, NULL);
130 if (r < 0) {
131--
1321.8.3.1
133
diff --git a/meta/recipes-core/systemd/systemd/0016-Revert-rules-remove-firmware-loading-rules.patch b/meta/recipes-core/systemd/systemd/0014-Revert-rules-remove-firmware-loading-rules.patch
index 66905b5c57..ed7c68fe70 100644
--- a/meta/recipes-core/systemd/systemd/0016-Revert-rules-remove-firmware-loading-rules.patch
+++ b/meta/recipes-core/systemd/systemd/0014-Revert-rules-remove-firmware-loading-rules.patch
@@ -1,7 +1,7 @@
1From 7311ecc745c17d6ed9fd9cf43039648483a87605 Mon Sep 17 00:00:00 2001 1From 0f47cfcb16e8e40a90a9221f9995f8cd8a915c22 Mon Sep 17 00:00:00 2001
2From: Jonathan Liu <net147@gmail.com> 2From: Jonathan Liu <net147@gmail.com>
3Date: Thu, 19 Mar 2015 15:01:29 +1100 3Date: Thu, 19 Mar 2015 15:01:29 +1100
4Subject: [PATCH 16/36] Revert "rules: remove firmware loading rules" 4Subject: [PATCH 14/19] Revert "rules: remove firmware loading rules"
5 5
6This reverts commit 70e7d754ddb356fb1a2942b262f8cee9650e2a19. 6This reverts commit 70e7d754ddb356fb1a2942b262f8cee9650e2a19.
7Userspace firmware loading support is needed for Linux < 3.7. 7Userspace firmware loading support is needed for Linux < 3.7.
@@ -24,5 +24,5 @@ index 0000000..f0ae684
24+ 24+
25+SUBSYSTEM=="firmware", ACTION=="add", RUN{builtin}="firmware" 25+SUBSYSTEM=="firmware", ACTION=="add", RUN{builtin}="firmware"
26-- 26--
271.8.3.1 272.10.2
28 28
diff --git a/meta/recipes-core/systemd/systemd/0017-Revert-udev-remove-userspace-firmware-loading-suppor.patch b/meta/recipes-core/systemd/systemd/0015-Revert-udev-remove-userspace-firmware-loading-suppor.patch
index 642625f32f..f31d211e76 100644
--- a/meta/recipes-core/systemd/systemd/0017-Revert-udev-remove-userspace-firmware-loading-suppor.patch
+++ b/meta/recipes-core/systemd/systemd/0015-Revert-udev-remove-userspace-firmware-loading-suppor.patch
@@ -1,4 +1,7 @@
1Subject: [PATCH 17/36] Revert "udev: remove userspace firmware loading 1From 4d28d9a7d8d69fb429955d770e53e7a81640da24 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 9 Nov 2016 20:45:23 -0800
4Subject: [PATCH 15/19] Revert "udev: remove userspace firmware loading
2 support" 5 support"
3 6
4This reverts commit be2ea723b1d023b3d385d3b791ee4607cbfb20ca. 7This reverts commit be2ea723b1d023b3d385d3b791ee4607cbfb20ca.
@@ -10,21 +13,21 @@ Signed-off-by: Jonathan Liu <net147@gmail.com>
10Signed-off-by: Khem Raj <raj.khem@gmail.com> 13Signed-off-by: Khem Raj <raj.khem@gmail.com>
11--- 14---
12 Makefile.am | 12 +++ 15 Makefile.am | 12 +++
13 README | 4 +- 16 README | 6 +-
14 TODO | 1 + 17 TODO | 1 +
15 configure.ac | 22 ++++++ 18 configure.ac | 18 +++++
16 src/udev/udev-builtin-firmware.c | 154 +++++++++++++++++++++++++++++++++++++++ 19 src/udev/udev-builtin-firmware.c | 154 +++++++++++++++++++++++++++++++++++++++
17 src/udev/udev-builtin.c | 3 + 20 src/udev/udev-builtin.c | 3 +
18 src/udev/udev.h | 6 ++ 21 src/udev/udev.h | 6 ++
19 src/udev/udevd.c | 13 ++++ 22 src/udev/udevd.c | 13 ++++
20 8 files changed, 213 insertions(+), 2 deletions(-) 23 8 files changed, 210 insertions(+), 3 deletions(-)
21 create mode 100644 src/udev/udev-builtin-firmware.c 24 create mode 100644 src/udev/udev-builtin-firmware.c
22 25
23diff --git a/Makefile.am b/Makefile.am 26diff --git a/Makefile.am b/Makefile.am
24index 305099a..e774976 100644 27index 3010b01..229492a 100644
25--- a/Makefile.am 28--- a/Makefile.am
26+++ b/Makefile.am 29+++ b/Makefile.am
27@@ -3706,6 +3706,18 @@ libudev_core_la_LIBADD = \ 30@@ -3791,6 +3791,18 @@ libudev_core_la_LIBADD = \
28 $(BLKID_LIBS) \ 31 $(BLKID_LIBS) \
29 $(KMOD_LIBS) 32 $(KMOD_LIBS)
30 33
@@ -44,10 +47,17 @@ index 305099a..e774976 100644
44 libudev_core_la_SOURCES += \ 47 libudev_core_la_SOURCES += \
45 src/udev/udev-builtin-kmod.c 48 src/udev/udev-builtin-kmod.c
46diff --git a/README b/README 49diff --git a/README b/README
47index ca8993c..87f3297 100644 50index 9f5bc93..f60ae11 100644
48--- a/README 51--- a/README
49+++ b/README 52+++ b/README
50@@ -56,8 +56,8 @@ REQUIREMENTS: 53@@ -50,14 +50,14 @@ 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
51 Legacy hotplug slows down the system and confuses udev: 61 Legacy hotplug slows down the system and confuses udev:
52 CONFIG_UEVENT_HELPER_PATH="" 62 CONFIG_UEVENT_HELPER_PATH=""
53 63
@@ -59,10 +69,10 @@ index ca8993c..87f3297 100644
59 69
60 Some udev rules and virtualization detection relies on it: 70 Some udev rules and virtualization detection relies on it:
61diff --git a/TODO b/TODO 71diff --git a/TODO b/TODO
62index fac9ccf..2645582 100644 72index baaac94..1ab1691 100644
63--- a/TODO 73--- a/TODO
64+++ b/TODO 74+++ b/TODO
65@@ -642,6 +642,7 @@ Features: 75@@ -658,6 +658,7 @@ Features:
66 * initialize the hostname from the fs label of /, if /etc/hostname does not exist? 76 * initialize the hostname from the fs label of /, if /etc/hostname does not exist?
67 77
68 * udev: 78 * udev:
@@ -71,13 +81,13 @@ index fac9ccf..2645582 100644
71 - kill scsi_id 81 - kill scsi_id
72 - add trigger --subsystem-match=usb/usb_device device 82 - add trigger --subsystem-match=usb/usb_device device
73diff --git a/configure.ac b/configure.ac 83diff --git a/configure.ac b/configure.ac
74index 329861a..af85405 100644 84index dfc0bd3..1de0066 100644
75--- a/configure.ac 85--- a/configure.ac
76+++ b/configure.ac 86+++ b/configure.ac
77@@ -1361,6 +1361,25 @@ AC_ARG_ENABLE(hwdb, [AC_HELP_STRING([--disable-hwdb], [disable hardware database 87@@ -1394,6 +1394,23 @@ AM_CONDITIONAL(HAVE_MYHOSTNAME, [test "$have_myhostname" = "yes"])
88 AC_ARG_ENABLE(hwdb, [AC_HELP_STRING([--disable-hwdb], [disable hardware database support])],
89 enable_hwdb=$enableval, enable_hwdb=yes)
78 AM_CONDITIONAL(ENABLE_HWDB, [test x$enable_hwdb = xyes]) 90 AM_CONDITIONAL(ENABLE_HWDB, [test x$enable_hwdb = xyes])
79
80 # ------------------------------------------------------------------------------
81+AC_ARG_WITH(firmware-path, 91+AC_ARG_WITH(firmware-path,
82+ AS_HELP_STRING([--with-firmware-path=DIR[[[:DIR[...]]]]], 92+ AS_HELP_STRING([--with-firmware-path=DIR[[[:DIR[...]]]]],
83+ [Firmware search path (default="")]), 93+ [Firmware search path (default="")]),
@@ -93,19 +103,15 @@ index 329861a..af85405 100644
93+done 103+done
94+IFS=$OLD_IFS 104+IFS=$OLD_IFS
95+AC_SUBST(FIRMWARE_PATH) 105+AC_SUBST(FIRMWARE_PATH)
96+AS_IF([test "x${FIRMWARE_PATH}" != "x"], [ AC_DEFINE(HAVE_FIRMWARE, 1, [Define if FIRMWARE is availabe]) ]) 106+AS_IF([test "x${FIRMWARE_PATH}" != "x"], [ AC_DEFINE(HAVE_FIRMWARE, 1, [Define if FIRMWARE is available]) ])
97+AM_CONDITIONAL(ENABLE_FIRMWARE, [test "x${FIRMWARE_PATH}" != "x"]) 107+AM_CONDITIONAL(ENABLE_FIRMWARE, [test "x${FIRMWARE_PATH}" != "x"])
98+ 108
99+# ------------------------------------------------------------------------------ 109 # ------------------------------------------------------------------------------
100 have_manpages=no 110 have_manpages=no
101 AC_ARG_ENABLE(manpages, AS_HELP_STRING([--disable-manpages], [disable manpages])) 111@@ -1698,6 +1715,7 @@ AC_MSG_RESULT([
102 AC_PATH_PROG([XSLTPROC], [xsltproc])
103@@ -1656,6 +1675,9 @@ AC_MSG_RESULT([
104 SysV init scripts: ${SYSTEM_SYSVINIT_PATH} 112 SysV init scripts: ${SYSTEM_SYSVINIT_PATH}
105 SysV rc?.d directories: ${SYSTEM_SYSVRCND_PATH} 113 SysV rc?.d directories: ${SYSTEM_SYSVRCND_PATH}
106 Build Python: ${PYTHON} 114 Build Python: ${PYTHON}
107+ Installation Python: ${PYTHON_BINARY}
108+ sphinx binary: ${SPHINX_BUILD}
109+ firmware path: ${FIRMWARE_PATH} 115+ firmware path: ${FIRMWARE_PATH}
110 PAM modules dir: ${with_pamlibdir} 116 PAM modules dir: ${with_pamlibdir}
111 PAM configuration dir: ${with_pamconfdir} 117 PAM configuration dir: ${with_pamconfdir}
@@ -309,7 +315,7 @@ index 8433e8d..d32366d 100644
309 extern const struct udev_builtin udev_builtin_input_id; 315 extern const struct udev_builtin udev_builtin_input_id;
310 extern const struct udev_builtin udev_builtin_keyboard; 316 extern const struct udev_builtin udev_builtin_keyboard;
311diff --git a/src/udev/udevd.c b/src/udev/udevd.c 317diff --git a/src/udev/udevd.c b/src/udev/udevd.c
312index e9dd2f4..0abc28e 100644 318index d336ee0..81e5dc5 100644
313--- a/src/udev/udevd.c 319--- a/src/udev/udevd.c
314+++ b/src/udev/udevd.c 320+++ b/src/udev/udevd.c
315@@ -125,6 +125,9 @@ struct event { 321@@ -125,6 +125,9 @@ struct event {
@@ -322,7 +328,7 @@ index e9dd2f4..0abc28e 100644
322 }; 328 };
323 329
324 static inline struct event *node_to_event(struct udev_list_node *node) { 330 static inline struct event *node_to_event(struct udev_list_node *node) {
325@@ -614,6 +617,10 @@ static int event_queue_insert(Manager *manager, struct udev_device *dev) { 331@@ -613,6 +616,10 @@ static int event_queue_insert(Manager *manager, struct udev_device *dev) {
326 event->devnum = udev_device_get_devnum(dev); 332 event->devnum = udev_device_get_devnum(dev);
327 event->is_block = streq("block", udev_device_get_subsystem(dev)); 333 event->is_block = streq("block", udev_device_get_subsystem(dev));
328 event->ifindex = udev_device_get_ifindex(dev); 334 event->ifindex = udev_device_get_ifindex(dev);
@@ -333,7 +339,7 @@ index e9dd2f4..0abc28e 100644
333 339
334 log_debug("seq %llu queued, '%s' '%s'", udev_device_get_seqnum(dev), 340 log_debug("seq %llu queued, '%s' '%s'", udev_device_get_seqnum(dev),
335 udev_device_get_action(dev), udev_device_get_subsystem(dev)); 341 udev_device_get_action(dev), udev_device_get_subsystem(dev));
336@@ -699,6 +706,12 @@ static bool is_devpath_busy(Manager *manager, struct event *event) { 342@@ -698,6 +705,12 @@ static bool is_devpath_busy(Manager *manager, struct event *event) {
337 return true; 343 return true;
338 } 344 }
339 345
@@ -347,5 +353,5 @@ index e9dd2f4..0abc28e 100644
347 if (event->devpath[common] == '/') { 353 if (event->devpath[common] == '/') {
348 event->delaying_seqnum = loop_event->seqnum; 354 event->delaying_seqnum = loop_event->seqnum;
349-- 355--
3502.8.3 3562.10.2
351 357
diff --git a/meta/recipes-core/systemd/systemd/0015-systemd-user-avoid-using-system-auth.patch b/meta/recipes-core/systemd/systemd/0015-systemd-user-avoid-using-system-auth.patch
deleted file mode 100644
index 6e6f344890..0000000000
--- a/meta/recipes-core/systemd/systemd/0015-systemd-user-avoid-using-system-auth.patch
+++ /dev/null
@@ -1,35 +0,0 @@
1Subject: [PATCH 15/36] systemd-user: avoid using system-auth
2
3In OE, we don't provide system-auth, instead, we use common-* files.
4So modify systemd-user file to use common-* files.
5
6Upstream-Status: Inappropriate [oe specific]
7
8Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10
11---
12 src/login/systemd-user.m4 | 4 ++--
13 1 file changed, 2 insertions(+), 2 deletions(-)
14
15diff --git a/src/login/systemd-user.m4 b/src/login/systemd-user.m4
16index f188a8e..862d8d7 100644
17--- a/src/login/systemd-user.m4
18+++ b/src/login/systemd-user.m4
19@@ -2,11 +2,11 @@
20 #
21 # Used by systemd --user instances.
22
23-account include system-auth
24+account include common-account
25
26 m4_ifdef(`HAVE_SELINUX',
27 session required pam_selinux.so close
28 session required pam_selinux.so nottys open
29 )m4_dnl
30 session required pam_loginuid.so
31-session include system-auth
32+session include common-session
33--
342.8.3
35
diff --git a/meta/recipes-core/systemd/systemd/0018-make-test-dir-configurable.patch b/meta/recipes-core/systemd/systemd/0016-make-test-dir-configurable.patch
index 5d13e4af94..10d1df5d52 100644
--- a/meta/recipes-core/systemd/systemd/0018-make-test-dir-configurable.patch
+++ b/meta/recipes-core/systemd/systemd/0016-make-test-dir-configurable.patch
@@ -1,4 +1,7 @@
1Subject: [PATCH 18/36] make test dir configurable 1From 218bbc555a37f9373fbb7f03c744eb65109d3470 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 9 Nov 2016 20:47:37 -0800
4Subject: [PATCH 16/19] make test dir configurable
2 5
3Upstream-Status: Pending 6Upstream-Status: Pending
4 7
@@ -6,17 +9,17 @@ test maybe be run on target in cross-compile environment, and test dir
6is not the compilation dir, so make it configurable 9is not the compilation dir, so make it configurable
7 10
8Signed-off-by: Roy Li <rongqing.li@windriver.com> 11Signed-off-by: Roy Li <rongqing.li@windriver.com>
9 12Signed-off-by: Khem Raj <raj.khem@gmail.com>
10--- 13---
11 Makefile.am | 2 +- 14 Makefile.am | 2 +-
12 configure.ac | 7 +++++++ 15 configure.ac | 7 +++++++
13 2 files changed, 8 insertions(+), 1 deletion(-) 16 2 files changed, 8 insertions(+), 1 deletion(-)
14 17
15diff --git a/Makefile.am b/Makefile.am 18diff --git a/Makefile.am b/Makefile.am
16index a94636a..dbd3386 100644 19index 229492a..e997d82 100644
17--- a/Makefile.am 20--- a/Makefile.am
18+++ b/Makefile.am 21+++ b/Makefile.am
19@@ -207,7 +207,7 @@ AM_CPPFLAGS = \ 22@@ -214,7 +214,7 @@ AM_CPPFLAGS = \
20 -DROOTLIBDIR=\"$(rootlibdir)\" \ 23 -DROOTLIBDIR=\"$(rootlibdir)\" \
21 -DROOTLIBEXECDIR=\"$(rootlibexecdir)\" \ 24 -DROOTLIBEXECDIR=\"$(rootlibexecdir)\" \
22 -DROOTHOMEDIR=\"$(roothomedir)\" \ 25 -DROOTHOMEDIR=\"$(roothomedir)\" \
@@ -26,10 +29,10 @@ index a94636a..dbd3386 100644
26 -I $(top_builddir)/src/basic \ 29 -I $(top_builddir)/src/basic \
27 -I $(top_srcdir)/src/basic \ 30 -I $(top_srcdir)/src/basic \
28diff --git a/configure.ac b/configure.ac 31diff --git a/configure.ac b/configure.ac
29index 45aae8a..c53fae2 100644 32index 1de0066..b12e320 100644
30--- a/configure.ac 33--- a/configure.ac
31+++ b/configure.ac 34+++ b/configure.ac
32@@ -1518,6 +1518,11 @@ AC_ARG_WITH([roothomedir], 35@@ -1535,6 +1535,11 @@ AC_ARG_WITH([roothomedir],
33 [], 36 [],
34 [with_roothomedir=/root]) 37 [with_roothomedir=/root])
35 38
@@ -41,7 +44,7 @@ index 45aae8a..c53fae2 100644
41 AC_ARG_WITH([pamlibdir], 44 AC_ARG_WITH([pamlibdir],
42 AS_HELP_STRING([--with-pamlibdir=DIR], [Directory for PAM modules]), 45 AS_HELP_STRING([--with-pamlibdir=DIR], [Directory for PAM modules]),
43 [], 46 [],
44@@ -1603,6 +1608,7 @@ AC_SUBST([pamconfdir], [$with_pamconfdir]) 47@@ -1621,6 +1626,7 @@ AC_SUBST([pamconfdir], [$with_pamconfdir])
45 AC_SUBST([rootprefix], [$with_rootprefix]) 48 AC_SUBST([rootprefix], [$with_rootprefix])
46 AC_SUBST([rootlibdir], [$with_rootlibdir]) 49 AC_SUBST([rootlibdir], [$with_rootlibdir])
47 AC_SUBST([roothomedir], [$with_roothomedir]) 50 AC_SUBST([roothomedir], [$with_roothomedir])
@@ -49,7 +52,7 @@ index 45aae8a..c53fae2 100644
49 52
50 AC_CONFIG_FILES([ 53 AC_CONFIG_FILES([
51 Makefile 54 Makefile
52@@ -1695,6 +1701,7 @@ AC_MSG_RESULT([ 55@@ -1712,6 +1718,7 @@ AC_MSG_RESULT([
53 lib dir: ${libdir} 56 lib dir: ${libdir}
54 rootlib dir: ${with_rootlibdir} 57 rootlib dir: ${with_rootlibdir}
55 root home dir: ${with_roothomedir} 58 root home dir: ${with_roothomedir}
@@ -58,5 +61,5 @@ index 45aae8a..c53fae2 100644
58 SysV rc?.d directories: ${SYSTEM_SYSVRCND_PATH} 61 SysV rc?.d directories: ${SYSTEM_SYSVRCND_PATH}
59 Build Python: ${PYTHON} 62 Build Python: ${PYTHON}
60-- 63--
612.8.3 642.10.2
62 65
diff --git a/meta/recipes-core/systemd/systemd/0019-remove-duplicate-include-uchar.h.patch b/meta/recipes-core/systemd/systemd/0017-remove-duplicate-include-uchar.h.patch
index 17592f8aa6..77dbd6eec8 100644
--- a/meta/recipes-core/systemd/systemd/0019-remove-duplicate-include-uchar.h.patch
+++ b/meta/recipes-core/systemd/systemd/0017-remove-duplicate-include-uchar.h.patch
@@ -1,14 +1,12 @@
1From 3ca534935460647fed66e31aaa90b364e29eab5c Mon Sep 17 00:00:00 2001 1From e78af874fc9f3d3af49498b8207109993d93a596 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 22 Feb 2016 05:59:01 +0000 3Date: Mon, 22 Feb 2016 05:59:01 +0000
4Subject: [PATCH 1/2] remove duplicate include uchar.h 4Subject: [PATCH 17/19] remove duplicate include uchar.h
5 5
6missing.h already includes it 6missing.h already includes it
7 7
8Signed-off-by: Khem Raj <raj.khem@gmail.com> 8Signed-off-by: Khem Raj <raj.khem@gmail.com>
9--- 9---
10Upstream-Status: Pending
11
12 src/basic/escape.h | 1 - 10 src/basic/escape.h | 1 -
13 src/basic/utf8.h | 1 - 11 src/basic/utf8.h | 1 -
14 2 files changed, 2 deletions(-) 12 2 files changed, 2 deletions(-)
@@ -26,7 +24,7 @@ index deaa4de..36d437c 100644
26 #include "string-util.h" 24 #include "string-util.h"
27 #include "missing.h" 25 #include "missing.h"
28diff --git a/src/basic/utf8.h b/src/basic/utf8.h 26diff --git a/src/basic/utf8.h b/src/basic/utf8.h
29index 12c272d..bea93a6 100644 27index f9b9c94..6ac9a3c 100644
30--- a/src/basic/utf8.h 28--- a/src/basic/utf8.h
31+++ b/src/basic/utf8.h 29+++ b/src/basic/utf8.h
32@@ -22,7 +22,6 @@ 30@@ -22,7 +22,6 @@
@@ -38,5 +36,5 @@ index 12c272d..bea93a6 100644
38 #include "macro.h" 36 #include "macro.h"
39 #include "missing.h" 37 #include "missing.h"
40-- 38--
411.8.3.1 392.10.2
42 40
diff --git a/meta/recipes-core/systemd/systemd/0020-check-for-uchar.h-in-configure.patch b/meta/recipes-core/systemd/systemd/0018-check-for-uchar.h-in-configure.patch
index a027fad1d9..5824033b40 100644
--- a/meta/recipes-core/systemd/systemd/0020-check-for-uchar.h-in-configure.patch
+++ b/meta/recipes-core/systemd/systemd/0018-check-for-uchar.h-in-configure.patch
@@ -1,23 +1,21 @@
1From e06eec89a22719c38e257fe07afff18e359114cb Mon Sep 17 00:00:00 2001 1From 7cc0b19d244023c7b3e557765b03b7971e047f29 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 22 Feb 2016 06:02:38 +0000 3Date: Mon, 22 Feb 2016 06:02:38 +0000
4Subject: [PATCH 2/2] check for uchar.h in configure 4Subject: [PATCH 18/19] check for uchar.h in configure
5 5
6Use ifdef to include uchar.h 6Use ifdef to include uchar.h
7 7
8Signed-off-by: Khem Raj <raj.khem@gmail.com> 8Signed-off-by: Khem Raj <raj.khem@gmail.com>
9--- 9---
10Upstream-Status: Pending
11
12 configure.ac | 1 + 10 configure.ac | 1 +
13 src/basic/missing.h | 2 ++ 11 src/basic/missing.h | 2 ++
14 2 files changed, 3 insertions(+) 12 2 files changed, 3 insertions(+)
15 13
16diff --git a/configure.ac b/configure.ac 14diff --git a/configure.ac b/configure.ac
17index ecc3e6b..62f934e 100644 15index b12e320..4e6dfdf 100644
18--- a/configure.ac 16--- a/configure.ac
19+++ b/configure.ac 17+++ b/configure.ac
20@@ -297,6 +297,7 @@ AM_CONDITIONAL([HAVE_PYTHON], [test "x$have_python" = "xyes"]) 18@@ -298,6 +298,7 @@ AM_CONDITIONAL([HAVE_PYTHON], [test "x$have_python" = "xyes"])
21 19
22 # ------------------------------------------------------------------------------ 20 # ------------------------------------------------------------------------------
23 21
@@ -26,10 +24,10 @@ index ecc3e6b..62f934e 100644
26 AC_CHECK_HEADERS([linux/btrfs.h], [], []) 24 AC_CHECK_HEADERS([linux/btrfs.h], [], [])
27 AC_CHECK_HEADERS([linux/memfd.h], [], []) 25 AC_CHECK_HEADERS([linux/memfd.h], [], [])
28diff --git a/src/basic/missing.h b/src/basic/missing.h 26diff --git a/src/basic/missing.h b/src/basic/missing.h
29index f704422..a1baa95 100644 27index 4936873..ce79404 100644
30--- a/src/basic/missing.h 28--- a/src/basic/missing.h
31+++ b/src/basic/missing.h 29+++ b/src/basic/missing.h
32@@ -34,7 +34,9 @@ 30@@ -35,7 +35,9 @@
33 #include <stdlib.h> 31 #include <stdlib.h>
34 #include <sys/resource.h> 32 #include <sys/resource.h>
35 #include <sys/syscall.h> 33 #include <sys/syscall.h>
@@ -40,5 +38,5 @@ index f704422..a1baa95 100644
40 38
41 #ifdef HAVE_AUDIT 39 #ifdef HAVE_AUDIT
42-- 40--
431.8.3.1 412.10.2
44 42
diff --git a/meta/recipes-core/systemd/systemd/0022-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 96fc3d8448..66aa4cab84 100644
--- a/meta/recipes-core/systemd/systemd/0022-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,23 +1,23 @@
1From 71e710a6c8a3879af7d50c4cb995e0615deba5c3 Mon Sep 17 00:00:00 2001 1From 289554d87e4fd96cae08c0fb449bf41d5641cd24 Mon Sep 17 00:00:00 2001
2From: Emil Renner Berthing <systemd@esmil.dk> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 12 Sep 2015 19:56:52 +0000 3Date: Wed, 9 Nov 2016 20:49:53 -0800
4Subject: [PATCH 29/38] socket-util: don't fail if libc doesn't support IDN 4Subject: [PATCH 19/19] socket-util: don't fail if libc doesn't support IDN
5
6Upstream-Status: Pending
5 7
6Signed-off-by: Emil Renner Berthing <systemd@esmil.dk> 8Signed-off-by: Emil Renner Berthing <systemd@esmil.dk>
7Signed-off-by: Khem Raj <raj.khem@gmail.com> 9Signed-off-by: Khem Raj <raj.khem@gmail.com>
8--- 10---
9Upstream-Status: Pending
10
11 src/basic/socket-util.c | 9 +++++++++ 11 src/basic/socket-util.c | 9 +++++++++
12 1 file changed, 9 insertions(+) 12 1 file changed, 9 insertions(+)
13 13
14diff --git a/src/basic/socket-util.c b/src/basic/socket-util.c 14diff --git a/src/basic/socket-util.c b/src/basic/socket-util.c
15index 5851268..aefaca5 100644 15index 4ebf106..53b9a12 100644
16--- a/src/basic/socket-util.c 16--- a/src/basic/socket-util.c
17+++ b/src/basic/socket-util.c 17+++ b/src/basic/socket-util.c
18@@ -44,6 +44,15 @@ 18@@ -47,6 +47,15 @@
19 #include "string-util.h"
20 #include "user-util.h" 19 #include "user-util.h"
20 #include "utf8.h"
21 #include "util.h" 21 #include "util.h"
22+/* Don't fail if the standard library 22+/* Don't fail if the standard library
23+ * doesn't support IDN */ 23+ * doesn't support IDN */
@@ -32,5 +32,5 @@ index 5851268..aefaca5 100644
32 int socket_address_parse(SocketAddress *a, const char *s) { 32 int socket_address_parse(SocketAddress *a, const char *s) {
33 char *e, *n; 33 char *e, *n;
34-- 34--
351.8.3.1 352.10.2
36 36
diff --git a/meta/recipes-core/systemd/systemd/0021-include-missing.h-for-getting-secure_getenv-definiti.patch b/meta/recipes-core/systemd/systemd/0021-include-missing.h-for-getting-secure_getenv-definiti.patch
deleted file mode 100644
index 5797a29e60..0000000000
--- a/meta/recipes-core/systemd/systemd/0021-include-missing.h-for-getting-secure_getenv-definiti.patch
+++ /dev/null
@@ -1,27 +0,0 @@
1From 6cedbaee7964f6a6c61b9f2c8f0b87cef9370424 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 15 Dec 2015 22:51:55 +0000
4Subject: [PATCH 26/38] include missing.h for getting secure_getenv definition
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7---
8Upstream-Status: Pending
9
10 src/basic/user-util.c | 1 +
11 1 file changed, 1 insertion(+)
12
13diff --git a/src/basic/user-util.c b/src/basic/user-util.c
14index 55672b3..22c4a23 100644
15--- a/src/basic/user-util.c
16+++ b/src/basic/user-util.c
17@@ -38,6 +38,7 @@
18 #include "path-util.h"
19 #include "string-util.h"
20 #include "user-util.h"
21+#include "missing.h"
22
23 bool uid_is_valid(uid_t uid) {
24
25--
261.8.3.1
27
diff --git a/meta/recipes-core/systemd/systemd/CVE-2016-7795.patch b/meta/recipes-core/systemd/systemd/CVE-2016-7795.patch
deleted file mode 100644
index 5ecb9c32de..0000000000
--- a/meta/recipes-core/systemd/systemd/CVE-2016-7795.patch
+++ /dev/null
@@ -1,69 +0,0 @@
1Subject: Fix CVE-2016-7795
2
3This undoes 531ac2b. I acked that patch without looking at the code
4carefully enough. There are two problems:
5- we want to process the fds anyway
6- in principle empty notification messages are valid, and we should
7 process them as usual, including logging using log_unit_debug().
8
9Upstream-Status: Backport
10CVE: CVE-2016-7795
11
12Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
13---
14 src/core/manager.c | 11 ++++++-----
15 1 file changed, 6 insertions(+), 5 deletions(-)
16
17diff --git a/src/core/manager.c b/src/core/manager.c
18index 7838f56..f165d08e 100644
19--- a/src/core/manager.c
20+++ b/src/core/manager.c
21@@ -1589,13 +1589,12 @@ static int manager_dispatch_cgroups_agent_fd(sd_event_source *source, int fd, ui
22 return 0;
23 }
24
25-static void manager_invoke_notify_message(Manager *m, Unit *u, pid_t pid, const char *buf, size_t n, FDSet *fds) {
26+static void manager_invoke_notify_message(Manager *m, Unit *u, pid_t pid, const char *buf, FDSet *fds) {
27 _cleanup_strv_free_ char **tags = NULL;
28
29 assert(m);
30 assert(u);
31 assert(buf);
32- assert(n > 0);
33
34 tags = strv_split(buf, "\n\r");
35 if (!tags) {
36@@ -1688,25 +1687,27 @@ static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t
37 return 0;
38 }
39
40+ /* The message should be a string. Here we make sure it's NUL-terminated,
41+ * but only the part until first NUL will be used anyway. */
42 buf[n] = 0;
43
44 /* Notify every unit that might be interested, but try
45 * to avoid notifying the same one multiple times. */
46 u1 = manager_get_unit_by_pid_cgroup(m, ucred->pid);
47 if (u1) {
48- manager_invoke_notify_message(m, u1, ucred->pid, buf, n, fds);
49+ manager_invoke_notify_message(m, u1, ucred->pid, buf, fds);
50 found = true;
51 }
52
53 u2 = hashmap_get(m->watch_pids1, PID_TO_PTR(ucred->pid));
54 if (u2 && u2 != u1) {
55- manager_invoke_notify_message(m, u2, ucred->pid, buf, n, fds);
56+ manager_invoke_notify_message(m, u2, ucred->pid, buf, fds);
57 found = true;
58 }
59
60 u3 = hashmap_get(m->watch_pids2, PID_TO_PTR(ucred->pid));
61 if (u3 && u3 != u2 && u3 != u1) {
62- manager_invoke_notify_message(m, u3, ucred->pid, buf, n, fds);
63+ manager_invoke_notify_message(m, u3, ucred->pid, buf, fds);
64 found = true;
65 }
66
67--
682.8.3
69
diff --git a/meta/recipes-core/systemd/systemd/udev-re-enable-mount-propagation-for-udevd.patch b/meta/recipes-core/systemd/systemd/udev-re-enable-mount-propagation-for-udevd.patch
deleted file mode 100644
index 23e22d40e6..0000000000
--- a/meta/recipes-core/systemd/systemd/udev-re-enable-mount-propagation-for-udevd.patch
+++ /dev/null
@@ -1,31 +0,0 @@
1From: Michael Biebl <biebl@debian.org>
2Date: Sat, 27 Sep 2014 04:19:24 +0200
3Subject: udev: re-enable mount propagation for udevd
4
5Upstream-Status: Backport [http://http.debian.net/debian/pool/main/s/systemd/systemd_215-17+deb8u4.debian.tar.xz]
6
7laptop-mode-tools remounts file systems from within a udev rule to apply
8certain mount options. With MountFlags=slave, those mounts then become private
9to the systemd-udevd namespace and are no longer accessible from outside the
10namespace.
11While the root cause is the broken behaviour of laptop-mode-tools, with mount
12propagation turned off, this can result in a read-only root file system.
13Therefore revert the relevant parts from commit
14c2c13f2df42e0691aecabe3979ea81cd7faa35c7 to re-enable mount propagation for
15udevd.
16
17Once affected packages have been fixed, this patch should be dropped
18again.
19
20Closes: #762018
21diff --git a/units/systemd-udevd.service.in b/units/systemd-udevd.service.in
22index e7216d6..1e9a600 100644
23--- a/units/systemd-udevd.service.in
24+++ b/units/systemd-udevd.service.in
25@@ -21,6 +21,5 @@ Sockets=systemd-udevd-control.socket systemd-udevd-kernel.socket
26 Restart=always
27 RestartSec=0
28 ExecStart=@rootlibexecdir@/systemd-udevd
29-MountFlags=slave
30 KillMode=mixed
31 WatchdogSec=1min
diff --git a/meta/recipes-core/systemd/systemd_230.bb b/meta/recipes-core/systemd/systemd_232.bb
index 77b71309bb..baee02ed73 100644
--- a/meta/recipes-core/systemd/systemd_230.bb
+++ b/meta/recipes-core/systemd/systemd_232.bb
@@ -25,18 +25,13 @@ SRC_URI += " \
25 file://0010-implment-systemd-sysv-install-for-OE.patch \ 25 file://0010-implment-systemd-sysv-install-for-OE.patch \
26 file://0011-nss-mymachines-Build-conditionally-when-HAVE_MYHOSTN.patch \ 26 file://0011-nss-mymachines-Build-conditionally-when-HAVE_MYHOSTN.patch \
27 file://0012-rules-whitelist-hd-devices.patch \ 27 file://0012-rules-whitelist-hd-devices.patch \
28 file://0013-sysv-generator-add-support-for-executing-scripts-und.patch \ 28 file://0013-Make-root-s-home-directory-configurable.patch \
29 file://0014-Make-root-s-home-directory-configurable.patch \ 29 file://0014-Revert-rules-remove-firmware-loading-rules.patch \
30 file://0015-systemd-user-avoid-using-system-auth.patch \ 30 file://0015-Revert-udev-remove-userspace-firmware-loading-suppor.patch \
31 file://0016-Revert-rules-remove-firmware-loading-rules.patch \ 31 file://0016-make-test-dir-configurable.patch \
32 file://0017-Revert-udev-remove-userspace-firmware-loading-suppor.patch \ 32 file://0017-remove-duplicate-include-uchar.h.patch \
33 file://0018-make-test-dir-configurable.patch \ 33 file://0018-check-for-uchar.h-in-configure.patch \
34 file://0019-remove-duplicate-include-uchar.h.patch \ 34 file://0019-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch \
35 file://0020-check-for-uchar.h-in-configure.patch \
36 file://0021-include-missing.h-for-getting-secure_getenv-definiti.patch \
37 file://0022-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch \
38 file://udev-re-enable-mount-propagation-for-udevd.patch \
39 file://CVE-2016-7795.patch \
40" 35"
41SRC_URI_append_libc-uclibc = "\ 36SRC_URI_append_libc-uclibc = "\
42 file://0002-units-Prefer-getty-to-agetty-in-console-setup-system.patch \ 37 file://0002-units-Prefer-getty-to-agetty-in-console-setup-system.patch \
@@ -61,7 +56,6 @@ PACKAGECONFIG ??= "xz \
61 timedated \ 56 timedated \
62 timesyncd \ 57 timesyncd \
63 localed \ 58 localed \
64 kdbus \
65 ima \ 59 ima \
66 smack \ 60 smack \
67 logind \ 61 logind \
@@ -96,7 +90,6 @@ PACKAGECONFIG[timedated] = "--enable-timedated,--disable-timedated"
96PACKAGECONFIG[timesyncd] = "--enable-timesyncd,--disable-timesyncd" 90PACKAGECONFIG[timesyncd] = "--enable-timesyncd,--disable-timesyncd"
97PACKAGECONFIG[localed] = "--enable-localed,--disable-localed" 91PACKAGECONFIG[localed] = "--enable-localed,--disable-localed"
98PACKAGECONFIG[efi] = "--enable-efi,--disable-efi" 92PACKAGECONFIG[efi] = "--enable-efi,--disable-efi"
99PACKAGECONFIG[kdbus] = "--enable-kdbus,--disable-kdbus"
100PACKAGECONFIG[ima] = "--enable-ima,--disable-ima" 93PACKAGECONFIG[ima] = "--enable-ima,--disable-ima"
101PACKAGECONFIG[smack] = "--enable-smack,--disable-smack" 94PACKAGECONFIG[smack] = "--enable-smack,--disable-smack"
102# libseccomp is found in meta-security 95# libseccomp is found in meta-security
@@ -282,7 +275,7 @@ python populate_packages_prepend (){
282 systemdlibdir = d.getVar("rootlibdir", True) 275 systemdlibdir = d.getVar("rootlibdir", True)
283 do_split_packages(d, systemdlibdir, '^lib(.*)\.so\.*', 'lib%s', 'Systemd %s library', extra_depends='', allow_links=True) 276 do_split_packages(d, systemdlibdir, '^lib(.*)\.so\.*', 'lib%s', 'Systemd %s library', extra_depends='', allow_links=True)
284} 277}
285PACKAGES_DYNAMIC += "^lib(udev|systemd).*" 278PACKAGES_DYNAMIC += "^lib(udev|systemd|nss).*"
286 279
287PACKAGES =+ "\ 280PACKAGES =+ "\
288 ${PN}-gui \ 281 ${PN}-gui \
@@ -492,6 +485,7 @@ RRECOMMENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-genera
492 os-release \ 485 os-release \
493" 486"
494 487
488INSANE_SKIP_${PN} += "dev-so"
495INSANE_SKIP_${PN}-doc += " libdir" 489INSANE_SKIP_${PN}-doc += " libdir"
496 490
497PACKAGES =+ "udev udev-hwdb" 491PACKAGES =+ "udev udev-hwdb"