File 1009-sysv-add-back-support-for-all-virtual-facility-and-f.patch of Package systemd.36650

From 9b8d290853e0b1d1d25e9cdce0f71368f9dcb009 Mon Sep 17 00:00:00 2001
From: Franck Bui <fbui@suse.com>
Date: Fri, 14 Jan 2022 08:17:38 +0100
Subject: [PATCH 1009/1016] sysv: add back support for '$all' virtual facility
 and '+' facitity name prefix

'$all' was probably a Debian thing and has probably never been supported by RH,
which explains why systemd upstream never supported it too. At least I couldn't
find any reference of this facility name in
http://refspecs.linux-foundation.org/LSB_4.0.0/LSB-Core-generic/LSB-Core-generic.html#FACILNAME. OTOH
'$all' is described in https://wiki.debian.org/LSBInitScripts

Regarding the '+' prefix, I couldn't find any mention of it
anywhere. Apparently it was equivalent to '$' in facility names.

[wfink: bsc#858864]
---
 src/sysv-generator/sysv-generator.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c
index 30f82d5736..7de14d6147 100644
--- a/src/sysv-generator/sysv-generator.c
+++ b/src/sysv-generator/sysv-generator.c
@@ -248,6 +248,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,
         };
 
         _cleanup_free_ char *filename = NULL;
@@ -263,6 +264,7 @@ static int sysv_translate_facility(SysvStub *s, unsigned line, const char *name,
         if (r < 0)
                 return log_error_errno(r, "Failed to extract file name from path '%s': %m", s->path);
 
+        n = *name == '+' ? ++name   : name;
         n = *name == '$' ? name + 1 : name;
 
         for (size_t i = 0; i < ELEMENTSOF(table); i += 2) {
-- 
2.35.3

openSUSE Build Service is sponsored by