summaryrefslogtreecommitdiff
path: root/sys-apps/systemd
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-08-17 03:31:10 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-08-17 03:31:10 +0100
commit280d9db9f9470686aae5ce1fa4cfa57b26e9beb2 (patch)
tree604fa555cdb815d5774494412f041887debf5220 /sys-apps/systemd
parent2ef316f0ffbd90d833effd2d09d1232e5767e321 (diff)
gentoo auto-resync : 17:08:2023 - 03:31:10
Diffstat (limited to 'sys-apps/systemd')
-rw-r--r--sys-apps/systemd/Manifest3
-rw-r--r--sys-apps/systemd/files/systemd-254.1-tmpfiles-setup-dev-early.patch252
-rw-r--r--sys-apps/systemd/systemd-254.1-r1.ebuild (renamed from sys-apps/systemd/systemd-254.1.ebuild)1
3 files changed, 255 insertions, 1 deletions
diff --git a/sys-apps/systemd/Manifest b/sys-apps/systemd/Manifest
index a4139309a77a..a3cbc287d00b 100644
--- a/sys-apps/systemd/Manifest
+++ b/sys-apps/systemd/Manifest
@@ -4,6 +4,7 @@ AUX legacy.conf 80 BLAKE2B 23eca4dd1743a5cf77767894d23d419c1663147c5aee6be971da6
AUX nsswitch.conf 734 BLAKE2B 5f5a7821a84f6c8aa31fe9a68c29a1a0f24be578d427a623f14a9ef795e7da481f226efe5511d92932b5edf5638fa719808a0c3a0b8fd340799dd6bcb703a0a1 SHA512 dcbd51dacaaebdff32edb3840cc7b9b47b6521009b8786690e3673a2e78bc60bfd8e591b1048c5d452117c6659b9917ae2864462f5057cc39b704b0130522e60
AUX systemd-253-initrd-generators.patch 1486 BLAKE2B 85a7f714aa1743bd88e01b45624dc4104e4d762732745d9958019063f6ac91ffd89ae84e03f728e6040a58643f253a5ea7f77f44ef71620e686e23aed61876e4 SHA512 f8aab9f4bbf5a73c52144013fd7001dc78974211f11abb58a0f5eceff59b3ebf670409846fff854daec10219074602674176730f85583db0e81275289e89c66b
AUX systemd-253.5-services-stop.patch 1429 BLAKE2B 3e191d2f98173c4b75791b8ade557f250229021d50c84efb9010ed06bb9a4df6e0b084625d9c3c8dbb16b8378a7c62ddbb3be4cf17790169709c581c09802fea SHA512 74e3cab089d1d3ca1603b3180638dfe2a6a0dfc494b9b72920f1b0cbe659784582d9757ba1b3f75b0c6469ae88a782a26da89049b5571b0f1ec50e845092ab21
+AUX systemd-254.1-tmpfiles-setup-dev-early.patch 9923 BLAKE2B 943f1eab877623ac6ad1b1ce51adbff4c4f8c9857dcb869711b10421c2173b7d25b838e82773de9404fe1b77dbe9593085dd104730f48619bf1799b056c9f4c4 SHA512 8984bc8fcbc495082b60ccd33a74269832c6cbe6d8907df8193a26a89867e5358cdeecfb9c7d093b35c11b3351f9b55778425ddb4de7d806209a63d71b368139
AUX systemd-user.pam 122 BLAKE2B cccc07cab47dfc0481438e503c34fa1a0b2c6b1f8ab282197719a523421d2a526f19230bb459e0347cbeb2046e35a407c78178a3fb5b79619e987cbc4ac7d5e4 SHA512 c5437677ff00fbb45798fe594e8d61b1c2bfc2d103105d7bd82e476240452477ac263700800f5d0ba91ddc895eb85f4517d5cb15c80611ec1680a686d47cd781
DIST systemd-stable-253.3.tar.gz 11996044 BLAKE2B fdbac11914ea4a3718dd48c19f0dc34db798e68f36e2e858536e4ef50e376380a250ad59dbbd1ccec4ed73e59efd198dcc0aa85faafa9d6f85d4b2e1de67ccfa SHA512 2c686d83b8b09efa09e09c82feb965f3cfceb6338e42b57d4133dc9ffe52592c67bce9bc9e294c69bc831294e3cbdcc391aba778f10d7b408cef90a85c0ab8aa
DIST systemd-stable-253.4.tar.gz 12010733 BLAKE2B 166ce3f089a9fc3d5d374566258d05ddc9ad1e6a06f5d171ee4e3462e30dd996ed45eccac9e27a8ce75ddf591d81ad2af8ce3bd214709cc0b816422f3960f52a SHA512 cbd572330871fe938307cdead57637e9a03fcdb95b62dd12506f13f48fddcacfaf1e7b179bc9e1c1889a07d3bf21f840aafc773df3a1ab05b37d28950cb94ee1
@@ -19,6 +20,6 @@ EBUILD systemd-253.5.ebuild 14588 BLAKE2B ac789628c1caa53681c78be188c85a660fd61a
EBUILD systemd-253.6.ebuild 14661 BLAKE2B 4d08e0b78f8748ae78b9eaded181c740bc5c5f78f83fe7dc61cc9738658bedd6811e0d214c32e719e96898ad70008d15e527e12b7df17b122f3d9ce45505e94a SHA512 1d5ee451cf3a0494399c2f30c9cf5e93be11bcfce4c5a834521b4a2de1da7c80ba60b1195d142fb92ffbaf1a69e524849c15bb729ba2dbcab9f2956c08a559de
EBUILD systemd-253.7.ebuild 14669 BLAKE2B 106db6ca3073de27cd0f7c72b30397da77cbd98dfe1d1357f67d39f61e722c47d7fd5b3b7378e329883e9894cfe90159f3db50400ca5d791b438907b00b797b3 SHA512 56e632a1f7d396607df97f3bfbde8e85ed4534b69b341e196356adf26f932f54db0bde0365ea5e4ef8c84e36662b61b7465ba4b3336c0eebbaa3932554c13eaa
EBUILD systemd-253.8.ebuild 14669 BLAKE2B 106db6ca3073de27cd0f7c72b30397da77cbd98dfe1d1357f67d39f61e722c47d7fd5b3b7378e329883e9894cfe90159f3db50400ca5d791b438907b00b797b3 SHA512 56e632a1f7d396607df97f3bfbde8e85ed4534b69b341e196356adf26f932f54db0bde0365ea5e4ef8c84e36662b61b7465ba4b3336c0eebbaa3932554c13eaa
-EBUILD systemd-254.1.ebuild 14810 BLAKE2B c3e9c1d88c12d7e0af511e67872e8d93adbe2f5b1ef4d2656c31111b68ffbfc8694c500d980780e31c16eb14c1681aed5c927ecbedf15fbce9374f9733fa6097 SHA512 83bc8fb4f23dae1cfff8551cecb48de9f1fc19e36a5715c8f9f60e44cf914c06025ff14a7bacff666b2fc4d4b335ad7359531cfffd231457369b13527d2f9d09
+EBUILD systemd-254.1-r1.ebuild 14871 BLAKE2B f89390e15c14b69204d52be9e2628da7b463adc629efea44ab1f3922aa6421acfaa2cdfce333637d61e27ef10548eebe8100a9d923e3c22bbc4362b53de348ad SHA512 3a783faaf143462da72d24b23ad33dcf52f15b4d1f4dfd7bc1ea89743aa4bcbd8b7815686752c1cdd7438da580856df753b2a3d9b5cd4d091d121e5b0a8979f8
EBUILD systemd-9999.ebuild 13801 BLAKE2B a045523e6b34d3691051f0e571a48a6a775e4a220bf4162a799c28de7cac62b248e24a04160d68c2c0d7aceacd96195866b5239f03c111481ae467ee67423b87 SHA512 a38d5d95f5d32a30ca0967b3aa3ab98bf5987da7dd190ea4702500af19b38b71a2b243a6734db10f385c606709abc7cdf9cb92bc788d5dff7d4f7bacf7657f9f
MISC metadata.xml 2612 BLAKE2B 60495769a304d0623f73de8eb305770eb93706fdcbea158a2de2beb72e5d04495fc5ef45b4e55d3003a9a70bc3f60a7a5d6880aaac9512647132be69f96112ad SHA512 397f63a498b46647edfb665f92680197607de5edef42c3c17ab96abf94f117d82eda4863bf138329e25880609e8c631e9d154277e8a548eafbe87e8b83e47ccc
diff --git a/sys-apps/systemd/files/systemd-254.1-tmpfiles-setup-dev-early.patch b/sys-apps/systemd/files/systemd-254.1-tmpfiles-setup-dev-early.patch
new file mode 100644
index 000000000000..77f6e19fe6c8
--- /dev/null
+++ b/sys-apps/systemd/files/systemd-254.1-tmpfiles-setup-dev-early.patch
@@ -0,0 +1,252 @@
+https://github.com/systemd/systemd/pull/28784
+https://bugs.gentoo.org/911723
+
+From bb7f485f4bddd57bbf50739bafa43d127bab59d6 Mon Sep 17 00:00:00 2001
+From: Yu Watanabe <watanabe.yu+github@gmail.com>
+Date: Sat, 12 Aug 2023 07:54:32 +0900
+Subject: [PATCH] units: introduce systemd-tmpfiles-setup-dev-early.service
+
+This makes tmpfiles, sysusers, and udevd invoked in the following order:
+1. systemd-tmpfiles-setup-dev-early.service
+ Create device nodes gracefully, that is, create device nodes anyway
+ by ignoring unknown users and groups.
+2. systemd-sysusers.service
+ Create users and groups, to make later invocations of tmpfiles and
+ udevd can resolve necessary users and groups.
+3. systemd-tmpfiles-setup-dev.service
+ Adjust owners of previously created device nodes.
+4. systemd-udevd.service
+ Process all devices. Especially to make block devices active and can
+ be mountable.
+5. systemd-tmpfiles-setup.service
+ Setup basic filesystem.
+
+Follow-up for b42482af904ae0b94a6e4501ec595448f0ba1c06.
+
+Fixes #28653.
+Replaces #28681 and #28732.
+---
+ man/systemd-tmpfiles.xml | 3 +
+ test/TEST-17-UDEV/test.sh | 4 ++
+ test/units/testsuite-17.00.sh | 57 +++++++++++++++++++
+ units/kmod-static-nodes.service.in | 2 +-
+ units/meson.build | 5 ++
+ units/systemd-sysusers.service | 2 +
+ .../systemd-tmpfiles-setup-dev-early.service | 25 ++++++++
+ units/systemd-tmpfiles-setup-dev.service | 3 +-
+ units/systemd-tmpfiles-setup.service | 2 +-
+ 9 files changed, 100 insertions(+), 3 deletions(-)
+ create mode 100755 test/units/testsuite-17.00.sh
+ create mode 100644 units/systemd-tmpfiles-setup-dev-early.service
+
+diff --git a/man/systemd-tmpfiles.xml b/man/systemd-tmpfiles.xml
+index decd66d5c667..0db2a4b03b46 100644
+--- a/man/systemd-tmpfiles.xml
++++ b/man/systemd-tmpfiles.xml
+@@ -19,6 +19,7 @@
+ <refnamediv>
+ <refname>systemd-tmpfiles</refname>
+ <refname>systemd-tmpfiles-setup.service</refname>
++ <refname>systemd-tmpfiles-setup-dev-early.service</refname>
+ <refname>systemd-tmpfiles-setup-dev.service</refname>
+ <refname>systemd-tmpfiles-clean.service</refname>
+ <refname>systemd-tmpfiles-clean.timer</refname>
+@@ -35,6 +36,7 @@
+
+ <para>System units:
+ <literallayout><filename>systemd-tmpfiles-setup.service</filename>
++<filename>systemd-tmpfiles-setup-dev-early.service</filename>
+ <filename>systemd-tmpfiles-setup-dev.service</filename>
+ <filename>systemd-tmpfiles-clean.service</filename>
+ <filename>systemd-tmpfiles-clean.timer</filename></literallayout></para>
+@@ -64,6 +66,7 @@
+ searched for a matching file and the file found that has the highest priority is executed.</para>
+
+ <para>System services (<filename>systemd-tmpfiles-setup.service</filename>,
++ <filename>systemd-tmpfiles-setup-dev-early.service</filename>,
+ <filename>systemd-tmpfiles-setup-dev.service</filename>,
+ <filename>systemd-tmpfiles-clean.service</filename>) invoke <command>systemd-tmpfiles</command> to create
+ system files and to perform system wide cleanup. Those services read administrator-controlled
+diff --git a/test/TEST-17-UDEV/test.sh b/test/TEST-17-UDEV/test.sh
+index 6b8f08fc328a..f7a907549607 100755
+--- a/test/TEST-17-UDEV/test.sh
++++ b/test/TEST-17-UDEV/test.sh
+@@ -8,5 +8,9 @@ TEST_NO_NSPAWN=1
+ # shellcheck source=test/test-functions
+ . "${TEST_BASE_DIR:?}/test-functions"
+
++test_append_files() {
++ instmods snd_seq snd_timer tun
++ generate_module_dependencies
++}
+
+ do_test "$@"
+diff --git a/test/units/testsuite-17.00.sh b/test/units/testsuite-17.00.sh
+new file mode 100755
+index 000000000000..d2aec60b1326
+--- /dev/null
++++ b/test/units/testsuite-17.00.sh
+@@ -0,0 +1,57 @@
++#!/usr/bin/env bash
++# SPDX-License-Identifier: LGPL-2.1-or-later
++set -ex
++set -o pipefail
++
++# shellcheck source=test/units/util.sh
++. "$(dirname "$0")"/util.sh
++
++# Tests for issue #28588 and #28653.
++
++# On boot, services need to be started in the following order:
++# 1. systemd-tmpfiles-setup-dev-early.service
++# 2. systemd-sysusers.service
++# 3. systemd-tmpfiles-setup-dev.service
++# 4. systemd-udevd.service
++
++output="$(systemctl show --property After --value systemd-udevd.service)"
++assert_in "systemd-tmpfiles-setup-dev-early.service" "$output"
++assert_in "systemd-sysusers.service" "$output"
++assert_in "systemd-tmpfiles-setup-dev.service" "$output"
++
++output="$(systemctl show --property After --value systemd-tmpfiles-setup-dev.service)"
++assert_in "systemd-tmpfiles-setup-dev-early.service" "$output"
++assert_in "systemd-sysusers.service" "$output"
++
++output="$(systemctl show --property After --value systemd-sysusers.service)"
++assert_in "systemd-tmpfiles-setup-dev-early.service" "$output"
++
++check_owner_and_mode() {
++ local dev=${1?}
++ local user=${2?}
++ local group=${3?}
++ local mode=${4:-}
++
++ if [[ -e "$dev" ]]; then
++ assert_in "$user" "$(stat --format=%U "$dev")"
++ assert_in "$group" "$(stat --format=%G "$dev")"
++ if [[ -n "$mode" ]]; then
++ assert_in "$mode" "$(stat --format=%#0a "$dev")"
++ fi
++ fi
++
++ return 0
++}
++
++# Check owner and access mode specified in static-nodes-permissions.conf
++check_owner_and_mode /dev/snd/seq root audio 0660
++check_owner_and_mode /dev/snd/timer root audio 0660
++check_owner_and_mode /dev/loop-control root disk 0660
++check_owner_and_mode /dev/net/tun root root 0666
++check_owner_and_mode /dev/fuse root root 0666
++check_owner_and_mode /dev/vfio/vfio root root 0666
++check_owner_and_mode /dev/kvm root kvm
++check_owner_and_mode /dev/vhost-net root kvm
++check_owner_and_mode /dev/vhost-vsock root kvm
++
++exit 0
+diff --git a/units/kmod-static-nodes.service.in b/units/kmod-static-nodes.service.in
+index 777e82d16b90..70605d997e0a 100644
+--- a/units/kmod-static-nodes.service.in
++++ b/units/kmod-static-nodes.service.in
+@@ -10,7 +10,7 @@
+ [Unit]
+ Description=Create List of Static Device Nodes
+ DefaultDependencies=no
+-Before=sysinit.target systemd-tmpfiles-setup-dev.service
++Before=sysinit.target systemd-tmpfiles-setup-dev-early.service
+ ConditionCapability=CAP_SYS_MODULE
+ ConditionFileNotEmpty=/lib/modules/%v/modules.devname
+
+diff --git a/units/meson.build b/units/meson.build
+index 96ad1dc85016..20665e040874 100644
+--- a/units/meson.build
++++ b/units/meson.build
+@@ -544,6 +544,11 @@ units = [
+ 'conditions' : ['ENABLE_TMPFILES'],
+ 'symlinks' : ['timers.target.wants/'],
+ },
++ {
++ 'file' : 'systemd-tmpfiles-setup-dev-early.service',
++ 'conditions' : ['ENABLE_TMPFILES'],
++ 'symlinks' : ['sysinit.target.wants/'],
++ },
+ {
+ 'file' : 'systemd-tmpfiles-setup-dev.service',
+ 'conditions' : ['ENABLE_TMPFILES'],
+diff --git a/units/systemd-sysusers.service b/units/systemd-sysusers.service
+index 84fd66de37aa..de6c71a03825 100644
+--- a/units/systemd-sysusers.service
++++ b/units/systemd-sysusers.service
+@@ -16,6 +16,8 @@ ConditionCredential=|sysusers.extra
+
+ DefaultDependencies=no
+ After=systemd-remount-fs.service
++After=systemd-tmpfiles-setup-dev-early.service
++Before=systemd-tmpfiles-setup-dev.service
+ Before=sysinit.target systemd-update-done.service
+ Conflicts=shutdown.target initrd-switch-root.target
+ Before=shutdown.target initrd-switch-root.target
+diff --git a/units/systemd-tmpfiles-setup-dev-early.service b/units/systemd-tmpfiles-setup-dev-early.service
+new file mode 100644
+index 000000000000..0d6f0daaae32
+--- /dev/null
++++ b/units/systemd-tmpfiles-setup-dev-early.service
+@@ -0,0 +1,25 @@
++# SPDX-License-Identifier: LGPL-2.1-or-later
++#
++# 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.
++
++[Unit]
++Description=Create Static Device Nodes in /dev gracefully
++Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8)
++
++DefaultDependencies=no
++Before=sysinit.target local-fs-pre.target systemd-udevd.service
++Wants=local-fs-pre.target
++Conflicts=shutdown.target initrd-switch-root.target
++Before=shutdown.target initrd-switch-root.target
++
++[Service]
++Type=oneshot
++RemainAfterExit=yes
++ExecStart=systemd-tmpfiles --prefix=/dev --create --boot --graceful
++SuccessExitStatus=DATAERR CANTCREAT
++ImportCredential=tmpfiles.*
+diff --git a/units/systemd-tmpfiles-setup-dev.service b/units/systemd-tmpfiles-setup-dev.service
+index acaa9510aa60..3016b497493f 100644
+--- a/units/systemd-tmpfiles-setup-dev.service
++++ b/units/systemd-tmpfiles-setup-dev.service
+@@ -12,6 +12,7 @@ Description=Create Static Device Nodes in /dev
+ Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8)
+
+ DefaultDependencies=no
++After=systemd-tmpfiles-setup-dev-early.service
+ Before=sysinit.target local-fs-pre.target systemd-udevd.service
+ Wants=local-fs-pre.target
+ Conflicts=shutdown.target initrd-switch-root.target
+@@ -20,6 +21,6 @@ Before=shutdown.target initrd-switch-root.target
+ [Service]
+ Type=oneshot
+ RemainAfterExit=yes
+-ExecStart=systemd-tmpfiles --prefix=/dev --create --boot --graceful
++ExecStart=systemd-tmpfiles --prefix=/dev --create --boot
+ SuccessExitStatus=DATAERR CANTCREAT
+ ImportCredential=tmpfiles.*
+diff --git a/units/systemd-tmpfiles-setup.service b/units/systemd-tmpfiles-setup.service
+index 6c5e3de8fd96..6cae32850f4f 100644
+--- a/units/systemd-tmpfiles-setup.service
++++ b/units/systemd-tmpfiles-setup.service
+@@ -21,7 +21,7 @@ RefuseManualStop=yes
+ [Service]
+ Type=oneshot
+ RemainAfterExit=yes
+-ExecStart=systemd-tmpfiles --create --remove --boot
++ExecStart=systemd-tmpfiles --create --remove --boot --exclude-prefix=/dev
+ SuccessExitStatus=DATAERR CANTCREAT
+ ImportCredential=tmpfiles.*
+ ImportCredential=login.motd
diff --git a/sys-apps/systemd/systemd-254.1.ebuild b/sys-apps/systemd/systemd-254.1-r1.ebuild
index a03b6cbadd51..c0ddb15afd95 100644
--- a/sys-apps/systemd/systemd-254.1.ebuild
+++ b/sys-apps/systemd/systemd-254.1-r1.ebuild
@@ -241,6 +241,7 @@ src_unpack() {
src_prepare() {
local PATCHES=(
"${FILESDIR}/systemd-253-initrd-generators.patch"
+ "${FILESDIR}/systemd-254.1-tmpfiles-setup-dev-early.patch"
)
if ! use vanilla; then