Hello community,
here is the log from the commit of package systemd for openSUSE:12.1:Update:Test checked in at 2012-02-20 14:14:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.1:Update:Test/systemd (Old)
and /work/SRC/openSUSE:12.1:Update:Test/.systemd.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "systemd", Maintainer is ""
Changes:
--------
--- /work/SRC/openSUSE:12.1:Update:Test/systemd/systemd-gtk.changes 2011-12-14 17:48:49.000000000 +0100
+++ /work/SRC/openSUSE:12.1:Update:Test/.systemd.new/systemd-gtk.changes 2012-02-20 14:14:32.000000000 +0100
@@ -1,0 +2,57 @@
+Wed Feb 15 14:44:06 CET 2012 - fcrozat@suse.com
+
+- Add fix-console-switch.patch: prevent console lockup
+ (rhb#771563).
+- Add fix-quota.patch: correctly enable quota (rhb#773431).
+- Add passcredentials.patch: ensure compatibility with kernel 3.2
+ (bnc#743299).
+- Update modules_on_boot.patch to not cause failed state for
+ systemd-modules-load.service (bnc#741481).
+- Ensure systemd show service status when started behind bootsplash
+ and don't try to start when bootsplash isn't installed
+ (bnc#736225).
+- Add fix-proc-net-unix-parsing.patch: fix /tmp socket cleanup on
+ 32bits (mmeeks) (bnc#739438).
+- Add improve-readahead.patch: don't monopolize IO when replaying
+ (git).
+- Add sysv_to_syslog_and_console.patch: ensure sysv services output
+ is logged to syslog in addition to console (improve bnc#731342,
+ bnc#681127).
+- Add fix-daemon-reload-reaping.patch: fix activating service being
+ killed if daemon-reload is started (git).
+- Add no-variable-tcpwrappers.patch: fix manpage for tcpwrapper
+ support (bnc#741023).
+- Add remote-fs-after-network.patch and update insserv patch:
+ ensure remote-fs-pre.target is enabled and started
+ before network mount points (bnc#744293).
+- Add dm-lvm-after-local-fs-pre-target.patch: ensure md / lvm
+ /dmraid is started before mounting partitions, if fsck was
+ disabled for them (bnc#733283).
+- Update lsb-header patch to correctly disable heuristic if
+ X-Systemd-RemainAfterExit is specified (whatever its value)
+- Add fix-message-after-chkconfig.patch: don't complain if only
+ sysv services are called in systemctl.
+- Add is-enabled-non-existing-service.patch: fix error message when
+ running is-enabled on non-existing service.
+- Add remove-timedated-ntp-dependency.patch: don't require ntp to
+ use timedated (partially fixes bnc#734831).
+- Add move-x11-socket.patch: change X11 socket symlink name
+ (bnc#747154).
+
+-------------------------------------------------------------------
+Mon Jan 9 17:01:22 UTC 2012 - fcrozat@suse.com
+
+- Add fix-is-enabled.patch: ensure systemctl is-enabled work
+ properly when systemd isn't running.
+- Add logind-console.patch: do not bail logind if /dev/tty0 doesn't
+ exist (bnc#733022, bnc#735047).
+- Add sysctl-modules.patch: ensure sysctl is started after modules
+ are loaded (bnc#725412).
+- Fix warning in insserv patch.
+- Update avoid-random-seed-cycle.patch with better upstream
+ approach.
+- Update storage-after-cryptsetup.patch to restart lvm before
+ local-fs.target, not after it (bnc#740106).
+- Increase pam-config dependency (bnc#713319).
+
+-------------------------------------------------------------------
systemd.changes: same change
New:
----
dm-lvm-after-local-fs-pre-target.patch
fix-console-switch.patch
fix-daemon-reload-reaping.patch
fix-is-enabled.patch
fix-message-after-chkconfig.patch
fix-proc-net-unix-parsing.patch
fix-quota.patch
improve-readahead.patch
is-enabled-non-existing-service.patch
logind-console.patch
move-x11-socket.patch
no-variable-tcpwrappers.patch
passcredentials.patch
remote-fs-after-network.patch
remove-timedated-ntp-dependency.patch
sysctl-modules.patch
sysv_to_syslog_and_console.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ systemd-gtk.spec ++++++
--- /var/tmp/diff_new_pack.xrB8rH/_old 2012-02-20 14:14:33.000000000 +0100
+++ /var/tmp/diff_new_pack.xrB8rH/_new 2012-02-20 14:14:33.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package systemd-gtk
#
-# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -15,31 +15,32 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
-# norootforbuild
-
Name: systemd-gtk
Url: http://www.freedesktop.org/wiki/Software/systemd
Version: 37
-Release: 1
-License: GPL-2.0+
-Group: System/Base
+Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-BuildRequires: libudev-devel udev
-BuildRequires: dbus-1-devel
BuildRequires: audit-devel
+BuildRequires: dbus-1-devel
BuildRequires: gperf
-BuildRequires: libcap-devel
+BuildRequires: gtk2-devel
+BuildRequires: intltool
BuildRequires: libacl-devel
+BuildRequires: libcap-devel
+BuildRequires: libcryptsetup-devel
+BuildRequires: libnotify-devel
+BuildRequires: libselinux-devel
+BuildRequires: libsepol-devel
BuildRequires: libtool
-BuildRequires: tcpd-devel
+BuildRequires: libudev-devel
BuildRequires: pam-devel
-BuildRequires: libcryptsetup-devel
BuildRequires: pkg-config
-BuildRequires: libselinux-devel libsepol-devel
-BuildRequires: intltool
-BuildRequires: gtk2-devel libnotify-devel
+BuildRequires: tcpd-devel
+BuildRequires: udev
Summary: Graphical front-end for systemd
+License: GPL-2.0+
+Group: System/Base
Requires: systemd = %{version}
Source0: http://www.freedesktop.org/software/systemd/systemd-%{version}.tar.bz2
Source1: systemd-rpmlintrc
++++++ systemd.spec ++++++
--- /var/tmp/diff_new_pack.xrB8rH/_old 2012-02-20 14:14:33.000000000 +0100
+++ /var/tmp/diff_new_pack.xrB8rH/_new 2012-02-20 14:14:33.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package systemd
#
-# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -15,7 +15,6 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
-# norootforbuild
%define build_plymouth 0
@@ -24,30 +23,32 @@
Name: systemd
Url: http://www.freedesktop.org/wiki/Software/systemd
Version: 37
-Release: 1
+Release: 0
+Summary: A System and Session Manager
License: GPL-2.0+
Group: System/Base
-Summary: A System and Session Manager
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-BuildRequires: libudev-devel udev
-BuildRequires: dbus-1-devel
BuildRequires: audit-devel
+BuildRequires: dbus-1-devel
BuildRequires: gperf
-BuildRequires: libcap-devel
+BuildRequires: intltool
BuildRequires: libacl-devel
+BuildRequires: libcap-devel
+BuildRequires: libcryptsetup-devel
+BuildRequires: libselinux-devel
+BuildRequires: libsepol-devel
BuildRequires: libtool
-BuildRequires: tcpd-devel
+BuildRequires: libudev-devel
BuildRequires: pam-devel
-BuildRequires: libcryptsetup-devel
BuildRequires: pkg-config
-BuildRequires: libselinux-devel libsepol-devel
-BuildRequires: intltool
-Requires: udev >= 172
+BuildRequires: tcpd-devel
+BuildRequires: udev
Requires: dbus-1 >= 1.4.0
Requires: kbd
-Requires: util-linux >= 2.19
-Requires: pam-config
+Requires: pam-config >= 0.79-5
Requires: systemd-presets-branding
+Requires: udev >= 172
+Requires: util-linux >= 2.19
Recommends: dbus-1-python
Conflicts: filesystem < 11.5
Conflicts: mkinitrd < 2.7.0
@@ -78,6 +79,8 @@
Patch24: delay-fsck-cryptsetup-after-md-lvm-dmraid.patch
Patch31: lock-opensuse.patch
Patch33: crypt-loop-file.patch
+Patch36: sysctl-modules.patch
+Patch46: dm-lvm-after-local-fs-pre-target.patch
# Upstream First - Policy:
# Never add any patches to this package without the upstream commit id
@@ -92,6 +95,21 @@
Patch29: log_on_close.patch
Patch30: handle-racy-daemon.patch
Patch32: garbage_collect_units.patch
+Patch34: fix-is-enabled.patch
+Patch35: logind-console.patch
+Patch37: fix-console-switch.patch
+Patch38: fix-quota.patch
+Patch39: passcredentials.patch
+Patch40: fix-proc-net-unix-parsing.patch
+Patch41: improve-readahead.patch
+Patch42: sysv_to_syslog_and_console.patch
+Patch43: fix-daemon-reload-reaping.patch
+Patch44: no-variable-tcpwrappers.patch
+Patch45: remote-fs-after-network.patch
+Patch47: fix-message-after-chkconfig.patch
+Patch48: is-enabled-non-existing-service.patch
+Patch49: remove-timedated-ntp-dependency.patch
+Patch50: move-x11-socket.patch
%description
Systemd is a system and service manager, compatible with SysV and LSB
@@ -104,8 +122,8 @@
drop-in replacement for sysvinit.
%package devel
-Group: Development/Libraries/C and C++
Summary: Development headers for systemd
+Group: Development/Libraries/C and C++
Requires: %{name} = %{version}
Requires: pkg-config
@@ -114,6 +132,7 @@
%package sysvinit
Summary: System V init tools
+Group: System/Base
Requires: %{name} = %{version}
Provides: sbin_init
Conflicts: otherproviders(sbin_init)
@@ -126,6 +145,7 @@
%package plymouth
Summary: Plymouth support for systemd
+Group: System/Base
Requires: %{name} = %{version}
Requires: plymouth
@@ -158,6 +178,23 @@
%patch31 -p1
%patch32 -p1
%patch33 -p1
+%patch34 -p1
+%patch35 -p1
+%patch36 -p1
+%patch37 -p1
+%patch38 -p1
+%patch39 -p1
+%patch40 -p1
+%patch41 -p1
+%patch42 -p1
+%patch43 -p1
+%patch44 -p1
+%patch45 -p1
+%patch46 -p1
+%patch47 -p1
+%patch48 -p1
+%patch49 -p1
+%patch50 -p1
%build
autoreconf -fiv
++++++ 0001-service-Fix-dependencies-added-when-parsing-insserv..patch ++++++
--- /var/tmp/diff_new_pack.xrB8rH/_old 2012-02-20 14:14:33.000000000 +0100
+++ /var/tmp/diff_new_pack.xrB8rH/_new 2012-02-20 14:14:33.000000000 +0100
@@ -7,11 +7,24 @@
src/service.c | 16 +++++++++-------
1 files changed, 9 insertions(+), 7 deletions(-)
-diff --git a/src/service.c b/src/service.c
-index c2053ce..4abc7e7 100644
---- a/src/service.c
-+++ b/src/service.c
-@@ -3031,18 +3031,20 @@ static void sysv_facility_in_insserv_conf(Manager *mgr) {
+Index: systemd-37/src/service.c
+===================================================================
+--- systemd-37.orig/src/service.c
++++ systemd-37/src/service.c
+@@ -3027,23 +3027,32 @@ static void sysv_facility_in_insserv_con
+ Unit *u;
+ if (sysv_translate_facility(parsed[0], NULL, &facility) < 0)
+ continue;
++ if (streq(facility, SPECIAL_REMOTE_FS_TARGET)) {
++ /* insert also a Wants dependency from remote-fs-pre on remote-fs */
++ u = manager_get_unit(mgr, SPECIAL_REMOTE_FS_TARGET);
++ unit_add_dependency_by_name(u, UNIT_WANTS, SPECIAL_REMOTE_FS_PRE_TARGET, NULL, true);
++ free (facility);
++ facility=strdup(SPECIAL_REMOTE_FS_PRE_TARGET);
++ }
++
+ if ((u = manager_get_unit(mgr, facility)) && (u->meta.type == UNIT_TARGET)) {
+- UnitDependency e;
char *dep = NULL, *name, **j;
STRV_FOREACH (j, parsed+1) {
@@ -39,6 +52,3 @@
free(dep);
}
}
---
-1.7.3.4
-
++++++ 0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch ++++++
--- /var/tmp/diff_new_pack.xrB8rH/_old 2012-02-20 14:14:33.000000000 +0100
+++ /var/tmp/diff_new_pack.xrB8rH/_new 2012-02-20 14:14:33.000000000 +0100
@@ -12,15 +12,13 @@
src/service.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
-diff --git a/src/service.c b/src/service.c
-index 6b7064a..eb2699c 100644
---- a/src/service.c
-+++ b/src/service.c
-@@ -2012,9 +2012,15 @@ static void service_enter_running(Service *s, bool success) {
- main_pid_ok = main_pid_good(s);
+Index: systemd-37/src/service.c
+===================================================================
+--- systemd-37.orig/src/service.c
++++ systemd-37/src/service.c
+@@ -2014,8 +2014,13 @@ static void service_enter_running(Servic
cgroup_ok = cgroup_good(s);
-+
if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) &&
- (s->bus_name_good || s->type != SERVICE_DBUS))
+ (s->bus_name_good || s->type != SERVICE_DBUS)) {
@@ -33,6 +31,3 @@
else if (s->remain_after_exit)
service_set_state(s, SERVICE_EXITED);
else
---
-1.7.3.4
-
++++++ avoid-random-seed-cycle.patch ++++++
--- /var/tmp/diff_new_pack.xrB8rH/_old 2012-02-20 14:14:33.000000000 +0100
+++ /var/tmp/diff_new_pack.xrB8rH/_new 2012-02-20 14:14:33.000000000 +0100
@@ -1,40 +1,116 @@
-Devices with random keys (swap), should not be ordered before local-fs.target,
-as this creates a cycle with systemd-load-random-seed.service (and also it
-does not make sense, a swap device is not a local-fs).
+Rather than ordering systemd-random-seed-load.service after local-fs.target,
+start it by path-activation.
+
+We need write access to the seed, so we order the path unit after
+remount-rootfs.service (in case /var is on the root fs).
+
+A better solution might be to introduce PathIsWritable=, but that is not
+necessary in order to solve the problem, and I don't know of any other
+usecases for it.
+
+Cc: Frederic Crozat
From df465b3f4419b6ba2e12bf9a5f7d7bde5a0c3531 Mon Sep 17 00:00:00 2001 From: Michal Schmidt
Date: Fri, 6 Jan 2012 01:28:30 +0100 Subject: [PATCH 1/2] util: fix switching to console unicode mode
The KDSKBMODE ioctl wants a value directly, not its address. --- src/util.c | 4 +--- 1 files changed, 1 insertions(+), 3 deletions(-) diff --git a/src/util.c b/src/util.c index 2b735e8..1cff547 100644 --- a/src/util.c +++ b/src/util.c @@ -2453,7 +2453,6 @@ int ask(char *ret, const char *replies, const char *text, ...) { int reset_terminal_fd(int fd) { struct termios termios; int r = 0; - long arg; /* Set terminal to some sane defaults */ @@ -2467,8 +2466,7 @@ int reset_terminal_fd(int fd) { ioctl(fd, TIOCNXCL); /* Enable console unicode mode */ - arg = K_UNICODE; - ioctl(fd, KDSKBMODE, &arg); + ioctl(fd, KDSKBMODE, K_UNICODE); if (tcgetattr(fd, &termios) < 0) { r = -errno; -- 1.7.7
From 5c0100a53772eb7f4b11db7b071fc63e82e5a1a7 Mon Sep 17 00:00:00 2001 From: Michal Schmidt
Date: Fri, 6 Jan 2012 01:32:34 +0100 Subject: [PATCH 2/2] util: switch the console to text mode on reset
In case we're taking over the console after a killed X server. https://bugzilla.redhat.com/show_bug.cgi?id=771563 --- src/util.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/src/util.c b/src/util.c index 1cff547..b4c5e2e 100644 --- a/src/util.c +++ b/src/util.c @@ -2465,6 +2465,9 @@ int reset_terminal_fd(int fd) { /* Disable exclusive mode, just in case */ ioctl(fd, TIOCNXCL); + /* Switch to text mode */ + ioctl(fd, KDSETMODE, KD_TEXT); + /* Enable console unicode mode */ ioctl(fd, KDSKBMODE, K_UNICODE); -- 1.7.7 ++++++ fix-daemon-reload-reaping.patch ++++++
From ec3f9b53f882623e6572258ba15234b1ee108b7f Mon Sep 17 00:00:00 2001 From: Chris Paulson-Ellis
Date: Thu, 2 Feb 2012 17:32:05 +0000 Subject: [PATCH] util: prevent daemon-reload from reaping service processes.
The reaping of generator processes run as part of a daemon-reload should not call waitid(PID_ALL). The waitid() call in execute_directory() is intended only to reap the executed processes, but if a service process exits at about the same time as a daemon-reload, then that service process is reaped as well, preventing it from being reaped in the proper place in manager_dispatch_sigchld(). Fixes https://bugs.freedesktop.org/show_bug.cgi?id=43625 --- src/util.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/src/util.c b/src/util.c index 58a0aeb..11f77ab 100644 --- a/src/util.c +++ b/src/util.c @@ -4623,11 +4623,12 @@ void execute_directory(const char *directory, DIR *d, char *argv[]) { } while (!hashmap_isempty(pids)) { + pid_t pid = PTR_TO_UINT(hashmap_first_key(pids)); siginfo_t si; char *path; zero(si); - if (waitid(P_ALL, 0, &si, WEXITED) < 0) { + if (waitid(P_PID, pid, &si, WEXITED) < 0) { if (errno == EINTR) continue; -- 1.7.7
From 2e4a6ff47b311216829ed0f48f17ee9bc35641dc Mon Sep 17 00:00:00 2001 From: Lennart Poettering
Date: Mon, 19 Dec 2011 19:54:51 +0100 Subject: [PATCH] hashmap: add hashmap_first_key()
--- src/hashmap.c | 11 +++++++++++ src/hashmap.h | 1 + 2 files changed, 12 insertions(+), 0 deletions(-) diff --git a/src/hashmap.c b/src/hashmap.c index 95ea45d..7ef8097 100644 --- a/src/hashmap.c +++ b/src/hashmap.c @@ -558,6 +558,17 @@ void* hashmap_first(Hashmap *h) { return h->iterate_list_head->value; } +void* hashmap_first_key(Hashmap *h) { + + if (!h) + return NULL; + + if (!h->iterate_list_head) + return NULL; + + return (void*) h->iterate_list_head->key; +} + void* hashmap_last(Hashmap *h) { if (!h) diff --git a/src/hashmap.h b/src/hashmap.h index 16ffbd3..ab4363a 100644 --- a/src/hashmap.h +++ b/src/hashmap.h @@ -74,6 +74,7 @@ void hashmap_clear(Hashmap *h); void *hashmap_steal_first(Hashmap *h); void *hashmap_steal_first_key(Hashmap *h); void* hashmap_first(Hashmap *h); +void* hashmap_first_key(Hashmap *h); void* hashmap_last(Hashmap *h); char **hashmap_get_strv(Hashmap *h); -- 1.7.7 ++++++ fix-is-enabled.patch ++++++
From c971700e41e0ac9883ab0744921b79dd396170dc Mon Sep 17 00:00:00 2001 From: Michal Schmidt
Date: Wed, 14 Dec 2011 22:23:56 +0100 Subject: [PATCH] systemctl: fix typo in 'is-enabled'
It prevented the action from working without dbus. --- src/systemctl.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) Index: systemd-37/src/systemctl.c =================================================================== --- systemd-37.orig/src/systemctl.c +++ systemd-37/src/systemctl.c @@ -4984,7 +4984,7 @@ static int systemctl_main(DBusConnection * enable/disable */ if (!streq(verbs[i].verb, "enable") && !streq(verbs[i].verb, "disable") && - !streq(verbs[i].verb, "is-enable") && + !streq(verbs[i].verb, "is-enabled") && !streq(verbs[i].verb, "reenable") && !streq(verbs[i].verb, "preset") && !streq(verbs[i].verb, "mask") && ++++++ fix-message-after-chkconfig.patch ++++++
From ab5919fa1af147c2632fdae7bed4504c898a60af Mon Sep 17 00:00:00 2001 From: Michal Schmidt
Date: Thu, 9 Feb 2012 10:05:15 +0100 Subject: [PATCH] systemctl: check for no more work after chkconfig
Avoid a bogus message from 'systemctl enable ...' when all units given are SysV services: Warning: unit files do not carry install information. No operation executed. https://bugzilla.redhat.com/show_bug.cgi?id=787407 --- src/systemctl.c | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/systemctl.c b/src/systemctl.c index 12264f8..ab6d126 100644 --- a/src/systemctl.c +++ b/src/systemctl.c @@ -3662,12 +3662,15 @@ static int enable_unit(DBusConnection *bus, char **args) { int r; DBusError error; - dbus_error_init(&error); - r = enable_sysv_units(args); if (r < 0) return r; + if (!args[1]) + return 0; + + dbus_error_init(&error); + if (!bus || avoid_bus()) { if (streq(verb, "enable")) { r = unit_file_enable(arg_scope, arg_runtime, arg_root, args+1, arg_force, &changes, &n_changes); -- 1.7.7 ++++++ fix-proc-net-unix-parsing.patch ++++++
From fdcad0c25579a60061b1fda956686e878a80faef Mon Sep 17 00:00:00 2001 From: Lennart Poettering
Date: Wed, 11 Jan 2012 22:07:35 +0100 Subject: [PATCH] tmpfiles: fix parsing of /proc/net/unix on 32Bit machines
Tracked down by Michael Meeks --- src/tmpfiles.c | 30 ++++++++++++++++++++---------- 1 files changed, 20 insertions(+), 10 deletions(-) diff --git a/src/tmpfiles.c b/src/tmpfiles.c index 19a7c08..44e5c9d 100644 --- a/src/tmpfiles.c +++ b/src/tmpfiles.c @@ -117,41 +117,50 @@ static void load_unix_sockets(void) { /* We maintain a cache of the sockets we found in * /proc/net/unix to speed things up a little. */ - if (!(unix_sockets = set_new(string_hash_func, string_compare_func))) + unix_sockets = set_new(string_hash_func, string_compare_func); + if (!unix_sockets) return; - if (!(f = fopen("/proc/net/unix", "re"))) + f = fopen("/proc/net/unix", "re"); + if (!f) return; - if (!(fgets(line, sizeof(line), f))) + /* Skip header */ + if (!fgets(line, sizeof(line), f)) goto fail; for (;;) { char *p, *s; int k; - if (!(fgets(line, sizeof(line), f))) + if (!fgets(line, sizeof(line), f)) break; truncate_nl(line); - if (strlen(line) < 53) + p = strchr(line, ':'); + if (!p) + continue; + + if (strlen(p) < 37) continue; - p = line + 53; + p += 37; p += strspn(p, WHITESPACE); - p += strcspn(p, WHITESPACE); + p += strcspn(p, WHITESPACE); /* skip one more word */ p += strspn(p, WHITESPACE); if (*p != '/') continue; - if (!(s = strdup(p))) + s = strdup(p); + if (!s) goto fail; path_kill_slashes(s); - if ((k = set_put(unix_sockets, s)) < 0) { + k = set_put(unix_sockets, s); + if (k < 0) { free(s); if (k != -EEXIST) @@ -1059,7 +1068,8 @@ int main(int argc, char *argv[]) { Item *i; Iterator iterator; - if ((r = parse_argv(argc, argv)) <= 0) + r = parse_argv(argc, argv); + if (r <= 0) return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; log_set_target(LOG_TARGET_AUTO); -- 1.7.7 ++++++ fix-quota.patch ++++++
From 9ddc4a26e56b06cd7774a03597980351855d8d54 Mon Sep 17 00:00:00 2001 From: Michal Schmidt
Date: Fri, 13 Jan 2012 23:55:28 +0100 Subject: [PATCH] mount: fix quota
quotacheck.service and quotaon.service were not pulled in for fstab mounts. Fix it by not clearing the default_dependencies flag. The root filesystem may have quotas too, so don't check for "/" there. No need to have duplicate code for adding dependencies on umount.target. https://bugzilla.redhat.com/show_bug.cgi?id=773431 --- src/mount.c | 27 ++++++++++----------------- 1 files changed, 10 insertions(+), 17 deletions(-) Index: systemd-37/src/mount.c =================================================================== --- systemd-37.orig/src/mount.c +++ systemd-37/src/mount.c @@ -365,10 +365,6 @@ static int mount_add_fstab_links(Mount * after = SPECIAL_LOCAL_FS_PRE_TARGET; } - if (!path_equal(m->where, "/")) - if ((r = unit_add_two_dependencies_by_name(UNIT(m), UNIT_BEFORE, UNIT_CONFLICTS, SPECIAL_UMOUNT_TARGET, NULL, true)) < 0) - return r; - if ((r = manager_load_unit(m->meta.manager, target, NULL, NULL, &tu)) < 0) return r; @@ -466,24 +462,23 @@ static int mount_add_device_links(Mount static int mount_add_default_dependencies(Mount *m) { int r; + MountParameters *p; assert(m); - if (m->meta.manager->running_as == MANAGER_SYSTEM && - !path_equal(m->where, "/")) { - MountParameters *p; - - p = get_mount_parameters_configured(m); + if (m->meta.manager->running_as != MANAGER_SYSTEM) + return 0; - if (p && needs_quota(p)) { - if ((r = unit_add_two_dependencies_by_name(UNIT(m), UNIT_BEFORE, UNIT_WANTS, SPECIAL_QUOTACHECK_SERVICE, NULL, true)) < 0 || - (r = unit_add_two_dependencies_by_name(UNIT(m), UNIT_BEFORE, UNIT_WANTS, SPECIAL_QUOTAON_SERVICE, NULL, true)) < 0) - return r; - } + p = get_mount_parameters_configured(m); + if (p && needs_quota(p)) { + if ((r = unit_add_two_dependencies_by_name(UNIT(m), UNIT_BEFORE, UNIT_WANTS, SPECIAL_QUOTACHECK_SERVICE, NULL, true)) < 0 || + (r = unit_add_two_dependencies_by_name(UNIT(m), UNIT_BEFORE, UNIT_WANTS, SPECIAL_QUOTAON_SERVICE, NULL, true)) < 0) + return r; + } + if (!path_equal(m->where, "/")) if ((r = unit_add_two_dependencies_by_name(UNIT(m), UNIT_BEFORE, UNIT_CONFLICTS, SPECIAL_UMOUNT_TARGET, NULL, true)) < 0) return r; - } return 0; } @@ -594,6 +589,9 @@ static int mount_load(Unit *u) { if (m->meta.fragment_path) m->from_fragment = true; else if (m->from_etc_fstab) + /* We always add several default dependencies to fstab mounts, + * but we do not want the implicit complementing of Wants= with After= + * in the target unit that this mount unit will be hooked into. */ m->meta.default_dependencies = false; if (!m->where) @@ -627,7 +625,7 @@ static int mount_load(Unit *u) { if ((r = mount_add_fstab_links(m)) < 0) return r; - if (m->meta.default_dependencies) + if (m->meta.default_dependencies || m->from_etc_fstab) if ((r = mount_add_default_dependencies(m)) < 0) return r; ++++++ improve-readahead.patch ++++++
From 05aa9edde0f9f4077b8120389c93cb0134eda9c5 Mon Sep 17 00:00:00 2001 From: Lennart Poettering
Date: Sat, 21 Jan 2012 02:51:13 +0100 Subject: [PATCH] readahead: don't monopolize IO when replaying
--- TODO | 3 +++ src/readahead/readahead-replay.c | 8 +++++++- 2 files changed, 10 insertions(+), 1 deletions(-) diff --git a/src/readahead/readahead-replay.c b/src/readahead/readahead-replay.c index 00d57c3..0c739c8 100644 --- a/src/readahead-replay.c +++ b/src/readahead-replay.c @@ -186,7 +186,13 @@ static int replay(const char *root) { if (on_ssd) prio = IOPRIO_PRIO_VALUE(IOPRIO_CLASS_IDLE, 0); else - prio = IOPRIO_PRIO_VALUE(IOPRIO_CLASS_RT, 7); + /* We are not using RT here, since we'd starve IO that + we didn't record (which is for example blkid, since + its disk accesses go directly to the block device and + are thus not visible in fallocate) to death. However, + we do ask for an IO prio that is slightly higher than + the default (which is BE. 4) */ + prio = IOPRIO_PRIO_VALUE(IOPRIO_CLASS_BE, 2); if (ioprio_set(IOPRIO_WHO_PROCESS, getpid(), prio) < 0) log_warning("Failed to set IDLE IO priority class: %m"); -- 1.7.7 ++++++ is-enabled-non-existing-service.patch ++++++
From 81006b8ad8cfdbfdb418fc99918ee5c33eb5b35a Mon Sep 17 00:00:00 2001 From: Michal Schmidt
Date: Thu, 9 Feb 2012 10:36:56 +0100 Subject: [PATCH] install: fix incorrect 'Access denied' message with a non-existent unit
With "systemctl is-enabled non-existent.service" _UNIT_FILE_STATE_INVALID (-1) was wrongly interpreted as -errno. Return -ENOENT in this case. https://bugzilla.redhat.com/show_bug.cgi?id=766579 --- src/install.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/install.c b/src/install.c index 1fb1f9d..174d79b 100644 --- a/src/install.c +++ b/src/install.c @@ -1571,10 +1571,10 @@ UnitFileState unit_file_get_state( } if (lstat(path, &st) < 0) { + r = -errno; if (errno == ENOENT) continue; - r = -errno; goto finish; } -- 1.7.7 ++++++ logind-console.patch ++++++
From b40e075944c72a3fc45796c1d059673cef7c7db8 Mon Sep 17 00:00:00 2001 From: Frederic Crozat
Date: Mon, 19 Dec 2011 17:17:09 +0100 Subject: [PATCH] logind: do not abort if /dev/tty0 doesn't exist
Xen or S/390 might not have /dev/tty0, logind should cope with it. --- src/logind.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/src/logind.c b/src/logind.c index 4633a5e..f491cee 100644 --- a/src/logind.c +++ b/src/logind.c @@ -906,6 +906,8 @@ static int manager_connect_console(Manager *m) { m->console_active_fd = open("/sys/class/tty/tty0/active", O_RDONLY|O_NOCTTY|O_CLOEXEC); if (m->console_active_fd < 0) { + if (errno == ENOENT) + return 0; log_error("Failed to open /sys/class/tty/tty0/active: %m"); return -errno; } -- 1.7.7 ++++++ modules_on_boot.patch ++++++ --- /var/tmp/diff_new_pack.xrB8rH/_old 2012-02-20 14:14:33.000000000 +0100 +++ /var/tmp/diff_new_pack.xrB8rH/_new 2012-02-20 14:14:33.000000000 +0100 @@ -21,7 +21,7 @@ if (argc > 1) { log_error("This program takes no argument."); -@@ -126,6 +129,42 @@ int main(int argc, char *argv[]) { +@@ -126,6 +129,43 @@ int main(int argc, char *argv[]) { } strv_free(files); @@ -29,9 +29,10 @@ + if ((r = parse_env_file("/etc/sysconfig/kernel", NEWLINE, + "MODULES_LOADED_ON_BOOT", &modules_on_boot, + NULL)) < 0) { -+ if (r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/kernel: %s", strerror(-r)); -+ } ++ if (r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/kernel: %s", strerror(-r)); ++ } else ++ r = EXIT_SUCCESS; + if (modules_on_boot) { + char **modules = strv_split(modules_on_boot,WHITESPACE); + char **module; @@ -64,7 +65,7 @@ finish: if (n_arguments > 3) { -@@ -138,6 +177,9 @@ finish: +@@ -138,6 +178,9 @@ finish: } strv_free(arguments); ++++++ move-x11-socket.patch ++++++
From fc3c1c6e091ea16ad5600b145201ec535bbb5d7c Mon Sep 17 00:00:00 2001 From: Lennart Poettering
Date: Tue, 17 Jan 2012 14:03:00 +0100 Subject: [PATCH] logind: move X11 socket
--- src/logind-session.c | 6 ++---- 1 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/logind-session.c b/src/logind-session.c index e78af02..bb802e5 100644 --- a/src/logind-session.c +++ b/src/logind-session.c @@ -376,15 +376,13 @@ static int session_link_x11_socket(Session *s) { return -ENOENT; } - t = strappend(s->user->runtime_path, "/X11/display"); + t = strappend(s->user->runtime_path, "/X11-display"); if (!t) { log_error("Out of memory"); free(f); return -ENOMEM; } - mkdir_parents(t, 0755); - if (link(f, t) < 0) { if (errno == EEXIST) { unlink(t); @@ -637,7 +635,7 @@ static int session_unlink_x11_socket(Session *s) { s->user->display = NULL; - t = strappend(s->user->runtime_path, "/X11/display"); + t = strappend(s->user->runtime_path, "/X11-display"); if (!t) { log_error("Out of memory"); return -ENOMEM; -- 1.7.7 ++++++ new-lsb-headers.patch ++++++ --- /var/tmp/diff_new_pack.xrB8rH/_old 2012-02-20 14:14:33.000000000 +0100 +++ /var/tmp/diff_new_pack.xrB8rH/_new 2012-02-20 14:14:33.000000000 +0100 @@ -10,7 +10,7 @@ #endif s->socket_fd = -1; s->guess_main_pid = true; -@@ -805,6 +806,31 @@ static int service_load_sysv_path(Servic +@@ -805,6 +806,34 @@ static int service_load_sysv_path(Servic } else state = LSB; @@ -33,16 +33,29 @@ + free(s->pid_file); + s->pid_file = fn; + s->sysv_remain_after_exit_heuristic = false; ++ s->remain_after_exit = false; + } else if (startswith_no_case(t, "X-Systemd-RemainAfterExit:")) { + char *j; + + state = LSB; -+ if ((j = strstrip(t+26)) && *j) -+ s->sysv_remain_after_exit_heuristic = !parse_boolean(j); ++ if ((j = strstrip(t+26)) && *j) { ++ s->remain_after_exit = parse_boolean(j); ++ s->sysv_remain_after_exit_heuristic = false; ++ } } } } -@@ -2017,7 +2043,7 @@ static void service_enter_running(Servic +@@ -828,7 +857,8 @@ static int service_load_sysv_path(Servic + + /* Special setting for all SysV services */ + s->type = SERVICE_FORKING; +- s->remain_after_exit = !s->pid_file; ++ if (s->sysv_remain_after_exit_heuristic) ++ s->remain_after_exit = !s->pid_file; + s->guess_main_pid = false; + s->restart = SERVICE_RESTART_NO; + +@@ -2016,7 +2046,7 @@ static void service_enter_running(Servic if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) && (s->bus_name_good || s->type != SERVICE_DBUS)) { #ifdef HAVE_SYSV_COMPAT ++++++ no-variable-tcpwrappers.patch ++++++
From 9f056f4087b9b0c88decc33c32078f8503efa46e Mon Sep 17 00:00:00 2001 From: Lennart Poettering
Date: Thu, 2 Feb 2012 06:21:31 +0100 Subject: [PATCH] man: document that we support tcpwrappers only for access control
We do not support, and explicitly never want to support environment variable settings and suchlike in tcpwrappers. https://bugs.freedesktop.org/show_bug.cgi?id=45143 --- man/systemd.exec.xml | 11 ++++++++--- 1 files changed, 8 insertions(+), 3 deletions(-) diff --git a/man/systemd.exec.xml b/man/systemd.exec.xml index 9d074ca..8c363a0 100644 --- a/man/systemd.exec.xml +++ b/man/systemd.exec.xml @@ -645,14 +645,19 @@ conjunction with socket-activated services, and stream sockets (TCP) in particular. It has no effect on other - socket types (e.g. datagram/UDP) and on processes - unrelated to socket-based + socket types (e.g. datagram/UDP) and + on processes unrelated to socket-based activation. If the tcpwrap verification fails daemon start-up will fail and the connection is terminated. See <citerefentry><refentrytitle>tcpd</refentrytitle><manvolnum>8</manvolnum></citerefentry> - for details.</para></listitem> + for details. Note that this option may + be used to do access control checks + only. Shell commands and commands + described in + <citerefentry><refentrytitle>hosts_options</refentrytitle><manvolnum>5</manvolnum></citerefentry> + are not supported.</para></listitem> </varlistentry> <varlistentry> -- 1.7.7 ++++++ passcredentials.patch ++++++
From 42340ebe5f44c4102d73afeba72176c5704ef0ef Mon Sep 17 00:00:00 2001 From: Michal Schmidt
Date: Tue, 29 Nov 2011 23:14:36 +0100 Subject: [PATCH 1/5] shutdownd: use PassCred=yes in the socket unit
Since Linux 3.2 in order to receive SCM_CREDENTIALS it is not sufficient to set SO_PASSCRED just before recvmsg(). The option has to be already set when the sender sends the message. With socket activation it is too late to set the option in the service. It must be set on the socket right from the start. See the kernel commit: 16e57262 af_unix: dont send SCM_CREDENTIALS by default Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=757628 --- src/shutdownd.c | 6 ------ units/systemd-shutdownd.socket | 1 + 2 files changed, 1 insertions(+), 6 deletions(-) diff --git a/src/shutdownd.c b/src/shutdownd.c index 0ffa8b2..46856b0 100644 --- a/src/shutdownd.c +++ b/src/shutdownd.c @@ -173,7 +173,6 @@ int main(int argc, char *argv[]) { }; int r = EXIT_FAILURE, n_fds; - int one = 1; struct shutdownd_command c; struct pollfd pollfd[_FD_MAX]; bool exec_shutdown = false, unlink_nologin = false, failed = false; @@ -205,11 +204,6 @@ int main(int argc, char *argv[]) { return EXIT_FAILURE; } - if (setsockopt(SD_LISTEN_FDS_START, SOL_SOCKET, SO_PASSCRED, &one, sizeof(one)) < 0) { - log_error("SO_PASSCRED failed: %m"); - return EXIT_FAILURE; - } - zero(c); zero(pollfd); diff --git a/units/systemd-shutdownd.socket b/units/systemd-shutdownd.socket index bc0358a..13b6c7a 100644 --- a/units/systemd-shutdownd.socket +++ b/units/systemd-shutdownd.socket @@ -15,3 +15,4 @@ Before=sockets.target [Socket] ListenDatagram=/run/systemd/shutdownd SocketMode=0600 +PassCred=yes -- 1.7.7
From 8bf17cd8932e68ce25ec3ac386b840a7c48c0c36 Mon Sep 17 00:00:00 2001 From: Michal Schmidt
Date: Wed, 30 Nov 2011 09:37:13 +0100 Subject: [PATCH 2/5] syslog: use PassCred=yes for the /dev/log socket
Both kmsg-syslogd and the real syslog service want to receive SCM_CREDENTIALS. With socket activation it is too late to set SO_PASSCRED in the services. --- src/kmsg-syslogd.c | 5 +---- units/syslog.socket | 1 + 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/kmsg-syslogd.c b/src/kmsg-syslogd.c index 0901a0e..7fd69f8 100644 --- a/src/kmsg-syslogd.c +++ b/src/kmsg-syslogd.c @@ -91,7 +91,7 @@ static int server_init(Server *s, unsigned n_sockets) { } for (i = 0; i < n_sockets; i++) { - int fd, one = 1; + int fd; fd = SD_LISTEN_FDS_START+i; @@ -106,9 +106,6 @@ static int server_init(Server *s, unsigned n_sockets) { goto fail; } - if (setsockopt(fd, SOL_SOCKET, SO_PASSCRED, &one, sizeof(one)) < 0) - log_error("SO_PASSCRED failed: %m"); - zero(ev); ev.events = EPOLLIN; ev.data.fd = fd; diff --git a/units/syslog.socket b/units/syslog.socket index 500bb7c..e74b559 100644 --- a/units/syslog.socket +++ b/units/syslog.socket @@ -18,6 +18,7 @@ Wants=syslog.target [Socket] ListenDatagram=/dev/log SocketMode=0666 +PassCred=yes # The service we activate on incoming traffic is # systemd-kmsg-syslogd.service. That doesn't mean however, that this -- 1.7.7
From 9a968a81292e283f7107d057997eec99c264a58b Mon Sep 17 00:00:00 2001 From: Michal Schmidt
Date: Wed, 30 Nov 2011 11:06:35 +0100 Subject: [PATCH 3/5] man: document the PassCred option
--- man/systemd.socket.xml | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/man/systemd.socket.xml b/man/systemd.socket.xml index 28c8dc4..2f31242 100644 --- a/man/systemd.socket.xml +++ b/man/systemd.socket.xml @@ -525,6 +525,17 @@ </varlistentry> <varlistentry> + <term><varname>PassCred=</varname></term> + <listitem><para>Takes a boolean + value. This controls the SO_PASSCRED + option, which allows UNIX sockets to + receive the credentials of the sending + process in an ancillary message. + Defaults to + <option>false</option>.</para></listitem> + </varlistentry> + + <varlistentry> <term><varname>TCPCongestion=</varname></term> <listitem><para>Takes a string value. Controls the TCP congestion -- 1.7.7
From c204940ee9b430c7ff26779f0462b4250779484d Mon Sep 17 00:00:00 2001 From: Michal Schmidt
Date: Tue, 29 Nov 2011 22:15:41 +0100 Subject: [PATCH 4/5] socket: add option for SO_PASSCRED
Add an option to enable SO_PASSCRED for unix sockets.
---
src/dbus-socket.c | 2 ++
src/load-fragment-gperf.gperf.m4 | 1 +
src/socket.c | 8 ++++++++
src/socket.h | 1 +
4 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/src/dbus-socket.c b/src/dbus-socket.c
index 2a1a17d..37ab7eb 100644
--- a/src/dbus-socket.c
+++ b/src/dbus-socket.c
@@ -51,6 +51,7 @@
"
From 5c358fc58ae2a512c3d1847888a08875dcb77f5a Mon Sep 17 00:00:00 2001 From: Lennart Poettering
Date: Sat, 31 Dec 2011 01:07:49 +0100 Subject: [PATCH 5/5] socket: rename the PassCred= option to PassCredentials=, since we don't want to needlessly abbreviate options unless they are very well established
---
man/systemd.socket.xml | 8 ++++----
src/dbus-socket.c | 4 ++--
src/load-fragment-gperf.gperf.m4 | 2 +-
src/socket.c | 2 +-
units/syslog.socket | 2 +-
units/systemd-shutdownd.socket | 2 +-
6 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/man/systemd.socket.xml b/man/systemd.socket.xml
index 2f31242..bf8f308 100644
--- a/man/systemd.socket.xml
+++ b/man/systemd.socket.xml
@@ -510,7 +510,7 @@
<term><varname>Transparent=</varname></term>
<listitem><para>Takes a boolean
value. Controls the IP_TRANSPARENT
- option. Defaults to
+ socket option. Defaults to
<option>false</option>.</para></listitem>
</varlistentry>
@@ -518,17 +518,17 @@
<term><varname>Broadcast=</varname></term>
<listitem><para>Takes a boolean
value. This controls the SO_BROADCAST
- option, which allows broadcast
+ socket option, which allows broadcast
datagrams to be sent from this
socket. Defaults to
<option>false</option>.</para></listitem>
</varlistentry>
<varlistentry>
- <term><varname>PassCred=</varname></term>
+ <term><varname>PassCredentials=</varname></term>
<listitem><para>Takes a boolean
value. This controls the SO_PASSCRED
- option, which allows UNIX sockets to
+ socket option, which allows UNIX sockets to
receive the credentials of the sending
process in an ancillary message.
Defaults to
diff --git a/src/dbus-socket.c b/src/dbus-socket.c
index 37ab7eb..c428189 100644
--- a/src/dbus-socket.c
+++ b/src/dbus-socket.c
@@ -51,7 +51,7 @@
"
From ede3deb4256742c6dfb3be515436209c1b088ac6 Mon Sep 17 00:00:00 2001 From: Michal Schmidt
Date: Tue, 31 Jan 2012 23:58:15 +0100 Subject: [PATCH] socket: typo in dump output
--- src/socket.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/socket.c b/src/socket.c index 67cd0cc..244b124 100644 --- a/src/socket.c +++ b/src/socket.c @@ -415,7 +415,7 @@ static void socket_dump(Unit *u, FILE *f, const char *prefix) { "%sFreeBind: %s\n" "%sTransparent: %s\n" "%sBroadcast: %s\n" - "%sPassCrededentials: %s\n" + "%sPassCredentials: %s\n" "%sTCPCongestion: %s\n", prefix, socket_state_to_string(s->state), prefix, socket_address_bind_ipv6_only_to_string(s->bind_ipv6_only), -- 1.7.7 ++++++ remote-fs-after-network.patch ++++++
From f286eb7f2b696b4ce78ac284dc0b07cac78a34f9 Mon Sep 17 00:00:00 2001 From: Lennart Poettering
Date: Tue, 1 Nov 2011 22:27:48 +0100 Subject: [PATCH 1/2] mount: order remote mounts after both network.target and remote-fs-pre.target
Since remote-fs-pre.target is optional we cannot count on it to order remote mounts after network.target, so let's add that order explicitly in addition to remote-fs-pre.target. https://bugzilla.redhat.com/show_bug.cgi?id=749940 --- src/mount.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-) Index: systemd-37/src/mount.c =================================================================== --- systemd-37.orig/src/mount.c +++ systemd-37/src/mount.c @@ -329,7 +329,7 @@ static bool needs_quota(MountParameters } static int mount_add_fstab_links(Mount *m) { - const char *target, *after = NULL; + const char *target, *after, *tu_wants = NULL; MountParameters *p; Unit *tu; int r; @@ -359,18 +359,27 @@ static int mount_add_fstab_links(Mount * if (mount_is_network(p)) { target = SPECIAL_REMOTE_FS_TARGET; - after = SPECIAL_REMOTE_FS_PRE_TARGET; + after = tu_wants = SPECIAL_REMOTE_FS_PRE_TARGET; } else { target = SPECIAL_LOCAL_FS_TARGET; after = SPECIAL_LOCAL_FS_PRE_TARGET; } - if ((r = manager_load_unit(m->meta.manager, target, NULL, NULL, &tu)) < 0) + r = manager_load_unit(m->meta.manager, target, NULL, NULL, &tu); + if (r < 0) return r; - if (after) - if ((r = unit_add_dependency_by_name(UNIT(m), UNIT_AFTER, after, NULL, true)) < 0) + if (tu_wants) { + r = unit_add_dependency_by_name(tu, UNIT_WANTS, tu_wants, NULL, true); + if (r < 0) return r; + } + + if (after) { + r = unit_add_dependency_by_name(UNIT(m), UNIT_AFTER, after, NULL, true); + if (r < 0) + return r; + } if (automount) { Unit *am; ++++++ remove-timedated-ntp-dependency.patch ++++++
From 2aa4c31529c2a370b560bc533fc677da27618044 Mon Sep 17 00:00:00 2001 From: Lennart Poettering
Date: Wed, 15 Feb 2012 00:05:31 +0100 Subject: [PATCH] timedate: don't fail if NTP is not installed
https://bugzilla.redhat.com/show_bug.cgi?id=790260
---
src/timedated.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
Index: systemd-37/src/timedated.c
===================================================================
--- systemd-37.orig/src/timedated.c
+++ systemd-37/src/timedated.c
@@ -328,6 +328,14 @@ static int read_ntp(DBusConnection *bus)
reply = dbus_connection_send_with_reply_and_block(bus, m, -1, &error);
if (!reply) {
+
+ if (streq(error.name, "org.freedesktop.DBus.Error.FileNotFound")) {
+ /* NTP is not installed. */
+ use_ntp = false;
+ r = 0;
+ goto finish;
+ }
+
log_error("Failed to issue method call: %s", bus_error_message(&error));
r = -EIO;
goto finish;
++++++ storage-after-cryptsetup.patch ++++++
--- /var/tmp/diff_new_pack.xrB8rH/_old 2012-02-20 14:14:33.000000000 +0100
+++ /var/tmp/diff_new_pack.xrB8rH/_new 2012-02-20 14:14:33.000000000 +0100
@@ -7,11 +7,11 @@
src/cryptsetup-generator.c | 80 ++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 80 insertions(+), 0 deletions(-)
-diff --git a/src/cryptsetup-generator.c b/src/cryptsetup-generator.c
-index a48b7a4..14fcce8 100644
---- a/src/cryptsetup-generator.c
-+++ b/src/cryptsetup-generator.c
-@@ -22,12 +22,14 @@
+Index: systemd-37/src/cryptsetup-generator.c
+===================================================================
+--- systemd-37.orig/src/cryptsetup-generator.c
++++ systemd-37/src/cryptsetup-generator.c
+@@ -22,6 +22,7 @@
#include
From 18d01523c88d59293d5bd1c199d41ce587e4856e Mon Sep 17 00:00:00 2001 From: Michal Schmidt
Date: Fri, 16 Dec 2011 17:38:01 +0100 Subject: [PATCH] service: use 'syslog+console' for sysv_console
The default output to 'tty' for SysV service was making it hard to debug problems because error messages were missing from syslog. --- src/service.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/service.c b/src/service.c index 5243e69..feecbbe 100644 --- a/src/service.c +++ b/src/service.c @@ -841,7 +841,7 @@ static int service_load_sysv_path(Service *s, const char *path) { s->restart = SERVICE_RESTART_NO; if (s->meta.manager->sysv_console) - s->exec_context.std_output = EXEC_OUTPUT_TTY; + s->exec_context.std_output = EXEC_OUTPUT_SYSLOG_AND_CONSOLE; s->exec_context.kill_mode = KILL_PROCESS; -- 1.7.7 -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org