diff options
author | Khem Raj <raj.khem@gmail.com> | 2015-12-14 05:55:35 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-12-16 12:11:26 +0000 |
commit | fcaa030fa3c6eb0980cc635b92d6819682cf7742 (patch) | |
tree | ae162163e09d841397aced03f7b9593b6c93ff0d | |
parent | 6a4996395f56836195f5ba10a554ba04eb304c13 (diff) | |
download | openembedded-core-fcaa030fa3c6eb0980cc635b92d6819682cf7742.tar.gz |
systemd: Upgrade to 228
Forward port all patches and format them to be git am'able
Drop patches specific to uclibc's missing features which now
are there in uclibc-ng
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
20 files changed, 371 insertions, 441 deletions
diff --git a/meta/recipes-core/systemd/systemd/0001-define-exp10-if-missing.patch b/meta/recipes-core/systemd/systemd/0001-define-exp10-if-missing.patch new file mode 100644 index 0000000000..8bb775ffa5 --- /dev/null +++ b/meta/recipes-core/systemd/systemd/0001-define-exp10-if-missing.patch @@ -0,0 +1,33 @@ +From ddad25c809846e08ea39bef49cc668f95d53304a Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 14 Dec 2015 00:42:49 +0000 +Subject: [PATCH 01/16] define exp10 if missing + +Inspired by: http://peter.korsgaard.com/patches/alsa-utils/alsamixer-fix-build-on-uClibc-exp10.patch + +exp10 extension is not part of uClibc, so compute it. + +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 d539ed0..09a233b 100644 +--- a/src/basic/missing.h ++++ b/src/basic/missing.h +@@ -1125,3 +1125,8 @@ static inline key_serial_t request_key(const char *type, const char *description + #ifndef KEY_SPEC_USER_KEYRING + #define KEY_SPEC_USER_KEYRING -4 + #endif ++ ++#ifdef __UCLIBC__ ++/* 10^x = 10^(log e^x) = (e^x)^log10 = e^(x * log 10) */ ++#define exp10(x) (exp((x) * log(10))) ++#endif /* __UCLIBC__ */ +-- +2.6.4 + diff --git a/meta/recipes-core/systemd/systemd/0001-fix-build-on-uClibc-exp10.patch b/meta/recipes-core/systemd/systemd/0001-fix-build-on-uClibc-exp10.patch deleted file mode 100644 index 76ce4b7813..0000000000 --- a/meta/recipes-core/systemd/systemd/0001-fix-build-on-uClibc-exp10.patch +++ /dev/null @@ -1,22 +0,0 @@ -Inspired by: http://peter.korsgaard.com/patches/alsa-utils/alsamixer-fix-build-on-uClibc-exp10.patch - -exp10 extension is not part of uClibc, so compute it. - - -Signed-off-by: Samuel Martin <s.martin49@gmail.com> - -Upstream-Status: Pending - -Index: git/src/basic/missing.h -=================================================================== ---- git.orig/src/basic/missing.h -+++ git/src/basic/missing.h -@@ -1036,3 +1036,8 @@ static inline int kcmp(pid_t pid1, pid_t - #ifndef INPUT_PROP_ACCELEROMETER - #define INPUT_PROP_ACCELEROMETER 0x06 - #endif -+ -+#ifdef __UCLIBC__ -+/* 10^x = 10^(log e^x) = (e^x)^log10 = e^(x * log 10) */ -+#define exp10(x) (exp((x) * log(10))) -+#endif /* __UCLIBC__ */ diff --git a/meta/recipes-core/systemd/systemd/0001-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 b6ab5effc2..55ff0ce15f 100644 --- a/meta/recipes-core/systemd/systemd/0001-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 @@ -From 100e50604efc4032001a2de6a6b47853c0003817 Mon Sep 17 00:00:00 2001 +From bfb6562cdbec73d03765ce707e9e0cac138fd223 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 01/11] units: Prefer getty to agetty in console setup systemd +Subject: [PATCH 02/16] units: Prefer getty to agetty in console setup systemd units Upstream-Status: Inappropriate [configuration specific] @@ -40,5 +40,5 @@ index 4522d0d..e6d499d 100644 Restart=always UtmpIdentifier=%I -- -2.1.4 +2.6.4 diff --git a/meta/recipes-core/systemd/systemd/0022-Use-getenv-when-secure-versions-are-not-available.patch b/meta/recipes-core/systemd/systemd/0003-Use-getenv-when-secure-versions-are-not-available.patch index 5af78d5582..cbf69d109a 100644 --- a/meta/recipes-core/systemd/systemd/0022-Use-getenv-when-secure-versions-are-not-available.patch +++ b/meta/recipes-core/systemd/systemd/0003-Use-getenv-when-secure-versions-are-not-available.patch @@ -1,7 +1,7 @@ -From cb71e4beea3b3b11e5951f95c829cd2eee9fcf7b Mon Sep 17 00:00:00 2001 +From 9e79bb4bea758f25803e9f7ff2c5835ac4204230 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 22/31] Use getenv when secure versions are not available +Subject: [PATCH 03/16] 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,15 +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 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/basic/missing.h b/src/basic/missing.h -index bf9b490..d6dbc7d 100644 +index 09a233b..3c37466 100644 --- a/src/basic/missing.h +++ b/src/basic/missing.h -@@ -584,13 +584,14 @@ static inline int name_to_handle_at(int fd, const char *name, struct file_handle +@@ -582,13 +582,14 @@ 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 @@ -35,5 +34,5 @@ index bf9b490..d6dbc7d 100644 #ifndef CIFS_MAGIC_NUMBER -- -2.5.2 +2.6.4 diff --git a/meta/recipes-core/systemd/systemd/qemuall_io_latency-core-device.c-Change-the-default-device-timeout-to-2.patch b/meta/recipes-core/systemd/systemd/0004-core-device.c-Change-the-default-device-timeout-to-2.patch index c7e171152a..74629fc82a 100644 --- a/meta/recipes-core/systemd/systemd/qemuall_io_latency-core-device.c-Change-the-default-device-timeout-to-2.patch +++ b/meta/recipes-core/systemd/systemd/0004-core-device.c-Change-the-default-device-timeout-to-2.patch @@ -1,23 +1,25 @@ -Upstream-Status: Inappropriate [Specific case QEMU/AB] - -From 7b8c4e0a67a79a75e1bd77df3a452a5497322108 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com> -Date: Thu, 27 Aug 2015 17:58:26 -0500 -Subject: [PATCH] core/device.c: Change the default device timeout to 240 sec. +From ef867afd27e8fed558e82430759d8d2c7efb6608 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 04/16] core/device.c: Change the default device timeout to 240 + sec. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit +Upstream-Status: Inappropriate [Specific case QEMU/AB] + Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> +Signed-off-by: Khem Raj <raj.khem@gmail.com> --- src/core/device.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/device.c b/src/core/device.c -index e7efcf0..4ed8f08 100644 +index bcd4d11..f41bb54 100644 --- a/src/core/device.c +++ b/src/core/device.c -@@ -110,7 +110,7 @@ static void device_init(Unit *u) { +@@ -114,7 +114,7 @@ static void device_init(Unit *u) { * indefinitely for plugged in devices, something which cannot * happen for the other units since their operations time out * anyway. */ @@ -25,7 +27,7 @@ index e7efcf0..4ed8f08 100644 + u->job_timeout = (240 * USEC_PER_SEC); u->ignore_on_isolate = true; - u->ignore_on_snapshot = true; + } -- -1.9.1 +2.6.4 diff --git a/meta/recipes-core/systemd/systemd/0003-binfmt-Don-t-install-dependency-links-at-install-tim.patch b/meta/recipes-core/systemd/systemd/0005-binfmt-Don-t-install-dependency-links-at-install-tim.patch index 0e20fd0548..0b75facbaa 100644 --- a/meta/recipes-core/systemd/systemd/0003-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 @@ -From 184a89caacfa00f07e7275bca592bd7dda1b541e Mon Sep 17 00:00:00 2001 +From 319873d22a6b1225ae41aa38bc976e723326ba20 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 03/11] binfmt: Don't install dependency links at install time +Subject: [PATCH 05/16] 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 @@ -23,11 +23,11 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> units/systemd-binfmt.service.in | 5 +++++ 3 files changed, 8 insertions(+), 4 deletions(-) -Index: git/Makefile.am -=================================================================== ---- git.orig/Makefile.am -+++ git/Makefile.am -@@ -4271,10 +4271,6 @@ INSTALL_DIRS += \ +diff --git a/Makefile.am b/Makefile.am +index 00a92e3..4c1143a 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -4455,10 +4455,6 @@ INSTALL_DIRS += \ $(prefix)/lib/binfmt.d \ $(sysconfdir)/binfmt.d @@ -38,10 +38,10 @@ Index: git/Makefile.am endif EXTRA_DIST += \ -Index: git/units/proc-sys-fs-binfmt_misc.automount -=================================================================== ---- git.orig/units/proc-sys-fs-binfmt_misc.automount -+++ git/units/proc-sys-fs-binfmt_misc.automount +diff --git a/units/proc-sys-fs-binfmt_misc.automount b/units/proc-sys-fs-binfmt_misc.automount +index 6be3893..709adef 100644 +--- a/units/proc-sys-fs-binfmt_misc.automount ++++ b/units/proc-sys-fs-binfmt_misc.automount @@ -16,3 +16,6 @@ ConditionPathIsReadWrite=/proc/sys/ [Automount] @@ -49,11 +49,11 @@ Index: git/units/proc-sys-fs-binfmt_misc.automount + +[Install] +WantedBy=sysinit.target -Index: git/units/systemd-binfmt.service.in -=================================================================== ---- git.orig/units/systemd-binfmt.service.in -+++ git/units/systemd-binfmt.service.in -@@ -11,6 +11,8 @@ Documentation=man:systemd-binfmt.service +diff --git a/units/systemd-binfmt.service.in b/units/systemd-binfmt.service.in +index d53073e..8c57ee0 100644 +--- a/units/systemd-binfmt.service.in ++++ b/units/systemd-binfmt.service.in +@@ -11,6 +11,8 @@ Documentation=man:systemd-binfmt.service(8) man:binfmt.d(5) Documentation=https://www.kernel.org/doc/Documentation/binfmt_misc.txt DefaultDependencies=no Conflicts=shutdown.target @@ -69,3 +69,6 @@ Index: git/units/systemd-binfmt.service.in + +[Install] +WantedBy=sysinit.target +-- +2.6.4 + diff --git a/meta/recipes-core/systemd/systemd/0004-configure-Check-for-additional-features-that-uclibc-.patch b/meta/recipes-core/systemd/systemd/0006-configure-Check-for-additional-features-that-uclibc-.patch index 8078da9bb4..a2c40b55f6 100644 --- a/meta/recipes-core/systemd/systemd/0004-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 @@ -From 4e2e8dbf3f23ab7dca32286cc0f37bff6ac49e22 Mon Sep 17 00:00:00 2001 +From d1fe5d2dd38cdef984296f453c65ccaebb71d1a9 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 04/11] configure: Check for additional features that uclibc +Subject: [PATCH 06/16] configure: Check for additional features that uclibc doesnt support This helps in supporting uclibc which does not have all features that @@ -14,11 +14,11 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> configure.ac | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) -Index: git/configure.ac -=================================================================== ---- git.orig/configure.ac -+++ git/configure.ac -@@ -110,6 +110,24 @@ AC_PATH_PROG([UMOUNT_PATH], [umount], [/ +diff --git a/configure.ac b/configure.ac +index 3128ca8..49f73a4 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -112,6 +112,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 ***])]) @@ -43,3 +43,6 @@ Index: git/configure.ac M4_DEFINES= AC_CHECK_TOOL(OBJCOPY, objcopy) +-- +2.6.4 + diff --git a/meta/recipes-core/systemd/systemd/0006-journal-Use-posix-fallocate-only-if-available.patch b/meta/recipes-core/systemd/systemd/0006-journal-Use-posix-fallocate-only-if-available.patch deleted file mode 100644 index 631dd77465..0000000000 --- a/meta/recipes-core/systemd/systemd/0006-journal-Use-posix-fallocate-only-if-available.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 34a61b6c9eed3fad360066fb63132ebc7e0aaaa6 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 20 Feb 2015 05:12:48 +0000 -Subject: [PATCH 06/11] journal: Use posix fallocate only if available - -Some architecture ports in uclibc did not support it in past - -Upstream-Status: Denied [no desire for uclibc support] - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Signed-off-by: Chen Qi <Qi.Chen@windriver.com> ---- - src/journal/journal-file.c | 16 +++++++++++++++- - src/journal/journald-kmsg.c | 15 ++++++++++++++- - 2 files changed, 29 insertions(+), 2 deletions(-) - -diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c -index 2845e05..9431171 100644 ---- a/src/journal/journal-file.c -+++ b/src/journal/journal-file.c -@@ -36,6 +36,8 @@ - #include "compress.h" - #include "fsprg.h" - -+#include "config.h" -+ - #define DEFAULT_DATA_HASH_TABLE_SIZE (2047ULL*sizeof(HashItem)) - #define DEFAULT_FIELD_HASH_TABLE_SIZE (333ULL*sizeof(HashItem)) - -@@ -354,7 +356,7 @@ static int journal_file_fstat(JournalFile *f) { - - static int journal_file_allocate(JournalFile *f, uint64_t offset, uint64_t size) { - uint64_t old_size, new_size; -- int r; -+ int r = 0; - - assert(f); - -@@ -418,9 +420,21 @@ static int journal_file_allocate(JournalFile *f, uint64_t offset, uint64_t size) - /* Note that the glibc fallocate() fallback is very - inefficient, hence we try to minimize the allocation area - as we can. */ -+#ifdef HAVE_POSIX_FALLOCATE - r = posix_fallocate(f->fd, old_size, new_size - old_size); - if (r != 0) - return -r; -+#else -+ /* Write something every 512 bytes to make sure the block is allocated */ -+ uint64_t len = new_size - old_size; -+ uint64_t offset = old_size; -+ for (offset += (len-1) % 512; len > 0; offset += 512) { -+ len -= 512; -+ if (pwrite(f->fd, "", 1, offset) != 1) -+ return -errno; -+ } -+ -+#endif /* HAVE_POSIX_FALLOCATE */ - - f->header->arena_size = htole64(new_size - le64toh(f->header->header_size)); - -diff --git a/src/journal/journald-kmsg.c b/src/journal/journald-kmsg.c -index c4216c4..a998ed5 100644 ---- a/src/journal/journald-kmsg.c -+++ b/src/journal/journald-kmsg.c -@@ -436,6 +436,7 @@ fail: - int server_open_kernel_seqnum(Server *s) { - _cleanup_close_ int fd; - uint64_t *p; -+ int r = 0; - - assert(s); - -@@ -449,7 +450,19 @@ int server_open_kernel_seqnum(Server *s) { - return 0; - } - -- if (posix_fallocate(fd, 0, sizeof(uint64_t)) < 0) { -+#ifdef HAVE_POSIX_FALLOCATE -+ r = posix_fallocate(fd, 0, sizeof(uint64_t)); -+#else -+ /* Use good old method to write zeros into the journal file -+ perhaps very inefficient yet working. */ -+ char *buf = alloca(sizeof(uint64_t)); -+ off_t oldpos = lseek(fd, 0, SEEK_CUR); -+ bzero(buf, sizeof(uint64_t)); -+ lseek(fd, 0, SEEK_SET); -+ r = write(fd, buf, sizeof(uint64_t)); -+ lseek(fd, oldpos, SEEK_SET); -+#endif /* HAVE_POSIX_FALLOCATE */ -+ if (r < 0) { - log_error_errno(errno, "Failed to allocate sequential number file, ignoring: %m"); - return 0; - } --- -2.1.4 - diff --git a/meta/recipes-core/systemd/systemd/0005-nspawn-Use-execvpe-only-when-libc-supports-it.patch b/meta/recipes-core/systemd/systemd/0007-nspawn-Use-execvpe-only-when-libc-supports-it.patch index 55a0088c65..85d39078ff 100644 --- a/meta/recipes-core/systemd/systemd/0005-nspawn-Use-execvpe-only-when-libc-supports-it.patch +++ b/meta/recipes-core/systemd/systemd/0007-nspawn-Use-execvpe-only-when-libc-supports-it.patch @@ -1,7 +1,7 @@ -From a7417c2e6950d55c22c1b0d15783898b8ff229ef Mon Sep 17 00:00:00 2001 +From 529e7e2f7f6a5dc0e4527ff5c2237b19ece2f112 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 05/11] nspawn: Use execvpe only when libc supports it +Subject: [PATCH 07/16] nspawn: Use execvpe only when libc supports it Upstream-Status: Denied [no desire for uclibc support] @@ -10,29 +10,32 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> src/nspawn/nspawn.c | 7 +++++++ 1 file changed, 7 insertions(+) -Index: git/src/nspawn/nspawn.c -=================================================================== ---- git.orig/src/nspawn/nspawn.c -+++ git/src/nspawn/nspawn.c -@@ -143,6 +143,8 @@ typedef struct CustomMount { - char **lower; - } CustomMount; +diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c +index a4e13bd..4def6ba 100644 +--- a/src/nspawn/nspawn.c ++++ b/src/nspawn/nspawn.c +@@ -112,6 +112,8 @@ typedef enum LinkJournal { + LINK_GUEST + } LinkJournal; +#include "config.h" + static char *arg_directory = NULL; static char *arg_template = NULL; static char *arg_user = NULL; -@@ -4238,7 +4240,12 @@ static int inner_child( +@@ -2595,7 +2597,12 @@ static int inner_child( a[0] = (char*) "/sbin/init"; execve(a[0], a, env_use); - } else if (argc > optind) + } else if (!strv_isempty(arg_parameters)) +#ifdef HAVE_EXECVPE - execvpe(argv[optind], argv + optind, env_use); + execvpe(arg_parameters[0], arg_parameters, env_use); +#else + environ = env_use; -+ execvp(argv[optind], argv + optind); ++ execvp(arg_parameters[0], arg_parameters); +#endif /* HAVE_EXECVPE */ else { - chdir(home ? home : "/root"); + chdir(home ?: "/root"); execle("/bin/bash", "-bash", NULL, env_use); +-- +2.6.4 + diff --git a/meta/recipes-core/systemd/systemd/0007-util-Use-mkostemp-only-if-libc-supports-it.patch b/meta/recipes-core/systemd/systemd/0007-util-Use-mkostemp-only-if-libc-supports-it.patch deleted file mode 100644 index b8ab7c4e70..0000000000 --- a/meta/recipes-core/systemd/systemd/0007-util-Use-mkostemp-only-if-libc-supports-it.patch +++ /dev/null @@ -1,42 +0,0 @@ -From f771407d3e0288ca0c06a894194d3ddad69b9a8e Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 20 Feb 2015 05:17:05 +0000 -Subject: [PATCH 07/11] util: Use mkostemp only if libc supports it - -Upstream-Status: Denied [no desire for uclibc support] - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - src/basic/util.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/src/basic/util.c b/src/basic/util.c -index dc65280..72f4665 100644 ---- a/src/basic/util.c -+++ b/src/basic/util.c -@@ -97,6 +97,8 @@ - #include "def.h" - #include "sparse-endian.h" - -+#include "config.h" -+ - int saved_argc = 0; - char **saved_argv = NULL; - -@@ -6682,7 +6684,13 @@ int mkostemp_safe(char *pattern, int flags) { - - u = umask(077); - -+#ifdef HAVE_MKOSTEMP - fd = mkostemp(pattern, flags); -+#else -+ fd = mkstemp(pattern); -+ if (fd >= 0) fcntl(fd, F_SETFD, flags); -+#endif /* HAVE_MKOSTEMP */ -+ - if (fd < 0) - return -errno; - --- -2.1.4 - diff --git a/meta/recipes-core/systemd/systemd/0008-util-bypass-unimplemented-_SC_PHYS_PAGES-system-conf.patch b/meta/recipes-core/systemd/systemd/0008-util-bypass-unimplemented-_SC_PHYS_PAGES-system-conf.patch index 3f4d4de080..8d71ecbc0f 100644 --- a/meta/recipes-core/systemd/systemd/0008-util-bypass-unimplemented-_SC_PHYS_PAGES-system-conf.patch +++ b/meta/recipes-core/systemd/systemd/0008-util-bypass-unimplemented-_SC_PHYS_PAGES-system-conf.patch @@ -1,7 +1,7 @@ -From b45ea3bfd6635744c8a6b74d0ac701b44bb1d294 Mon Sep 17 00:00:00 2001 +From 83944758dc0703afea81f3c7aa0ad926bc5df757 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 20 Feb 2015 05:19:37 +0000 -Subject: [PATCH 08/11] util: bypass unimplemented _SC_PHYS_PAGES system +Date: Mon, 14 Dec 2015 00:47:53 +0000 +Subject: [PATCH 08/16] util: bypass unimplemented _SC_PHYS_PAGES system configuration API on uclibc Upstream-Status: Inappropriate [uclibc-specific] @@ -12,10 +12,10 @@ 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 72f4665..cbbe3b1 100644 +index 9e0b576..65f0edf 100644 --- a/src/basic/util.c +++ b/src/basic/util.c -@@ -6793,10 +6793,25 @@ uint64_t physical_memory(void) { +@@ -769,10 +769,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 */ @@ -25,7 +25,7 @@ index 72f4665..cbbe3b1 100644 + if (f == NULL) + return 0; + while (!feof(f) && fgets(line, sizeof(line)-1, f)) { -+ if (sscanf(line, "MemTotal: %l kB", &mem) == 1) { ++ if (sscanf(line, "MemTotal: %li kB", &mem) == 1) { + mem *= 1024; + break; + } @@ -40,7 +40,7 @@ index 72f4665..cbbe3b1 100644 +#endif } - void hexdump(FILE *f, const void *p, size_t s) { + int update_reboot_param_file(const char *param) { -- -2.1.4 +2.6.4 diff --git a/meta/recipes-core/systemd/systemd/0012-implment-systemd-sysv-install-for-OE.patch b/meta/recipes-core/systemd/systemd/0009-implment-systemd-sysv-install-for-OE.patch index 68b45a9a58..a1396849c4 100644 --- a/meta/recipes-core/systemd/systemd/0012-implment-systemd-sysv-install-for-OE.patch +++ b/meta/recipes-core/systemd/systemd/0009-implment-systemd-sysv-install-for-OE.patch @@ -1,7 +1,7 @@ -From 5f8b9f2d276c0ddbcbf5423733a23f043d688009 Mon Sep 17 00:00:00 2001 +From 81c3d92b5bc5786cbd93b1e5ed82884e8caf2254 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] implment systemd-sysv-install for OE +Subject: [PATCH 09/16] implment systemd-sysv-install for OE Use update-rc.d for enabling/disabling and status command to check the status of the sysv service @@ -13,10 +13,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> src/systemctl/systemd-sysv-install.SKELETON | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -Index: git/src/systemctl/systemd-sysv-install.SKELETON -=================================================================== ---- git.orig/src/systemctl/systemd-sysv-install.SKELETON -+++ git/src/systemctl/systemd-sysv-install.SKELETON +diff --git a/src/systemctl/systemd-sysv-install.SKELETON b/src/systemctl/systemd-sysv-install.SKELETON +index a53a3e6..5d877b0 100755 +--- a/src/systemctl/systemd-sysv-install.SKELETON ++++ b/src/systemctl/systemd-sysv-install.SKELETON @@ -30,17 +30,17 @@ case "$1" in enable) # call the command to enable SysV init script $NAME here @@ -38,3 +38,6 @@ Index: git/src/systemctl/systemd-sysv-install.SKELETON ;; *) usage ;; +-- +2.6.4 + diff --git a/meta/recipes-core/systemd/systemd/0010-nss-mymachines-Build-conditionally-when-HAVE_MYHOSTN.patch b/meta/recipes-core/systemd/systemd/0010-nss-mymachines-Build-conditionally-when-HAVE_MYHOSTN.patch new file mode 100644 index 0000000000..8cec071244 --- /dev/null +++ b/meta/recipes-core/systemd/systemd/0010-nss-mymachines-Build-conditionally-when-HAVE_MYHOSTN.patch @@ -0,0 +1,38 @@ +From d4b7f9b771a538c2356c4c77461f3b4790043556 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 10/16] nss-mymachines: Build conditionally when + HAVE_MYHOSTNAME is set + +Fixes build failures when building with --disable-myhostname + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + Makefile.am | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/Makefile.am b/Makefile.am +index 4c1143a..cf559be 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -4961,6 +4961,7 @@ SYSTEM_UNIT_ALIASES += \ + BUSNAMES_TARGET_WANTS += \ + org.freedesktop.machine1.busname + ++if HAVE_MYHOSTNAME + libnss_mymachines_la_SOURCES = \ + src/nss-mymachines/nss-mymachines.sym \ + src/nss-mymachines/nss-mymachines.c +@@ -4981,6 +4982,7 @@ lib_LTLIBRARIES += \ + libnss_mymachines.la + + endif ++endif + + polkitpolicy_in_files += \ + src/machine/org.freedesktop.machine1.policy.in +-- +2.6.4 + diff --git a/meta/recipes-core/systemd/systemd/rules-whitelist-hd-devices.patch b/meta/recipes-core/systemd/systemd/0011-rules-whitelist-hd-devices.patch index 8975b05e01..03fdbff316 100644 --- a/meta/recipes-core/systemd/systemd/rules-whitelist-hd-devices.patch +++ b/meta/recipes-core/systemd/systemd/0011-rules-whitelist-hd-devices.patch @@ -1,7 +1,7 @@ -From f77b7e5626e70c3a775e993816a33af5a61dea42 Mon Sep 17 00:00:00 2001 +From ae6c9dcb00919e1dd2793fd1b82125d123f69a90 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] rules: whitelist hd* devices +Subject: [PATCH 11/16] 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 @@ -28,5 +28,5 @@ index 0b14bb4..1c4d97a 100644 # ignore partitions that span the entire disk TEST=="whole_disk", GOTO="persistent_storage_end" -- -2.1.4 +2.6.4 diff --git a/meta/recipes-core/systemd/systemd/0009-sysv-generator-add-support-for-executing-scripts-und.patch b/meta/recipes-core/systemd/systemd/0012-sysv-generator-add-support-for-executing-scripts-und.patch index 9ea3e83e52..82feff0eb9 100644 --- a/meta/recipes-core/systemd/systemd/0009-sysv-generator-add-support-for-executing-scripts-und.patch +++ b/meta/recipes-core/systemd/systemd/0012-sysv-generator-add-support-for-executing-scripts-und.patch @@ -1,7 +1,7 @@ -From 8791b5b3934c55694872b6915a67340683ead91b Mon Sep 17 00:00:00 2001 +From 9e6c907ff1f17deb96c66a607653db4c7da34289 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 20 Feb 2015 05:22:52 +0000 -Subject: [PATCH 09/11] sysv-generator: add support for executing scripts under +Date: Mon, 14 Dec 2015 05:09:53 +0000 +Subject: [PATCH 12/16] sysv-generator: add support for executing scripts under /etc/rcS.d/ To be compatible, all services translated from scripts under /etc/rcS.d would @@ -12,14 +12,14 @@ 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 | 50 ++++++++++++++++++++++++++++--------- - 1 file changed, 38 insertions(+), 12 deletions(-) + src/sysv-generator/sysv-generator.c | 50 +++++++++++++++++++++++++++++-------- + 1 file changed, 39 insertions(+), 11 deletions(-) diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c -index bd67f32..6756cc6 100644 +index 5075548..32d3687 100644 --- a/src/sysv-generator/sysv-generator.c +++ b/src/sysv-generator/sysv-generator.c -@@ -42,7 +42,8 @@ +@@ -46,7 +46,8 @@ typedef enum RunlevelType { RUNLEVEL_UP, @@ -29,7 +29,7 @@ index bd67f32..6756cc6 100644 } RunlevelType; static const struct { -@@ -57,6 +58,9 @@ static const struct { +@@ -61,6 +62,9 @@ static const struct { { "rc4.d", SPECIAL_MULTI_USER_TARGET, RUNLEVEL_UP }, { "rc5.d", SPECIAL_GRAPHICAL_TARGET, RUNLEVEL_UP }, @@ -39,7 +39,7 @@ index bd67f32..6756cc6 100644 /* Standard SysV runlevels for shutdown */ { "rc0.d", SPECIAL_POWEROFF_TARGET, RUNLEVEL_DOWN }, { "rc6.d", SPECIAL_REBOOT_TARGET, RUNLEVEL_DOWN } -@@ -65,7 +69,7 @@ static const struct { +@@ -69,7 +73,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 @@ -47,19 +47,19 @@ index bd67f32..6756cc6 100644 + UP/SYSINIT must be read before DOWN */ }; - typedef struct SysvStub { -@@ -81,6 +85,8 @@ typedef struct SysvStub { - char **conflicts; + const char *arg_dest = "/tmp"; +@@ -88,6 +92,8 @@ typedef struct SysvStub { bool has_lsb; bool reload; + bool loaded; + bool default_dependencies; + bool from_rcsd; } SysvStub; - const char *arg_dest = "/tmp"; -@@ -183,6 +189,9 @@ static int generate_unit_file(SysvStub *s) { - "Description=%s\n", - s->path, s->description); + static void free_sysvstub(SysvStub *s) { +@@ -204,6 +210,9 @@ static int generate_unit_file(SysvStub *s) { + if (s->description) + fprintf(f, "Description=%s\n", s->description); + if (!s->default_dependencies) + fprintf(f, "DefaultDependencies=no\n"); @@ -67,7 +67,7 @@ index bd67f32..6756cc6 100644 if (!isempty(before)) fprintf(f, "Before=%s\n", before); if (!isempty(after)) -@@ -704,18 +713,30 @@ static int fix_order(SysvStub *s, Hashmap *all_services) { +@@ -722,17 +731,31 @@ static int fix_order(SysvStub *s, Hashmap *all_services) { if (s->has_lsb && other->has_lsb) continue; @@ -79,15 +79,14 @@ index bd67f32..6756cc6 100644 + r = strv_extend(&s->before, other->name); if (r < 0) return log_oom(); -- } -- else if (other->sysv_start_priority > s->sysv_start_priority) { + +- } 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 +- } else - continue; + } else { + if (other->sysv_start_priority < s->sysv_start_priority) { @@ -102,11 +101,11 @@ index bd67f32..6756cc6 100644 + } + else + continue; -+ } ++ } /* FIXME: Maybe we should compare the name here lexicographically? */ } -@@ -778,6 +799,8 @@ static int enumerate_sysv(LookupPaths lp, Hashmap *all_services) { +@@ -799,6 +822,8 @@ static int enumerate_sysv(const LookupPaths *lp, Hashmap *all_services) { return log_oom(); service->sysv_start_priority = -1; @@ -114,22 +113,23 @@ index bd67f32..6756cc6 100644 + service->from_rcsd = false; service->name = name; service->path = fpath; - -@@ -864,9 +887,11 @@ static int set_dependencies_from_rcnd(LookupPaths lp, Hashmap *all_services) { + name = fpath = NULL; +@@ -882,9 +907,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) + 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->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); -@@ -878,7 +903,8 @@ static int set_dependencies_from_rcnd(LookupPaths lp, Hashmap *all_services) { - goto finish; + if (r < 0) { + log_oom(); +@@ -898,7 +925,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)) { @@ -137,7 +137,7 @@ index bd67f32..6756cc6 100644 + rcnd_table[i].type == RUNLEVEL_SYSINIT)) { r = set_ensure_allocated(&shutdown_services, NULL); - if (r < 0) + if (r < 0) { -- -2.1.4 +2.6.4 diff --git a/meta/recipes-core/systemd/systemd/0010-Make-root-s-home-directory-configurable.patch b/meta/recipes-core/systemd/systemd/0013-Make-root-s-home-directory-configurable.patch index ed7ff5b09c..ea0b3e250f 100644 --- a/meta/recipes-core/systemd/systemd/0010-Make-root-s-home-directory-configurable.patch +++ b/meta/recipes-core/systemd/systemd/0013-Make-root-s-home-directory-configurable.patch @@ -1,7 +1,7 @@ -From 3dc731c1d270e2e143de621db9bd898299fd849d Mon Sep 17 00:00:00 2001 +From 1ba00ff6ed3f0626892f57cdd8d9788692c7bf14 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 20 Feb 2015 05:24:49 +0000 -Subject: [PATCH 10/11] Make root's home directory configurable +Date: Mon, 14 Dec 2015 05:18:20 +0000 +Subject: [PATCH 13/16] 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 @@ -17,19 +17,19 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> --- Makefile.am | 2 ++ configure.ac | 7 +++++++ - src/core/unit-printf.c | 2 +- + src/basic/user-util.c | 4 ++-- + src/core/namespace.c | 2 +- src/nspawn/nspawn.c | 4 ++-- - src/basic/util.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(-) -Index: git/Makefile.am -=================================================================== ---- git.orig/Makefile.am -+++ git/Makefile.am -@@ -208,6 +208,7 @@ AM_CPPFLAGS = \ +diff --git a/Makefile.am b/Makefile.am +index cf559be..a511c3d 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -210,6 +210,7 @@ AM_CPPFLAGS = \ -DLIBDIR=\"$(libdir)\" \ -DROOTLIBDIR=\"$(rootlibdir)\" \ -DROOTLIBEXECDIR=\"$(rootlibexecdir)\" \ @@ -37,7 +37,7 @@ Index: git/Makefile.am -DTEST_DIR=\"$(abs_top_srcdir)/test\" \ -I $(top_srcdir)/src \ -I $(top_builddir)/src/basic \ -@@ -5615,6 +5616,7 @@ EXTRA_DIST += \ +@@ -5876,6 +5877,7 @@ EXTRA_DIST += \ substitutions = \ '|rootlibexecdir=$(rootlibexecdir)|' \ '|rootbindir=$(rootbindir)|' \ @@ -45,11 +45,11 @@ Index: git/Makefile.am '|bindir=$(bindir)|' \ '|SYSTEMCTL=$(rootbindir)/systemctl|' \ '|SYSTEMD_NOTIFY=$(rootbindir)/systemd-notify|' \ -Index: git/configure.ac -=================================================================== ---- git.orig/configure.ac -+++ git/configure.ac -@@ -1383,6 +1383,11 @@ AC_ARG_WITH([rootlibdir], +diff --git a/configure.ac b/configure.ac +index 49f73a4..a3e639d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1434,6 +1434,11 @@ AC_ARG_WITH([rootlibdir], [with_rootlibdir=${libdir}]) AX_NORMALIZE_PATH([with_rootlibdir]) @@ -61,7 +61,7 @@ Index: git/configure.ac AC_ARG_WITH([pamlibdir], AS_HELP_STRING([--with-pamlibdir=DIR], [Directory for PAM modules]), [], -@@ -1474,6 +1479,7 @@ AC_SUBST([pamlibdir], [$with_pamlibdir]) +@@ -1517,6 +1522,7 @@ AC_SUBST([pamlibdir], [$with_pamlibdir]) AC_SUBST([pamconfdir], [$with_pamconfdir]) AC_SUBST([rootprefix], [$with_rootprefix]) AC_SUBST([rootlibdir], [$with_rootlibdir]) @@ -69,7 +69,7 @@ Index: git/configure.ac AC_CONFIG_FILES([ Makefile -@@ -1563,6 +1569,7 @@ AC_MSG_RESULT([ +@@ -1606,6 +1612,7 @@ AC_MSG_RESULT([ includedir: ${includedir} lib dir: ${libdir} rootlib dir: ${with_rootlibdir} @@ -77,46 +77,11 @@ Index: git/configure.ac SysV init scripts: ${SYSTEM_SYSVINIT_PATH} SysV rc?.d directories: ${SYSTEM_SYSVRCND_PATH} Build Python: ${PYTHON} -Index: git/src/core/unit-printf.c -=================================================================== ---- git.orig/src/core/unit-printf.c -+++ git/src/core/unit-printf.c -@@ -237,7 +237,7 @@ static int specifier_user_home(char spec - * best of it if we can, but fail if we can't */ - - if (!c->user || streq(c->user, "root") || streq(c->user, "0")) -- n = strdup("/root"); -+ n = strdup(ROOTHOMEDIR); - else - return -EOPNOTSUPP; - -Index: git/src/nspawn/nspawn.c -=================================================================== ---- git.orig/src/nspawn/nspawn.c -+++ git/src/nspawn/nspawn.c -@@ -4176,7 +4176,7 @@ static int inner_child( - if (envp[n_env]) - n_env ++; - -- if ((asprintf((char**)(envp + n_env++), "HOME=%s", home ? home: "/root") < 0) || -+ if ((asprintf((char**)(envp + n_env++), "HOME=%s", home ? home: ROOTHOMEDIR) < 0) || - (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(); -@@ -4247,7 +4247,7 @@ static int inner_child( - execvp(argv[optind], argv + optind); - #endif /* HAVE_EXECVPE */ - else { -- chdir(home ? home : "/root"); -+ chdir(home ? home : ROOTHOMEDIR); - execle("/bin/bash", "-bash", NULL, env_use); - execle("/bin/sh", "-sh", NULL, env_use); - } -Index: git/src/basic/util.c -=================================================================== ---- git.orig/src/basic/util.c -+++ git/src/basic/util.c -@@ -3233,7 +3233,7 @@ int get_user_creds( +diff --git a/src/basic/user-util.c b/src/basic/user-util.c +index 56e1a3b..c3d0ec3 100644 +--- a/src/basic/user-util.c ++++ b/src/basic/user-util.c +@@ -124,7 +124,7 @@ int get_user_creds( *gid = 0; if (home) @@ -125,7 +90,7 @@ Index: git/src/basic/util.c if (shell) *shell = "/bin/sh"; -@@ -4069,7 +4069,7 @@ int get_home_dir(char **_h) { +@@ -355,7 +355,7 @@ int get_home_dir(char **_h) { /* Hardcode home directory for root to avoid NSS */ u = getuid(); if (u == 0) { @@ -134,10 +99,45 @@ Index: git/src/basic/util.c if (!h) return -ENOMEM; -Index: git/units/console-shell.service.m4.in -=================================================================== ---- git.orig/units/console-shell.service.m4.in -+++ git/units/console-shell.service.m4.in +diff --git a/src/core/namespace.c b/src/core/namespace.c +index 81ba09e..1a1f276 100644 +--- a/src/core/namespace.c ++++ b/src/core/namespace.c +@@ -494,7 +494,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 4def6ba..2081953 100644 +--- a/src/nspawn/nspawn.c ++++ b/src/nspawn/nspawn.c +@@ -2530,7 +2530,7 @@ static int inner_child( + if (envp[n_env]) + n_env ++; + +- if ((asprintf((char**)(envp + n_env++), "HOME=%s", home ? home: "/root") < 0) || ++ if ((asprintf((char**)(envp + n_env++), "HOME=%s", home ? home: ROOTHOMEDIR) < 0) || + (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(); +@@ -2604,7 +2604,7 @@ static int inner_child( + execvp(arg_parameters[0], arg_parameters); + #endif /* HAVE_EXECVPE */ + else { +- chdir(home ?: "/root"); ++ chdir(home ?: ROOTHOMEDIR); + 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 5c80722..efde5f0 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 @@ -149,10 +149,10 @@ Index: git/units/console-shell.service.m4.in ExecStart=-@SULOGIN@ ExecStopPost=-@SYSTEMCTL@ poweroff Type=idle -Index: git/units/emergency.service.in -=================================================================== ---- git.orig/units/emergency.service.in -+++ git/units/emergency.service.in +diff --git a/units/emergency.service.in b/units/emergency.service.in +index 8dc3cbd..eb046c2 100644 +--- a/units/emergency.service.in ++++ b/units/emergency.service.in @@ -14,8 +14,8 @@ Conflicts=rescue.service Before=shutdown.target @@ -164,11 +164,11 @@ Index: git/units/emergency.service.in 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.' ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --job-mode=fail --no-block default" -Index: git/units/rescue.service.in -=================================================================== ---- git.orig/units/rescue.service.in -+++ git/units/rescue.service.in -@@ -14,8 +14,8 @@ After=sysinit.target plymouth-start.serv +diff --git a/units/rescue.service.in b/units/rescue.service.in +index 432e4f3..afa3e82 100644 +--- a/units/rescue.service.in ++++ b/units/rescue.service.in +@@ -14,8 +14,8 @@ After=sysinit.target plymouth-start.service Before=shutdown.target [Service] @@ -179,3 +179,6 @@ Index: git/units/rescue.service.in ExecStartPre=-/bin/plymouth 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\\nboot into default mode.' ExecStart=-/bin/sh -c "@SULOGIN@; @SYSTEMCTL@ --job-mode=fail --no-block default" +-- +2.6.4 + diff --git a/meta/recipes-core/systemd/systemd/0011-systemd-user-avoid-using-system-auth.patch b/meta/recipes-core/systemd/systemd/0014-systemd-user-avoid-using-system-auth.patch index e562bca100..11be097661 100644 --- a/meta/recipes-core/systemd/systemd/0011-systemd-user-avoid-using-system-auth.patch +++ b/meta/recipes-core/systemd/systemd/0014-systemd-user-avoid-using-system-auth.patch @@ -1,7 +1,7 @@ -From 7e202f71785bf5a67c8a4f6b58d3585608fbfdc4 Mon Sep 17 00:00:00 2001 +From 548a8d5d456c531444498b3ce8cec3f3dd374cf8 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 20 Feb 2015 05:26:25 +0000 -Subject: [PATCH 11/11] systemd-user: avoid using system-auth +Subject: [PATCH 14/16] 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. @@ -11,21 +11,26 @@ 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 | 4 ++-- + src/login/systemd-user.m4 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/src/login/systemd-user b/src/login/systemd-user -index 8112d74..99635af 100644 ---- a/src/login/systemd-user -+++ b/src/login/systemd-user -@@ -2,5 +2,5 @@ +diff --git a/src/login/systemd-user.m4 b/src/login/systemd-user.m4 +index 7933508..16b73d2 100644 +--- a/src/login/systemd-user.m4 ++++ b/src/login/systemd-user.m4 +@@ -2,10 +2,10 @@ # # Used by systemd --user instances. -account include system-auth --session 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 include system-auth +session include common-session -- -2.1.4 +2.6.4 diff --git a/meta/recipes-core/systemd/systemd/0014-Revert-rules-remove-firmware-loading-rules.patch b/meta/recipes-core/systemd/systemd/0015-Revert-rules-remove-firmware-loading-rules.patch index fe2ba5328d..7cc3922cd9 100644 --- a/meta/recipes-core/systemd/systemd/0014-Revert-rules-remove-firmware-loading-rules.patch +++ b/meta/recipes-core/systemd/systemd/0015-Revert-rules-remove-firmware-loading-rules.patch @@ -1,7 +1,7 @@ -From 4f0a722489154da99e7f6b3051afde984eed2f74 Mon Sep 17 00:00:00 2001 +From 6b2b8d20f884bd5a3d928175e422023f6c9d056b Mon Sep 17 00:00:00 2001 From: Jonathan Liu <net147@gmail.com> Date: Thu, 19 Mar 2015 15:01:29 +1100 -Subject: [PATCH] Revert "rules: remove firmware loading rules" +Subject: [PATCH 15/16] 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" -- -2.3.3 +2.6.4 diff --git a/meta/recipes-core/systemd/systemd/0015-Revert-udev-remove-userspace-firmware-loading-suppor.patch b/meta/recipes-core/systemd/systemd/0016-Revert-udev-remove-userspace-firmware-loading-suppor.patch index 6308cc73ab..03ab0d459e 100644 --- a/meta/recipes-core/systemd/systemd/0015-Revert-udev-remove-userspace-firmware-loading-suppor.patch +++ b/meta/recipes-core/systemd/systemd/0016-Revert-udev-remove-userspace-firmware-loading-suppor.patch @@ -1,7 +1,8 @@ -From 7f074def4e32045353ba4336d703e17b8de7ec4e Mon Sep 17 00:00:00 2001 -From: Jonathan Liu <net147@gmail.com> -Date: Thu, 19 Mar 2015 15:01:33 +1100 -Subject: [PATCH] Revert "udev: remove userspace firmware loading support" +From d3661ec7fb4557c47f001986cbb8a684b8dbae4a Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 14 Dec 2015 05:33:32 +0000 +Subject: [PATCH 16/16] Revert "udev: remove userspace firmware loading + support" This reverts commit be2ea723b1d023b3d385d3b791ee4607cbfb20ca. Userspace firmware loading support is needed for Linux < 3.7. @@ -9,23 +10,24 @@ Userspace firmware loading support is needed for Linux < 3.7. Upstream-Status: Inappropriate [OE specific] Signed-off-by: Jonathan Liu <net147@gmail.com> +Signed-off-by: Khem Raj <raj.khem@gmail.com> --- Makefile.am | 12 +++ - README | 9 ++- + README | 6 +- TODO | 1 + - configure.ac | 20 +++++ + configure.ac | 25 +++++++ 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, 214 insertions(+), 4 deletions(-) + 8 files changed, 217 insertions(+), 3 deletions(-) create mode 100644 src/udev/udev-builtin-firmware.c -Index: git/Makefile.am -=================================================================== ---- git.orig/Makefile.am -+++ git/Makefile.am -@@ -3470,6 +3470,18 @@ libudev_core_la_LIBADD = \ +diff --git a/Makefile.am b/Makefile.am +index a511c3d..6181e55 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -3650,6 +3650,18 @@ libudev_core_la_LIBADD = \ $(BLKID_LIBS) \ $(KMOD_LIBS) @@ -44,21 +46,11 @@ Index: git/Makefile.am if HAVE_KMOD libudev_core_la_SOURCES += \ src/udev/udev-builtin-kmod.c -Index: git/README -=================================================================== ---- git.orig/README -+++ git/README -@@ -36,7 +36,8 @@ LICENSE: - - except src/udev/* which is (currently still) GPLv2, GPLv2+ - - REQUIREMENTS: -- Linux kernel >= 3.7 -+ Linux kernel >= 3.0 -+ Linux kernel >= 3.3 for loop device partition support features with nspawn - Linux kernel >= 3.8 for Smack support - - Kernel Config Options: -@@ -51,14 +52,14 @@ REQUIREMENTS: +diff --git a/README b/README +index bf67f8c..87b6f70 100644 +--- a/README ++++ b/README +@@ -51,14 +51,14 @@ REQUIREMENTS: CONFIG_PROC_FS CONFIG_FHANDLE (libudev, mount and bind mount handling) @@ -76,24 +68,24 @@ Index: git/README CONFIG_FW_LOADER_USER_HELPER=n Some udev rules and virtualization detection relies on it: -Index: git/TODO -=================================================================== ---- git.orig/TODO -+++ git/TODO -@@ -754,6 +754,7 @@ Features: - * ExecOnFailure=/usr/bin/foo +diff --git a/TODO b/TODO +index 369805f..ce97674 100644 +--- a/TODO ++++ b/TODO +@@ -635,6 +635,7 @@ Features: + * rename "userspace" to "core-os" * udev: + - remove src/udev/udev-builtin-firmware.c (CONFIG_FW_LOADER_USER_HELPER=n) - move to LGPL - kill scsi_id - add trigger --subsystem-match=usb/usb_device device -Index: git/configure.ac -=================================================================== ---- git.orig/configure.ac -+++ git/configure.ac -@@ -1268,6 +1268,26 @@ fi - AM_CONDITIONAL(HAVE_MYHOSTNAME, [test "$have_myhostname" = "yes"]) +diff --git a/configure.ac b/configure.ac +index a3e639d..00736f5 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1317,6 +1317,25 @@ AC_ARG_ENABLE(hwdb, [AC_HELP_STRING([--disable-hwdb], [disable hardware database + AM_CONDITIONAL(ENABLE_HWDB, [test x$enable_hwdb = xyes]) # ------------------------------------------------------------------------------ +AC_ARG_WITH(firmware-path, @@ -114,23 +106,28 @@ Index: git/configure.ac +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"]) + -+ +# ------------------------------------------------------------------------------ - 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]) -@@ -1574,6 +1594,7 @@ AC_MSG_RESULT([ + have_manpages=no + AC_ARG_ENABLE(manpages, AS_HELP_STRING([--disable-manpages], [disable manpages])) + AS_IF([test "x$enable_manpages" != xno], [ +@@ -1616,6 +1635,12 @@ AC_MSG_RESULT([ + SysV init scripts: ${SYSTEM_SYSVINIT_PATH} SysV rc?.d directories: ${SYSTEM_SYSVRCND_PATH} Build Python: ${PYTHON} - sphinx binary: ${SPHINX_BUILD} ++<<<<<<< HEAD ++======= ++ Installation Python: ${PYTHON_BINARY} ++ sphinx binary: ${SPHINX_BUILD} + firmware path: ${FIRMWARE_PATH} ++>>>>>>> parent of be2ea72... udev: remove userspace firmware loading support PAM modules dir: ${with_pamlibdir} PAM configuration dir: ${with_pamconfdir} D-Bus policy dir: ${with_dbuspolicydir} -Index: git/src/udev/udev-builtin-firmware.c -=================================================================== +diff --git a/src/udev/udev-builtin-firmware.c b/src/udev/udev-builtin-firmware.c +new file mode 100644 +index 0000000..bd8c2fb --- /dev/null -+++ git/src/udev/udev-builtin-firmware.c ++++ b/src/udev/udev-builtin-firmware.c @@ -0,0 +1,154 @@ +/* + * firmware - Kernel firmware loader @@ -286,11 +283,11 @@ Index: git/src/udev/udev-builtin-firmware.c + .help = "kernel firmware loader", + .run_once = true, +}; -Index: git/src/udev/udev-builtin.c -=================================================================== ---- git.orig/src/udev/udev-builtin.c -+++ git/src/udev/udev-builtin.c -@@ -30,6 +30,9 @@ static const struct udev_builtin *builti +diff --git a/src/udev/udev-builtin.c b/src/udev/udev-builtin.c +index 18fb661..d0280bf 100644 +--- a/src/udev/udev-builtin.c ++++ b/src/udev/udev-builtin.c +@@ -33,6 +33,9 @@ static const struct udev_builtin *builtins[] = { [UDEV_BUILTIN_BLKID] = &udev_builtin_blkid, #endif [UDEV_BUILTIN_BTRFS] = &udev_builtin_btrfs, @@ -300,11 +297,11 @@ Index: git/src/udev/udev-builtin.c [UDEV_BUILTIN_HWDB] = &udev_builtin_hwdb, [UDEV_BUILTIN_INPUT_ID] = &udev_builtin_input_id, [UDEV_BUILTIN_KEYBOARD] = &udev_builtin_keyboard, -Index: git/src/udev/udev.h -=================================================================== ---- git.orig/src/udev/udev.h -+++ git/src/udev/udev.h -@@ -146,6 +146,9 @@ enum udev_builtin_cmd { +diff --git a/src/udev/udev.h b/src/udev/udev.h +index 4f40020..8f3560f 100644 +--- a/src/udev/udev.h ++++ b/src/udev/udev.h +@@ -149,6 +149,9 @@ enum udev_builtin_cmd { UDEV_BUILTIN_BLKID, #endif UDEV_BUILTIN_BTRFS, @@ -314,7 +311,7 @@ Index: git/src/udev/udev.h UDEV_BUILTIN_HWDB, UDEV_BUILTIN_INPUT_ID, UDEV_BUILTIN_KEYBOARD, -@@ -174,6 +177,9 @@ struct udev_builtin { +@@ -177,6 +180,9 @@ struct udev_builtin { extern const struct udev_builtin udev_builtin_blkid; #endif extern const struct udev_builtin udev_builtin_btrfs; @@ -324,11 +321,11 @@ Index: git/src/udev/udev.h extern const struct udev_builtin udev_builtin_hwdb; extern const struct udev_builtin udev_builtin_input_id; extern const struct udev_builtin udev_builtin_keyboard; -Index: git/src/udev/udevd.c -=================================================================== ---- git.orig/src/udev/udevd.c -+++ git/src/udev/udevd.c -@@ -116,6 +116,9 @@ struct event { +diff --git a/src/udev/udevd.c b/src/udev/udevd.c +index 366e7fb..7ca1b51 100644 +--- a/src/udev/udevd.c ++++ b/src/udev/udevd.c +@@ -127,6 +127,9 @@ struct event { bool is_block; sd_event_source *timeout_warning; sd_event_source *timeout; @@ -338,7 +335,7 @@ Index: git/src/udev/udevd.c }; static inline struct event *node_to_event(struct udev_list_node *node) { -@@ -607,6 +610,10 @@ static int event_queue_insert(Manager *m +@@ -615,6 +618,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); @@ -349,7 +346,7 @@ Index: git/src/udev/udevd.c log_debug("seq %llu queued, '%s' '%s'", udev_device_get_seqnum(dev), udev_device_get_action(dev), udev_device_get_subsystem(dev)); -@@ -692,6 +699,12 @@ static bool is_devpath_busy(Manager *man +@@ -700,6 +707,12 @@ static bool is_devpath_busy(Manager *manager, struct event *event) { return true; } @@ -362,3 +359,6 @@ Index: git/src/udev/udevd.c /* parent device event found */ if (event->devpath[common] == '/') { event->delaying_seqnum = loop_event->seqnum; +-- +2.6.4 + diff --git a/meta/recipes-core/systemd/systemd_225.bb b/meta/recipes-core/systemd/systemd_228.bb index 72bf678e10..0f95390acd 100644 --- a/meta/recipes-core/systemd/systemd_225.bb +++ b/meta/recipes-core/systemd/systemd_228.bb @@ -24,39 +24,38 @@ SECTION = "base/shell" inherit useradd pkgconfig autotools perlnative update-rc.d update-alternatives qemu systemd ptest gettext -SRCREV = "e1439a1472c5f691733b8ef10e702beac2496a63" +SRCREV = "dd050decb6ad131ebdeabb71c4f9ecb4733269c0" -PV = "225+git${SRCPV}" +PV = "228+git${SRCPV}" SRC_URI = "git://github.com/systemd/systemd.git;protocol=git \ - file://0003-binfmt-Don-t-install-dependency-links-at-install-tim.patch \ - file://0004-configure-Check-for-additional-features-that-uclibc-.patch \ - file://0005-nspawn-Use-execvpe-only-when-libc-supports-it.patch \ - file://0006-journal-Use-posix-fallocate-only-if-available.patch \ - file://0007-util-Use-mkostemp-only-if-libc-supports-it.patch \ + file://0005-binfmt-Don-t-install-dependency-links-at-install-tim.patch \ + file://0006-configure-Check-for-additional-features-that-uclibc-.patch \ + file://0007-nspawn-Use-execvpe-only-when-libc-supports-it.patch \ file://0008-util-bypass-unimplemented-_SC_PHYS_PAGES-system-conf.patch \ - file://0009-sysv-generator-add-support-for-executing-scripts-und.patch \ - file://0010-Make-root-s-home-directory-configurable.patch \ - file://0011-systemd-user-avoid-using-system-auth.patch \ - file://0012-implment-systemd-sysv-install-for-OE.patch \ - file://0014-Revert-rules-remove-firmware-loading-rules.patch \ - file://0015-Revert-udev-remove-userspace-firmware-loading-suppor.patch \ + file://0009-implment-systemd-sysv-install-for-OE.patch \ + file://0010-nss-mymachines-Build-conditionally-when-HAVE_MYHOSTN.patch \ + file://0011-rules-whitelist-hd-devices.patch \ + file://0012-sysv-generator-add-support-for-executing-scripts-und.patch \ + file://0013-Make-root-s-home-directory-configurable.patch \ + file://0014-systemd-user-avoid-using-system-auth.patch \ + file://0015-Revert-rules-remove-firmware-loading-rules.patch \ + file://0016-Revert-udev-remove-userspace-firmware-loading-suppor.patch \ file://touchscreen.rules \ file://00-create-volatile.conf \ file://init \ file://run-ptest \ - file://rules-whitelist-hd-devices.patch \ " -SRC_URI_append_qemuall = " file://qemuall_io_latency-core-device.c-Change-the-default-device-timeout-to-2.patch" +SRC_URI_append_libc-uclibc = "\ + file://0001-define-exp10-if-missing.patch \ + file://0002-units-Prefer-getty-to-agetty-in-console-setup-system.patch \ + file://0003-Use-getenv-when-secure-versions-are-not-available.patch \ + " +SRC_URI_append_qemuall = " file://0004-core-device.c-Change-the-default-device-timeout-to-2.patch " S = "${WORKDIR}/git" -SRC_URI_append_libc-uclibc = "\ - file://0001-units-Prefer-getty-to-agetty-in-console-setup-system.patch \ - file://0022-Use-getenv-when-secure-versions-are-not-available.patch \ - file://0001-fix-build-on-uClibc-exp10.patch \ - " -LDFLAGS_append_libc-uclibc = " -lrt" +LDFLAGS_append_libc-uclibc = " -lrt -lssp_nonshared -lssp " GTKDOC_DOCDIR = "${S}/docs/" @@ -65,7 +64,6 @@ PACKAGECONFIG ??= "xz ldconfig \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \ " - PACKAGECONFIG[journal-upload] = "--enable-libcurl,--disable-libcurl,curl" # Sign the journal for anti-tampering PACKAGECONFIG[gcrypt] = "--enable-gcrypt,--disable-gcrypt,libgcrypt" @@ -127,7 +125,7 @@ EXTRA_OECONF = " --with-rootprefix=${rootprefix} \ --with-firmware-path=/lib/firmware \ " # uclibc does not have NSS -EXTRA_OECONF_append_libc-uclibc = " --disable-myhostname " +EXTRA_OECONF_append_libc-uclibc = " --disable-myhostname --disable-sysusers" # per the systemd README, define VALGRIND=1 to run under valgrind CFLAGS .= "${@bb.utils.contains('PACKAGECONFIG', 'valgrind', ' -DVALGRIND=1', '', d)}" |