diff options
| author | Thorsten Töpper <atsutane-aur@freethoughts.de> | 2025-10-03 00:05:56 +0200 |
|---|---|---|
| committer | Thorsten Töpper <atsutane@freethoughts.de> | 2025-10-03 00:05:56 +0200 |
| commit | d46cb14d80310c8081ec12e21df9445b5c1bc91d (patch) | |
| tree | 218124ea2bc4f44e1e902b7d5027817ad5136c16 | |
| parent | 5d6462c45081611f6c7717b5a360929b23799153 (diff) | |
| download | systemd-git-d46cb14d80310c8081ec12e21df9445b5c1bc91d.tar.gz systemd-git-d46cb14d80310c8081ec12e21df9445b5c1bc91d.tar.bz2 | |
Functionally in sync with core/systemd 258-4.
| -rw-r--r-- | .SRCINFO | 38 | ||||
| -rw-r--r-- | 0001-Use-Arch-Linux-device-access-groups.patch | 35 | ||||
| -rw-r--r-- | PKGBUILD | 28 | ||||
| -rw-r--r-- | loader.conf | 2 | ||||
| -rw-r--r-- | systemd-hook | 24 | ||||
| -rw-r--r-- | systemd-user.pam | 11 | ||||
| -rw-r--r-- | systemd.install | 30 |
7 files changed, 98 insertions, 70 deletions
@@ -1,6 +1,6 @@ pkgbase = systemd-git pkgdesc = systemd (git version) - pkgver = 258.rc3.r83398.46a688c5598 + pkgver = 259.devel.r83944.613f7f26aa7 pkgrel = 1 url = https://www.github.com/systemd/systemd arch = x86_64 @@ -76,12 +76,12 @@ pkgbase = systemd-git source = 30-systemd-udev-reload.hook source = 30-systemd-update.hook sha512sums = SKIP - sha512sums = 1f7d48dea49c8adedf5a2be60861052b44c6ff7a4249218c2d7c779d357e1543e111c15d97beda5685e42805501f9e6c025152b942d8a5a8b882b3cdff2a11d6 + sha512sums = beb15210d8afe69e1e47c99a81da5967428ccc64ece85b8a843333cb741eda061ae7a91a79cec8a1136a624e93e63140013986499589bf10edcc52d865729377 sha512sums = 61032d29241b74a0f28446f8cf1be0e8ec46d0847a61dadb2a4f096e8686d5f57fe5c72bcf386003f6520bc4b5856c32d63bf3efe7eb0bc0deefc9f68159e648 - sha512sums = c416e2121df83067376bcaacb58c05b01990f4614ad9de657d74b6da3efa441af251d13bf21e3f0f71ddcb4c9ea658b81da3d915667dc5c309c87ec32a1cb5a5 + sha512sums = 3194d1f8bff31b88a79657df83632b9224b66ca2cf8fd806a3ef35cf7a43f46c09c57f3dfd02256a99b6514a8f789b7d3bcfd7e17e00e34aa55ff0c6cedb5f01 sha512sums = 5a1d78b5170da5abe3d18fdf9f2c3a4d78f15ba7d1ee9ec2708c4c9c2e28973469bc19386f70b3cf32ffafbe4fcc4303e5ebbd6d5187a1df3314ae0965b25e75 - sha512sums = b90c99d768dc2a4f020ba854edf45ccf1b86a09d2f66e475de21fe589ff7e32c33ef4aa0876d7f1864491488fd7edb2682fc0d68e83a6d4890a0778dc2d6fe19 - sha512sums = 3cb8f88c1bffc753d0c540be5d25a0fdb9224478cca64743b5663340f2f26b197775286e6e680228db54c614dcd11da1135e625674a622127681662bec4fa886 + sha512sums = 32580b82e97573d3e499821e2ce415ff134c0ec52c9b44a3c0862c4007d347f55636d6afac3dfc6831a9b384c7448075bdf3a12f369b4d8b62b24dfdb9c8a76a + sha512sums = 05a3b19a2132c8c3048a66f2d06a9f8790e9c84c9ebdacc358456e38c5ebc8c02c542838f6aca3301f19ae83bc9fda66e701c682624dd5cf9fb119e452338a56 sha512sums = 299dcc7094ce53474521356647bdd2fb069731c08d14a872a425412fcd72da840727a23664b12d95465bf313e8e8297da31259508d1c62cc2dcea596160e21c5 sha512sums = 0d6bc3d928cfafe4e4e0bc04dbb95c5d2b078573e4f9e0576e7f53a8fab08a7077202f575d74a3960248c4904b5f7f0661bf17dbe163c524ab51dd30e3cb80f7 sha512sums = 2b50b25e8680878f7974fa9d519df7e141ca11c4bfe84a92a5d01bb193f034b1726ea05b3c0030bad1fbda8dbb78bf1dc7b73859053581b55ba813c39b27d9dc @@ -101,7 +101,7 @@ pkgname = systemd-git license = CC0-1.0 license = GPL-2.0-or-later license = MIT-0 - depends = systemd-libs-git=258.rc3.r83398.46a688c5598 + depends = systemd-libs-git=259.devel.r83944.613f7f26aa7 depends = acl depends = libacl.so depends = bash @@ -137,7 +137,7 @@ pkgname = systemd-git optdepends = apparmor: additional security features optdepends = quota-tools: kernel-level quota management optdepends = systemd-sysvcompat: symlink package to provide sysvinit binaries - optdepends = systemd-ukify-git=258.rc3.r83398.46a688c5598: combine kernel and initrd into a signed Unified Kernel Image + optdepends = systemd-ukify-git=259.devel.r83944.613f7f26aa7: combine kernel and initrd into a signed Unified Kernel Image optdepends = polkit: allow administration as unprivileged user optdepends = curl: systemd-journal-upload, machinectl pull-tar and pull-raw optdepends = gnutls: systemd-journal-gatewayd and systemd-journal-remote @@ -150,9 +150,9 @@ pkgname = systemd-git optdepends = libp11-kit: support PKCS#11 optdepends = tpm2-tss: unlocking LUKS2 volumes with TPM2 provides = nss-myhostname - provides = systemd-tools=258.rc3.r83398.46a688c5598 - provides = udev=258.rc3.r83398.46a688c5598 - provides = systemd=258.rc3.r83398.46a688c5598 + provides = systemd-tools=259.devel.r83944.613f7f26aa7 + provides = udev=259.devel.r83944.613f7f26aa7 + provides = systemd=259.devel.r83944.613f7f26aa7 conflicts = nss-myhostname conflicts = systemd-tools conflicts = udev @@ -192,41 +192,41 @@ pkgname = systemd-libs-git provides = libsystemd provides = libsystemd.so provides = libudev.so - provides = systemd-libs=258.rc3.r83398.46a688c5598 + provides = systemd-libs=259.devel.r83944.613f7f26aa7 conflicts = libsystemd conflicts = systemd-libs replaces = libsystemd pkgname = systemd-resolvconf-git pkgdesc = systemd resolvconf replacement (for use with systemd-resolved) (git version) - depends = systemd-git=258.rc3.r83398.46a688c5598 + depends = systemd-git=259.devel.r83944.613f7f26aa7 provides = openresolv provides = resolvconf - provides = systemd-resolvconf=258.rc3.r83398.46a688c5598 + provides = systemd-resolvconf=259.devel.r83944.613f7f26aa7 conflicts = resolvconf conflicts = systemd-resolvconf pkgname = systemd-sysvcompat-git pkgdesc = sysvinit compat for systemd (git version) - depends = systemd-git=258.rc3.r83398.46a688c5598 - provides = systemd-sysvcompat=258.rc3.r83398.46a688c5598 + depends = systemd-git=259.devel.r83944.613f7f26aa7 + provides = systemd-sysvcompat=259.devel.r83944.613f7f26aa7 conflicts = sysvinit conflicts = systemd-sysvcompat pkgname = systemd-tests-git pkgdesc = systemd tests (git version) - depends = systemd=258.rc3.r83398.46a688c5598 - provides = systemd-tests=258.rc3.r83398.46a688c5598 + depends = systemd=259.devel.r83944.613f7f26aa7 + provides = systemd-tests=259.devel.r83944.613f7f26aa7 conflicts = systemd-tests pkgname = systemd-ukify-git pkgdesc = Combine kernel and initrd into a signed Unified Kernel Image (git version) - depends = systemd-git=258.rc3.r83398.46a688c5598 + depends = systemd-git=259.devel.r83944.613f7f26aa7 depends = binutils depends = python-cryptography depends = python-pefile optdepends = python-pillow: Show the size of splash image optdepends = sbsigntools: Sign the embedded kernel provides = ukify - provides = systemd-ukify=258.rc3.r83398.46a688c5598 + provides = systemd-ukify=259.devel.r83944.613f7f26aa7 conflicts = systemd-ukify diff --git a/0001-Use-Arch-Linux-device-access-groups.patch b/0001-Use-Arch-Linux-device-access-groups.patch index a53e094..e328c0a 100644 --- a/0001-Use-Arch-Linux-device-access-groups.patch +++ b/0001-Use-Arch-Linux-device-access-groups.patch @@ -1,10 +1,7 @@ -From 0e8c18bc2639da328274d02d9222ee2c1f6bf696 Mon Sep 17 00:00:00 2001 +From 24112f5adb393febab43dbff3a8533146b25d7a3 Mon Sep 17 00:00:00 2001 From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com> Date: Tue, 6 Mar 2018 23:39:47 +0100 Subject: [PATCH] Use Arch Linux' device access groups -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit cdrom → optical dialout → uucp @@ -17,10 +14,10 @@ Content-Transfer-Encoding: 8bit 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/meson.build b/meson.build -index 76ad51d3fb..5cf679b088 100644 +index e87c8ea2ec..8f56e87b68 100644 --- a/meson.build +++ b/meson.build -@@ -915,19 +915,19 @@ conf.set_quoted('NOBODY_GROUP_NAME', nobody_group) +@@ -949,20 +949,20 @@ conf.set_quoted('NOBODY_GROUP_NAME', nobody_group) static_ugids = [] foreach option : ['adm-gid', 'audio-gid', @@ -45,7 +42,7 @@ index 76ad51d3fb..5cf679b088 100644 'wheel-gid', 'systemd-journal-gid', diff --git a/meson_options.txt b/meson_options.txt -index c616f23297..b35d37faf2 100644 +index c616f23297..3999595c2f 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -289,12 +289,8 @@ option('adm-gid', type : 'integer', value : 0, @@ -65,7 +62,7 @@ index c616f23297..b35d37faf2 100644 description : 'soft-static allocation for the "kvm" group') option('lp-gid', type : 'integer', value : 0, description : 'soft-static allocation for the "lp" group') -+option('optical-gid', type : 'integer', value : 0, ++option('optical-gid', type : 'integer', value : '0', + description : 'soft-static allocation for the "optical" group') option('render-gid', type : 'integer', value : 0, description : 'soft-static allocation for the "render" group') @@ -73,7 +70,7 @@ index c616f23297..b35d37faf2 100644 description : 'soft-static allocation for the "sgx" group') -option('tape-gid', type : 'integer', value : 0, - description : 'soft-static allocation for the "tape" group') -+option('storage-gid', type : 'integer', value : 0, ++option('storage-gid', type : 'integer', value : '0', + description : 'soft-static allocation for the "storage" group') option('tty-gid', type : 'integer', value : 5, description : 'the numeric GID of the "tty" group') @@ -81,25 +78,25 @@ index c616f23297..b35d37faf2 100644 description : 'soft-static allocation for the "users" group') option('utmp-gid', type : 'integer', value : 0, description : 'soft-static allocation for the "utmp" group') -+option('uucp-gid', type : 'integer', value : 0, ++option('uucp-gid', type : 'integer', value : '0', + description : 'soft-static allocation for the "uucp" group') option('video-gid', type : 'integer', value : 0, description : 'soft-static allocation for the "video" group') option('wheel-gid', type : 'integer', value : 0, diff --git a/rules.d/50-udev-default.rules.in b/rules.d/50-udev-default.rules.in -index 843bdaf9ce..a192f091df 100644 +index 078a78ad1a..c54ef92943 100644 --- a/rules.d/50-udev-default.rules.in +++ b/rules.d/50-udev-default.rules.in -@@ -26,7 +26,7 @@ SUBSYSTEM=="tty", KERNEL=="sclp_line[0-9]*", GROUP="tty", MODE="0620" - SUBSYSTEM=="tty", KERNEL=="ttysclp[0-9]*", GROUP="tty", MODE="0620" - SUBSYSTEM=="tty", KERNEL=="3270/tty[0-9]*", GROUP="tty", MODE="0620" +@@ -41,7 +41,7 @@ SUBSYSTEM=="tty", KERNEL=="ptmx", GROUP="tty", MODE="0666" + SUBSYSTEM=="tty", KERNEL=="tty", GROUP="tty", MODE="0666" + SUBSYSTEM=="tty", KERNEL=="tty[0-9]*|hvc[0-9]*|sclp_line[0-9]*|ttysclp[0-9]*|3270/tty[0-9]*", GROUP="tty", MODE="{{TTY_MODE}}" SUBSYSTEM=="vc", KERNEL=="vcs*|vcsa*", GROUP="tty" -KERNEL=="tty[A-Z]*[0-9]|ttymxc[0-9]*|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="dialout" +KERNEL=="tty[A-Z]*[0-9]|ttymxc[0-9]*|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="uucp" SUBSYSTEM=="mem", KERNEL=="mem|kmem|port", GROUP="kmem", MODE="0640" -@@ -72,13 +72,13 @@ KERNEL=="irlpt[0-9]*", GROUP="lp" +@@ -88,13 +88,13 @@ KERNEL=="irlpt[0-9]*", GROUP="lp" SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="*:0701??:*", GROUP="lp" SUBSYSTEM=="block", GROUP="disk" @@ -120,10 +117,10 @@ index 843bdaf9ce..a192f091df 100644 KERNEL=="qft[0-9]*|nqft[0-9]*|zqft[0-9]*|nzqft[0-9]*|rawqft[0-9]*|nrawqft[0-9]*", GROUP="disk" KERNEL=="loop-control", GROUP="disk", OPTIONS+="static_node=loop-control" diff --git a/sysusers.d/basic.conf.in b/sysusers.d/basic.conf.in -index a602b872e4..8d38febb6a 100644 +index 503a4c4dac..0052690d97 100644 --- a/sysusers.d/basic.conf.in +++ b/sysusers.d/basic.conf.in -@@ -23,17 +23,17 @@ g utmp {{UTMP_GID }} - - +@@ -24,18 +24,18 @@ g utmp {{UTMP_GID }} - - # Physical and virtual hardware access groups g audio {{AUDIO_GID }} - - @@ -145,7 +142,3 @@ index a602b872e4..8d38febb6a 100644 g video {{VIDEO_GID }} - - # Default group for normal users - - --- - @@ -10,7 +10,7 @@ pkgname=('systemd-git' 'systemd-tests-git' 'systemd-ukify-git') pkgdesc='systemd (git version)' -pkgver=258.rc3.r83398.46a688c5598 +pkgver=259.devel.r83944.613f7f26aa7 pkgrel=1 arch=('x86_64') license=('LGPL-2.1-or-later') @@ -47,12 +47,12 @@ source=("$pkgbase-stable::git+https://github.com/systemd/systemd" '30-systemd-udev-reload.hook' '30-systemd-update.hook') sha512sums=('SKIP' - '1f7d48dea49c8adedf5a2be60861052b44c6ff7a4249218c2d7c779d357e1543e111c15d97beda5685e42805501f9e6c025152b942d8a5a8b882b3cdff2a11d6' + 'beb15210d8afe69e1e47c99a81da5967428ccc64ece85b8a843333cb741eda061ae7a91a79cec8a1136a624e93e63140013986499589bf10edcc52d865729377' '61032d29241b74a0f28446f8cf1be0e8ec46d0847a61dadb2a4f096e8686d5f57fe5c72bcf386003f6520bc4b5856c32d63bf3efe7eb0bc0deefc9f68159e648' - 'c416e2121df83067376bcaacb58c05b01990f4614ad9de657d74b6da3efa441af251d13bf21e3f0f71ddcb4c9ea658b81da3d915667dc5c309c87ec32a1cb5a5' + '3194d1f8bff31b88a79657df83632b9224b66ca2cf8fd806a3ef35cf7a43f46c09c57f3dfd02256a99b6514a8f789b7d3bcfd7e17e00e34aa55ff0c6cedb5f01' '5a1d78b5170da5abe3d18fdf9f2c3a4d78f15ba7d1ee9ec2708c4c9c2e28973469bc19386f70b3cf32ffafbe4fcc4303e5ebbd6d5187a1df3314ae0965b25e75' - 'b90c99d768dc2a4f020ba854edf45ccf1b86a09d2f66e475de21fe589ff7e32c33ef4aa0876d7f1864491488fd7edb2682fc0d68e83a6d4890a0778dc2d6fe19' - '3cb8f88c1bffc753d0c540be5d25a0fdb9224478cca64743b5663340f2f26b197775286e6e680228db54c614dcd11da1135e625674a622127681662bec4fa886' + '32580b82e97573d3e499821e2ce415ff134c0ec52c9b44a3c0862c4007d347f55636d6afac3dfc6831a9b384c7448075bdf3a12f369b4d8b62b24dfdb9c8a76a' + '05a3b19a2132c8c3048a66f2d06a9f8790e9c84c9ebdacc358456e38c5ebc8c02c542838f6aca3301f19ae83bc9fda66e701c682624dd5cf9fb119e452338a56' '299dcc7094ce53474521356647bdd2fb069731c08d14a872a425412fcd72da840727a23664b12d95465bf313e8e8297da31259508d1c62cc2dcea596160e21c5' '0d6bc3d928cfafe4e4e0bc04dbb95c5d2b078573e4f9e0576e7f53a8fab08a7077202f575d74a3960248c4904b5f7f0661bf17dbe163c524ab51dd30e3cb80f7' '2b50b25e8680878f7974fa9d519df7e141ca11c4bfe84a92a5d01bb193f034b1726ea05b3c0030bad1fbda8dbb78bf1dc7b73859053581b55ba813c39b27d9dc' @@ -85,15 +85,16 @@ build() { local _timeservers=({0..3}.arch.pool.ntp.org) local _nameservers=( # We use these public name services, ordered by their privacy policy (hopefully): - # * Cloudflare (https://1.1.1.1/) - # * Quad9 (https://www.quad9.net/) - # * Google (https://developers.google.com/speed/public-dns/) - '1.1.1.1#cloudflare-dns.com' + # * Quad9 (https://quad9.net/privacy/policy/) '9.9.9.9#dns.quad9.net' - '8.8.8.8#dns.google' - '2606:4700:4700::1111#cloudflare-dns.com' '2620:fe::9#dns.quad9.net' + # * Cloudflare (https://developers.cloudflare.com/1.1.1.1/privacy/public-dns-resolver/) + '1.1.1.1#cloudflare-dns.com' + '2606:4700:4700::1111#cloudflare-dns.com' + # * Google (https://developers.google.com/speed/public-dns/privacy) + '8.8.8.8#dns.google' '2001:4860:4860::8888#dns.google' + # You do not agree? Fine, change it in your local configuration. ) local _meson_options=( @@ -116,9 +117,6 @@ build() { -Dvmlinux-h=provided -Dvmlinux-h-path=/usr/src/linux/vmlinux.h - # We disable DNSSEC by default, it still causes trouble: - # https://github.com/systemd/systemd/issues/10579 - -Ddbuspolicydir=/usr/share/dbus-1/system.d -Ddefault-dnssec=no -Ddefault-kill-user-processes=false @@ -158,6 +156,8 @@ package_systemd-git() { 'GPL-2.0-or-later' # udev 'MIT-0' # documentation and config files ) + # Not all libs are linked, but opened via dlopen() pointed out by 6511918 at + # https://aur.archlinux.org/pkgbase/systemd-git#comment-1041291 depends=("systemd-libs-git=${pkgver}" 'acl' 'libacl.so' 'bash' 'cryptsetup' 'libcryptsetup.so' 'dbus' 'dbus-units' 'kbd' 'kmod' 'hwdata' 'libcap' 'libcap.so' diff --git a/loader.conf b/loader.conf index 1f7cd7e..7563949 100644 --- a/loader.conf +++ b/loader.conf @@ -1 +1 @@ -default arch +default arch.conf diff --git a/systemd-hook b/systemd-hook index d64341f..0a13f20 100644 --- a/systemd-hook +++ b/systemd-hook @@ -1,6 +1,6 @@ #!/bin/sh -e -is_chrooted() { +skip_chrooted() { if systemd-detect-virt --chroot; then echo >&2 " Skipped: Running in chroot." exit 0 @@ -8,15 +8,17 @@ is_chrooted() { } systemd_live() { - is_chrooted - if [ ! -d /run/systemd/system ]; then + skip_chrooted + + if ! systemd-notify --booted; then echo >&2 " Skipped: Current root is not booted." exit 0 fi } udevd_live() { - is_chrooted + systemd_live + if [ ! -S /run/udev/control ]; then echo >&2 " Skipped: Device manager is not running." exit 0 @@ -39,7 +41,7 @@ case "$op" in ;; daemon-reload-user) systemd_live - /usr/bin/systemctl kill --kill-whom='main' --signal='SIGHUP' 'user@*.service' + /usr/bin/systemctl reload 'user@*.service' ;; hwdb) /usr/bin/systemd-hwdb --usr update @@ -66,12 +68,24 @@ case "$op" in fi ;; + # marked with 'systemctl set-property ... Markers=needs-restart' + restart-marked) + systemd_live + /usr/bin/systemctl reload-or-restart --marked + ;; + # For use by other packages reload) systemd_live /usr/bin/systemctl try-reload-or-restart "$@" ;; + # For use by other packages + restart) + systemd_live + /usr/bin/systemctl try-restart "$@" + ;; + *) echo >&2 " Invalid operation '$op'" exit 1 diff --git a/systemd-user.pam b/systemd-user.pam index 83f7626..8442643 100644 --- a/systemd-user.pam +++ b/systemd-user.pam @@ -1,5 +1,10 @@ # Used by systemd --user instances. -account include system-login -session required pam_loginuid.so -session include system-login +account include system-login + +session required pam_loginuid.so +session optional pam_keyinit.so force revoke +session include system-auth +session optional pam_umask.so +session optional pam_systemd.so +session required pam_env.so diff --git a/systemd.install b/systemd.install index 9f01f18..33e9d0e 100644 --- a/systemd.install +++ b/systemd.install @@ -4,10 +4,11 @@ sd_booted() { [[ -d run/systemd/system && ! -L run/systemd/system ]] } -add_journal_acls() { - # ignore errors, since the filesystem might not support ACLs - setfacl -Rnm g:wheel:rx,d:g:wheel:rx,g:adm:rx,d:g:adm:rx var/log/journal/ 2>/dev/null - : +services_needing_restart() { + systemctl list-units --state=running --plain --quiet 'systemd-*.service' \ + | cut -d' ' -f1 \ + | grep -Ev '^systemd-(logind|networkd)\.service$' \ + | grep -Ev '^systemd-.*@.*\.service$' } post_common() { @@ -24,8 +25,6 @@ post_install() { post_common "$@" - add_journal_acls - # enable some services by default, but don't track them systemctl enable \ getty@tty1.service \ @@ -41,8 +40,25 @@ post_upgrade() { post_common "$@" if sd_booted; then + # reexec systemd system instance systemctl --system daemon-reexec - systemctl kill --kill-whom='main' --signal='SIGRTMIN+25' 'user@*.service' + + # reexec systemd user instances + systemctl reload 'user@*.service' + + # mark systemd services for later restart + for UNIT in $(services_needing_restart); do + systemctl set-property --runtime "${UNIT}" Markers=needs-restart + done + fi + + # show for feature release: 255 -> 256 -> 257 -> ... + if [ $(vercmp "${1%%[!0-9]*}" "${2%%[!0-9]*}") -ne 0 ]; then + cat <<-EOM + :: This is a systemd feature update. You may want to have a look at + NEWS for what changed, or if you observe unexpected behavior: + /usr/share/doc/systemd/NEWS + EOM fi local v upgrades=( |
