diff options
Diffstat (limited to 'remote/modules/systemd')
| -rw-r--r-- | remote/modules/systemd/systemd-openslx.patch | 26 | ||||
| -rw-r--r-- | remote/modules/systemd/systemd.build | 9 |
2 files changed, 31 insertions, 4 deletions
diff --git a/remote/modules/systemd/systemd-openslx.patch b/remote/modules/systemd/systemd-openslx.patch new file mode 100644 index 00000000..36de20b0 --- /dev/null +++ b/remote/modules/systemd/systemd-openslx.patch @@ -0,0 +1,26 @@ +--- core/main.c 2013-05-09 15:45:50.000000000 +0200 ++++ core/main.c 2013-12-19 14:46:03.020362993 +0100 +@@ -1477,9 +1477,9 @@ + /* Set up PATH unless it is already set */ + setenv("PATH", + #ifdef HAVE_SPLIT_USR +- "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", ++ "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ":/opt/openslx/usr/sbin:/opt/openslx/usr/bin:/opt/openslx/sbin:/opt/openslx/bin", + #else +- "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin", ++ "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin" ":/opt/openslx/usr/sbin:/opt/openslx/usr/bin:/opt/openslx/sbin:/opt/openslx/bin", + #endif + arg_running_as == SYSTEMD_SYSTEM); + +@@ -1513,6 +1513,11 @@ + unsetenv("LISTEN_FDS"); + unsetenv("LISTEN_PID"); + ++ /* OpenSLX: "Fix" libc/nss/nss_ldap deadlock ++ * when not using nscd */ ++ setenv("HOME", "/", 1); ++ setenv("USER", "root", 1); ++ + /* All other variables are left as is, so that clients + * can still read them via /proc/1/environ */ + } diff --git a/remote/modules/systemd/systemd.build b/remote/modules/systemd/systemd.build index c9d23794..2c15eccf 100644 --- a/remote/modules/systemd/systemd.build +++ b/remote/modules/systemd/systemd.build @@ -1,12 +1,13 @@ #tool/distro specific functions for fetching, building and installing dependencies fetch_source () { + # systemd download_untar "$REQUIRED_URL" "src/" - download_untar "$REQUIRED_LIBKMOD_URL" "src/" + # Patch PATH, HOME, USER environment + patch -p0 src/systemd-*/src/core/main.c < systemd-openslx.patch || perror "Failed to apply openslx systemd patch." - # Patch PATH environment - sed -s -i -r 's#"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin(:/sbin:/bin)?"#& ":/opt/openslx/usr/sbin:/opt/openslx/usr/bin:/opt/openslx/sbin:/opt/openslx/bin"#g' src/systemd-*/src/core/main.c - sed -s -i -r 's#"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"#& ":/opt/openslx/usr/sbin:/opt/openslx/usr/bin:/opt/openslx/sbin:/opt/openslx/bin"#g' src/systemd-*/src/nspawn/nspawn.c + # libkmod + download_untar "$REQUIRED_LIBKMOD_URL" "src/" } build () { |
