]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
sysusers: split up systemd.conf
authorChristoph Anton Mitterer <mail@christoph.anton.mitterer.name>
Mon, 28 Jun 2021 17:24:37 +0000 (19:24 +0200)
committerChristoph Anton Mitterer <mail@christoph.anton.mitterer.name>
Sun, 11 Jul 2021 16:00:25 +0000 (18:00 +0200)
This makes it easier have the respective users/groups only created when their
respective packages are installed.

Fixes #20044.

sysusers.d/meson.build
sysusers.d/systemd-coredump.conf [new file with mode: 0644]
sysusers.d/systemd-journal.conf.in [new file with mode: 0644]
sysusers.d/systemd-network.conf.in [new file with mode: 0644]
sysusers.d/systemd-oom.conf [new file with mode: 0644]
sysusers.d/systemd-resolve.conf.in [new file with mode: 0644]
sysusers.d/systemd-timesync.conf.in [new file with mode: 0644]
sysusers.d/systemd.conf.in [deleted file]

index 894d1840bcf63faefa10f186ee8ab3b802df92e9..132d8a187af83209332eb0157baee1418a7aa35f 100644 (file)
@@ -1,13 +1,31 @@
 # SPDX-License-Identifier: LGPL-2.1-or-later
 
-if enable_sysusers
-        install_data('README', install_dir : sysusersdir)
+files = [['README',                ''],
+         ['systemd-coredump.conf', 'ENABLE_COREDUMP'],
+         ['systemd-oom.conf',      'ENABLE_OOMD']]
+
+foreach pair : files
+        if not enable_sysusers
+                # do nothing
+        elif pair[1] == '' or conf.get(pair[1]) == 1
+                install_data(pair[0], install_dir : sysusersdir)
+        else
+                message('Not installing sysusers.d/@0@ because @1@ is @2@'
+                        .format(pair[0], pair[1], conf.get(pair[1], 0)))
+        endif
+endforeach
+
+
+if enable_sysusers and conf.get('ENABLE_REMOTE') == 1 and conf.get('HAVE_MICROHTTPD') == 1
+        install_data('systemd-remote.conf', install_dir : sysusersdir)
 endif
 
-in_files = [['basic.conf',          enable_sysusers],
-            ['systemd.conf',        enable_sysusers],
-            ['systemd-remote.conf', enable_sysusers and
-                                    conf.get('ENABLE_REMOTE') == 1 and conf.get('HAVE_MICROHTTPD') == 1]]
+
+in_files = [['basic.conf',            enable_sysusers],
+            ['systemd-journal.conf',  enable_sysusers],
+            ['systemd-network.conf',  enable_sysusers and conf.get('ENABLE_NETWORKD') == 1],
+            ['systemd-resolve.conf',  enable_sysusers and conf.get('ENABLE_RESOLVE') == 1],
+            ['systemd-timesync.conf', enable_sysusers and conf.get('ENABLE_TIMESYNCD') == 1]]
 
 foreach tuple : in_files
         file = tuple[0]
diff --git a/sysusers.d/systemd-coredump.conf b/sysusers.d/systemd-coredump.conf
new file mode 100644 (file)
index 0000000..c4ff003
--- /dev/null
@@ -0,0 +1,8 @@
+#  This file is part of systemd.
+#
+#  systemd is free software; you can redistribute it and/or modify it
+#  under the terms of the GNU Lesser General Public License as published by
+#  the Free Software Foundation; either version 2.1 of the License, or
+#  (at your option) any later version.
+
+u systemd-coredump - "systemd Core Dumper"
diff --git a/sysusers.d/systemd-journal.conf.in b/sysusers.d/systemd-journal.conf.in
new file mode 100644 (file)
index 0000000..61768b2
--- /dev/null
@@ -0,0 +1,8 @@
+#  This file is part of systemd.
+#
+#  systemd is free software; you can redistribute it and/or modify it
+#  under the terms of the GNU Lesser General Public License as published by
+#  the Free Software Foundation; either version 2.1 of the License, or
+#  (at your option) any later version.
+
+g systemd-journal {{SYSTEMD_JOURNAL_GID}} -
diff --git a/sysusers.d/systemd-network.conf.in b/sysusers.d/systemd-network.conf.in
new file mode 100644 (file)
index 0000000..7c64a46
--- /dev/null
@@ -0,0 +1,8 @@
+#  This file is part of systemd.
+#
+#  systemd is free software; you can redistribute it and/or modify it
+#  under the terms of the GNU Lesser General Public License as published by
+#  the Free Software Foundation; either version 2.1 of the License, or
+#  (at your option) any later version.
+
+u systemd-network {{SYSTEMD_NETWORK_UID}} "systemd Network Management"
diff --git a/sysusers.d/systemd-oom.conf b/sysusers.d/systemd-oom.conf
new file mode 100644 (file)
index 0000000..27e571f
--- /dev/null
@@ -0,0 +1,8 @@
+#  This file is part of systemd.
+#
+#  systemd is free software; you can redistribute it and/or modify it
+#  under the terms of the GNU Lesser General Public License as published by
+#  the Free Software Foundation; either version 2.1 of the License, or
+#  (at your option) any later version.
+
+u systemd-oom - "systemd Userspace OOM Killer"
diff --git a/sysusers.d/systemd-resolve.conf.in b/sysusers.d/systemd-resolve.conf.in
new file mode 100644 (file)
index 0000000..9f02ef9
--- /dev/null
@@ -0,0 +1,8 @@
+#  This file is part of systemd.
+#
+#  systemd is free software; you can redistribute it and/or modify it
+#  under the terms of the GNU Lesser General Public License as published by
+#  the Free Software Foundation; either version 2.1 of the License, or
+#  (at your option) any later version.
+
+u systemd-resolve {{SYSTEMD_RESOLVE_UID}} "systemd Resolver"
diff --git a/sysusers.d/systemd-timesync.conf.in b/sysusers.d/systemd-timesync.conf.in
new file mode 100644 (file)
index 0000000..e50f025
--- /dev/null
@@ -0,0 +1,8 @@
+#  This file is part of systemd.
+#
+#  systemd is free software; you can redistribute it and/or modify it
+#  under the terms of the GNU Lesser General Public License as published by
+#  the Free Software Foundation; either version 2.1 of the License, or
+#  (at your option) any later version.
+
+u systemd-timesync {{SYSTEMD_TIMESYNC_UID}} "systemd Time Synchronization"
diff --git a/sysusers.d/systemd.conf.in b/sysusers.d/systemd.conf.in
deleted file mode 100644 (file)
index 9941ef8..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#  This file is part of systemd.
-#
-#  systemd is free software; you can redistribute it and/or modify it
-#  under the terms of the GNU Lesser General Public License as published by
-#  the Free Software Foundation; either version 2.1 of the License, or
-#  (at your option) any later version.
-
-g systemd-journal   {{SYSTEMD_JOURNAL_GID}} -
-{% if ENABLE_NETWORKD %}
-u systemd-network   {{SYSTEMD_NETWORK_UID}} "systemd Network Management"
-{% endif %}
-{% if ENABLE_OOMD %}
-u systemd-oom       - "systemd Userspace OOM Killer"
-{% endif %}
-{% if ENABLE_RESOLVE %}
-u systemd-resolve   {{SYSTEMD_RESOLVE_UID}} "systemd Resolver"
-{% endif %}
-{% if ENABLE_TIMESYNCD %}
-u systemd-timesync  {{SYSTEMD_TIMESYNC_UID}} "systemd Time Synchronization"
-{% endif %}
-{% if ENABLE_COREDUMP %}
-u systemd-coredump  - "systemd Core Dumper"
-{% endif %}