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