From e737136a6ff16e7990c9a0740cc532d3b9a11a3d42fd71b66c83aa53558e5755 Mon Sep 17 00:00:00 2001 From: "Dr. Werner Fink" Date: Fri, 21 Feb 2014 16:08:28 +0000 Subject: [PATCH] . OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=520 --- ...ripts-know-about-Required-and-Should.patch | 25 ++++++++++++++++--- systemd.changes | 7 ++++++ 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/1018-Make-LSB-Skripts-know-about-Required-and-Should.patch b/1018-Make-LSB-Skripts-know-about-Required-and-Should.patch index 81a2692..a98660e 100644 --- a/1018-Make-LSB-Skripts-know-about-Required-and-Should.patch +++ b/1018-Make-LSB-Skripts-know-about-Required-and-Should.patch @@ -1,5 +1,19 @@ +Should solve the problems of + + bug #858864 - LSB "+" dependencies aren't handled properly + bug #857204 - inssrv fails to enable rpcbind + The side effect is that RequiresOverridable= is used for the services + add behind Required-Start + bug #863217 - systemd overrides explicit admin request to disable a service + That is that in this version the Wants= for all services behind + Should-Start, X-Start-Before, and X-Stop-After is not used anymore + +--- + service.c | 15 +++++++++++++-- + 1 file changed, 13 insertions(+), 2 deletions(-) + --- systemd-208/src/core/service.c -+++ systemd-208/src/core/service.c 2014-01-17 12:15:52.527311588 +0000 ++++ systemd-208/src/core/service.c 2014-02-21 14:44:59.066735478 +0000 @@ -380,6 +380,8 @@ static int sysv_translate_facility(const "remote_fs", SPECIAL_REMOTE_FS_TARGET, "syslog", NULL, @@ -28,11 +42,11 @@ state = LSB; + d = startswith_no_case(t, "X-Start-Before:") ? UNIT_BEFORE : UNIT_AFTER; -+ e = startswith_no_case(t, "Required-Start:") ? UNIT_REQUIRES_OVERRIDABLE : UNIT_WANTS; ++ e = startswith_no_case(t, "Required-Start:") ? UNIT_REQUIRES_OVERRIDABLE : _UNIT_DEPENDENCY_INVALID; FOREACH_WORD_QUOTED(w, z, strchr(t, ':')+1, i) { char *n, *m; -@@ -838,12 +843,15 @@ static int service_load_sysv_path(Servic +@@ -838,12 +843,18 @@ static int service_load_sysv_path(Servic continue; } @@ -45,7 +59,10 @@ continue; - r = unit_add_dependency_by_name(u, startswith_no_case(t, "X-Start-Before:") ? UNIT_BEFORE : UNIT_AFTER, m, NULL, true); -+ r = unit_add_two_dependencies_by_name(u, d, e, m, NULL, true); ++ if (e != _UNIT_DEPENDENCY_INVALID) ++ r = unit_add_two_dependencies_by_name(u, d, e, m, NULL, true); ++ else ++ r = unit_add_dependency_by_name(u, d, m, NULL, true); if (r < 0) log_error_unit(u->id, "[%s:%u] Failed to add dependency on %s, ignoring: %s", diff --git a/systemd.changes b/systemd.changes index 1d21a44..c9d3106 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Fri Feb 21 16:04:54 UTC 2014 - werner@suse.de + +- Modify patch 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch + to avoid WantedBy for Should-Start/Start-Before/Start-After SysVinit + scripts (bnc#863217) + ------------------------------------------------------------------- Thu Feb 20 12:22:15 UTC 2014 - werner@suse.de