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>
This commit is contained in:
Khem Raj 2016-11-28 13:26:06 -08:00 committed by Richard Purdie
parent b71f78ed6d
commit f9c12adaf8
27 changed files with 213 additions and 577 deletions

View File

@ -1,31 +1,22 @@
From 9dcd2c80347493f73800d8c1cb539f1daef14394 Mon Sep 17 00:00:00 2001
From: Jackie Huang <jackie.huang@windriver.com>
Date: Tue, 26 Jul 2016 03:54:42 -0400
Subject: [PATCH] use lnr wrapper instead of looking for --relative option for ln
From a3482c91642cf568b3ac27fa6c0cb3c6b30669b7 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 9 Nov 2016 19:32:14 -0800
Subject: [PATCH 07/19] use lnr wrapper instead of looking for --relative
option for ln
Upstream-Status: Inappropriate [OE-Specific]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
---
Makefile.am | 6 +++---
Makefile.am | 2 +-
configure.ac | 2 --
2 files changed, 3 insertions(+), 5 deletions(-)
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 305099a..f08d023 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -247,7 +247,7 @@ define move-to-rootlibdir
$(MKDIR_P) $(DESTDIR)$(rootlibdir) && \
so_img_name=$$(readlink $(DESTDIR)$(libdir)/$$libname) && \
rm -f $(DESTDIR)$(libdir)/$$libname && \
- $(LN_S) --relative -f $(DESTDIR)$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/$$libname && \
+ lnr $(DESTDIR)$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/$$libname && \
mv $(DESTDIR)$(libdir)/$$libname.* $(DESTDIR)$(rootlibdir); \
fi
endef
@@ -321,7 +321,7 @@ define install-relative-aliases
Index: git/Makefile.am
===================================================================
--- git.orig/Makefile.am
+++ git/Makefile.am
@@ -320,7 +320,7 @@ define install-relative-aliases
while [ -n "$$1" ]; do \
$(MKDIR_P) `dirname $(DESTDIR)$$dir/$$2` && \
rm -f $(DESTDIR)$$dir/$$2 && \
@ -34,20 +25,11 @@ index 305099a..f08d023 100644
shift 2 || exit $$?; \
done
endef
@@ -2906,7 +2906,7 @@ systemd_dbus1_generator_LDADD = \
dbus1-generator-install-hook:
$(AM_V_at)$(MKDIR_P) $(DESTDIR)$(usergeneratordir)
$(AM_V_RM)rm -f $(DESTDIR)$(usergeneratordir)/systemd-dbus1-generator
- $(AM_V_LN)$(LN_S) --relative -f $(DESTDIR)$(systemgeneratordir)/systemd-dbus1-generator $(DESTDIR)$(usergeneratordir)/systemd-dbus1-generator
+ $(AM_V_LN)lnr $(DESTDIR)$(systemgeneratordir)/systemd-dbus1-generator $(DESTDIR)$(usergeneratordir)/systemd-dbus1-generator
dbus1-generator-uninstall-hook:
rm -f $(DESTDIR)$(usergeneratordir)/systemd-dbus1-generator
diff --git a/configure.ac b/configure.ac
index 329861a..52c6e3d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -110,8 +110,6 @@ AC_PATH_PROG([SULOGIN], [sulogin], [/usr/sbin/sulogin], [$PATH:/usr/sbin:/sbin])
Index: git/configure.ac
===================================================================
--- git.orig/configure.ac
+++ git/configure.ac
@@ -110,8 +110,6 @@ AC_PATH_PROG([SULOGIN], [sulogin], [/usr
AC_PATH_PROG([MOUNT_PATH], [mount], [/usr/bin/mount], [$PATH:/usr/sbin:/sbin])
AC_PATH_PROG([UMOUNT_PATH], [umount], [/usr/bin/umount], [$PATH:/usr/sbin:/sbin])
@ -56,6 +38,3 @@ index 329861a..52c6e3d 100644
M4_DEFINES=
AC_CHECK_TOOL(OBJCOPY, objcopy)
--
2.8.1

View File

@ -14,12 +14,10 @@ LICENSE = "GPLv2 & LGPLv2.1"
LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
SRCREV = "3a74d4fc90cb322a4784a3515bef7118c8f8c5ba"
SRCREV = "a1e2ef7ec912902d8142e7cb5830cbfb47dba86c"
SRC_URI = "git://github.com/systemd/systemd.git;protocol=git"
PV = "230+git${SRCPV}"
S = "${WORKDIR}/git"
LDFLAGS_append_libc-uclibc = " -lrt -lssp_nonshared -lssp "

View File

@ -1,7 +1,7 @@
From 3bc4552117879f57522b5972b724729ca993f1ea Mon Sep 17 00:00:00 2001
From a544d6d15f5c418084f322349aafe341128d5fca Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 14 Dec 2015 04:09:19 +0000
Subject: [PATCH 01/36] core/device.c: Change the default device timeout to 240
Subject: [PATCH 01/19] core/device.c: Change the default device timeout to 240
sec.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
@ -16,7 +16,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/core/device.c b/src/core/device.c
index d201dc5..340d62a 100644
index c572a67..f90774e 100644
--- a/src/core/device.c
+++ b/src/core/device.c
@@ -112,7 +112,7 @@ static void device_init(Unit *u) {
@ -29,5 +29,5 @@ index d201dc5..340d62a 100644
u->ignore_on_isolate = true;
}
--
1.8.3.1
2.10.2

View File

@ -1,7 +1,7 @@
From e5f405aba347d216e7f2b73d7dd681b13be442e3 Mon Sep 17 00:00:00 2001
From 8736d9b9bb492f60e8f3a1a7fb5a05ba3201d86b Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 20 Feb 2015 05:29:15 +0000
Subject: [PATCH 02/36] units: Prefer getty to agetty in console setup systemd
Subject: [PATCH 02/19] units: Prefer getty to agetty in console setup systemd
units
Upstream-Status: Inappropriate [configuration specific]
@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/units/getty@.service.m4 b/units/getty@.service.m4
index 46164ab..bdf6ec8 100644
index 5b82c13..e729469 100644
--- a/units/getty@.service.m4
+++ b/units/getty@.service.m4
@@ -27,7 +27,7 @@ ConditionPathExists=/dev/tty0
@@ -33,7 +33,7 @@ ConditionPathExists=/dev/tty0
[Service]
# the VT is cleared by TTYVTDisallocate
@ -40,5 +40,5 @@ index 4522d0d..e6d499d 100644
Restart=always
UtmpIdentifier=%I
--
1.8.3.1
2.10.2

View File

@ -1,4 +1,7 @@
Subject: [PATCH 03/36] define exp10 if missing
From b383c286f58184575216b2bf6f185ba2ad648956 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 9 Nov 2016 19:25:45 -0800
Subject: [PATCH 03/19] define exp10 if missing
Inspired by: http://peter.korsgaard.com/patches/alsa-utils/alsamixer-fix-build-on-uClibc-exp10.patch
@ -8,16 +11,15 @@ Upstream-Status: Pending
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/basic/missing.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/basic/missing.h b/src/basic/missing.h
index 651e414..fafa233 100644
index 4c013be..4a3fd9c 100644
--- a/src/basic/missing.h
+++ b/src/basic/missing.h
@@ -1013,4 +1013,9 @@ typedef int32_t key_serial_t;
@@ -1078,4 +1078,9 @@ typedef int32_t key_serial_t;
#endif
@ -28,5 +30,5 @@ index 651e414..fafa233 100644
+
#include "missing_syscall.h"
--
2.8.3
2.10.2

View File

@ -1,7 +1,7 @@
From bb8d8148b16572ae17d3c308552cf73915386b05 Mon Sep 17 00:00:00 2001
From 5765cda4f7243e240b1e8723dc536fb20503d544 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 12 Sep 2015 19:10:04 +0000
Subject: [PATCH 04/36] Use getenv when secure versions are not available
Date: Wed, 9 Nov 2016 19:28:32 -0800
Subject: [PATCH 04/19] Use getenv when secure versions are not available
musl doesnt implement secure version, so we default
to it if configure does not detect a secure imeplementation
@ -9,19 +9,14 @@ to it if configure does not detect a secure imeplementation
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Denied
---
src/basic/missing.h | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
src/basic/missing.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/basic/missing.h b/src/basic/missing.h
index ee7e7ea..3170429 100644
index 4a3fd9c..4936873 100644
--- a/src/basic/missing.h
+++ b/src/basic/missing.h
@@ -585,12 +585,11 @@ static inline int name_to_handle_at(int fd, const char *name, struct file_handle
return syscall(__NR_name_to_handle_at, fd, name, handle, mnt_id, flags);
}
#endif
-
#ifndef HAVE_SECURE_GETENV
@@ -529,7 +529,7 @@ struct btrfs_ioctl_quota_ctl_args {
# ifdef HAVE___SECURE_GETENV
# define secure_getenv __secure_getenv
# else
@ -31,5 +26,5 @@ index ee7e7ea..3170429 100644
#endif
--
1.8.3.1
2.10.2

View File

@ -1,7 +1,7 @@
From 3436b12d40bf4f4ab7e3e16600e5f6c35a470da4 Mon Sep 17 00:00:00 2001
From 74450f0dbad2f8478c26eeaa46d4e4a987858f45 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 20 Feb 2015 05:03:44 +0000
Subject: [PATCH 05/36] binfmt: Don't install dependency links at install time
Subject: [PATCH 05/19] binfmt: Don't install dependency links at install time
for the binfmt services
use [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>
3 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 03341fc..629740f 100644
index 50da458..29ed1dd 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -4387,10 +4387,6 @@ INSTALL_DIRS += \
@@ -4635,10 +4635,6 @@ INSTALL_DIRS += \
$(prefix)/lib/binfmt.d \
$(sysconfdir)/binfmt.d
@ -70,5 +70,5 @@ index d53073e..8c57ee0 100644
+[Install]
+WantedBy=sysinit.target
--
1.8.3.1
2.10.2

View File

@ -1,7 +1,7 @@
From bb6f1d8a000b337280541afde7cccdcfe03cdeb1 Mon Sep 17 00:00:00 2001
From 82d837b76618a773485b96e38b7b91083a7437e8 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 20 Feb 2015 05:05:45 +0000
Subject: [PATCH 06/36] configure: Check for additional features that uclibc
Subject: [PATCH 06/19] configure: Check for additional features that uclibc
doesnt support
This helps in supporting uclibc which does not have all features that
@ -15,10 +15,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 18 insertions(+)
diff --git a/configure.ac b/configure.ac
index f51533c..0239fd0 100644
index 7f6b3b9..7c4b5a2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -112,6 +112,24 @@ AC_PATH_PROG([UMOUNT_PATH], [umount], [/usr/bin/umount], [$PATH:/usr/sbin:/sbin]
@@ -110,6 +110,24 @@ AC_PATH_PROG([UMOUNT_PATH], [umount], [/usr/bin/umount], [$PATH:/usr/sbin:/sbin]
AS_IF([! ln --relative --help > /dev/null 2>&1], [AC_MSG_ERROR([*** ln doesn't support --relative ***])])
@ -44,5 +44,5 @@ index f51533c..0239fd0 100644
AC_CHECK_TOOL(OBJCOPY, objcopy)
--
1.8.3.1
2.10.2

View File

@ -1,31 +1,22 @@
From fa5e137fbd2fb081ae897575377d718ee8cb6349 Mon Sep 17 00:00:00 2001
From a3482c91642cf568b3ac27fa6c0cb3c6b30669b7 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 20 Dec 2015 04:20:28 +0000
Subject: [PATCH 07/36] use lnr wrapper instead of looking for --relative
Date: Wed, 9 Nov 2016 19:32:14 -0800
Subject: [PATCH 07/19] use lnr wrapper instead of looking for --relative
option for ln
Upstream-Status: Inappropriate [OE-Specific]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Makefile.am | 6 +++---
Makefile.am | 2 +-
configure.ac | 2 --
2 files changed, 3 insertions(+), 5 deletions(-)
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 629740f..82b6553 100644
index 29ed1dd..02f4017 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -243,7 +243,7 @@ define move-to-rootlibdir
$(MKDIR_P) $(DESTDIR)$(rootlibdir) && \
so_img_name=$$(readlink $(DESTDIR)$(libdir)/$$libname) && \
rm -f $(DESTDIR)$(libdir)/$$libname && \
- $(LN_S) --relative -f $(DESTDIR)$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/$$libname && \
+ lnr $(DESTDIR)$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/$$libname && \
mv $(DESTDIR)$(libdir)/$$libname.* $(DESTDIR)$(rootlibdir); \
fi
endef
@@ -317,7 +317,7 @@ define install-relative-aliases
@@ -320,7 +320,7 @@ define install-relative-aliases
while [ -n "$$1" ]; do \
$(MKDIR_P) `dirname $(DESTDIR)$$dir/$$2` && \
rm -f $(DESTDIR)$$dir/$$2 && \
@ -34,20 +25,11 @@ index 629740f..82b6553 100644
shift 2 || exit $$?; \
done
endef
@@ -2781,7 +2781,7 @@ systemd_dbus1_generator_LDADD = \
dbus1-generator-install-hook:
$(AM_V_at)$(MKDIR_P) $(DESTDIR)$(usergeneratordir)
$(AM_V_RM)rm -f $(DESTDIR)$(usergeneratordir)/systemd-dbus1-generator
- $(AM_V_LN)$(LN_S) --relative -f $(DESTDIR)$(systemgeneratordir)/systemd-dbus1-generator $(DESTDIR)$(usergeneratordir)/systemd-dbus1-generator
+ $(AM_V_LN)lnr $(DESTDIR)$(systemgeneratordir)/systemd-dbus1-generator $(DESTDIR)$(usergeneratordir)/systemd-dbus1-generator
dbus1-generator-uninstall-hook:
rm -f $(DESTDIR)$(usergeneratordir)/systemd-dbus1-generator
diff --git a/configure.ac b/configure.ac
index 0239fd0..c5ab9d0 100644
index 7c4b5a2..b10c952 100644
--- a/configure.ac
+++ b/configure.ac
@@ -110,8 +110,6 @@ AC_PATH_PROG([SULOGIN], [sulogin], [/usr/sbin/sulogin], [$PATH:/usr/sbin:/sbin])
@@ -108,8 +108,6 @@ AC_PATH_PROG([SULOGIN], [sulogin], [/usr/sbin/sulogin], [$PATH:/usr/sbin:/sbin])
AC_PATH_PROG([MOUNT_PATH], [mount], [/usr/bin/mount], [$PATH:/usr/sbin:/sbin])
AC_PATH_PROG([UMOUNT_PATH], [umount], [/usr/bin/umount], [$PATH:/usr/sbin:/sbin])
@ -57,5 +39,5 @@ index 0239fd0..c5ab9d0 100644
AC_CHECK_FUNCS_ONCE(mkostemp execvpe posix_fallocate)
--
1.8.3.1
2.10.2

View File

@ -1,7 +1,7 @@
From ae999ff50efb9cc82537adef7696c6f732afcfc8 Mon Sep 17 00:00:00 2001
From 96026a3763264eb41a2c3e374f232f6e543284a8 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 20 Feb 2015 05:10:37 +0000
Subject: [PATCH 08/36] nspawn: Use execvpe only when libc supports it
Date: Wed, 9 Nov 2016 19:33:49 -0800
Subject: [PATCH 08/19] nspawn: Use execvpe only when libc supports it
Upstream-Status: Denied [no desire for uclibc support]
@ -11,10 +11,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 7 insertions(+)
diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
index 5a68fec..65e65ec 100644
index 9b9ae90..19b47cd 100644
--- a/src/nspawn/nspawn.c
+++ b/src/nspawn/nspawn.c
@@ -111,6 +111,8 @@ typedef enum LinkJournal {
@@ -123,6 +123,8 @@ typedef enum LinkJournal {
LINK_GUEST
} LinkJournal;
@ -23,7 +23,7 @@ index 5a68fec..65e65ec 100644
static char *arg_directory = NULL;
static char *arg_template = NULL;
static char *arg_chdir = NULL;
@@ -2637,7 +2639,12 @@ static int inner_child(
@@ -2871,7 +2873,12 @@ static int inner_child(
a[0] = (char*) "/sbin/init";
execve(a[0], a, env_use);
} else if (!strv_isempty(arg_parameters))
@ -35,7 +35,7 @@ index 5a68fec..65e65ec 100644
+#endif /* HAVE_EXECVPE */
else {
if (!arg_chdir)
chdir(home ?: "/root");
/* If we cannot change the directory, we'll end up in /, that is expected. */
--
1.8.3.1
2.10.2

View File

@ -1,7 +1,7 @@
From 3498f488b27f90398d7c8d1d06aac5ab684370e8 Mon Sep 17 00:00:00 2001
From 085c8b6f253726ad547e7be84ff3f2b99701488b Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 14 Dec 2015 00:47:53 +0000
Subject: [PATCH 09/36] util: bypass unimplemented _SC_PHYS_PAGES system
Date: Wed, 9 Nov 2016 19:38:07 -0800
Subject: [PATCH 09/19] util: bypass unimplemented _SC_PHYS_PAGES system
configuration API on uclibc
Upstream-Status: Inappropriate [uclibc-specific]
@ -12,12 +12,12 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 15 insertions(+)
diff --git a/src/basic/util.c b/src/basic/util.c
index ea1bed7..fdaf340 100644
index c1b5ca1..4c62d43 100644
--- a/src/basic/util.c
+++ b/src/basic/util.c
@@ -767,10 +767,25 @@ uint64_t physical_memory(void) {
/* We return this as uint64_t in case we are running as 32bit
* process on a 64bit kernel with huge amounts of memory */
@@ -742,6 +742,20 @@ uint64_t physical_memory(void) {
* In order to support containers nicely that have a configured memory limit we'll take the minimum of the
* physically reported amount of memory and the limit configured for the root cgroup, if there is any. */
+#ifdef __UCLIBC__
+ char line[128];
@ -33,14 +33,17 @@ index ea1bed7..fdaf340 100644
+ fclose(f);
+ return (uint64_t) mem;
+#else
mem = sysconf(_SC_PHYS_PAGES);
assert(mem > 0);
sc = sysconf(_SC_PHYS_PAGES);
assert(sc > 0);
return (uint64_t) mem * (uint64_t) page_size();
@@ -762,6 +776,7 @@ uint64_t physical_memory(void) {
lim *= ps;
return MIN(mem, lim);
+#endif
}
int update_reboot_param_file(const char *param) {
uint64_t physical_memory_scale(uint64_t v, uint64_t max) {
--
1.8.3.1
2.10.2

View File

@ -1,7 +1,7 @@
From 5f94f5ad46c1ded54c3797979d384e4c1eb77bb0 Mon Sep 17 00:00:00 2001
From 52726be92e2b841f744a96c378cc872ae0033a2b Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 5 Sep 2015 06:31:47 +0000
Subject: [PATCH 10/36] implment systemd-sysv-install for OE
Subject: [PATCH 10/19] implment systemd-sysv-install for OE
Use update-rc.d for enabling/disabling and status command
to check the status of the sysv service
@ -39,5 +39,5 @@ index a53a3e6..5d877b0 100755
*)
usage ;;
--
1.8.3.1
2.10.2

View File

@ -1,7 +1,7 @@
From 2b2450f6b7197bff4637c0283e8784500471d083 Mon Sep 17 00:00:00 2001
From 3f6f45578b828e414f50c6822375073e7174236a Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 14 Dec 2015 00:50:01 +0000
Subject: [PATCH 11/36] nss-mymachines: Build conditionally when
Subject: [PATCH 11/19] nss-mymachines: Build conditionally when
HAVE_MYHOSTNAME is set
Fixes build failures when building with --disable-myhostname
@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 2 insertions(+)
diff --git a/Makefile.am b/Makefile.am
index 82b6553..b3f3343 100644
index 02f4017..420e0e0 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -4876,6 +4876,7 @@ SYSTEM_UNIT_ALIASES += \
@@ -5146,6 +5146,7 @@ SYSTEM_UNIT_ALIASES += \
BUSNAMES_TARGET_WANTS += \
org.freedesktop.machine1.busname
@ -25,7 +25,7 @@ index 82b6553..b3f3343 100644
libnss_mymachines_la_SOURCES = \
src/nss-mymachines/nss-mymachines.sym \
src/nss-mymachines/nss-mymachines.c
@@ -4896,6 +4897,7 @@ lib_LTLIBRARIES += \
@@ -5167,6 +5168,7 @@ rootlib_LTLIBRARIES += \
libnss_mymachines.la
endif
@ -34,5 +34,5 @@ index 82b6553..b3f3343 100644
polkitpolicy_in_files += \
src/machine/org.freedesktop.machine1.policy.in
--
1.8.3.1
2.10.2

View File

@ -1,7 +1,7 @@
From 5ebc0d87565a73710dea602c00b1586d5a1364e5 Mon Sep 17 00:00:00 2001
From: Patrick Ohly <patrick.ohly@intel.com>
Date: Wed, 16 Sep 2015 13:55:58 +0200
Subject: [PATCH 12/36] rules: whitelist hd* devices
From 8cc1ae11f54dcc38ee2168b0f99703b835dd3942 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 9 Nov 2016 19:41:13 -0800
Subject: [PATCH 12/19] rules: whitelist hd* devices
qemu by default emulates IDE and the linux-yocto kernel(s) use
CONFIG_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
Upstream-Status: Denied [https://github.com/systemd/systemd/pull/1276]
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
rules/60-persistent-storage.rules | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules
index 0b14bb4..1c4d97a 100644
index c13d05c..b14fbed 100644
--- a/rules/60-persistent-storage.rules
+++ b/rules/60-persistent-storage.rules
@@ -6,7 +6,7 @@
ACTION=="remove", GOTO="persistent_storage_end"
@@ -7,7 +7,7 @@ ACTION=="remove", GOTO="persistent_storage_end"
ENV{UDEV_DISABLE_PERSISTENT_STORAGE_RULES_FLAG}=="1", GOTO="persistent_storage_end"
SUBSYSTEM!="block", GOTO="persistent_storage_end"
-KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*", GOTO="persistent_storage_end"
+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"
-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"
+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"
# ignore partitions that span the entire disk
TEST=="whole_disk", GOTO="persistent_storage_end"
--
1.8.3.1
2.10.2

View File

@ -1,4 +1,7 @@
Subject: [PATCH 14/36] Make root's home directory configurable
From 79e64a07840e0d97d66e46111f1c086bf83981b7 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 9 Nov 2016 20:35:30 -0800
Subject: [PATCH 13/19] Make root's home directory configurable
OpenEmbedded has a configurable home directory for root. Allow
systemd to be built using its idea of what root's home directory
@ -11,23 +14,20 @@ https://github.com/systemd/systemd/issues/541
Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Makefile.am | 2 ++
configure.ac | 7 +++++++
src/basic/user-util.c | 4 ++--
src/core/namespace.c | 2 +-
src/nspawn/nspawn.c | 4 ++--
units/console-shell.service.m4.in | 4 ++--
units/emergency.service.in | 4 ++--
units/rescue.service.in | 4 ++--
8 files changed, 20 insertions(+), 11 deletions(-)
Makefile.am | 2 ++
configure.ac | 7 +++++++
src/basic/user-util.c | 4 ++--
src/nspawn/nspawn.c | 4 ++--
units/emergency.service.in | 4 ++--
units/rescue.service.in | 4 ++--
6 files changed, 17 insertions(+), 8 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 305099a..88c1250 100644
index 420e0e0..3010b01 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -206,6 +206,7 @@ AM_CPPFLAGS = \
@@ -213,6 +213,7 @@ AM_CPPFLAGS = \
-DLIBDIR=\"$(libdir)\" \
-DROOTLIBDIR=\"$(rootlibdir)\" \
-DROOTLIBEXECDIR=\"$(rootlibexecdir)\" \
@ -35,8 +35,8 @@ index 305099a..88c1250 100644
-DTEST_DIR=\"$(abs_top_srcdir)/test\" \
-I $(top_srcdir)/src \
-I $(top_builddir)/src/basic \
@@ -5863,6 +5864,7 @@ EXTRA_DIST += \
substitutions = \
@@ -6057,6 +6058,7 @@ substitutions = \
'|rootlibdir=$(rootlibdir)|' \
'|rootlibexecdir=$(rootlibexecdir)|' \
'|rootbindir=$(rootbindir)|' \
+ '|roothomedir=$(roothomedir)|' \
@ -44,10 +44,10 @@ index 305099a..88c1250 100644
'|SYSTEMCTL=$(rootbindir)/systemctl|' \
'|SYSTEMD_NOTIFY=$(rootbindir)/systemd-notify|' \
diff --git a/configure.ac b/configure.ac
index 329861a..01764f5 100644
index b10c952..dfc0bd3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1478,6 +1478,11 @@ AC_ARG_WITH([rootlibdir],
@@ -1513,6 +1513,11 @@ AC_ARG_WITH([rootlibdir],
[with_rootlibdir=${libdir}])
AX_NORMALIZE_PATH([with_rootlibdir])
@ -59,7 +59,7 @@ index 329861a..01764f5 100644
AC_ARG_WITH([pamlibdir],
AS_HELP_STRING([--with-pamlibdir=DIR], [Directory for PAM modules]),
[],
@@ -1562,6 +1567,7 @@ AC_SUBST([pamlibdir], [$with_pamlibdir])
@@ -1598,6 +1603,7 @@ AC_SUBST([pamlibdir], [$with_pamlibdir])
AC_SUBST([pamconfdir], [$with_pamconfdir])
AC_SUBST([rootprefix], [$with_rootprefix])
AC_SUBST([rootlibdir], [$with_rootlibdir])
@ -67,7 +67,7 @@ index 329861a..01764f5 100644
AC_CONFIG_FILES([
Makefile
@@ -1653,6 +1659,7 @@ AC_MSG_RESULT([
@@ -1688,6 +1694,7 @@ AC_MSG_RESULT([
includedir: ${includedir}
lib dir: ${libdir}
rootlib dir: ${with_rootlibdir}
@ -76,10 +76,10 @@ index 329861a..01764f5 100644
SysV rc?.d directories: ${SYSTEM_SYSVRCND_PATH}
Build Python: ${PYTHON}
diff --git a/src/basic/user-util.c b/src/basic/user-util.c
index f65ca3e..da1101a 100644
index 938533d..3f9fdc4 100644
--- a/src/basic/user-util.c
+++ b/src/basic/user-util.c
@@ -123,7 +123,7 @@ int get_user_creds(
@@ -127,7 +127,7 @@ int get_user_creds(
*gid = 0;
if (home)
@ -88,7 +88,7 @@ index f65ca3e..da1101a 100644
if (shell)
*shell = "/bin/sh";
@@ -354,7 +354,7 @@ int get_home_dir(char **_h) {
@@ -387,7 +387,7 @@ int get_home_dir(char **_h) {
/* Hardcode home directory for root to avoid NSS */
u = getuid();
if (u == 0) {
@ -97,24 +97,11 @@ index f65ca3e..da1101a 100644
if (!h)
return -ENOMEM;
diff --git a/src/core/namespace.c b/src/core/namespace.c
index 203d122..45c0d11 100644
--- a/src/core/namespace.c
+++ b/src/core/namespace.c
@@ -415,7 +415,7 @@ int setup_namespace(
home_dir = strjoina("-", home_dir);
run_user_dir = prefix_roota(root_directory, "/run/user");
run_user_dir = strjoina("-", run_user_dir);
- root_dir = prefix_roota(root_directory, "/root");
+ root_dir = prefix_roota(root_directory, ROOTHOMEDIR);
root_dir = strjoina("-", root_dir);
r = append_mounts(&m, STRV_MAKE(home_dir, run_user_dir, root_dir),
diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
index 8ec0584..51df00b 100644
index 19b47cd..e42bf19 100644
--- a/src/nspawn/nspawn.c
+++ b/src/nspawn/nspawn.c
@@ -2739,7 +2739,7 @@ static int inner_child(
@@ -2798,7 +2798,7 @@ static int inner_child(
if (envp[n_env])
n_env++;
@ -123,7 +110,7 @@ index 8ec0584..51df00b 100644
(asprintf((char**)(envp + n_env++), "USER=%s", arg_user ? arg_user : "root") < 0) ||
(asprintf((char**)(envp + n_env++), "LOGNAME=%s", arg_user ? arg_user : "root") < 0))
return log_oom();
@@ -2816,7 +2816,7 @@ static int inner_child(
@@ -2882,7 +2882,7 @@ static int inner_child(
else {
if (!arg_chdir)
/* If we cannot change the directory, we'll end up in /, that is expected. */
@ -132,23 +119,8 @@ index 8ec0584..51df00b 100644
execle("/bin/bash", "-bash", NULL, env_use);
execle("/bin/sh", "-sh", NULL, env_use);
diff --git a/units/console-shell.service.m4.in b/units/console-shell.service.m4.in
index a345ec2..3caae7d 100644
--- a/units/console-shell.service.m4.in
+++ b/units/console-shell.service.m4.in
@@ -15,8 +15,8 @@ After=rc-local.service
Before=getty.target
[Service]
-Environment=HOME=/root
-WorkingDirectory=-/root
+Environment=HOME=@roothomedir@
+WorkingDirectory=-@roothomedir@
ExecStart=-@SULOGIN@
ExecStopPost=-@SYSTEMCTL@ poweroff
Type=idle
diff --git a/units/emergency.service.in b/units/emergency.service.in
index 0de16f2..4826062 100644
index da68eb8..e25f879 100644
--- a/units/emergency.service.in
+++ b/units/emergency.service.in
@@ -15,8 +15,8 @@ Conflicts=syslog.socket
@ -160,10 +132,10 @@ index 0de16f2..4826062 100644
+Environment=HOME=@roothomedir@
+WorkingDirectory=-@roothomedir@
ExecStartPre=-/bin/plymouth --wait quit
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.'
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.'
ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --job-mode=fail --no-block default"
diff --git a/units/rescue.service.in b/units/rescue.service.in
index 92553f6..590ae17 100644
index 5feff69..a83439e 100644
--- a/units/rescue.service.in
+++ b/units/rescue.service.in
@@ -14,8 +14,8 @@ After=sysinit.target plymouth-start.service
@ -174,9 +146,9 @@ index 92553f6..590ae17 100644
-WorkingDirectory=-/root
+Environment=HOME=@roothomedir@
+WorkingDirectory=-@roothomedir@
ExecStartPre=-/bin/plymouth quit
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.'
ExecStartPre=-/bin/plymouth --wait quit
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.'
ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --job-mode=fail --no-block default"
--
2.8.3
2.10.2

View File

@ -1,133 +0,0 @@
From 6736de4a3caf9a0b3c888c6cc05103ab1b86907d Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 14 Dec 2015 05:09:53 +0000
Subject: [PATCH 13/36] sysv-generator: add support for executing scripts under
/etc/rcS.d/
To be compatible, all services translated from scripts under /etc/rcS.d would
run before services translated from scripts under /etc/rcN.d.
Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/sysv-generator/sysv-generator.c | 47 ++++++++++++++++++++++++++++---------
1 file changed, 36 insertions(+), 11 deletions(-)
diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c
index b5925a4..ea06d6a 100644
--- a/src/sysv-generator/sysv-generator.c
+++ b/src/sysv-generator/sysv-generator.c
@@ -44,7 +44,8 @@
typedef enum RunlevelType {
RUNLEVEL_UP,
- RUNLEVEL_DOWN
+ RUNLEVEL_DOWN,
+ RUNLEVEL_SYSINIT
} RunlevelType;
static const struct {
@@ -59,6 +60,9 @@ static const struct {
{ "rc4.d", SPECIAL_MULTI_USER_TARGET, RUNLEVEL_UP },
{ "rc5.d", SPECIAL_GRAPHICAL_TARGET, RUNLEVEL_UP },
+ /* Debian style rcS.d, also adopted by OE */
+ { "rcS.d", SPECIAL_SYSINIT_TARGET, RUNLEVEL_SYSINIT},
+
/* Standard SysV runlevels for shutdown */
{ "rc0.d", SPECIAL_POWEROFF_TARGET, RUNLEVEL_DOWN },
{ "rc6.d", SPECIAL_REBOOT_TARGET, RUNLEVEL_DOWN }
@@ -67,7 +71,7 @@ static const struct {
directories in this order, and we want to make sure that
sysv_start_priority is known when we first load the
unit. And that value we only know from S links. Hence
- UP must be read before DOWN */
+ UP/SYSINIT must be read before DOWN */
};
static const char *arg_dest = "/tmp";
@@ -86,6 +90,8 @@ typedef struct SysvStub {
bool has_lsb;
bool reload;
bool loaded;
+ bool default_dependencies;
+ bool from_rcsd;
} SysvStub;
static void free_sysvstub(SysvStub *s) {
@@ -711,17 +717,31 @@ static int fix_order(SysvStub *s, Hashmap *all_services) {
if (s->has_lsb && other->has_lsb)
continue;
- if (other->sysv_start_priority < s->sysv_start_priority) {
- r = strv_extend(&s->after, other->name);
+ /* All scripts under /etc/rcS.d should execute before scripts under
+ * /etc/rcN.d */
+ if (!other->from_rcsd && s->from_rcsd) {
+ r = strv_extend(&s->before, other->name);
if (r < 0)
return log_oom();
- } else if (other->sysv_start_priority > s->sysv_start_priority) {
- r = strv_extend(&s->before, other->name);
+ } else if (other->from_rcsd && !s->from_rcsd) {
+ r = strv_extend(&s->after, other->name);
if (r < 0)
return log_oom();
- } else
- continue;
+ } else {
+ if (other->sysv_start_priority < s->sysv_start_priority) {
+ r = strv_extend(&s->after, other->name);
+ if (r < 0)
+ return log_oom();
+ }
+ else if (other->sysv_start_priority > s->sysv_start_priority) {
+ r = strv_extend(&s->before, other->name);
+ if (r < 0)
+ return log_oom();
+ }
+ else
+ continue;
+ }
/* FIXME: Maybe we should compare the name here lexicographically? */
}
@@ -788,6 +808,8 @@ static int enumerate_sysv(const LookupPaths *lp, Hashmap *all_services) {
return log_oom();
service->sysv_start_priority = -1;
+ service->default_dependencies = true;
+ service->from_rcsd = false;
service->name = name;
service->path = fpath;
name = fpath = NULL;
@@ -871,9 +893,11 @@ static int set_dependencies_from_rcnd(const LookupPaths *lp, Hashmap *all_servic
if (de->d_name[0] == 'S') {
- if (rcnd_table[i].type == RUNLEVEL_UP)
+ if (rcnd_table[i].type == RUNLEVEL_UP || rcnd_table[i].type == RUNLEVEL_SYSINIT) {
service->sysv_start_priority = MAX(a*10 + b, service->sysv_start_priority);
-
+ service->default_dependencies = (rcnd_table[i].type == RUNLEVEL_SYSINIT)?false:true;
+ service->from_rcsd = (rcnd_table[i].type == RUNLEVEL_SYSINIT)?true:false;
+ }
r = set_ensure_allocated(&runlevel_services[i], NULL);
if (r < 0) {
log_oom();
@@ -887,7 +911,8 @@ static int set_dependencies_from_rcnd(const LookupPaths *lp, Hashmap *all_servic
}
} else if (de->d_name[0] == 'K' &&
- (rcnd_table[i].type == RUNLEVEL_DOWN)) {
+ (rcnd_table[i].type == RUNLEVEL_DOWN ||
+ rcnd_table[i].type == RUNLEVEL_SYSINIT)) {
r = set_ensure_allocated(&shutdown_services, NULL);
if (r < 0) {
--
1.8.3.1

View File

@ -1,7 +1,7 @@
From 7311ecc745c17d6ed9fd9cf43039648483a87605 Mon Sep 17 00:00:00 2001
From 0f47cfcb16e8e40a90a9221f9995f8cd8a915c22 Mon Sep 17 00:00:00 2001
From: Jonathan Liu <net147@gmail.com>
Date: Thu, 19 Mar 2015 15:01:29 +1100
Subject: [PATCH 16/36] Revert "rules: remove firmware loading rules"
Subject: [PATCH 14/19] Revert "rules: remove firmware loading rules"
This reverts commit 70e7d754ddb356fb1a2942b262f8cee9650e2a19.
Userspace firmware loading support is needed for Linux < 3.7.
@ -24,5 +24,5 @@ index 0000000..f0ae684
+
+SUBSYSTEM=="firmware", ACTION=="add", RUN{builtin}="firmware"
--
1.8.3.1
2.10.2

View File

@ -1,4 +1,7 @@
Subject: [PATCH 17/36] Revert "udev: remove userspace firmware loading
From 4d28d9a7d8d69fb429955d770e53e7a81640da24 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 9 Nov 2016 20:45:23 -0800
Subject: [PATCH 15/19] Revert "udev: remove userspace firmware loading
support"
This reverts commit be2ea723b1d023b3d385d3b791ee4607cbfb20ca.
@ -10,21 +13,21 @@ Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Makefile.am | 12 +++
README | 4 +-
README | 6 +-
TODO | 1 +
configure.ac | 22 ++++++
configure.ac | 18 +++++
src/udev/udev-builtin-firmware.c | 154 +++++++++++++++++++++++++++++++++++++++
src/udev/udev-builtin.c | 3 +
src/udev/udev.h | 6 ++
src/udev/udevd.c | 13 ++++
8 files changed, 213 insertions(+), 2 deletions(-)
8 files changed, 210 insertions(+), 3 deletions(-)
create mode 100644 src/udev/udev-builtin-firmware.c
diff --git a/Makefile.am b/Makefile.am
index 305099a..e774976 100644
index 3010b01..229492a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -3706,6 +3706,18 @@ libudev_core_la_LIBADD = \
@@ -3791,6 +3791,18 @@ libudev_core_la_LIBADD = \
$(BLKID_LIBS) \
$(KMOD_LIBS)
@ -44,10 +47,17 @@ index 305099a..e774976 100644
libudev_core_la_SOURCES += \
src/udev/udev-builtin-kmod.c
diff --git a/README b/README
index ca8993c..87f3297 100644
index 9f5bc93..f60ae11 100644
--- a/README
+++ b/README
@@ -56,8 +56,8 @@ REQUIREMENTS:
@@ -50,14 +50,14 @@ REQUIREMENTS:
CONFIG_PROC_FS
CONFIG_FHANDLE (libudev, mount and bind mount handling)
- udev will fail to work with the legacy sysfs layout:
+ Udev will fail to work with the legacy sysfs layout:
CONFIG_SYSFS_DEPRECATED=n
Legacy hotplug slows down the system and confuses udev:
CONFIG_UEVENT_HELPER_PATH=""
@ -59,10 +69,10 @@ index ca8993c..87f3297 100644
Some udev rules and virtualization detection relies on it:
diff --git a/TODO b/TODO
index fac9ccf..2645582 100644
index baaac94..1ab1691 100644
--- a/TODO
+++ b/TODO
@@ -642,6 +642,7 @@ Features:
@@ -658,6 +658,7 @@ Features:
* initialize the hostname from the fs label of /, if /etc/hostname does not exist?
* udev:
@ -71,13 +81,13 @@ index fac9ccf..2645582 100644
- kill scsi_id
- add trigger --subsystem-match=usb/usb_device device
diff --git a/configure.ac b/configure.ac
index 329861a..af85405 100644
index dfc0bd3..1de0066 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1361,6 +1361,25 @@ AC_ARG_ENABLE(hwdb, [AC_HELP_STRING([--disable-hwdb], [disable hardware database
@@ -1394,6 +1394,23 @@ AM_CONDITIONAL(HAVE_MYHOSTNAME, [test "$have_myhostname" = "yes"])
AC_ARG_ENABLE(hwdb, [AC_HELP_STRING([--disable-hwdb], [disable hardware database support])],
enable_hwdb=$enableval, enable_hwdb=yes)
AM_CONDITIONAL(ENABLE_HWDB, [test x$enable_hwdb = xyes])
# ------------------------------------------------------------------------------
+AC_ARG_WITH(firmware-path,
+ AS_HELP_STRING([--with-firmware-path=DIR[[[:DIR[...]]]]],
+ [Firmware search path (default="")]),
@ -93,19 +103,15 @@ index 329861a..af85405 100644
+done
+IFS=$OLD_IFS
+AC_SUBST(FIRMWARE_PATH)
+AS_IF([test "x${FIRMWARE_PATH}" != "x"], [ AC_DEFINE(HAVE_FIRMWARE, 1, [Define if FIRMWARE is availabe]) ])
+AS_IF([test "x${FIRMWARE_PATH}" != "x"], [ AC_DEFINE(HAVE_FIRMWARE, 1, [Define if FIRMWARE is available]) ])
+AM_CONDITIONAL(ENABLE_FIRMWARE, [test "x${FIRMWARE_PATH}" != "x"])
+
+# ------------------------------------------------------------------------------
# ------------------------------------------------------------------------------
have_manpages=no
AC_ARG_ENABLE(manpages, AS_HELP_STRING([--disable-manpages], [disable manpages]))
AC_PATH_PROG([XSLTPROC], [xsltproc])
@@ -1656,6 +1675,9 @@ AC_MSG_RESULT([
@@ -1698,6 +1715,7 @@ AC_MSG_RESULT([
SysV init scripts: ${SYSTEM_SYSVINIT_PATH}
SysV rc?.d directories: ${SYSTEM_SYSVRCND_PATH}
Build Python: ${PYTHON}
+ Installation Python: ${PYTHON_BINARY}
+ sphinx binary: ${SPHINX_BUILD}
+ firmware path: ${FIRMWARE_PATH}
PAM modules dir: ${with_pamlibdir}
PAM configuration dir: ${with_pamconfdir}
@ -309,7 +315,7 @@ index 8433e8d..d32366d 100644
extern const struct udev_builtin udev_builtin_input_id;
extern const struct udev_builtin udev_builtin_keyboard;
diff --git a/src/udev/udevd.c b/src/udev/udevd.c
index e9dd2f4..0abc28e 100644
index d336ee0..81e5dc5 100644
--- a/src/udev/udevd.c
+++ b/src/udev/udevd.c
@@ -125,6 +125,9 @@ struct event {
@ -322,7 +328,7 @@ index e9dd2f4..0abc28e 100644
};
static inline struct event *node_to_event(struct udev_list_node *node) {
@@ -614,6 +617,10 @@ static int event_queue_insert(Manager *manager, struct udev_device *dev) {
@@ -613,6 +616,10 @@ static int event_queue_insert(Manager *manager, struct udev_device *dev) {
event->devnum = udev_device_get_devnum(dev);
event->is_block = streq("block", udev_device_get_subsystem(dev));
event->ifindex = udev_device_get_ifindex(dev);
@ -333,7 +339,7 @@ index e9dd2f4..0abc28e 100644
log_debug("seq %llu queued, '%s' '%s'", udev_device_get_seqnum(dev),
udev_device_get_action(dev), udev_device_get_subsystem(dev));
@@ -699,6 +706,12 @@ static bool is_devpath_busy(Manager *manager, struct event *event) {
@@ -698,6 +705,12 @@ static bool is_devpath_busy(Manager *manager, struct event *event) {
return true;
}
@ -347,5 +353,5 @@ index e9dd2f4..0abc28e 100644
if (event->devpath[common] == '/') {
event->delaying_seqnum = loop_event->seqnum;
--
2.8.3
2.10.2

View File

@ -1,35 +0,0 @@
Subject: [PATCH 15/36] systemd-user: avoid using system-auth
In OE, we don't provide system-auth, instead, we use common-* files.
So modify systemd-user file to use common-* files.
Upstream-Status: Inappropriate [oe specific]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/login/systemd-user.m4 | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/login/systemd-user.m4 b/src/login/systemd-user.m4
index f188a8e..862d8d7 100644
--- a/src/login/systemd-user.m4
+++ b/src/login/systemd-user.m4
@@ -2,11 +2,11 @@
#
# Used by systemd --user instances.
-account include system-auth
+account include common-account
m4_ifdef(`HAVE_SELINUX',
session required pam_selinux.so close
session required pam_selinux.so nottys open
)m4_dnl
session required pam_loginuid.so
-session include system-auth
+session include common-session
--
2.8.3

View File

@ -1,4 +1,7 @@
Subject: [PATCH 18/36] make test dir configurable
From 218bbc555a37f9373fbb7f03c744eb65109d3470 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 9 Nov 2016 20:47:37 -0800
Subject: [PATCH 16/19] make test dir configurable
Upstream-Status: Pending
@ -6,17 +9,17 @@ test maybe be run on target in cross-compile environment, and test dir
is not the compilation dir, so make it configurable
Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Makefile.am | 2 +-
configure.ac | 7 +++++++
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/Makefile.am b/Makefile.am
index a94636a..dbd3386 100644
index 229492a..e997d82 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -207,7 +207,7 @@ AM_CPPFLAGS = \
@@ -214,7 +214,7 @@ AM_CPPFLAGS = \
-DROOTLIBDIR=\"$(rootlibdir)\" \
-DROOTLIBEXECDIR=\"$(rootlibexecdir)\" \
-DROOTHOMEDIR=\"$(roothomedir)\" \
@ -26,10 +29,10 @@ index a94636a..dbd3386 100644
-I $(top_builddir)/src/basic \
-I $(top_srcdir)/src/basic \
diff --git a/configure.ac b/configure.ac
index 45aae8a..c53fae2 100644
index 1de0066..b12e320 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1518,6 +1518,11 @@ AC_ARG_WITH([roothomedir],
@@ -1535,6 +1535,11 @@ AC_ARG_WITH([roothomedir],
[],
[with_roothomedir=/root])
@ -41,7 +44,7 @@ index 45aae8a..c53fae2 100644
AC_ARG_WITH([pamlibdir],
AS_HELP_STRING([--with-pamlibdir=DIR], [Directory for PAM modules]),
[],
@@ -1603,6 +1608,7 @@ AC_SUBST([pamconfdir], [$with_pamconfdir])
@@ -1621,6 +1626,7 @@ AC_SUBST([pamconfdir], [$with_pamconfdir])
AC_SUBST([rootprefix], [$with_rootprefix])
AC_SUBST([rootlibdir], [$with_rootlibdir])
AC_SUBST([roothomedir], [$with_roothomedir])
@ -49,7 +52,7 @@ index 45aae8a..c53fae2 100644
AC_CONFIG_FILES([
Makefile
@@ -1695,6 +1701,7 @@ AC_MSG_RESULT([
@@ -1712,6 +1718,7 @@ AC_MSG_RESULT([
lib dir: ${libdir}
rootlib dir: ${with_rootlibdir}
root home dir: ${with_roothomedir}
@ -58,5 +61,5 @@ index 45aae8a..c53fae2 100644
SysV rc?.d directories: ${SYSTEM_SYSVRCND_PATH}
Build Python: ${PYTHON}
--
2.8.3
2.10.2

View File

@ -1,14 +1,12 @@
From 3ca534935460647fed66e31aaa90b364e29eab5c Mon Sep 17 00:00:00 2001
From e78af874fc9f3d3af49498b8207109993d93a596 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 22 Feb 2016 05:59:01 +0000
Subject: [PATCH 1/2] remove duplicate include uchar.h
Subject: [PATCH 17/19] remove duplicate include uchar.h
missing.h already includes it
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
src/basic/escape.h | 1 -
src/basic/utf8.h | 1 -
2 files changed, 2 deletions(-)
@ -26,7 +24,7 @@ index deaa4de..36d437c 100644
#include "string-util.h"
#include "missing.h"
diff --git a/src/basic/utf8.h b/src/basic/utf8.h
index 12c272d..bea93a6 100644
index f9b9c94..6ac9a3c 100644
--- a/src/basic/utf8.h
+++ b/src/basic/utf8.h
@@ -22,7 +22,6 @@
@ -38,5 +36,5 @@ index 12c272d..bea93a6 100644
#include "macro.h"
#include "missing.h"
--
1.8.3.1
2.10.2

View File

@ -1,23 +1,21 @@
From e06eec89a22719c38e257fe07afff18e359114cb Mon Sep 17 00:00:00 2001
From 7cc0b19d244023c7b3e557765b03b7971e047f29 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 22 Feb 2016 06:02:38 +0000
Subject: [PATCH 2/2] check for uchar.h in configure
Subject: [PATCH 18/19] check for uchar.h in configure
Use ifdef to include uchar.h
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
configure.ac | 1 +
src/basic/missing.h | 2 ++
2 files changed, 3 insertions(+)
diff --git a/configure.ac b/configure.ac
index ecc3e6b..62f934e 100644
index b12e320..4e6dfdf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -297,6 +297,7 @@ AM_CONDITIONAL([HAVE_PYTHON], [test "x$have_python" = "xyes"])
@@ -298,6 +298,7 @@ AM_CONDITIONAL([HAVE_PYTHON], [test "x$have_python" = "xyes"])
# ------------------------------------------------------------------------------
@ -26,10 +24,10 @@ index ecc3e6b..62f934e 100644
AC_CHECK_HEADERS([linux/btrfs.h], [], [])
AC_CHECK_HEADERS([linux/memfd.h], [], [])
diff --git a/src/basic/missing.h b/src/basic/missing.h
index f704422..a1baa95 100644
index 4936873..ce79404 100644
--- a/src/basic/missing.h
+++ b/src/basic/missing.h
@@ -34,7 +34,9 @@
@@ -35,7 +35,9 @@
#include <stdlib.h>
#include <sys/resource.h>
#include <sys/syscall.h>
@ -40,5 +38,5 @@ index f704422..a1baa95 100644
#ifdef HAVE_AUDIT
--
1.8.3.1
2.10.2

View File

@ -1,23 +1,23 @@
From 71e710a6c8a3879af7d50c4cb995e0615deba5c3 Mon Sep 17 00:00:00 2001
From: Emil Renner Berthing <systemd@esmil.dk>
Date: Sat, 12 Sep 2015 19:56:52 +0000
Subject: [PATCH 29/38] socket-util: don't fail if libc doesn't support IDN
From 289554d87e4fd96cae08c0fb449bf41d5641cd24 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 9 Nov 2016 20:49:53 -0800
Subject: [PATCH 19/19] socket-util: don't fail if libc doesn't support IDN
Upstream-Status: Pending
Signed-off-by: Emil Renner Berthing <systemd@esmil.dk>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
src/basic/socket-util.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/src/basic/socket-util.c b/src/basic/socket-util.c
index 5851268..aefaca5 100644
index 4ebf106..53b9a12 100644
--- a/src/basic/socket-util.c
+++ b/src/basic/socket-util.c
@@ -44,6 +44,15 @@
#include "string-util.h"
@@ -47,6 +47,15 @@
#include "user-util.h"
#include "utf8.h"
#include "util.h"
+/* Don't fail if the standard library
+ * doesn't support IDN */
@ -32,5 +32,5 @@ index 5851268..aefaca5 100644
int socket_address_parse(SocketAddress *a, const char *s) {
char *e, *n;
--
1.8.3.1
2.10.2

View File

@ -1,27 +0,0 @@
From 6cedbaee7964f6a6c61b9f2c8f0b87cef9370424 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 15 Dec 2015 22:51:55 +0000
Subject: [PATCH 26/38] include missing.h for getting secure_getenv definition
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
src/basic/user-util.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/basic/user-util.c b/src/basic/user-util.c
index 55672b3..22c4a23 100644
--- a/src/basic/user-util.c
+++ b/src/basic/user-util.c
@@ -38,6 +38,7 @@
#include "path-util.h"
#include "string-util.h"
#include "user-util.h"
+#include "missing.h"
bool uid_is_valid(uid_t uid) {
--
1.8.3.1

View File

@ -1,69 +0,0 @@
Subject: Fix CVE-2016-7795
This undoes 531ac2b. I acked that patch without looking at the code
carefully enough. There are two problems:
- we want to process the fds anyway
- in principle empty notification messages are valid, and we should
process them as usual, including logging using log_unit_debug().
Upstream-Status: Backport
CVE: CVE-2016-7795
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
src/core/manager.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/src/core/manager.c b/src/core/manager.c
index 7838f56..f165d08e 100644
--- a/src/core/manager.c
+++ b/src/core/manager.c
@@ -1589,13 +1589,12 @@ static int manager_dispatch_cgroups_agent_fd(sd_event_source *source, int fd, ui
return 0;
}
-static void manager_invoke_notify_message(Manager *m, Unit *u, pid_t pid, const char *buf, size_t n, FDSet *fds) {
+static void manager_invoke_notify_message(Manager *m, Unit *u, pid_t pid, const char *buf, FDSet *fds) {
_cleanup_strv_free_ char **tags = NULL;
assert(m);
assert(u);
assert(buf);
- assert(n > 0);
tags = strv_split(buf, "\n\r");
if (!tags) {
@@ -1688,25 +1687,27 @@ static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t
return 0;
}
+ /* The message should be a string. Here we make sure it's NUL-terminated,
+ * but only the part until first NUL will be used anyway. */
buf[n] = 0;
/* Notify every unit that might be interested, but try
* to avoid notifying the same one multiple times. */
u1 = manager_get_unit_by_pid_cgroup(m, ucred->pid);
if (u1) {
- manager_invoke_notify_message(m, u1, ucred->pid, buf, n, fds);
+ manager_invoke_notify_message(m, u1, ucred->pid, buf, fds);
found = true;
}
u2 = hashmap_get(m->watch_pids1, PID_TO_PTR(ucred->pid));
if (u2 && u2 != u1) {
- manager_invoke_notify_message(m, u2, ucred->pid, buf, n, fds);
+ manager_invoke_notify_message(m, u2, ucred->pid, buf, fds);
found = true;
}
u3 = hashmap_get(m->watch_pids2, PID_TO_PTR(ucred->pid));
if (u3 && u3 != u2 && u3 != u1) {
- manager_invoke_notify_message(m, u3, ucred->pid, buf, n, fds);
+ manager_invoke_notify_message(m, u3, ucred->pid, buf, fds);
found = true;
}
--
2.8.3

View File

@ -1,31 +0,0 @@
From: Michael Biebl <biebl@debian.org>
Date: Sat, 27 Sep 2014 04:19:24 +0200
Subject: udev: re-enable mount propagation for udevd
Upstream-Status: Backport [http://http.debian.net/debian/pool/main/s/systemd/systemd_215-17+deb8u4.debian.tar.xz]
laptop-mode-tools remounts file systems from within a udev rule to apply
certain mount options. With MountFlags=slave, those mounts then become private
to the systemd-udevd namespace and are no longer accessible from outside the
namespace.
While the root cause is the broken behaviour of laptop-mode-tools, with mount
propagation turned off, this can result in a read-only root file system.
Therefore revert the relevant parts from commit
c2c13f2df42e0691aecabe3979ea81cd7faa35c7 to re-enable mount propagation for
udevd.
Once affected packages have been fixed, this patch should be dropped
again.
Closes: #762018
diff --git a/units/systemd-udevd.service.in b/units/systemd-udevd.service.in
index e7216d6..1e9a600 100644
--- a/units/systemd-udevd.service.in
+++ b/units/systemd-udevd.service.in
@@ -21,6 +21,5 @@ Sockets=systemd-udevd-control.socket systemd-udevd-kernel.socket
Restart=always
RestartSec=0
ExecStart=@rootlibexecdir@/systemd-udevd
-MountFlags=slave
KillMode=mixed
WatchdogSec=1min

View File

@ -25,18 +25,13 @@ SRC_URI += " \
file://0010-implment-systemd-sysv-install-for-OE.patch \
file://0011-nss-mymachines-Build-conditionally-when-HAVE_MYHOSTN.patch \
file://0012-rules-whitelist-hd-devices.patch \
file://0013-sysv-generator-add-support-for-executing-scripts-und.patch \
file://0014-Make-root-s-home-directory-configurable.patch \
file://0015-systemd-user-avoid-using-system-auth.patch \
file://0016-Revert-rules-remove-firmware-loading-rules.patch \
file://0017-Revert-udev-remove-userspace-firmware-loading-suppor.patch \
file://0018-make-test-dir-configurable.patch \
file://0019-remove-duplicate-include-uchar.h.patch \
file://0020-check-for-uchar.h-in-configure.patch \
file://0021-include-missing.h-for-getting-secure_getenv-definiti.patch \
file://0022-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch \
file://udev-re-enable-mount-propagation-for-udevd.patch \
file://CVE-2016-7795.patch \
file://0013-Make-root-s-home-directory-configurable.patch \
file://0014-Revert-rules-remove-firmware-loading-rules.patch \
file://0015-Revert-udev-remove-userspace-firmware-loading-suppor.patch \
file://0016-make-test-dir-configurable.patch \
file://0017-remove-duplicate-include-uchar.h.patch \
file://0018-check-for-uchar.h-in-configure.patch \
file://0019-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch \
"
SRC_URI_append_libc-uclibc = "\
file://0002-units-Prefer-getty-to-agetty-in-console-setup-system.patch \
@ -61,7 +56,6 @@ PACKAGECONFIG ??= "xz \
timedated \
timesyncd \
localed \
kdbus \
ima \
smack \
logind \
@ -96,7 +90,6 @@ PACKAGECONFIG[timedated] = "--enable-timedated,--disable-timedated"
PACKAGECONFIG[timesyncd] = "--enable-timesyncd,--disable-timesyncd"
PACKAGECONFIG[localed] = "--enable-localed,--disable-localed"
PACKAGECONFIG[efi] = "--enable-efi,--disable-efi"
PACKAGECONFIG[kdbus] = "--enable-kdbus,--disable-kdbus"
PACKAGECONFIG[ima] = "--enable-ima,--disable-ima"
PACKAGECONFIG[smack] = "--enable-smack,--disable-smack"
# libseccomp is found in meta-security
@ -282,7 +275,7 @@ python populate_packages_prepend (){
systemdlibdir = d.getVar("rootlibdir", True)
do_split_packages(d, systemdlibdir, '^lib(.*)\.so\.*', 'lib%s', 'Systemd %s library', extra_depends='', allow_links=True)
}
PACKAGES_DYNAMIC += "^lib(udev|systemd).*"
PACKAGES_DYNAMIC += "^lib(udev|systemd|nss).*"
PACKAGES =+ "\
${PN}-gui \
@ -492,6 +485,7 @@ RRECOMMENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-genera
os-release \
"
INSANE_SKIP_${PN} += "dev-so"
INSANE_SKIP_${PN}-doc += " libdir"
PACKAGES =+ "udev udev-hwdb"