systemd/0008-sysv-generator-translate-Required-Start-into-a-Wants.patch
Dominique Leuenberger f37ad01569 Accepting request 915488 from Base:System
- Configure split-usr=true only when %usrmerged is not defined

- Import commit 40bda18e346ff45132ccd6f8f8e96de78dcf3470 (merge of v249.4)
  For a complete list of changes, visit:
  7f23815a70...40bda18e34

- Rework the test (sub)package:
  - it's been renamed into 'systemd-testsuite'
  - it includes the extended tests too
  - the relevant commits have been backported to SUSE/v249 so no SUSE
    specific patch is needed to run the extended tests (see below)
  - the deps needed by the extended tests have been added
- Import commit 7f23815a706cf2b2df3eac2eb2f8220736b8f427
  ad216581b6 test: if haveged is part of initrd it needs to be installed in the image too
  088fbb71d0 test: adapt install_pam() for openSUSE
  4d631c1f0c Revert "test: adapt TEST-13-NSPAWN-SMOKE for SUSE"
  ef956eb8a2 test: on openSUSE the static linked version of busybox is named "busybox-static"
  6f7ce633b0 TEST-13-*: in busybox container sleep(1) takes a delay in seconds only
  278baaa3ec test: don't try to find BUILD_DIR when NO_BUILD is set
  3bba2f876a test: add support for NO_BUILD=1 on openSUSE
  d77cbc1b64 test: make busybox TEST-13-only dependency

- Upgrade to v249.2 (commit c0bb2fcbc26f6aacde574656159504f263916719)
  See https://github.com/openSUSE/systemd/blob/SUSE/v249/NEWS for
  details. 
  - Rebased 0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch
            0012-resolved-create-etc-resolv.conf-symlink-at-runtime.patch

- Configure split-usr=true only when %usrmerged is not defined

OBS-URL: https://build.opensuse.org/request/show/915488
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=335
2021-09-04 20:33:46 +00:00

74 lines
3.0 KiB
Diff

From 7f59f7b1b506c1394712ad3d6bab81318052a14c Mon Sep 17 00:00:00 2001
From: Thomas Blume <Thomas.Blume@suse.com>
Date: Wed, 4 May 2016 17:40:04 +0200
Subject: [PATCH 08/11] sysv-generator: translate "Required-Start" into a
"Wants" dependency
[tblume: Port of SLES12SP1 patch 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch]
[fbui: this is needed probably because insserv's behavior has been
sadly changed since SLE11: it now doesn't failed if a
dependency listed by Required-Start is missing.]
[fbui: according to Werner "This should fix bnc#858864 and
bnc#857204." (see Base:System changelog)]
---
src/sysv-generator/sysv-generator.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c
index fa5355c964..62755f3652 100644
--- a/src/sysv-generator/sysv-generator.c
+++ b/src/sysv-generator/sysv-generator.c
@@ -257,6 +257,7 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name,
"remote_fs", SPECIAL_REMOTE_FS_TARGET,
"syslog", NULL,
"time", SPECIAL_TIME_SYNC_TARGET,
+ "all", SPECIAL_DEFAULT_TARGET,
};
const char *filename;
@@ -271,6 +272,7 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name,
filename = basename(s->path);
+ n = *name == '+' ? ++name : name;
n = *name == '$' ? name + 1 : name;
for (i = 0; i < ELEMENTSOF(table); i += 2) {
@@ -407,7 +409,7 @@ static int handle_dependencies(SysvStub *s, unsigned line, const char *full_text
for (;;) {
_cleanup_free_ char *word = NULL, *m = NULL;
- bool is_before;
+ bool is_before, is_wanted;
r = extract_first_word(&text, &word, NULL, EXTRACT_UNQUOTE|EXTRACT_RELAX);
if (r < 0)
@@ -420,6 +422,7 @@ static int handle_dependencies(SysvStub *s, unsigned line, const char *full_text
continue;
is_before = startswith_no_case(full_text, "X-Start-Before:");
+ is_wanted = startswith_no_case(full_text, "Required-Start:");
if (streq(m, SPECIAL_NETWORK_ONLINE_TARGET) && !is_before) {
/* the network-online target is special, as it needs to be actively pulled in */
@@ -428,8 +431,13 @@ static int handle_dependencies(SysvStub *s, unsigned line, const char *full_text
return log_oom();
r = strv_extend(&s->wants, m);
- } else
+ } else {
r = strv_extend(is_before ? &s->before : &s->after, m);
+
+ if (is_wanted)
+ r = strv_extend(&s->wants, m);
+ }
+
if (r < 0)
return log_oom();
}
--
2.26.2