[oe] [meta-systemd][PATCH] systemd: Upgrade past v191

Khem Raj raj.khem at gmail.com
Sat Oct 6 18:06:23 UTC 2012


ping

On Tue, Sep 25, 2012 at 10:39 AM, Khem Raj <raj.khem at gmail.com> wrote:
> Booted on eglibc/uclibc i586 systems
>
> Signed-off-by: Khem Raj <raj.khem at gmail.com>
> ---
>  ...emd-id128-internal.la-as-link-time-depend.patch |   41 ------
>  .../systemd/systemd/optional_secure_getenv.patch   |  142 +++-----------------
>  .../systemd/systemd/systemd-pam-fix-execvpe.patch  |   39 +++---
>  .../systemd/systemd/use-rootlibdir.patch           |   31 +++--
>  meta-systemd/recipes-core/systemd/systemd_git.bb   |    5 +-
>  5 files changed, 60 insertions(+), 198 deletions(-)
>  delete mode 100644 meta-systemd/recipes-core/systemd/systemd/0001-Add-libsystemd-id128-internal.la-as-link-time-depend.patch
>
> diff --git a/meta-systemd/recipes-core/systemd/systemd/0001-Add-libsystemd-id128-internal.la-as-link-time-depend.patch b/meta-systemd/recipes-core/systemd/systemd/0001-Add-libsystemd-id128-internal.la-as-link-time-depend.patch
> deleted file mode 100644
> index be48909..0000000
> --- a/meta-systemd/recipes-core/systemd/systemd/0001-Add-libsystemd-id128-internal.la-as-link-time-depend.patch
> +++ /dev/null
> @@ -1,41 +0,0 @@
> -From 547ca840ec640580d698c00758ecc177c22b0978 Mon Sep 17 00:00:00 2001
> -From: Khem Raj <raj.khem at gmail.com>
> -Date: Fri, 7 Sep 2012 19:54:06 -0700
> -Subject: [PATCH] Add libsystemd-id128-internal.la as link time dependency for
> - test-engine and test_job_type
> -
> -Fixes linking errors like
> -src/core/condition.c:207: undefined reference to `sd_id128_get_machine'
> -
> -Signed-off-by: Khem Raj <raj.khem at gmail.com>
> ----
> - Makefile.am |    6 ++++--
> - 1 file changed, 4 insertions(+), 2 deletions(-)
> -
> -diff --git a/Makefile.am b/Makefile.am
> -index 7ccec67..304a990 100644
> ---- a/Makefile.am
> -+++ b/Makefile.am
> -@@ -1137,7 +1137,8 @@ test_engine_CFLAGS = \
> - test_engine_LDADD = \
> -       libsystemd-core.la \
> -       libsystemd-daemon.la \
> --      libsystemd-dbus.la
> -+      libsystemd-dbus.la \
> -+      libsystemd-id128-internal.la
> -
> - test_job_type_SOURCES = \
> -       src/test/test-job-type.c
> -@@ -1148,7 +1149,8 @@ test_job_type_CFLAGS = \
> -
> - test_job_type_LDADD = \
> -       libsystemd-core.la \
> --      libsystemd-daemon.la
> -+      libsystemd-daemon.la \
> -+      libsystemd-id128-internal.la
> -
> - test_ns_SOURCES = \
> -       src/test/test-ns.c
> ---
> -1.7.9.5
> -
> diff --git a/meta-systemd/recipes-core/systemd/systemd/optional_secure_getenv.patch b/meta-systemd/recipes-core/systemd/systemd/optional_secure_getenv.patch
> index 6657efd..35f1467 100644
> --- a/meta-systemd/recipes-core/systemd/systemd/optional_secure_getenv.patch
> +++ b/meta-systemd/recipes-core/systemd/systemd/optional_secure_getenv.patch
> @@ -1,125 +1,19 @@
> -Index: git/src/core/dbus.c
> +on uclibc secure_getenv is not available
> +therefore default to using getenv instead
> +
> +Singed-off-by: Khem Raj <raj.khem at gmail.com>
> +
> +Upstream-Status: Pending
> +Index: git/src/shared/missing.h
>  ===================================================================
> ---- git.orig/src/core/dbus.c   2012-09-07 19:08:00.287792474 -0700
> -+++ git/src/core/dbus.c        2012-09-07 19:19:33.959818851 -0700
> -@@ -955,12 +955,20 @@
> -
> -         switch (type) {
> -         case DBUS_BUS_SYSTEM:
> -+#ifdef HAVE___SECURE_GETENV
> -                 address = __secure_getenv("DBUS_SYSTEM_BUS_ADDRESS");
> -+#else
> -+              address = getenv("DBUS_SYSTEM_BUS_ADDRESS");
> -+#endif
> -                 if (!address || !address[0])
> -                         address = DBUS_SYSTEM_BUS_DEFAULT_ADDRESS;
> -                 break;
> -         case DBUS_BUS_SESSION:
> -+#ifdef HAVE___SECURE_GETENV
> -                 address = __secure_getenv("DBUS_SESSION_BUS_ADDRESS");
> -+#else
> -+              address = getenv("DBUS_SESSION_BUS_ADDRESS");
> -+#endif
> -                 if (!address || !address[0])
> -                         address = DBUS_SESSION_BUS_DEFAULT_ADDRESS;
> -                 break;
> -@@ -1076,8 +1084,11 @@
> -         } else {
> -                 const char *e;
> -                 char *p;
> --
> -+#ifdef HAVE___SECURE_GETENV
> -                 e = __secure_getenv("XDG_RUNTIME_DIR");
> -+#else
> -+              e = getenv("XDG_RUNTIME_DIR");
> -+#endif
> -                 if (!e)
> -                         return 0;
> -
> -Index: git/src/libudev/libudev.c
> -===================================================================
> ---- git.orig/src/libudev/libudev.c     2012-09-07 19:08:00.319792476 -0700
> -+++ git/src/libudev/libudev.c  2012-09-07 19:20:41.183821472 -0700
> -@@ -191,7 +191,11 @@
> -         }
> -
> -         /* environment overrides config */
> -+#ifdef HAVE___SECURE_GETENV
> -         env = __secure_getenv("UDEV_LOG");
> -+#else
> -+      env = getenv("UDEV_LOG");
> -+#endif
> -         if (env != NULL)
> -                 udev_set_log_priority(udev, util_log_priority(env));
> -
> -Index: git/src/shared/dbus-common.c
> -===================================================================
> ---- git.orig/src/shared/dbus-common.c  2012-09-07 19:08:00.331792476 -0700
> -+++ git/src/shared/dbus-common.c       2012-09-07 19:21:37.787823562 -0700
> -@@ -120,8 +120,11 @@
> -                         /* If we are supposed to talk to the instance,
> -                          * try via XDG_RUNTIME_DIR first, then
> -                          * fallback to normal bus access */
> --
> -+#ifdef HAVE___SECURE_GETENV
> -                         e = __secure_getenv("XDG_RUNTIME_DIR");
> -+#else
> -+                      e = getenv("XDG_RUNTIME_DIR");
> -+#endif
> -                         if (e) {
> -                                 char *p;
> -
> -Index: git/src/shared/log.c
> -===================================================================
> ---- git.orig/src/shared/log.c  2012-09-07 19:08:00.335792477 -0700
> -+++ git/src/shared/log.c       2012-09-07 19:24:32.875830224 -0700
> -@@ -803,20 +803,32 @@
> -
> - void log_parse_environment(void) {
> -         const char *e;
> --
> -+#ifdef HAVE___SECURE_GETENV
> -         e = __secure_getenv("SYSTEMD_LOG_TARGET");
> -+#else
> -+      e = getenv("SYSTEMD_LOG_TARGET");
> -+#endif
> -         if (e && log_set_target_from_string(e) < 0)
> -                 log_warning("Failed to parse log target %s. Ignoring.", e);
> --
> -+#ifdef HAVE___SECURE_GETENV
> -         e = __secure_getenv("SYSTEMD_LOG_LEVEL");
> -+#else
> -+      e = getenv("SYSTEMD_LOG_LEVEL");
> -+#endif
> -         if (e && log_set_max_level_from_string(e) < 0)
> -                 log_warning("Failed to parse log level %s. Ignoring.", e);
> --
> -+#ifdef HAVE___SECURE_GETENV
> -         e = __secure_getenv("SYSTEMD_LOG_COLOR");
> -+#else
> -+      e = getenv("SYSTEMD_LOG_COLOR");
> -+#endif
> -         if (e && log_show_color_from_string(e) < 0)
> -                 log_warning("Failed to parse bool %s. Ignoring.", e);
> --
> -+#ifdef HAVE___SECURE_GETENV
> -         e = __secure_getenv("SYSTEMD_LOG_LOCATION");
> -+#else
> -+      e = getenv("SYSTEMD_LOG_LOCATION");
> -+#endif
> -         if (e && log_show_location_from_string(e) < 0)
> -                 log_warning("Failed to parse bool %s. Ignoring.", e);
> - }
> -Index: git/configure.ac
> -===================================================================
> ---- git.orig/configure.ac      2012-09-07 19:08:25.103793418 -0700
> -+++ git/configure.ac   2012-09-07 19:26:27.875834594 -0700
> -@@ -65,7 +65,7 @@
> -
> - # check for few functions not implemented in uClibc
> -
> --AC_CHECK_FUNCS_ONCE(mkostemp execvpe posix_fallocate)
> -+AC_CHECK_FUNCS_ONCE(mkostemp execvpe posix_fallocate __secure_getenv)
> -
> - # check for %ms format support - assume always no if cross compiling
> -
> +--- git.orig/src/shared/missing.h      2012-09-22 18:46:44.141282145 -0700
> ++++ git/src/shared/missing.h   2012-09-22 18:48:44.081276570 -0700
> +@@ -233,6 +233,8 @@
> + #ifndef HAVE_SECURE_GETENV
> + #  ifdef HAVE___SECURE_GETENV
> + #    define secure_getenv __secure_getenv
> ++#  elif defined __UCLIBC__
> ++#    define secure_getenv getenv
> + #  else
> + #    error neither secure_getenv nor __secure_getenv are available
> + #  endif
> diff --git a/meta-systemd/recipes-core/systemd/systemd/systemd-pam-fix-execvpe.patch b/meta-systemd/recipes-core/systemd/systemd/systemd-pam-fix-execvpe.patch
> index ea8b3ff..449c27f 100644
> --- a/meta-systemd/recipes-core/systemd/systemd/systemd-pam-fix-execvpe.patch
> +++ b/meta-systemd/recipes-core/systemd/systemd/systemd-pam-fix-execvpe.patch
> @@ -1,29 +1,26 @@
> ---- systemd-pam-185/src/nspawn/nspawn.c.orig   2012-06-21 05:31:24.000000000 -0400
> -+++ systemd-pam-185/src/nspawn/nspawn.c        2012-06-21 05:29:50.000000000 -0400
> -@@ -61,6 +61,8 @@
> - #include "path-util.h"
> - #include "loopback-setup.h"
> +Index: git/src/nspawn/nspawn.c
> +===================================================================
> +--- git.orig/src/nspawn/nspawn.c       2012-09-22 17:57:05.000000000 -0700
> ++++ git/src/nspawn/nspawn.c    2012-09-22 18:01:41.541405768 -0700
> +@@ -63,6 +63,8 @@
> +         LINK_GUEST
> + } LinkJournal;
>
>  +#include "config.h"
>  +
>   static char *arg_directory = NULL;
>   static char *arg_user = NULL;
>   static char **arg_controllers = NULL;
> -@@ -1315,9 +1317,14 @@
> -
> -                         a[0] = (char*) "/sbin/init";
> -                         execve(a[0], a, (char**) envp);
> --                } else if (argc > optind)
> --                        execvpe(argv[optind], argv + optind, (char**) envp);
> --                else {
> -+                } else if (argc > optind) {
> +@@ -1373,7 +1375,12 @@
> +                                 a[0] = (char*) "/sbin/init";
> +                                 execve(a[0], a, (char**) envp);
> +                         } else if (argc > optind)
>  +#ifdef HAVE_EXECVPE
> -+                      execvpe(argv[optind], argv + optind, (char**) envp);
> +                                 execvpe(argv[optind], argv + optind, (char**) envp);
>  +#else
> -+                      environ = (char **)envp;
> -+                      execvp(argv[optind], argv + optind);
> -+#endif        /* HAVE_EXECVPE */
> -+              } else {
> -                         chdir(home ? home : "/root");
> -                         execle("/bin/bash", "-bash", NULL, (char**) envp);
> -                 }
> ++                                environ = (char **)envp;
> ++                                execvp(argv[optind], argv + optind);
> ++#endif /* HAVE_EXECVPE */
> +                         else {
> +                                 chdir(home ? home : "/root");
> +                                 execle("/bin/bash", "-bash", NULL, (char**) envp);
> diff --git a/meta-systemd/recipes-core/systemd/systemd/use-rootlibdir.patch b/meta-systemd/recipes-core/systemd/systemd/use-rootlibdir.patch
> index 2167216..4c471b6 100644
> --- a/meta-systemd/recipes-core/systemd/systemd/use-rootlibdir.patch
> +++ b/meta-systemd/recipes-core/systemd/systemd/use-rootlibdir.patch
> @@ -11,17 +11,19 @@ Signed-off-by: Khem Raj <raj.khem at gmail.com>
>
>  Index: git/Makefile.am
>  ===================================================================
> ---- git.orig/Makefile.am       2012-07-22 16:20:38.424405916 -0700
> -+++ git/Makefile.am    2012-07-22 16:23:21.232406621 -0700
> -@@ -61,23 +61,23 @@
> +--- git.orig/Makefile.am       2012-09-22 11:07:58.811981199 -0700
> ++++ git/Makefile.am    2012-09-22 11:09:11.267983956 -0700
> +@@ -64,25 +64,25 @@
>
>   # Our own, non-special dirs
>   pkgsysconfdir=$(sysconfdir)/systemd
>  -userunitdir=$(prefix)/lib/systemd/user
> +-userpresetdir=$(prefix)/lib/systemd/user-preset
>  -tmpfilesdir=$(prefix)/lib/tmpfiles.d
>  -sysctldir=$(prefix)/lib/sysctl.d
>  -usergeneratordir=$(prefix)/lib/systemd/user-generators
>  +userunitdir=$(prefix)/$(rootlibdir)/systemd/user
> ++userpresetdir=$(prefix)/$(rootlibdir)/systemd/user-preset
>  +tmpfilesdir=$(prefix)/$(rootlibdir)/tmpfiles.d
>  +sysctldir=$(prefix)/$(rootlibdir)/sysctl.d
>  +usergeneratordir=$(prefix)/$(rootlibdir)/systemd/user-generators
> @@ -30,8 +32,10 @@ Index: git/Makefile.am
>   systemshutdowndir=$(rootlibexecdir)/system-shutdown
>   systemsleepdir=$(rootlibexecdir)/system-sleep
>  -systemunitdir=$(rootprefix)/lib/systemd/system
> +-systempresetdir=$(rootprefix)/lib/systemd/system-preset
>  -udevlibexecdir=$(rootprefix)/lib/udev
>  +systemunitdir=$(rootprefix)/$(rootlibdir)/systemd/system
> ++systempresetdir=$(rootprefix)/$(rootlibdir)/systemd/system-preset
>  +udevlibexecdir=$(rootprefix)/$(rootlibdir)/udev
>   udevhomedir = $(udevlibexecdir)
>   udevrulesdir = $(udevlibexecdir)/rules.d
> @@ -42,9 +46,9 @@ Index: git/Makefile.am
>  -rootlibexecdir=$(rootprefix)/lib/systemd
>  +rootlibexecdir=$(rootprefix)/$(rootlibdir)/systemd
>
> - CLEANFILES =
> + CLEANFILES = $(BUILT_SOURCES)
>   EXTRA_DIST =
> -@@ -126,7 +126,7 @@
> +@@ -132,7 +132,7 @@
>         -DSYSTEMD_STDIO_BRIDGE_BINARY_PATH=\"$(bindir)/systemd-stdio-bridge\" \
>         -DROOTPREFIX=\"$(rootprefix)\" \
>         -DRUNTIME_DIR=\"/run\" \
> @@ -53,7 +57,7 @@ Index: git/Makefile.am
>         -DSYSTEMD_CRYPTSETUP_PATH=\"$(rootlibexecdir)/systemd-cryptsetup\" \
>         -DSYSTEM_GENERATOR_PATH=\"$(systemgeneratordir)\" \
>         -DUSER_GENERATOR_PATH=\"$(usergeneratordir)\" \
> -@@ -2535,7 +2535,7 @@
> +@@ -2692,7 +2692,7 @@
>
>   binfmt-install-data-hook:
>         $(MKDIR_P) -m 0755 \
> @@ -62,7 +66,16 @@ Index: git/Makefile.am
>                 $(DESTDIR)$(sysconfdir)/binfmt.d \
>                 $(DESTDIR)$(systemunitdir)/sysinit.target.wants
>         ( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \
> -@@ -3165,7 +3165,7 @@
> +@@ -3107,7 +3107,7 @@
> +
> + timedated-install-data-hook:
> +       $(MKDIR_P) -m 0755 \
> +-              $(DESTDIR)$(prefix)/lib/systemd/ntp-units.d \
> ++              $(DESTDIR)$(prefix)/$(rootlibdir)/systemd/ntp-units.d \
> +               $(DESTDIR)$(sysconfdir)/systemd/ntp-units.d
> +       ( cd $(DESTDIR)$(systemunitdir) && \
> +               rm -f dbus-org.freedesktop.timedate1.service  && \
> +@@ -3337,7 +3337,7 @@
>   logind-install-data-hook:
>         $(MKDIR_P) -m 0755 \
>                 $(DESTDIR)$(systemunitdir)/multi-user.target.wants \
> @@ -71,7 +84,7 @@ Index: git/Makefile.am
>         ( cd $(DESTDIR)$(systemunitdir) && \
>                 rm -f dbus-org.freedesktop.login1.service && \
>                 $(LN_S) systemd-logind.service dbus-org.freedesktop.login1.service)
> -@@ -3284,7 +3284,7 @@
> +@@ -3494,7 +3494,7 @@
>                 -e 's, at PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \
>                 -e 's, at PACKAGE_NAME\@,$(PACKAGE_NAME),g' \
>                 -e 's, at PACKAGE_URL\@,$(PACKAGE_URL),g' \
> @@ -80,7 +93,7 @@ Index: git/Makefile.am
>                 -e 's, at prefix\@,$(prefix),g' \
>                 -e 's, at exec_prefix\@,$(exec_prefix),g' \
>                 -e 's, at libdir\@,$(libdir),g' \
> -@@ -3407,9 +3407,9 @@
> +@@ -3619,9 +3619,9 @@
>         $(MKDIR_P) -m 0755 \
>                 $(DESTDIR)$(tmpfilesdir) \
>                 $(DESTDIR)$(sysconfdir)/tmpfiles.d \
> diff --git a/meta-systemd/recipes-core/systemd/systemd_git.bb b/meta-systemd/recipes-core/systemd/systemd_git.bb
> index 98b098f..259da56 100644
> --- a/meta-systemd/recipes-core/systemd/systemd_git.bb
> +++ b/meta-systemd/recipes-core/systemd/systemd_git.bb
> @@ -23,11 +23,9 @@ PR = "r7"
>
>  inherit useradd pkgconfig autotools perlnative
>
> -SRCREV = "cb273c51eaf622b1e92d5ca0656b06073cb02da2"
> -
> +SRCREV = "31c460208d92f90f5d1d9253a9c60a8bb75ff5da"
>  SRC_URI = "git://anongit.freedesktop.org/systemd/systemd;protocol=git \
>             file://use-rootlibdir.patch \
> -           file://0001-Add-libsystemd-id128-internal.la-as-link-time-depend.patch \
>             file://gtk-doc.make \
>             file://touchscreen.rules \
>             file://modprobe.rules \
> @@ -41,6 +39,7 @@ UCLIBCPATCHES_libc-uclibc = "file://systemd-pam-configure-check-uclibc.patch \
>                               file://systemd-pam-fix-getty-unit.patch \
>                               file://systemd-pam-fix-mkostemp.patch \
>                               file://systemd-pam-fix-msformat.patch \
> +                             file://optional_secure_getenv.patch \
>                              "
>  LDFLAGS_libc-uclibc_append = " -lrt"
>
> --
> 1.7.9.5
>




More information about the Openembedded-devel mailing list