diff --git a/0001-add-network-device-after-NFS-mount-units.patch b/0001-add-network-device-after-NFS-mount-units.patch index 8b67bd81..57a87c73 100644 --- a/0001-add-network-device-after-NFS-mount-units.patch +++ b/0001-add-network-device-after-NFS-mount-units.patch @@ -7,13 +7,13 @@ NFS share is added as "After=" dependency to the .mount. Makefile.am | 2 src/core/mount-iface.c | 173 +++++++++++++++++++++++++++++++++++++++++++++++++ src/core/mount-iface.h | 25 +++++++ - src/core/mount.c | 34 +++++++++ + src/core/mount.c | 35 +++++++++ src/shared/util.c | 1 - 5 files changed, 233 insertions(+), 2 deletions(-) + 5 files changed, 234 insertions(+), 2 deletions(-) ---- systemd-209/Makefile.am -+++ systemd-209/Makefile.am 2014-02-26 12:44:20.000000000 +0000 -@@ -987,6 +987,8 @@ libsystemd_core_la_SOURCES = \ +--- systemd-210/Makefile.am ++++ systemd-210/Makefile.am 2014-02-26 12:44:20.000000000 +0000 +@@ -994,6 +994,8 @@ libsystemd_core_la_SOURCES = \ src/core/machine-id-setup.h \ src/core/mount-setup.c \ src/core/mount-setup.h \ @@ -22,8 +22,8 @@ NFS share is added as "After=" dependency to the .mount. src/core/loopback-setup.h \ src/core/loopback-setup.c \ src/core/condition.c \ ---- systemd-209/src/core/mount-iface.c -+++ systemd-209/src/core/mount-iface.c 2014-02-26 10:18:36.000000000 +0000 +--- systemd-210/src/core/mount-iface.c ++++ systemd-210/src/core/mount-iface.c 2014-02-26 10:18:36.000000000 +0000 @@ -0,0 +1,173 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + @@ -198,8 +198,8 @@ NFS share is added as "After=" dependency to the .mount. + freeifaddrs(ifa_list); + ifa_list = NULL; +} ---- systemd-209/src/core/mount-iface.h -+++ systemd-209/src/core/mount-iface.h 2014-02-26 10:08:20.000000000 +0000 +--- systemd-210/src/core/mount-iface.h ++++ systemd-210/src/core/mount-iface.h 2014-02-26 10:08:20.000000000 +0000 @@ -0,0 +1,25 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + @@ -226,8 +226,8 @@ NFS share is added as "After=" dependency to the .mount. + +char *host2iface(const char *ip); +void freeroutes(void); ---- systemd-209/src/core/mount.c -+++ systemd-209/src/core/mount.c 2014-02-28 13:01:00.000000000 +0000 +--- systemd-210/src/core/mount.c ++++ systemd-210/src/core/mount.c 2014-03-03 12:13:23.406246117 +0000 @@ -36,6 +36,7 @@ #include "mkdir.h" #include "path-util.h" @@ -240,8 +240,8 @@ NFS share is added as "After=" dependency to the .mount. _cleanup_free_ char *e = NULL, *w = NULL, *o = NULL, *f = NULL; bool load_extras = false; MountParameters *p; -- bool delete; -+ bool delete, isnetwork; +- bool delete, changed = false; ++ bool delete, changed = false, isnetwork; Unit *u; + char *c; int r; @@ -265,7 +265,7 @@ NFS share is added as "After=" dependency to the .mount. r = unit_add_dependency_by_name(u, UNIT_BEFORE, target, NULL, true); if (r < 0) -@@ -1511,6 +1515,32 @@ static int mount_add_one( +@@ -1519,6 +1523,32 @@ static int mount_add_one( goto fail; } @@ -295,10 +295,10 @@ NFS share is added as "After=" dependency to the .mount. + } + } + - unit_add_to_dbus_queue(u); + if (changed) + unit_add_to_dbus_queue(u); - return 0; -@@ -1574,6 +1604,7 @@ static int mount_load_proc_self_mountinf +@@ -1583,6 +1613,7 @@ static int mount_load_proc_self_mountinf if (k < 0) r = k; } @@ -306,8 +306,8 @@ NFS share is added as "After=" dependency to the .mount. return r; } ---- systemd-209/src/shared/util.c -+++ systemd-209/src/shared/util.c 2014-02-24 15:17:42.000000000 +0000 +--- systemd-210/src/shared/util.c ++++ systemd-210/src/shared/util.c 2014-02-24 15:17:42.000000000 +0000 @@ -1502,6 +1502,7 @@ bool fstype_is_network(const char *fstyp "ncp\0" "nfs\0" diff --git a/0001-build-sys-Add-setns-functions-if-not-in-the-C-librar.patch b/0001-build-sys-Add-setns-functions-if-not-in-the-C-librar.patch new file mode 100644 index 00000000..09339673 --- /dev/null +++ b/0001-build-sys-Add-setns-functions-if-not-in-the-C-librar.patch @@ -0,0 +1,66 @@ +From 3b794314149e40afaf3c456285e1e529747b6560 Mon Sep 17 00:00:00 2001 +From: Holger Schurig +Date: Thu, 20 Feb 2014 14:39:13 +0100 +Subject: [PATCH] build-sys: Add setns() functions if not in the C library. + +Debian Stable is still using glibc 2.13, which doesn't provide the setns(). +So we detect this and provide a tiny wrapper that issues the setns syscall +towards the kernel. +--- + configure.ac | 5 +++-- + src/shared/missing.h | 17 +++++++++++++++++ + 2 files changed, 20 insertions(+), 2 deletions(-) + +diff --git configure.ac configure.ac +index 05ee098..18df6d8 100644 +--- configure.ac ++++ configure.ac +@@ -241,10 +241,11 @@ LIBS="$save_LIBS" + + AC_CHECK_FUNCS([fanotify_init fanotify_mark]) + AC_CHECK_FUNCS([__secure_getenv secure_getenv]) +-AC_CHECK_DECLS([gettid, pivot_root, name_to_handle_at], [], [], [[#include ++AC_CHECK_DECLS([gettid, pivot_root, name_to_handle_at, setns], [], [], [[#include + #include + #include +-#include ]]) ++#include ++#include ]]) + + # This makes sure pkg.m4 is available. + m4_pattern_forbid([^_?PKG_[A-Z_]+$],[*** pkg.m4 missing, please install pkg-config]) +diff --git src/shared/missing.h src/shared/missing.h +index 2661285..3142306 100644 +--- src/shared/missing.h ++++ src/shared/missing.h +@@ -28,6 +28,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -353,3 +354,19 @@ static inline int name_to_handle_at(int fd, const char *name, struct file_handle + #endif + + #endif ++ ++#ifndef __NR_setns ++# if defined(__x86_64__) ++# define __NR_setns 308 ++# elif defined(__i386__) ++# define __NR_setns 346 ++# else ++# error "__NR_setns is not defined" ++# endif ++#endif ++ ++#if !HAVE_DECL_SETNS ++static inline int setns(int fd, int nstype) { ++ return syscall(__NR_setns, fd, nstype); ++} ++#endif +-- +1.7.7 + diff --git a/0001-build-sys-Fix-compilation-of-nspawn-when-seccomp-is-.patch b/0001-build-sys-Fix-compilation-of-nspawn-when-seccomp-is-.patch new file mode 100644 index 00000000..096a1d84 --- /dev/null +++ b/0001-build-sys-Fix-compilation-of-nspawn-when-seccomp-is-.patch @@ -0,0 +1,32 @@ +From 8eea53dd45265d8cb92bfdb161a425a1668c10c0 Mon Sep 17 00:00:00 2001 +From: Michael Scherer +Date: Thu, 20 Feb 2014 16:07:08 +0100 +Subject: [PATCH] build-sys: Fix compilation of nspawn when seccomp is not + enabled + +--- + Makefile.am | 6 +++++- + 1 files changed, 5 insertions(+), 1 deletions(-) + +diff --git Makefile.am Makefile.am +index 85d51b4..56cdb85 100644 +--- Makefile.am ++++ Makefile.am +@@ -1882,9 +1882,13 @@ systemd_nspawn_LDADD = \ + libsystemd-capability.la \ + libsystemd-internal.la \ + libudev-internal.la \ +- libsystemd-shared.la \ ++ libsystemd-shared.la ++ ++if HAVE_SECCOMP ++systemd_nspawn_LDADD += \ + libsystemd-seccomp.la \ + $(SECCOMP_LIBS) ++endif + + # ------------------------------------------------------------------------------ + systemd_run_SOURCES = \ +-- +1.7.7 + diff --git a/0001-nspawn-fix-detection-of-missing-proc-self-loginuid.patch b/0001-nspawn-fix-detection-of-missing-proc-self-loginuid.patch deleted file mode 100644 index c4c2f4cb..00000000 --- a/0001-nspawn-fix-detection-of-missing-proc-self-loginuid.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 13e8ceb84e56907d73b6b07418deb37faaf0e66d Mon Sep 17 00:00:00 2001 -From: Tero Roponen -Date: Tue, 25 Feb 2014 17:19:35 +0200 -Subject: [PATCH] nspawn: fix detection of missing /proc/self/loginuid - -Running 'systemd-nspawn -D /srv/Fedora/' gave me this error: - Failed to read /proc/self/loginuid: No such file or directory - - Container Fedora failed with error code 1. - -This patch fixes the problem. ---- - src/nspawn/nspawn.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git src/nspawn/nspawn.c src/nspawn/nspawn.c -index 1fe641b..92b6728 100644 ---- src/nspawn/nspawn.c -+++ src/nspawn/nspawn.c -@@ -1349,7 +1349,7 @@ static int reset_audit_loginuid(void) { - return 0; - - r = read_one_line_file("/proc/self/loginuid", &p); -- if (r == -EEXIST) -+ if (r == -ENOENT) - return 0; - if (r < 0) { - log_error("Failed to read /proc/self/loginuid: %s", strerror(-r)); --- -1.7.9.2 - diff --git a/0001-sd-event-Fix-systemd-crash-when-using-timer-units.patch b/0001-sd-event-Fix-systemd-crash-when-using-timer-units.patch new file mode 100644 index 00000000..50428a19 --- /dev/null +++ b/0001-sd-event-Fix-systemd-crash-when-using-timer-units.patch @@ -0,0 +1,30 @@ +From 9ac441c0f40a10a6c498398e5876a5256b833e31 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Thomas=20B=C3=A4chler?= +Date: Fri, 21 Feb 2014 11:20:24 +0100 +Subject: [PATCH] sd-event: Fix systemd crash when using timer units. + +There was a copy-paste error introduced in commit c2ba3ad6604ef2e189d7e0a36d6911116e84d3ab +which causes the following error when using timer units: + +Assertion '(x->type == SOURCE_MONOTONIC && y->type == SOURCE_MONOTONIC) || (x->type == SOURCE_REALTIME && y->type == SOURCE_REALTIME)' +failed at src/libsystemd/sd-event/sd-event.c:264, function latest_time_prioq_compare(). Aborting. +--- + src/libsystemd/sd-event/sd-event.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git src/libsystemd/sd-event/sd-event.c src/libsystemd/sd-event/sd-event.c +index 25dfd17..1f039bc 100644 +--- src/libsystemd/sd-event/sd-event.c ++++ src/libsystemd/sd-event/sd-event.c +@@ -771,7 +771,7 @@ _public_ int sd_event_add_realtime(sd_event *e, + sd_event_time_handler_t callback, + void *userdata) { + +- return event_add_time_internal(e, ret, SOURCE_REALTIME, &e->realtime_fd, CLOCK_REALTIME, &e->realtime_earliest, &e->monotonic_latest, usec, accuracy, callback, userdata); ++ return event_add_time_internal(e, ret, SOURCE_REALTIME, &e->realtime_fd, CLOCK_REALTIME, &e->realtime_earliest, &e->realtime_latest, usec, accuracy, callback, userdata); + } + + static int event_update_signal_fd(sd_event *e) { +-- +1.7.7 + diff --git a/0001-selinux-Don-t-attempt-to-load-policy-in-initramfs-if.patch b/0001-selinux-Don-t-attempt-to-load-policy-in-initramfs-if.patch new file mode 100644 index 00000000..d961994b --- /dev/null +++ b/0001-selinux-Don-t-attempt-to-load-policy-in-initramfs-if.patch @@ -0,0 +1,43 @@ +From 37f78db2f4a33474fc349f406b0a0a48e9c573a2 Mon Sep 17 00:00:00 2001 +From: Colin Walters +Date: Fri, 21 Feb 2014 03:29:00 +0100 +Subject: [PATCH] selinux: Don't attempt to load policy in initramfs if it + doesn't exist + +Currently on at least Fedora, SELinux policy does not come in the +initramfs. systemd will attempt to load *both* in the initramfs and +in the real root. + +Now, the selinux_init_load_policy() API has a regular error return +value, as well as an "enforcing" boolean. To determine enforcing +state, it looks for /etc/selinux/config as well as the presence of +"enforcing=" on the kernel command line. + +Ordinarily, neither of those exist in the initramfs, so it will return +"unknown" for enforcing, and systemd will simply ignore the failure to +load policy. +--- + src/core/selinux-setup.c | 7 +++++++ + 1 files changed, 7 insertions(+), 0 deletions(-) + +diff --git src/core/selinux-setup.c src/core/selinux-setup.c +index 7a32ed5..9a5d6b2 100644 +--- src/core/selinux-setup.c ++++ src/core/selinux-setup.c +@@ -58,6 +58,13 @@ int selinux_setup(bool *loaded_policy) { + cb.func_log = null_log; + selinux_set_callback(SELINUX_CB_LOG, cb); + ++ /* Don't load policy in the initrd if we don't appear to have ++ * it. For the real root, we check below if we've already ++ * loaded policy, and return gracefully. ++ */ ++ if (in_initrd() && access(selinux_path(), F_OK) < 0) ++ return 0; ++ + /* Already initialized by somebody else? */ + r = getcon_raw(&con); + if (r == 0) { +-- +1.7.7 + diff --git a/0001-shared-architecture.h-fix-preprocessor-directives.patch b/0001-shared-architecture.h-fix-preprocessor-directives.patch new file mode 100644 index 00000000..73787809 --- /dev/null +++ b/0001-shared-architecture.h-fix-preprocessor-directives.patch @@ -0,0 +1,40 @@ +From 9bd9f43fceff79796f6d2a3fb19f7a711a3f3ec5 Mon Sep 17 00:00:00 2001 +From: Daniel Mack +Date: Fri, 21 Feb 2014 11:39:38 +0100 +Subject: [PATCH] shared/architecture.h: fix preprocessor directives + +Use 'if defined()', not 'ifdef defined()'. Fixes the following warning. + + CC src/shared/architecture.lo +In file included from src/shared/architecture.c:24:0: +src/shared/architecture.h:89:17: warning: extra tokens at end of #ifdef +directive [enabled by default] + # ifdef defined(WORDS_BIGENDIAN) + ^ +--- + src/shared/architecture.h | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git src/shared/architecture.h src/shared/architecture.h +index fcfc45a..58a8164 100644 +--- src/shared/architecture.h ++++ src/shared/architecture.h +@@ -80,13 +80,13 @@ Architecture uname_architecture(void); + #elif defined(__alpha__) + # define native_architecture() ARCHITECTURE_ALPHA + #elif defined(__aarch64__) +-# ifdef defined(WORDS_BIGENDIAN) ++# if defined(WORDS_BIGENDIAN) + # define native_architecture() ARCHITECTURE_ARM64_BE + # else + # define native_architecture() ARCHITECTURE_ARM64 + # endif + #elif defined(__arm__) +-# ifdef defined(WORDS_BIGENDIAN) ++# if defined(WORDS_BIGENDIAN) + # define native_architecture() ARCHITECTURE_ARM_BE + # else + # define native_architecture() ARCHITECTURE_ARM +-- +1.7.7 + diff --git a/0001-cdrom_id-use-the-old-MMC-fallback.patch b/0002-cdrom_id-use-the-old-MMC-fallback.patch similarity index 100% rename from 0001-cdrom_id-use-the-old-MMC-fallback.patch rename to 0002-cdrom_id-use-the-old-MMC-fallback.patch diff --git a/0001-journalctl-refuse-extra-arguments-with-verify-and-si.patch b/0003-journalctl-refuse-extra-arguments-with-verify-and-si.patch similarity index 100% rename from 0001-journalctl-refuse-extra-arguments-with-verify-and-si.patch rename to 0003-journalctl-refuse-extra-arguments-with-verify-and-si.patch diff --git a/0001-logs-show-fix-corrupt-output-with-empty-messages.patch b/0004-logs-show-fix-corrupt-output-with-empty-messages.patch similarity index 100% rename from 0001-logs-show-fix-corrupt-output-with-empty-messages.patch rename to 0004-logs-show-fix-corrupt-output-with-empty-messages.patch diff --git a/0005-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch b/0005-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch new file mode 100644 index 00000000..79bf62d4 --- /dev/null +++ b/0005-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch @@ -0,0 +1,51 @@ +From aef831369cd2a7a1bd4a58dd96ff8628ed6a85f9 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 26 Feb 2014 04:28:37 +0100 +Subject: [PATCH] mount: don't fire PropertiesChanged signals for mounts that + are stopped + +--- + src/core/mount.c | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git src/core/mount.c src/core/mount.c +index 98812c9..7a92e1c 100644 +--- src/core/mount.c ++++ src/core/mount.c +@@ -1679,20 +1679,20 @@ static int mount_dispatch_io(sd_event_source *source, int fd, uint32_t revents, + Mount *mount = MOUNT(u); + + if (!mount->is_mounted) { +- /* This has just been unmounted. */ + + mount->from_proc_self_mountinfo = false; + + switch (mount->state) { + + case MOUNT_MOUNTED: ++ /* This has just been unmounted by ++ * somebody else, follow the state ++ * change. */ + mount_enter_dead(mount, MOUNT_SUCCESS); + break; + + default: +- mount_set_state(mount, mount->state); + break; +- + } + + } else if (mount->just_mounted || mount->just_changed) { +@@ -1703,6 +1703,9 @@ static int mount_dispatch_io(sd_event_source *source, int fd, uint32_t revents, + + case MOUNT_DEAD: + case MOUNT_FAILED: ++ /* This has just been mounted by ++ * somebody else, follow the state ++ * change. */ + mount_enter_mounted(mount, MOUNT_SUCCESS); + break; + +-- +1.7.9.2 + diff --git a/0006-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch b/0006-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch new file mode 100644 index 00000000..f064927a --- /dev/null +++ b/0006-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch @@ -0,0 +1,70 @@ +From ff5f34d08c191c326c41a083745522383ac86cae Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 26 Feb 2014 04:27:50 +0100 +Subject: [PATCH] mount: don't send out PropertiesChanged message if actually + nothing got changed + +--- + src/core/mount.c | 15 ++++++++++++--- + 1 file changed, 12 insertions(+), 3 deletions(-) + +diff --git src/core/mount.c src/core/mount.c +index b35e507..98812c9 100644 +--- src/core/mount.c ++++ src/core/mount.c +@@ -1390,7 +1390,7 @@ static int mount_add_one( + _cleanup_free_ char *e = NULL, *w = NULL, *o = NULL, *f = NULL; + bool load_extras = false; + MountParameters *p; +- bool delete; ++ bool delete, changed = false; + Unit *u; + int r; + +@@ -1458,6 +1458,7 @@ static int mount_add_one( + } + + unit_add_to_load_queue(u); ++ changed = true; + } else { + delete = false; + +@@ -1476,6 +1477,7 @@ static int mount_add_one( + /* Load in the extras later on, after we + * finished initialization of the unit */ + load_extras = true; ++ changed = true; + } + } + +@@ -1488,10 +1490,16 @@ static int mount_add_one( + } + + p = &MOUNT(u)->parameters_proc_self_mountinfo; ++ ++ changed = changed || ++ !streq_ptr(p->options, options) || ++ !streq_ptr(p->what, what) || ++ !streq_ptr(p->fstype, fstype); ++ + if (set_flags) { + MOUNT(u)->is_mounted = true; + MOUNT(u)->just_mounted = !MOUNT(u)->from_proc_self_mountinfo; +- MOUNT(u)->just_changed = !streq_ptr(p->options, o); ++ MOUNT(u)->just_changed = changed; + } + + MOUNT(u)->from_proc_self_mountinfo = true; +@@ -1514,7 +1522,8 @@ static int mount_add_one( + goto fail; + } + +- unit_add_to_dbus_queue(u); ++ if (changed) ++ unit_add_to_dbus_queue(u); + + return 0; + +-- +1.7.9.2 + diff --git a/0007-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch b/0007-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch new file mode 100644 index 00000000..25994e95 --- /dev/null +++ b/0007-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch @@ -0,0 +1,51 @@ +From 1ae383a8a3ae4824453e297352fda603d2d3fd5e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 25 Feb 2014 21:26:31 -0500 +Subject: [PATCH] Use /var/run/dbus/system_bus_socket for the D-Bus socket + +--- + man/systemd-bus-proxyd@.service.xml | 2 +- + src/shared/def.h | 2 +- + units/systemd-bus-proxyd.socket | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git man/systemd-bus-proxyd@.service.xml man/systemd-bus-proxyd@.service.xml +index 75a3c8b..3a5930d 100644 +--- man/systemd-bus-proxyd@.service.xml ++++ man/systemd-bus-proxyd@.service.xml +@@ -59,7 +59,7 @@ along with systemd; If not, see . + systemd-bus-proxyd.socket will launch + systemd-bus-proxyd@.service for connections + to the classic D-Bus socket in +- /run/dbus/system_bus_socket. ++ /var/run/dbus/system_bus_socket. + + systemd-bus-proxyd@.service is launched + for an existing D-Bus connection and will use +diff --git src/shared/def.h src/shared/def.h +index 7777756..aa489d8 100644 +--- src/shared/def.h ++++ src/shared/def.h +@@ -61,7 +61,7 @@ + "/usr/lib/kbd/keymaps/\0" + #endif + +-#define UNIX_SYSTEM_BUS_PATH "unix:path=/run/dbus/system_bus_socket" ++#define UNIX_SYSTEM_BUS_PATH "unix:path=/var/run/dbus/system_bus_socket" + #define KERNEL_SYSTEM_BUS_PATH "kernel:path=/dev/kdbus/0-system/bus" + + #ifdef ENABLE_KDBUS +diff --git units/systemd-bus-proxyd.socket units/systemd-bus-proxyd.socket +index 406e15b..6c42d38 100644 +--- units/systemd-bus-proxyd.socket ++++ units/systemd-bus-proxyd.socket +@@ -9,5 +9,5 @@ + Description=Legacy D-Bus Protocol Compatibility Socket + + [Socket] +-ListenStream=/run/dbus/system_bus_socket ++ListenStream=/var/run/dbus/system_bus_socket + Accept=yes +-- +1.7.9.2 + diff --git a/0008-README-document-that-var-run-must-be-a-symlink-run.patch b/0008-README-document-that-var-run-must-be-a-symlink-run.patch new file mode 100644 index 00000000..4b8b4384 --- /dev/null +++ b/0008-README-document-that-var-run-must-be-a-symlink-run.patch @@ -0,0 +1,30 @@ +From 47bc23c18cbc87471dc832534c8565625e4a9d16 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 26 Feb 2014 02:54:37 +0100 +Subject: [PATCH] =?UTF-8?q?README:=20document=20that=20/var/run=20must=20be=20?= + =?UTF-8?q?a=20symlink=20=E2=86=92=20/run?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +--- + README | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git README README +index b918132..7a227e7 100644 +--- README ++++ README +@@ -190,6 +190,9 @@ WARNINGS: + about this, since this kind of file system setup is not really + supported anymore by the basic set of Linux OS components. + ++ systemd requires that the /run mount point exists. systemd also ++ requires that /var/run is a a symlink → /run. ++ + For more information on this issue consult + http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken + +-- +1.7.9.2 + diff --git a/0009-Revert-back-to-var-run-at-a-couple-of-problems.patch b/0009-Revert-back-to-var-run-at-a-couple-of-problems.patch new file mode 100644 index 00000000..ed9a7a79 --- /dev/null +++ b/0009-Revert-back-to-var-run-at-a-couple-of-problems.patch @@ -0,0 +1,60 @@ +From df1e02046144f41176c32ed011369fd8dba36b76 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 26 Feb 2014 02:47:43 +0100 +Subject: [PATCH] Revert back to /var/run at a couple of problems +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This partially reverts 41a55c46ab8fb4ef6727434227071321fc762cce + +Some specifications we want to stay compatibility actually document +/var/run, not /run, and we should stay compatible with that. In order to +make sure our D-Bus implementation works on any system, regardless if +running systemd or not, we should always use /var/run which is the +only path mandated by the D-Bus spec. + +Similar, glibc hardcodes the utmp location to /var/run, and this is +exposed in _UTMP_PATH in limits.h, hence let's stay in sync with this +public API, too. + +We simply do not support systems where /var/run is not a symlink → /run. +Hence both are equivalent. Staying compatible with upstream +specifications hence weighs more than cleaning up superficial +appearance. +--- + man/runlevel.xml | 2 +- + src/libsystemd/sd-bus/sd-bus.c | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git man/runlevel.xml man/runlevel.xml +index 4db06dc..976753a 100644 +--- man/runlevel.xml ++++ man/runlevel.xml +@@ -124,7 +124,7 @@ + + + +- /run/utmp ++ /var/run/utmp + + The utmp database + runlevel reads the +diff --git src/libsystemd/sd-bus/sd-bus.c src/libsystemd/sd-bus/sd-bus.c +index 1318272..636715f 100644 +--- src/libsystemd/sd-bus/sd-bus.c ++++ src/libsystemd/sd-bus/sd-bus.c +@@ -794,8 +794,8 @@ static int parse_container_unix_address(sd_bus *b, const char **p, char **guid) + machine = NULL; + + b->sockaddr.un.sun_family = AF_UNIX; +- strncpy(b->sockaddr.un.sun_path, "/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); +- b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + strlen("/run/dbus/system_bus_socket"); ++ strncpy(b->sockaddr.un.sun_path, "/var/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); ++ b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + strlen("/var/run/dbus/system_bus_socket"); + + return 0; + } +-- +1.7.9.2 + diff --git a/0010-Replace-var-run-with-run-in-remaining-places.patch b/0010-Replace-var-run-with-run-in-remaining-places.patch new file mode 100644 index 00000000..67c35e18 --- /dev/null +++ b/0010-Replace-var-run-with-run-in-remaining-places.patch @@ -0,0 +1,89 @@ +From 41a55c46ab8fb4ef6727434227071321fc762cce Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 25 Feb 2014 20:11:04 -0500 +Subject: [PATCH] Replace /var/run with /run in remaining places + +/run was already used almost everywhere, fix the remaining places +for consistency. +--- + man/daemon.xml | 2 +- + man/runlevel.xml | 2 +- + man/tmpfiles.d.xml | 4 ++-- + src/libsystemd/sd-bus/sd-bus.c | 4 ++-- + src/systemctl/systemctl.c | 4 ++-- + 5 files changed, 8 insertions(+), 8 deletions(-) + +diff --git man/daemon.xml man/daemon.xml +index 88dd082..fd29ba7 100644 +--- man/daemon.xml ++++ man/daemon.xml +@@ -149,7 +149,7 @@ + write the daemon PID (as returned by + getpid()) to a + PID file, for example +- /var/run/foobar.pid ++ /run/foobar.pid + (for a hypothetical daemon "foobar") + to ensure that the daemon cannot be + started more than once. This must be +diff --git man/runlevel.xml man/runlevel.xml +index 976753a..4db06dc 100644 +--- man/runlevel.xml ++++ man/runlevel.xml +@@ -124,7 +124,7 @@ + + + +- /var/run/utmp ++ /run/utmp + + The utmp database + runlevel reads the +diff --git man/tmpfiles.d.xml man/tmpfiles.d.xml +index 812129f..0a006d1 100644 +--- man/tmpfiles.d.xml ++++ man/tmpfiles.d.xml +@@ -441,8 +441,8 @@ r! /tmp/.X[0-9]*-lock + /etc/tmpfiles.d/screen.conf example + screen needs two directories created at boot with specific modes and ownership. + +- d /var/run/screens 1777 root root 10d +-d /var/run/uscreens 0755 root root 10d12h ++ d /run/screens 1777 root root 10d ++d /run/uscreens 0755 root root 10d12h + + + /etc/tmpfiles.d/abrt.conf example +diff --git src/libsystemd/sd-bus/sd-bus.c src/libsystemd/sd-bus/sd-bus.c +index 20f540d..1318272 100644 +--- src/libsystemd/sd-bus/sd-bus.c ++++ src/libsystemd/sd-bus/sd-bus.c +@@ -794,8 +794,8 @@ static int parse_container_unix_address(sd_bus *b, const char **p, char **guid) + machine = NULL; + + b->sockaddr.un.sun_family = AF_UNIX; +- strncpy(b->sockaddr.un.sun_path, "/var/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); +- b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + sizeof("/var/run/dbus/system_bus_socket") - 1; ++ strncpy(b->sockaddr.un.sun_path, "/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); ++ b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + strlen("/run/dbus/system_bus_socket"); + + return 0; + } +diff --git src/systemctl/systemctl.c src/systemctl/systemctl.c +index 34d7079..8692716 100644 +--- src/systemctl/systemctl.c ++++ src/systemctl/systemctl.c +@@ -3758,8 +3758,8 @@ static int show_one( + streq(verb, "status")) { + /* According to LSB: "program not running" */ + /* 0: program is running or service is OK +- * 1: program is dead and /var/run pid file exists +- * 2: program is dead and /var/lock lock file exists ++ * 1: program is dead and /run PID file exists ++ * 2: program is dead and /run/lock lock file exists + * 3: program is not running + * 4: program or service status is unknown + */ +-- +1.7.9.2 + diff --git a/0011-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch b/0011-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch new file mode 100644 index 00000000..065c0ea9 --- /dev/null +++ b/0011-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch @@ -0,0 +1,22 @@ +From b3e4387351c835766f96796a20d94971afea7d3b Mon Sep 17 00:00:00 2001 +From: Tomasz Torcz +Date: Tue, 25 Feb 2014 12:43:55 +0100 +Subject: [PATCH] fix typo in iDRAC network interface name: irdac->idrac + +--- + hwdb/20-net-ifname.hwdb | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git hwdb/20-net-ifname.hwdb hwdb/20-net-ifname.hwdb +index 29d2633..2408dc1 100644 +--- hwdb/20-net-ifname.hwdb ++++ hwdb/20-net-ifname.hwdb +@@ -2,4 +2,4 @@ + + # Dell iDRAC Virtual USB NIC + usb:v413CpA102* +- ID_NET_NAME_FROM_DATABASE=irdac ++ ID_NET_NAME_FROM_DATABASE=idrac +-- +1.7.9.2 + diff --git a/0012-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch b/0012-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch new file mode 100644 index 00000000..e4752edc --- /dev/null +++ b/0012-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch @@ -0,0 +1,35 @@ +From 9c413373d2112055a0142ef522bf95af9b491b4a Mon Sep 17 00:00:00 2001 +From: "Jasper St. Pierre" +Date: Fri, 21 Feb 2014 18:23:17 -0500 +Subject: [PATCH] login: Allow calling org.freedesktop.login1.Seat.SwitchTo + +--- + src/login/org.freedesktop.login1.conf | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git src/login/org.freedesktop.login1.conf src/login/org.freedesktop.login1.conf +index d677f61..1318328 100644 +--- src/login/org.freedesktop.login1.conf ++++ src/login/org.freedesktop.login1.conf +@@ -141,6 +141,18 @@ + send_member="ActivateSession"/> + + ++ ++ ++ ++ ++ ++ + +-- +1.7.9.2 + diff --git a/0013-login-set-pos-slot-to-fallback-on-pos-eviction.patch b/0013-login-set-pos-slot-to-fallback-on-pos-eviction.patch new file mode 100644 index 00000000..a1934486 --- /dev/null +++ b/0013-login-set-pos-slot-to-fallback-on-pos-eviction.patch @@ -0,0 +1,52 @@ +From 3e6b205f81e743c7354ccbc69eb45afbdbebe2dc Mon Sep 17 00:00:00 2001 +From: David Herrmann +Date: Tue, 25 Feb 2014 13:08:24 +0100 +Subject: [PATCH] login: set pos-slot to fallback on pos-eviction + +If we evict a session position, we open the position slot for future +sessions. However, there might already be another session on the same +position if both were started on the same VT. This is currently done if +gdm spawns the session on its own Xserver. + +Hence, look for such a session on pos-eviction and claim the new slot +immediately. +--- + src/login/logind-seat.c | 14 +++++++++++++- + 1 file changed, 13 insertions(+), 1 deletion(-) + +diff --git src/login/logind-seat.c src/login/logind-seat.c +index 36ec7ed..96cf08e 100644 +--- src/login/logind-seat.c ++++ src/login/logind-seat.c +@@ -459,6 +459,7 @@ int seat_stop_sessions(Seat *s, bool force) { + } + + void seat_evict_position(Seat *s, Session *session) { ++ Session *iter; + unsigned int pos = session->pos; + + session->pos = 0; +@@ -466,8 +467,19 @@ void seat_evict_position(Seat *s, Session *session) { + if (!pos) + return; + +- if (pos < s->position_count && s->positions[pos] == session) ++ if (pos < s->position_count && s->positions[pos] == session) { + s->positions[pos] = NULL; ++ ++ /* There might be another session claiming the same ++ * position (eg., during gdm->session transition), so lets look ++ * for it and set it on the free slot. */ ++ LIST_FOREACH(sessions_by_seat, iter, s->sessions) { ++ if (iter->pos == pos) { ++ s->positions[pos] = iter; ++ break; ++ } ++ } ++ } + } + + void seat_claim_position(Seat *s, Session *session, unsigned int pos) { +-- +1.7.9.2 + diff --git a/0014-login-fix-pos-array-allocation.patch b/0014-login-fix-pos-array-allocation.patch new file mode 100644 index 00000000..2549d220 --- /dev/null +++ b/0014-login-fix-pos-array-allocation.patch @@ -0,0 +1,52 @@ +From a1937e679f76758635d295287398abe526de2522 Mon Sep 17 00:00:00 2001 +From: David Herrmann +Date: Tue, 25 Feb 2014 12:20:25 +0100 +Subject: [PATCH] login: fix pos-array allocation + +GREEDY_REALLOC takes a pointer to the real size, not the array-width as +argument. Therefore, our array is currently way to small to keep the seat +positions. + +Introduce GREEDY_REALLOC0_T() as typed version of GREEDY_REALLOC and store +the array-width instead of array-size. +--- + src/login/logind-seat.c | 2 +- + src/shared/util.h | 9 +++++++++ + 2 files changed, 10 insertions(+), 1 deletion(-) + +diff --git src/login/logind-seat.c src/login/logind-seat.c +index 631be5f..36ec7ed 100644 +--- src/login/logind-seat.c ++++ src/login/logind-seat.c +@@ -475,7 +475,7 @@ void seat_claim_position(Seat *s, Session *session, unsigned int pos) { + if (seat_has_vts(s)) + pos = session->vtnr; + +- if (!GREEDY_REALLOC0(s->positions, s->position_count, pos + 1)) ++ if (!GREEDY_REALLOC0_T(s->positions, s->position_count, pos + 1)) + return; + + seat_evict_position(s, session); +diff --git src/shared/util.h src/shared/util.h +index 9913fce..78b1444 100644 +--- src/shared/util.h ++++ src/shared/util.h +@@ -723,6 +723,15 @@ void* greedy_realloc0(void **p, size_t *allocated, size_t need); + #define GREEDY_REALLOC0(array, allocated, need) \ + greedy_realloc0((void**) &(array), &(allocated), sizeof((array)[0]) * (need)) + ++#define GREEDY_REALLOC0_T(array, count, need) \ ++ ({ \ ++ size_t _size = (count) * sizeof((array)[0]); \ ++ void *_ptr = GREEDY_REALLOC0((array), _size, (need)); \ ++ if (_ptr) \ ++ (count) = _size / sizeof((array)[0]); \ ++ _ptr; \ ++ }) ++ + static inline void _reset_errno_(int *saved_errno) { + errno = *saved_errno; + } +-- +1.7.9.2 + diff --git a/systemd-209.tar.xz b/systemd-209.tar.xz deleted file mode 100644 index 7caa0b46..00000000 --- a/systemd-209.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4cadef26adcd846e3f2b90502e64f590430baf59aea87491d25aac2e50b23d18 -size 2607304 diff --git a/systemd-210.tar.xz b/systemd-210.tar.xz new file mode 100644 index 00000000..dd2041d8 --- /dev/null +++ b/systemd-210.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2b3ddf9bf82f05cc3079650e86ae05b558381fd034cf1b03a592bcadd1610c4 +size 2620924 diff --git a/systemd-dbus-system-bus-address.patch b/systemd-dbus-system-bus-address.patch index 1ae913f1..87c7b41b 100644 --- a/systemd-dbus-system-bus-address.patch +++ b/systemd-dbus-system-bus-address.patch @@ -1,13 +1,13 @@ ---- systemd-208.orig/src/libsystemd/sd-bus/sd-bus.c -+++ systemd-208/src/libsystemd/sd-bus/sd-bus.c -@@ -793,8 +793,8 @@ +--- systemd-209/src/libsystemd/sd-bus/sd-bus.c ++++ systemd-209/src/libsystemd/sd-bus/sd-bus.c +@@ -794,8 +794,8 @@ machine = NULL; b->sockaddr.un.sun_family = AF_UNIX; - strncpy(b->sockaddr.un.sun_path, "/var/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); -- b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + sizeof("/var/run/dbus/system_bus_socket") - 1; +- b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + strlen("/var/run/dbus/system_bus_socket"); + strncpy(b->sockaddr.un.sun_path, "/run/dbus/system_bus_socket", sizeof(b->sockaddr.un.sun_path)); -+ b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + sizeof("/run/dbus/system_bus_socket") - 1; ++ b->sockaddr_size = offsetof(struct sockaddr_un, sun_path) + strlen("/run/dbus/system_bus_socket"); return 0; } diff --git a/systemd-install-compat_pkgconfig-always.patch b/systemd-install-compat_pkgconfig-always.patch new file mode 100644 index 00000000..c378af51 --- /dev/null +++ b/systemd-install-compat_pkgconfig-always.patch @@ -0,0 +1,28 @@ +--- a/Makefile.am ++++ b/Makefile.am +@@ -4560,12 +4560,6 @@ lib_LTLIBRARIES += \ + libsystemd-id128.la \ + libsystemd-daemon.la + +-pkgconfiglib_DATA += \ +- src/compat-libs/libsystemd-journal.pc \ +- src/compat-libs/libsystemd-login.pc \ +- src/compat-libs/libsystemd-id128.pc \ +- src/compat-libs/libsystemd-daemon.pc +- + # move lib from $(libdir) to $(rootlibdir) and update devel link, if needed + compat-lib-install-hook: + libname=libsystemd-login.so && $(move-to-rootlibdir) +@@ -4583,6 +4577,12 @@ INSTALL_EXEC_HOOKS += compat-lib-install + UNINSTALL_EXEC_HOOKS += compat-lib-uninstall-hook + endif + ++pkgconfiglib_DATA += \ ++ src/compat-libs/libsystemd-journal.pc \ ++ src/compat-libs/libsystemd-login.pc \ ++ src/compat-libs/libsystemd-id128.pc \ ++ src/compat-libs/libsystemd-daemon.pc ++ + EXTRA_DIST += \ + src/compat-libs/libsystemd-journal.pc.in \ + src/compat-libs/libsystemd-login.pc.in \ diff --git a/systemd-mini.changes b/systemd-mini.changes index 203c5500..e34d3943 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,95 @@ +------------------------------------------------------------------- +Mon Mar 3 13:58:11 UTC 2014 - werner@suse.de + +- Update to Release v210 + + systemd will now relabel /dev after loading the SMACK policy + according to SMACK rules. + + A new unit file option AppArmoreProfile= has been added to + set the AppArmor profile for the processes of a unit. + + A new condition check ConditionArchitecture= has been added + to conditionalize units based on the system architecture, as + reported by uname()'s "machine" field. + + systemd-networkd now supports matching on the system + virtualization, architecture, kernel command line, host name + and machine ID. + + logind is now a lot more aggressive when suspending the + machine due to a closed laptop lid. + + logind will now watch SW_DOCK switches and inhibit reaction + to the lid switch if it is pressed. + + nspawn will now make use of the devices cgroup controller by + default, and only permit creation of and access to the usual + API device nodes like /dev/null or /dev/random, as well as + access to (but not creation of) the pty devices. + + systemd will now understand the usual M, K, G, T suffixes + according to SI conventions (i.e. to the base 1000) when + referring to throughput and hardware metrics. + + The DeviceAllow= setting in unit files now supports a syntax + to whitelist an entire group of devices node majors at once, + based on the /proc/devices listing. For example, with the + string "char-pts" it is now possible to whitelist all + current and future pseudo-TTYs at once. + + sd-event learned a new "post" event source. Event sources of + this type are triggered by the dispatching of any event + source of a type that is not "post". This is useful for + implementing clean-up and check event sources that are + triggered by other work being done in the program. + + The compatibility libraries for libsystemd-journal.so, + libsystem-id128.so, libsystemd-login.so and + libsystemd-daemon.so do not make use of IFUNC + anymore. +- Dropped systemd patches as those are fixed upstream: + * 0001-nspawn-fix-detection-of-missing-proc-self-loginuid.patch +- Dropped patches as those do not work anymore + * 1006-udev-always-rename-network.patch +- Renamed systemd patches as seen from git log: + * 0001-cdrom_id-use-the-old-MMC-fallback.patch + become 0002-cdrom_id-use-the-old-MMC-fallback.patch + * 0001-journalctl-refuse-extra-arguments-with-verify-and-si.patch + become 0003-journalctl-refuse-extra-arguments-with-verify-and-si.patch + * 0001-logs-show-fix-corrupt-output-with-empty-messages.patch + become 0004-logs-show-fix-corrupt-output-with-empty-messages.patch +- Add several upstream bugfix patches which are missed: + * 0001-build-sys-Add-setns-functions-if-not-in-the-C-librar.patch + * 0001-build-sys-Fix-compilation-of-nspawn-when-seccomp-is-.patch + * 0001-sd-event-Fix-systemd-crash-when-using-timer-units.patch + * 0001-selinux-Don-t-attempt-to-load-policy-in-initramfs-if.patch + * 0001-shared-architecture.h-fix-preprocessor-directives.patch + * 0005-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch + * 0006-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch + * 0007-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch + * 0008-README-document-that-var-run-must-be-a-symlink-run.patch + * 0009-Revert-back-to-var-run-at-a-couple-of-problems.patch + * 0010-Replace-var-run-with-run-in-remaining-places.patch + * 0011-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch + * 0012-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch + * 0013-login-set-pos-slot-to-fallback-on-pos-eviction.patch + * 0014-login-fix-pos-array-allocation.patch +- Modified patches to make is build + * 0001-add-network-device-after-NFS-mount-units.patch +- Reenable libseccomp for the architecture for which libseccomp exists + +------------------------------------------------------------------- +Sun Mar 2 15:51:24 CET 2014 - ro@suse.de + +- always install compat pkgconfig files, regardless if + compat libs is enabled or not + +------------------------------------------------------------------- +Sun Mar 2 14:47:23 CET 2014 - ro@suse.de + +- disable use of libseccomp for sle12, library has not been ported + to most architectures +- do not use binutils-gold on s390/s390x, does not exist there +- fix exclude statements for bootstrap case + +------------------------------------------------------------------- +Fri Feb 28 17:54:40 UTC 2014 - werner@suse.de + +- Add upstream patches + + 0001-cdrom_id-use-the-old-MMC-fallback.patch + + 0001-logs-show-fix-corrupt-output-with-empty-messages.patch + + 0001-journalctl-refuse-extra-arguments-with-verify-and-si.patch + ------------------------------------------------------------------- Fri Feb 28 17:41:37 UTC 2014 - werner@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index f5788c8c..01b874bf 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -29,7 +29,7 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 209 +Version: 210 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -97,8 +97,10 @@ BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(usbutils) >= 0.82 %endif %if 0%{?suse_version} > 1310 +%ifarch %ix86 x86_64 x32 %arm BuildRequires: pkgconfig(libseccomp) %endif +%endif BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libsepol) %if 0%{?bootstrap} @@ -202,8 +204,6 @@ Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch # PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin Patch46: use-usr-sbin-sulogin-for-emergency-service.patch -# PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run -Patch47: systemd-dbus-system-bus-address.patch # PATCH-FIX-OPENSUSE make-emergency.service-conflict-with-syslog.socket.patch (bnc#852232) Patch84: make-emergency.service-conflict-with-syslog.socket.patch # PATCH-FIX-SUSE 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch @@ -216,26 +216,38 @@ Patch91: plymouth-quit-and-wait-for-emergency-service.patch Patch93: 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch # PATCH-FIX-SUSE 0001-systemd-empty-sigmask-on-reexec.patch werner@suse.com Patch114: 0001-systemd-empty-sigmask-on-reexec.patch -# PATCH-FIX-SUSE 0001-add-network-device-after-NFS-mount-units.patch werner@suse.com -Patch115: 0001-add-network-device-after-NFS-mount-units.patch -# PATCH-FIX-USTREAM 0001-units-serial-getty-.service-add-Install-section.patch werner@suse.com -Patch116: 0001-units-serial-getty-.service-add-Install-section.patch # PATCH-FIX-SUSE 0001-make-209-working-on-older-dist.patch werner@suse.com Patch117: 0001-make-209-working-on-older-dist.patch -# PATCH-FIX-SUSE 0001-make-tests-with-libseccomp-work.patch werner@suse.com -Patch118: 0001-make-tests-with-libseccomp-work.patch # PATCH-FIX-SUSE 0001-make-fortify-happy-with-ppoll.patch werner@suse.com Patch119: 0001-make-fortify-happy-with-ppoll.patch # PATCH-FIX-SUSE 0001-avoid-abort-due-timeout-at-user-service.patch werner@suse.com Patch120: 0001-avoid-abort-due-timeout-at-user-service.patch -# PATCH-FIX-USTREAM 0001-nspawn-fix-detection-of-missing-proc-self-loginuid.patch werner@suse.com +# PATCH-FIX-USTREAM added at 2014/0303 Patch121: 0001-nspawn-fix-detection-of-missing-proc-self-loginuid.patch -# PATCH-FIX-USTREAM 0001-cdrom_id-use-the-old-MMC-fallback.patch -Patch122: 0001-cdrom_id-use-the-old-MMC-fallback.patch -# PATCH-FIX-USTREAM 0001-logs-show-fix-corrupt-output-with-empty-messages.patch -Patch123: 0001-logs-show-fix-corrupt-output-with-empty-messages.patch -# PATCH-FIX-USTREAM 0001-journalctl-refuse-extra-arguments-with-verify-and-si.patch -Patch124: 0001-journalctl-refuse-extra-arguments-with-verify-and-si.patch +# PATCH-FIX-USTREAM added at 2014/0303 +Patch122: 0003-journalctl-refuse-extra-arguments-with-verify-and-si.patch +# PATCH-FIX-USTREAM added at 2014/0303 +Patch123: 0004-logs-show-fix-corrupt-output-with-empty-messages.patch +# PATCH-FIX-USTREAM added at 2014/0303 +Patch124: 0005-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch +# PATCH-FIX-USTREAM added at 2014/0303 +Patch125: 0006-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch +# PATCH-FIX-USTREAM added at 2014/0303 +Patch126: 0007-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch +# PATCH-FIX-USTREAM added at 2014/0303 +Patch127: 0008-README-document-that-var-run-must-be-a-symlink-run.patch +# PATCH-FIX-USTREAM added at 2014/0303 +Patch128: 0010-Replace-var-run-with-run-in-remaining-places.patch +# PATCH-FIX-USTREAM added at 2014/0303 +Patch129: 0009-Revert-back-to-var-run-at-a-couple-of-problems.patch +# PATCH-FIX-USTREAM added at 2014/0303 +Patch130: 0011-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch +# PATCH-FIX-USTREAM added at 2014/0303 +Patch131: 0012-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch +# PATCH-FIX-USTREAM added at 2014/0303 +Patch132: 0013-login-set-pos-slot-to-fallback-on-pos-eviction.patch +# PATCH-FIX-USTREAM added at 2014/0303 +Patch133: 0014-login-fix-pos-array-allocation.patch # PATCH-FIX-OPENSUSE 1009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844) Patch1009: 1009-make-xsltproc-use-correct-ROFF-links.patch # PATCH-FIX-OPENSUSE 1010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) @@ -250,8 +262,16 @@ Patch1016: 1016-support-powerfail-with-powerstatus.patch Patch1018: 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch # PATCH-FIX-SUSE 1019-make-completion-smart-to-be-able-to-redirect.patch Patch1019: 1019-make-completion-smart-to-be-able-to-redirect.patch +# PATCH-FIX-SUSE 0001-add-network-device-after-NFS-mount-units.patch werner@suse.com +Patch1020: 0001-add-network-device-after-NFS-mount-units.patch +# PATCH-FIX-SUSE systemd-dbus-system-bus-address.patch +Patch1021: systemd-dbus-system-bus-address.patch +# PATCH-FIX-SUSE systemd-install-compat_pkgconfig-always.patch +Patch1999: systemd-install-compat_pkgconfig-always.patch # udev patches +# PATCH-FIX-USTREAM added at 2014/0303 +Patch134: 0002-cdrom_id-use-the-old-MMC-fallback.patch # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch # PATCH-FIX-OPENSUSE 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch @@ -509,25 +529,30 @@ cp %{SOURCE7} m4/ %patch41 -p1 %patch42 -p1 %patch46 -p1 -%patch47 -p1 %patch84 -p1 %patch86 -p1 %patch90 -p1 %patch91 -p1 %patch93 -p1 %patch114 -p0 -%patch115 -p1 -%patch116 -p1 %if 0%{?suse_version} <= 1310 %patch117 -p1 %endif -%patch118 -p1 %patch119 -p1 %patch120 -p1 %patch121 -p0 %patch122 -p0 %patch123 -p0 %patch124 -p0 +%patch125 -p0 +%patch126 -p0 +%patch127 -p0 +%patch128 -p0 +%patch129 -p0 +%patch130 -p0 +%patch131 -p0 +%patch132 -p0 +%patch133 -p0 %patch1009 -p1 %patch1010 -p1 %patch1012 -p1 @@ -535,13 +560,16 @@ cp %{SOURCE7} m4/ %patch1016 -p1 %patch1018 -p1 %patch1019 -p1 +%patch1020 -p1 +%patch1021 -p1 +%patch1999 -p1 # udev patches +%patch134 -p0 %patch1001 -p1 %patch1002 -p1 %patch1003 -p1 %patch1005 -p1 -#%patch1006 -p1 -b .xy # don't apply when bootstrapping to not modify Makefile.am %if ! 0%{?bootstrap} %patch1007 -p1 @@ -563,6 +591,7 @@ export V=1 %if 0%{?bootstrap} --disable-gudev \ --disable-myhostname \ + --disable-manpages \ %else --enable-manpages \ %if %{with python} @@ -570,9 +599,9 @@ export V=1 %endif --enable-gtk-doc \ --with-nss-my-hostname-warning \ +%endif %if %{with compat_libs} --enable-compat-libs \ -%endif %endif --enable-selinux \ --enable-split-usr \ @@ -594,12 +623,6 @@ make %{?_smp_mflags} %install make install DESTDIR="%buildroot" -%if %{without python} -for man in systemd.directives.7 systemd.index.7 -do - install -m 0644 man/$man %{buildroot}%{_mandir}/man7/ -done -%endif # move to %{_lib} %if ! 0%{?bootstrap} @@ -694,7 +717,7 @@ rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf # remove README file for now rm -f %{buildroot}/etc/init.d/README %if 0%{?bootstrap} -rm -f %{buildroot}/var/log/README +rm -f %{buildroot}%{_localstatedir}/log/README rm -rf %{buildroot}%{_datadir}/bash-completion %endif @@ -708,13 +731,13 @@ done ln -s /usr/lib/udev %{buildroot}/lib/udev # Create the /var/log/journal directory to change the volatile journal to a persistent one -mkdir -p %{buildroot}/var/log/journal +mkdir -p %{buildroot}%{_localstatedir}/log/journal # Make sure directories in /var exist -mkdir -p %{buildroot}/var/lib/systemd/coredump -mkdir -p %{buildroot}/var/lib/systemd/catalog +mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/coredump +mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/catalog #create ghost databases -touch %{buildroot}/var/lib/systemd/catalog/database +touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin # Make sure the NTP units dir exists @@ -745,7 +768,16 @@ install -m 755 %{S:12} %{buildroot}/%{_prefix}/lib/systemd/ install -m 644 units/powerfail.service %{buildroot}/%{_prefix}/lib/systemd/system/ %if ! 0%{?bootstrap} install -m 644 man/systemd-powerfail.service.8 %{buildroot}/%{_mandir}/man8/ +%if %{without python} +for man in systemd.directives.7 systemd.index.7 +do + install -m 0644 man/$man %{buildroot}%{_mandir}/man7/ +done %endif +%endif + +mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight +mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed %fdupes -s %{buildroot}%{_mandir} @@ -763,14 +795,14 @@ exit 0 /usr/sbin/pam-config -a --systemd || : %endif /sbin/ldconfig -[ -e /var/lib/random-seed ] && mv /var/lib/random-seed /var/lib/systemd/ > /dev/null || : +[ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ > /dev/null || : /usr/bin/systemd-machine-id-setup >/dev/null 2>&1 || : /usr/lib/systemd/systemd-random-seed save >/dev/null 2>&1 || : /usr/bin/systemctl daemon-reexec >/dev/null 2>&1 || : /usr/bin/journalctl --update-catalog >/dev/null 2>&1 || : # Make sure new journal files -chgrp systemd-journal /var/log/journal/ /var/log/journal/`cat /etc/machine-id 2> /dev/null` >/dev/null 2>&1 || : -chmod g+s /var/log/journal/ /var/log/journal/`cat /etc/machine-id 2> /dev/null` >/dev/null 2>&1 || : +chgrp systemd-journal %{_localstatedir}/log/journal/ %{_localstatedir}/log/journal/`cat /etc/machine-id 2> /dev/null` >/dev/null 2>&1 || : +chmod g+s %{_localstatedir}/log/journal/ %{_localstatedir}/log/journal/`cat /etc/machine-id 2> /dev/null` >/dev/null 2>&1 || : # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then @@ -869,9 +901,9 @@ if test -f /proc/1/exe -a -d /proc/1/root; then fi if [ "${YAST_IS_RUNNING}" != "instsys" ]; then - if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then + if [ -e %{_localstatedir}/lib/no_initrd_recreation_by_suspend ]; then echo "Skipping recreation of existing initial ramdisks, due" - echo "to presence of /var/lib/no_initrd_recreation_by_suspend" + echo "to presence of %{_localstatedir}/lib/no_initrd_recreation_by_suspend" elif [ -x /sbin/mkinitrd ]; then [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup /sbin/mkinitrd || : @@ -883,9 +915,9 @@ fi systemctl daemon-reload >/dev/null 2>&1 || : if [ "${YAST_IS_RUNNING}" != "instsys" ]; then - if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then + if [ -e %{_localstatedir}/lib/no_initrd_recreation_by_suspend ]; then echo "Skipping recreation of existing initial ramdisks, due" - echo "to presence of /var/lib/no_initrd_recreation_by_suspend" + echo "to presence of %{_localstatedir}/lib/no_initrd_recreation_by_suspend" elif [ -x /sbin/mkinitrd ]; then [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup /sbin/mkinitrd || : @@ -918,7 +950,7 @@ fi %postun -n nss-myhostname -p /sbin/ldconfig %pre journal-gateway -getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d /var/log/journal -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || : +getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d %{_localstatedir}/log/journal -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || : getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || : %service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service exit 0 @@ -987,7 +1019,9 @@ exit 0 %exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service %exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* %exclude %{_prefix}/lib/systemd/system/basic.target.wants/systemd-udev-root-symlink.service +%if ! 0%{?bootstrap} %exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* +%endif %{_prefix}/lib/systemd/system/*.automount %{_prefix}/lib/systemd/system/*.busname %{_prefix}/lib/systemd/system/*.service @@ -1001,7 +1035,9 @@ exit 0 %{_prefix}/lib/systemd/user/*.target %{_prefix}/lib/systemd/user/*.service %exclude %{_prefix}/lib/systemd/systemd-udevd +%if ! 0%{?bootstrap} %exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd +%endif %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %dir %{_prefix}/lib/systemd/catalog @@ -1077,7 +1113,9 @@ exit 0 %{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy +%if ! 0%{?bootstrap} %exclude %{_datadir}/systemd/gatewayd +%endif %{_datadir}/systemd %{_datadir}/locale/*/LC_MESSAGES @@ -1112,17 +1150,17 @@ exit 0 %if 0%{suse_version} < 1310 %{_sysconfdir}/rpm/macros.systemd %endif -%dir /var/lib/systemd -%dir /var/lib/systemd/sysv-convert -%dir /var/lib/systemd/migrated -%dir /var/lib/systemd/catalog -%ghost /var/lib/systemd/catalog/database -%dir /var/lib/systemd/coredump -%dir /usr/share/zsh -%dir /usr/share/zsh/site-functions -/usr/share/zsh/site-functions/* -%ghost /var/lib/systemd/backlight -%ghost /var/lib/systemd/random-seed +%dir %{_localstatedir}/lib/systemd +%dir %{_localstatedir}/lib/systemd/sysv-convert +%dir %{_localstatedir}/lib/systemd/migrated +%dir %{_localstatedir}/lib/systemd/catalog +%ghost %{_localstatedir}/lib/systemd/catalog/database +%dir %{_localstatedir}/lib/systemd/coredump +%dir %{_datadir}/zsh +%dir %{_datadir}/zsh/site-functions +%{_datadir}/zsh/site-functions/* +%ghost %{_localstatedir}/lib/systemd/backlight +%ghost %{_localstatedir}/lib/systemd/random-seed %if ! 0%{?bootstrap} %files bash-completion @@ -1153,12 +1191,10 @@ exit 0 %{_includedir}/systemd/_sd-common.h %{_datadir}/pkgconfig/systemd.pc %{_libdir}/pkgconfig/libsystemd.pc -%if %{with compat_libs} %{_libdir}/pkgconfig/libsystemd-daemon.pc %{_libdir}/pkgconfig/libsystemd-login.pc %{_libdir}/pkgconfig/libsystemd-id128.pc %{_libdir}/pkgconfig/libsystemd-journal.pc -%endif %files sysvinit %defattr(-,root,root,-) @@ -1225,6 +1261,7 @@ exit 0 %{_prefix}/lib/systemd/system/sockets.target.wants/systemd-udev*.socket %dir %{_prefix}/lib/systemd/network %{_prefix}/lib/systemd/network/*.link +%{_prefix}/lib/systemd/network/*.network %files -n lib%{udevpkgname}%{udev_major} %defattr(-,root,root) @@ -1267,8 +1304,8 @@ exit 0 %files logger %defattr(-,root,root) -%dir /var/log/journal -/var/log/README +%dir %{_localstatedir}/log/journal +%{_localstatedir}/log/README /etc/init.d/systemd-journald %files -n nss-myhostname diff --git a/systemd.changes b/systemd.changes index 889791c5..e34d3943 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,87 @@ +------------------------------------------------------------------- +Mon Mar 3 13:58:11 UTC 2014 - werner@suse.de + +- Update to Release v210 + + systemd will now relabel /dev after loading the SMACK policy + according to SMACK rules. + + A new unit file option AppArmoreProfile= has been added to + set the AppArmor profile for the processes of a unit. + + A new condition check ConditionArchitecture= has been added + to conditionalize units based on the system architecture, as + reported by uname()'s "machine" field. + + systemd-networkd now supports matching on the system + virtualization, architecture, kernel command line, host name + and machine ID. + + logind is now a lot more aggressive when suspending the + machine due to a closed laptop lid. + + logind will now watch SW_DOCK switches and inhibit reaction + to the lid switch if it is pressed. + + nspawn will now make use of the devices cgroup controller by + default, and only permit creation of and access to the usual + API device nodes like /dev/null or /dev/random, as well as + access to (but not creation of) the pty devices. + + systemd will now understand the usual M, K, G, T suffixes + according to SI conventions (i.e. to the base 1000) when + referring to throughput and hardware metrics. + + The DeviceAllow= setting in unit files now supports a syntax + to whitelist an entire group of devices node majors at once, + based on the /proc/devices listing. For example, with the + string "char-pts" it is now possible to whitelist all + current and future pseudo-TTYs at once. + + sd-event learned a new "post" event source. Event sources of + this type are triggered by the dispatching of any event + source of a type that is not "post". This is useful for + implementing clean-up and check event sources that are + triggered by other work being done in the program. + + The compatibility libraries for libsystemd-journal.so, + libsystem-id128.so, libsystemd-login.so and + libsystemd-daemon.so do not make use of IFUNC + anymore. +- Dropped systemd patches as those are fixed upstream: + * 0001-nspawn-fix-detection-of-missing-proc-self-loginuid.patch +- Dropped patches as those do not work anymore + * 1006-udev-always-rename-network.patch +- Renamed systemd patches as seen from git log: + * 0001-cdrom_id-use-the-old-MMC-fallback.patch + become 0002-cdrom_id-use-the-old-MMC-fallback.patch + * 0001-journalctl-refuse-extra-arguments-with-verify-and-si.patch + become 0003-journalctl-refuse-extra-arguments-with-verify-and-si.patch + * 0001-logs-show-fix-corrupt-output-with-empty-messages.patch + become 0004-logs-show-fix-corrupt-output-with-empty-messages.patch +- Add several upstream bugfix patches which are missed: + * 0001-build-sys-Add-setns-functions-if-not-in-the-C-librar.patch + * 0001-build-sys-Fix-compilation-of-nspawn-when-seccomp-is-.patch + * 0001-sd-event-Fix-systemd-crash-when-using-timer-units.patch + * 0001-selinux-Don-t-attempt-to-load-policy-in-initramfs-if.patch + * 0001-shared-architecture.h-fix-preprocessor-directives.patch + * 0005-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch + * 0006-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch + * 0007-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch + * 0008-README-document-that-var-run-must-be-a-symlink-run.patch + * 0009-Revert-back-to-var-run-at-a-couple-of-problems.patch + * 0010-Replace-var-run-with-run-in-remaining-places.patch + * 0011-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch + * 0012-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch + * 0013-login-set-pos-slot-to-fallback-on-pos-eviction.patch + * 0014-login-fix-pos-array-allocation.patch +- Modified patches to make is build + * 0001-add-network-device-after-NFS-mount-units.patch +- Reenable libseccomp for the architecture for which libseccomp exists + +------------------------------------------------------------------- +Sun Mar 2 15:51:24 CET 2014 - ro@suse.de + +- always install compat pkgconfig files, regardless if + compat libs is enabled or not + +------------------------------------------------------------------- +Sun Mar 2 14:47:23 CET 2014 - ro@suse.de + +- disable use of libseccomp for sle12, library has not been ported + to most architectures +- do not use binutils-gold on s390/s390x, does not exist there +- fix exclude statements for bootstrap case + ------------------------------------------------------------------- Fri Feb 28 17:54:40 UTC 2014 - werner@suse.de diff --git a/systemd.spec b/systemd.spec index 4f9a16ee..28255dea 100644 --- a/systemd.spec +++ b/systemd.spec @@ -27,7 +27,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 209 +Version: 210 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -92,8 +92,10 @@ BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(usbutils) >= 0.82 %endif %if 0%{?suse_version} > 1310 +%ifarch %ix86 x86_64 x32 %arm BuildRequires: pkgconfig(libseccomp) %endif +%endif BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libsepol) %if 0%{?bootstrap} @@ -197,8 +199,6 @@ Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch # PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin Patch46: use-usr-sbin-sulogin-for-emergency-service.patch -# PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run -Patch47: systemd-dbus-system-bus-address.patch # PATCH-FIX-OPENSUSE make-emergency.service-conflict-with-syslog.socket.patch (bnc#852232) Patch84: make-emergency.service-conflict-with-syslog.socket.patch # PATCH-FIX-SUSE 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch @@ -211,26 +211,38 @@ Patch91: plymouth-quit-and-wait-for-emergency-service.patch Patch93: 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch # PATCH-FIX-SUSE 0001-systemd-empty-sigmask-on-reexec.patch werner@suse.com Patch114: 0001-systemd-empty-sigmask-on-reexec.patch -# PATCH-FIX-SUSE 0001-add-network-device-after-NFS-mount-units.patch werner@suse.com -Patch115: 0001-add-network-device-after-NFS-mount-units.patch -# PATCH-FIX-USTREAM 0001-units-serial-getty-.service-add-Install-section.patch werner@suse.com -Patch116: 0001-units-serial-getty-.service-add-Install-section.patch # PATCH-FIX-SUSE 0001-make-209-working-on-older-dist.patch werner@suse.com Patch117: 0001-make-209-working-on-older-dist.patch -# PATCH-FIX-SUSE 0001-make-tests-with-libseccomp-work.patch werner@suse.com -Patch118: 0001-make-tests-with-libseccomp-work.patch # PATCH-FIX-SUSE 0001-make-fortify-happy-with-ppoll.patch werner@suse.com Patch119: 0001-make-fortify-happy-with-ppoll.patch # PATCH-FIX-SUSE 0001-avoid-abort-due-timeout-at-user-service.patch werner@suse.com Patch120: 0001-avoid-abort-due-timeout-at-user-service.patch -# PATCH-FIX-USTREAM 0001-nspawn-fix-detection-of-missing-proc-self-loginuid.patch werner@suse.com +# PATCH-FIX-USTREAM added at 2014/0303 Patch121: 0001-nspawn-fix-detection-of-missing-proc-self-loginuid.patch -# PATCH-FIX-USTREAM 0001-cdrom_id-use-the-old-MMC-fallback.patch -Patch122: 0001-cdrom_id-use-the-old-MMC-fallback.patch -# PATCH-FIX-USTREAM 0001-logs-show-fix-corrupt-output-with-empty-messages.patch -Patch123: 0001-logs-show-fix-corrupt-output-with-empty-messages.patch -# PATCH-FIX-USTREAM 0001-journalctl-refuse-extra-arguments-with-verify-and-si.patch -Patch124: 0001-journalctl-refuse-extra-arguments-with-verify-and-si.patch +# PATCH-FIX-USTREAM added at 2014/0303 +Patch122: 0003-journalctl-refuse-extra-arguments-with-verify-and-si.patch +# PATCH-FIX-USTREAM added at 2014/0303 +Patch123: 0004-logs-show-fix-corrupt-output-with-empty-messages.patch +# PATCH-FIX-USTREAM added at 2014/0303 +Patch124: 0005-mount-don-t-fire-PropertiesChanged-signals-for-mount.patch +# PATCH-FIX-USTREAM added at 2014/0303 +Patch125: 0006-mount-don-t-send-out-PropertiesChanged-message-if-ac.patch +# PATCH-FIX-USTREAM added at 2014/0303 +Patch126: 0007-Use-var-run-dbus-system_bus_socket-for-the-D-Bus-soc.patch +# PATCH-FIX-USTREAM added at 2014/0303 +Patch127: 0008-README-document-that-var-run-must-be-a-symlink-run.patch +# PATCH-FIX-USTREAM added at 2014/0303 +Patch128: 0010-Replace-var-run-with-run-in-remaining-places.patch +# PATCH-FIX-USTREAM added at 2014/0303 +Patch129: 0009-Revert-back-to-var-run-at-a-couple-of-problems.patch +# PATCH-FIX-USTREAM added at 2014/0303 +Patch130: 0011-fix-typo-in-iDRAC-network-interface-name-irdac-idrac.patch +# PATCH-FIX-USTREAM added at 2014/0303 +Patch131: 0012-login-Allow-calling-org.freedesktop.login1.Seat.Swit.patch +# PATCH-FIX-USTREAM added at 2014/0303 +Patch132: 0013-login-set-pos-slot-to-fallback-on-pos-eviction.patch +# PATCH-FIX-USTREAM added at 2014/0303 +Patch133: 0014-login-fix-pos-array-allocation.patch # PATCH-FIX-OPENSUSE 1009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844) Patch1009: 1009-make-xsltproc-use-correct-ROFF-links.patch # PATCH-FIX-OPENSUSE 1010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) @@ -245,8 +257,16 @@ Patch1016: 1016-support-powerfail-with-powerstatus.patch Patch1018: 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch # PATCH-FIX-SUSE 1019-make-completion-smart-to-be-able-to-redirect.patch Patch1019: 1019-make-completion-smart-to-be-able-to-redirect.patch +# PATCH-FIX-SUSE 0001-add-network-device-after-NFS-mount-units.patch werner@suse.com +Patch1020: 0001-add-network-device-after-NFS-mount-units.patch +# PATCH-FIX-SUSE systemd-dbus-system-bus-address.patch +Patch1021: systemd-dbus-system-bus-address.patch +# PATCH-FIX-SUSE systemd-install-compat_pkgconfig-always.patch +Patch1999: systemd-install-compat_pkgconfig-always.patch # udev patches +# PATCH-FIX-USTREAM added at 2014/0303 +Patch134: 0002-cdrom_id-use-the-old-MMC-fallback.patch # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch # PATCH-FIX-OPENSUSE 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch @@ -504,25 +524,30 @@ cp %{SOURCE7} m4/ %patch41 -p1 %patch42 -p1 %patch46 -p1 -%patch47 -p1 %patch84 -p1 %patch86 -p1 %patch90 -p1 %patch91 -p1 %patch93 -p1 %patch114 -p0 -%patch115 -p1 -%patch116 -p1 %if 0%{?suse_version} <= 1310 %patch117 -p1 %endif -%patch118 -p1 %patch119 -p1 %patch120 -p1 %patch121 -p0 %patch122 -p0 %patch123 -p0 %patch124 -p0 +%patch125 -p0 +%patch126 -p0 +%patch127 -p0 +%patch128 -p0 +%patch129 -p0 +%patch130 -p0 +%patch131 -p0 +%patch132 -p0 +%patch133 -p0 %patch1009 -p1 %patch1010 -p1 %patch1012 -p1 @@ -530,13 +555,16 @@ cp %{SOURCE7} m4/ %patch1016 -p1 %patch1018 -p1 %patch1019 -p1 +%patch1020 -p1 +%patch1021 -p1 +%patch1999 -p1 # udev patches +%patch134 -p0 %patch1001 -p1 %patch1002 -p1 %patch1003 -p1 %patch1005 -p1 -#%patch1006 -p1 -b .xy # don't apply when bootstrapping to not modify Makefile.am %if ! 0%{?bootstrap} %patch1007 -p1 @@ -558,6 +586,7 @@ export V=1 %if 0%{?bootstrap} --disable-gudev \ --disable-myhostname \ + --disable-manpages \ %else --enable-manpages \ %if %{with python} @@ -565,9 +594,9 @@ export V=1 %endif --enable-gtk-doc \ --with-nss-my-hostname-warning \ +%endif %if %{with compat_libs} --enable-compat-libs \ -%endif %endif --enable-selinux \ --enable-split-usr \ @@ -589,12 +618,6 @@ make %{?_smp_mflags} %install make install DESTDIR="%buildroot" -%if %{without python} -for man in systemd.directives.7 systemd.index.7 -do - install -m 0644 man/$man %{buildroot}%{_mandir}/man7/ -done -%endif # move to %{_lib} %if ! 0%{?bootstrap} @@ -689,7 +712,7 @@ rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf # remove README file for now rm -f %{buildroot}/etc/init.d/README %if 0%{?bootstrap} -rm -f %{buildroot}/var/log/README +rm -f %{buildroot}%{_localstatedir}/log/README rm -rf %{buildroot}%{_datadir}/bash-completion %endif @@ -703,13 +726,13 @@ done ln -s /usr/lib/udev %{buildroot}/lib/udev # Create the /var/log/journal directory to change the volatile journal to a persistent one -mkdir -p %{buildroot}/var/log/journal +mkdir -p %{buildroot}%{_localstatedir}/log/journal # Make sure directories in /var exist -mkdir -p %{buildroot}/var/lib/systemd/coredump -mkdir -p %{buildroot}/var/lib/systemd/catalog +mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/coredump +mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/catalog #create ghost databases -touch %{buildroot}/var/lib/systemd/catalog/database +touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin # Make sure the NTP units dir exists @@ -740,7 +763,16 @@ install -m 755 %{S:12} %{buildroot}/%{_prefix}/lib/systemd/ install -m 644 units/powerfail.service %{buildroot}/%{_prefix}/lib/systemd/system/ %if ! 0%{?bootstrap} install -m 644 man/systemd-powerfail.service.8 %{buildroot}/%{_mandir}/man8/ +%if %{without python} +for man in systemd.directives.7 systemd.index.7 +do + install -m 0644 man/$man %{buildroot}%{_mandir}/man7/ +done %endif +%endif + +mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/backlight +mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/random-seed %fdupes -s %{buildroot}%{_mandir} @@ -758,14 +790,14 @@ exit 0 /usr/sbin/pam-config -a --systemd || : %endif /sbin/ldconfig -[ -e /var/lib/random-seed ] && mv /var/lib/random-seed /var/lib/systemd/ > /dev/null || : +[ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ > /dev/null || : /usr/bin/systemd-machine-id-setup >/dev/null 2>&1 || : /usr/lib/systemd/systemd-random-seed save >/dev/null 2>&1 || : /usr/bin/systemctl daemon-reexec >/dev/null 2>&1 || : /usr/bin/journalctl --update-catalog >/dev/null 2>&1 || : # Make sure new journal files -chgrp systemd-journal /var/log/journal/ /var/log/journal/`cat /etc/machine-id 2> /dev/null` >/dev/null 2>&1 || : -chmod g+s /var/log/journal/ /var/log/journal/`cat /etc/machine-id 2> /dev/null` >/dev/null 2>&1 || : +chgrp systemd-journal %{_localstatedir}/log/journal/ %{_localstatedir}/log/journal/`cat /etc/machine-id 2> /dev/null` >/dev/null 2>&1 || : +chmod g+s %{_localstatedir}/log/journal/ %{_localstatedir}/log/journal/`cat /etc/machine-id 2> /dev/null` >/dev/null 2>&1 || : # Try to read default runlevel from the old inittab if it exists if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then @@ -864,9 +896,9 @@ if test -f /proc/1/exe -a -d /proc/1/root; then fi if [ "${YAST_IS_RUNNING}" != "instsys" ]; then - if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then + if [ -e %{_localstatedir}/lib/no_initrd_recreation_by_suspend ]; then echo "Skipping recreation of existing initial ramdisks, due" - echo "to presence of /var/lib/no_initrd_recreation_by_suspend" + echo "to presence of %{_localstatedir}/lib/no_initrd_recreation_by_suspend" elif [ -x /sbin/mkinitrd ]; then [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup /sbin/mkinitrd || : @@ -878,9 +910,9 @@ fi systemctl daemon-reload >/dev/null 2>&1 || : if [ "${YAST_IS_RUNNING}" != "instsys" ]; then - if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then + if [ -e %{_localstatedir}/lib/no_initrd_recreation_by_suspend ]; then echo "Skipping recreation of existing initial ramdisks, due" - echo "to presence of /var/lib/no_initrd_recreation_by_suspend" + echo "to presence of %{_localstatedir}/lib/no_initrd_recreation_by_suspend" elif [ -x /sbin/mkinitrd ]; then [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup /sbin/mkinitrd || : @@ -913,7 +945,7 @@ fi %postun -n nss-myhostname -p /sbin/ldconfig %pre journal-gateway -getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d /var/log/journal -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || : +getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d %{_localstatedir}/log/journal -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || : getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || : %service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service exit 0 @@ -982,7 +1014,9 @@ exit 0 %exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service %exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* %exclude %{_prefix}/lib/systemd/system/basic.target.wants/systemd-udev-root-symlink.service +%if ! 0%{?bootstrap} %exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* +%endif %{_prefix}/lib/systemd/system/*.automount %{_prefix}/lib/systemd/system/*.busname %{_prefix}/lib/systemd/system/*.service @@ -996,7 +1030,9 @@ exit 0 %{_prefix}/lib/systemd/user/*.target %{_prefix}/lib/systemd/user/*.service %exclude %{_prefix}/lib/systemd/systemd-udevd +%if ! 0%{?bootstrap} %exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd +%endif %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %dir %{_prefix}/lib/systemd/catalog @@ -1072,7 +1108,9 @@ exit 0 %{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy +%if ! 0%{?bootstrap} %exclude %{_datadir}/systemd/gatewayd +%endif %{_datadir}/systemd %{_datadir}/locale/*/LC_MESSAGES @@ -1107,17 +1145,17 @@ exit 0 %if 0%{suse_version} < 1310 %{_sysconfdir}/rpm/macros.systemd %endif -%dir /var/lib/systemd -%dir /var/lib/systemd/sysv-convert -%dir /var/lib/systemd/migrated -%dir /var/lib/systemd/catalog -%ghost /var/lib/systemd/catalog/database -%dir /var/lib/systemd/coredump -%dir /usr/share/zsh -%dir /usr/share/zsh/site-functions -/usr/share/zsh/site-functions/* -%ghost /var/lib/systemd/backlight -%ghost /var/lib/systemd/random-seed +%dir %{_localstatedir}/lib/systemd +%dir %{_localstatedir}/lib/systemd/sysv-convert +%dir %{_localstatedir}/lib/systemd/migrated +%dir %{_localstatedir}/lib/systemd/catalog +%ghost %{_localstatedir}/lib/systemd/catalog/database +%dir %{_localstatedir}/lib/systemd/coredump +%dir %{_datadir}/zsh +%dir %{_datadir}/zsh/site-functions +%{_datadir}/zsh/site-functions/* +%ghost %{_localstatedir}/lib/systemd/backlight +%ghost %{_localstatedir}/lib/systemd/random-seed %if ! 0%{?bootstrap} %files bash-completion @@ -1148,12 +1186,10 @@ exit 0 %{_includedir}/systemd/_sd-common.h %{_datadir}/pkgconfig/systemd.pc %{_libdir}/pkgconfig/libsystemd.pc -%if %{with compat_libs} %{_libdir}/pkgconfig/libsystemd-daemon.pc %{_libdir}/pkgconfig/libsystemd-login.pc %{_libdir}/pkgconfig/libsystemd-id128.pc %{_libdir}/pkgconfig/libsystemd-journal.pc -%endif %files sysvinit %defattr(-,root,root,-) @@ -1220,6 +1256,7 @@ exit 0 %{_prefix}/lib/systemd/system/sockets.target.wants/systemd-udev*.socket %dir %{_prefix}/lib/systemd/network %{_prefix}/lib/systemd/network/*.link +%{_prefix}/lib/systemd/network/*.network %files -n lib%{udevpkgname}%{udev_major} %defattr(-,root,root) @@ -1262,8 +1299,8 @@ exit 0 %files logger %defattr(-,root,root) -%dir /var/log/journal -/var/log/README +%dir %{_localstatedir}/log/journal +%{_localstatedir}/log/README /etc/init.d/systemd-journald %files -n nss-myhostname