diff --git a/trunk/0002-use-full-path-in-systemd-units.patch b/trunk/0002-use-full-path-in-systemd-units.patch new file mode 100644 index 0000000..1a25d0e --- /dev/null +++ b/trunk/0002-use-full-path-in-systemd-units.patch @@ -0,0 +1,548 @@ +diff --git a/meson.build b/meson.build +index 227fe097a8..e6406aa605 100644 +--- a/meson.build ++++ b/meson.build +@@ -292,6 +292,7 @@ substs.set('userenvgeneratordir', userenvgeneratordi + substs.set('systemshutdowndir', systemshutdowndir) + substs.set('systemsleepdir', systemsleepdir) + substs.set('CERTIFICATEROOT', get_option('certificate-root')) ++substs.set('SYSTEMCTL', join_paths(rootbindir, 'systemctl')) + substs.set('RANDOM_SEED', join_paths(randomseeddir, 'random-seed')) + substs.set('SYSTEM_SYSVINIT_PATH', sysvinit_path) + substs.set('SYSTEM_SYSVRCND_PATH', sysvrcnd_path) +diff --git a/units/initrd-cleanup.service b/units/initrd-cleanup.service.in +similarity index 88% +rename from units/initrd-cleanup.service +rename to units/initrd-cleanup.service.in +index 1120ef3eff..5acec45c33 100644 +--- a/units/initrd-cleanup.service ++++ b/units/initrd-cleanup.service.in +@@ -17,4 +17,4 @@ After=initrd-root-fs.target initrd-fs.target initrd.target + + [Service] + Type=oneshot +-ExecStart=systemctl --no-block isolate initrd-switch-root.target ++ExecStart=@rootbindir@/systemctl --no-block isolate initrd-switch-root.target +diff --git a/units/initrd-parse-etc.service b/units/initrd-parse-etc.service.in +similarity index 77% +rename from units/initrd-parse-etc.service +rename to units/initrd-parse-etc.service.in +index 94a9719b50..e63478a4ab 100644 +--- a/units/initrd-parse-etc.service ++++ b/units/initrd-parse-etc.service.in +@@ -18,7 +18,7 @@ AssertPathExists=/etc/initrd-release + + [Service] + Type=oneshot +-ExecStartPre=-systemctl daemon-reload ++ExecStartPre=-@rootbindir@/systemctl daemon-reload + # we have to retrigger initrd-fs.target after daemon-reload +-ExecStart=-systemctl --no-block start initrd-fs.target +-ExecStart=systemctl --no-block start initrd-cleanup.service ++ExecStart=-@rootbindir@/systemctl --no-block start initrd-fs.target ++ExecStart=@rootbindir@/systemctl --no-block start initrd-cleanup.service +diff --git a/units/initrd-switch-root.service b/units/initrd-switch-root.service.in +similarity index 89% +rename from units/initrd-switch-root.service +rename to units/initrd-switch-root.service.in +index 682b8af875..e21dbacc96 100644 +--- a/units/initrd-switch-root.service ++++ b/units/initrd-switch-root.service.in +@@ -17,4 +17,4 @@ AllowIsolate=yes + + [Service] + Type=oneshot +-ExecStart=systemctl --no-block switch-root /sysroot ++ExecStart=@rootbindir@/systemctl --no-block switch-root /sysroot +diff --git a/units/initrd-udevadm-cleanup-db.service b/units/initrd-udevadm-cleanup-db.service.in +similarity index 93% +rename from units/initrd-udevadm-cleanup-db.service +rename to units/initrd-udevadm-cleanup-db.service.in +index 0d66080de7..7576a6aba6 100644 +--- a/units/initrd-udevadm-cleanup-db.service ++++ b/units/initrd-udevadm-cleanup-db.service.in +@@ -17,4 +17,4 @@ Before=initrd-switch-root.target + + [Service] + Type=oneshot +-ExecStart=-udevadm info --cleanup-db ++ExecStart=-@rootbindir@/udevadm info --cleanup-db +diff --git a/units/meson.build b/units/meson.build +index aa2ed115ea..16e7493f2a 100644 +--- a/units/meson.build ++++ b/units/meson.build +@@ -26,14 +26,10 @@ units = [ + ['hibernate.target', 'ENABLE_HIBERNATE'], + ['hybrid-sleep.target', 'ENABLE_HIBERNATE'], + ['suspend-then-hibernate.target', 'ENABLE_HIBERNATE'], +- ['initrd-cleanup.service', 'ENABLE_INITRD'], + ['initrd-fs.target', 'ENABLE_INITRD'], +- ['initrd-parse-etc.service', 'ENABLE_INITRD'], + ['initrd-root-device.target', 'ENABLE_INITRD'], + ['initrd-root-fs.target', 'ENABLE_INITRD'], +- ['initrd-switch-root.service', 'ENABLE_INITRD'], + ['initrd-switch-root.target', 'ENABLE_INITRD'], +- ['initrd-udevadm-cleanup-db.service', 'ENABLE_INITRD'], + ['initrd.target', 'ENABLE_INITRD'], + ['kexec.target', ''], + ['ldconfig.service', 'ENABLE_LDCONFIG', +@@ -90,24 +86,13 @@ units = [ + ['system-update-cleanup.service', ''], + ['systemd-ask-password-console.path', '', + 'sysinit.target.wants/'], +- ['systemd-ask-password-console.service', ''], + ['systemd-ask-password-wall.path', '', + 'multi-user.target.wants/'], +- ['systemd-ask-password-wall.service', ''], +- ['systemd-boot-system-token.service', 'ENABLE_EFI', +- 'sysinit.target.wants/'], + ['systemd-coredump.socket', 'ENABLE_COREDUMP', + 'sockets.target.wants/'], +- ['systemd-exit.service', ''], +- ['systemd-firstboot.service', 'ENABLE_FIRSTBOOT', +- 'sysinit.target.wants/'], +- ['systemd-halt.service', ''], +- ['systemd-initctl.socket', 'HAVE_SYSV_COMPAT', ++ ['systemd-exit.service', ''], ++ ['systemd-initctl.socket', '', + 'sockets.target.wants/'], +- ['systemd-journal-catalog-update.service', '', +- 'sysinit.target.wants/'], +- ['systemd-journal-flush.service', '', +- 'sysinit.target.wants/'], + ['systemd-journal-gatewayd.socket', 'ENABLE_REMOTE HAVE_MICROHTTPD'], + ['systemd-journal-remote.socket', 'ENABLE_REMOTE HAVE_MICROHTTPD'], + ['systemd-journald-audit.socket', '', +@@ -116,32 +101,18 @@ units = [ + 'sockets.target.wants/'], + ['systemd-journald.socket', '', + 'sockets.target.wants/'], +- ['systemd-kexec.service', ''], +- ['systemd-machine-id-commit.service', '', +- 'sysinit.target.wants/'], +- ['systemd-journald@.socket', ''], +- ['systemd-journald-varlink@.socket', ''], ++ ['systemd-userdbd.socket', 'ENABLE_USERDB', ++ 'sockets.target.wants/'], + ['systemd-networkd.socket', 'ENABLE_NETWORKD'], +- ['systemd-poweroff.service', ''], +- ['systemd-reboot.service', ''], ++ ['systemd-poweroff.service', ''], ++ ['systemd-reboot.service', ''], + ['systemd-rfkill.socket', 'ENABLE_RFKILL'], +- ['systemd-sysusers.service', 'ENABLE_SYSUSERS', +- 'sysinit.target.wants/'], +- ['systemd-tmpfiles-clean.service', 'ENABLE_TMPFILES'], + ['systemd-tmpfiles-clean.timer', 'ENABLE_TMPFILES', + 'timers.target.wants/'], +- ['systemd-tmpfiles-setup-dev.service', 'ENABLE_TMPFILES', +- 'sysinit.target.wants/'], +- ['systemd-tmpfiles-setup.service', 'ENABLE_TMPFILES', +- 'sysinit.target.wants/'], + ['systemd-udevd-control.socket', '', + 'sockets.target.wants/'], +- ['systemd-udev-settle.service', ''], +- ['systemd-udev-trigger.service', '', +- 'sysinit.target.wants/'], + ['systemd-udevd-kernel.socket', '', + 'sockets.target.wants/'], +- ['systemd-userdbd.socket', 'ENABLE_USERDB'], + ['time-set.target', ''], + ['time-sync.target', ''], + ['timers.target', ''], +@@ -156,20 +127,31 @@ units = [ + in_units = [ + ['debug-shell.service', ''], + ['emergency.service', ''], ++ ['initrd-cleanup.service', 'ENABLE_INITRD'], ++ ['initrd-parse-etc.service', 'ENABLE_INITRD'], ++ ['initrd-switch-root.service', 'ENABLE_INITRD'], ++ ['initrd-udevadm-cleanup-db.service', 'ENABLE_INITRD'], + ['kmod-static-nodes.service', 'HAVE_KMOD ENABLE_TMPFILES', + 'sysinit.target.wants/'], + ['quotaon.service', 'ENABLE_QUOTACHECK'], + ['rc-local.service', 'HAVE_SYSV_COMPAT'], + ['rescue.service', ''], ++ ['systemd-ask-password-console.service', ''], ++ ['systemd-ask-password-wall.service', ''], + ['systemd-backlight@.service', 'ENABLE_BACKLIGHT'], + ['systemd-binfmt.service', 'ENABLE_BINFMT', + 'sysinit.target.wants/'], + ['systemd-bless-boot.service', 'ENABLE_EFI HAVE_BLKID'], + ['systemd-boot-check-no-failures.service', ''], ++ ['systemd-boot-system-token.service', 'ENABLE_EFI', ++ 'sysinit.target.wants/'], + ['systemd-coredump@.service', 'ENABLE_COREDUMP'], + ['systemd-pstore.service', 'ENABLE_PSTORE'], ++ ['systemd-firstboot.service', 'ENABLE_FIRSTBOOT', ++ 'sysinit.target.wants/'], + ['systemd-fsck-root.service', ''], + ['systemd-fsck@.service', ''], ++ ['systemd-halt.service', ''], + ['systemd-hibernate-resume@.service', 'ENABLE_HIBERNATE'], + ['systemd-hibernate.service', 'ENABLE_HIBERNATE'], + ['systemd-hybrid-sleep.service', 'ENABLE_HIBERNATE'], +@@ -181,16 +163,23 @@ in_units = [ + ['systemd-importd.service', 'ENABLE_IMPORTD', + 'dbus-org.freedesktop.import1.service'], + ['systemd-initctl.service', 'HAVE_SYSV_COMPAT'], ++ ['systemd-journal-catalog-update.service', '', ++ 'sysinit.target.wants/'], ++ ['systemd-journal-flush.service', '', ++ 'sysinit.target.wants/'], + ['systemd-journal-gatewayd.service', 'ENABLE_REMOTE HAVE_MICROHTTPD'], + ['systemd-journal-remote.service', 'ENABLE_REMOTE HAVE_MICROHTTPD'], + ['systemd-journal-upload.service', 'ENABLE_REMOTE HAVE_LIBCURL'], + ['systemd-journald.service', '', + 'sysinit.target.wants/'], + ['systemd-journald@.service', ''], ++ ['systemd-kexec.service', ''], + ['systemd-localed.service', 'ENABLE_LOCALED', + 'dbus-org.freedesktop.locale1.service'], + ['systemd-logind.service', 'ENABLE_LOGIND', + 'multi-user.target.wants/ dbus-org.freedesktop.login1.service'], ++ ['systemd-machine-id-commit.service', '', ++ 'sysinit.target.wants/'], + ['systemd-machined.service', 'ENABLE_MACHINED', + 'dbus-org.freedesktop.machine1.service'], + ['systemd-modules-load.service', 'HAVE_KMOD', +@@ -212,10 +201,20 @@ in_units = [ + ['systemd-suspend.service', ''], + ['systemd-sysctl.service', '', + 'sysinit.target.wants/'], ++ ['systemd-sysusers.service', 'ENABLE_SYSUSERS', ++ 'sysinit.target.wants/'], + ['systemd-timedated.service', 'ENABLE_TIMEDATED', + 'dbus-org.freedesktop.timedate1.service'], + ['systemd-timesyncd.service', 'ENABLE_TIMESYNCD'], + ['systemd-time-wait-sync.service', 'ENABLE_TIMESYNCD'], ++ ['systemd-tmpfiles-clean.service', 'ENABLE_TMPFILES'], ++ ['systemd-tmpfiles-setup-dev.service', 'ENABLE_TMPFILES', ++ 'sysinit.target.wants/'], ++ ['systemd-tmpfiles-setup.service', 'ENABLE_TMPFILES', ++ 'sysinit.target.wants/'], ++ ['systemd-udev-settle.service', ''], ++ ['systemd-udev-trigger.service', '', ++ 'sysinit.target.wants/'], + ['systemd-udevd.service', '', + 'sysinit.target.wants/'], + ['systemd-update-done.service', '', +diff --git a/units/systemd-ask-password-console.service b/units/systemd-ask-password-console.service.in +similarity index 90% +rename from units/systemd-ask-password-console.service +rename to units/systemd-ask-password-console.service.in +index 6ee4c253a3..60fa7c3200 100644 +--- a/units/systemd-ask-password-console.service ++++ b/units/systemd-ask-password-console.service.in +@@ -17,5 +17,5 @@ Before=shutdown.target + ConditionPathExists=!/run/plymouth/pid + + [Service] +-ExecStart=systemd-tty-ask-password-agent --watch --console ++ExecStart=@rootbindir@/systemd-tty-ask-password-agent --watch --console + SystemCallArchitectures=native +diff --git a/units/systemd-ask-password-wall.service b/units/systemd-ask-password-wall.service.in +similarity index 68% +rename from units/systemd-ask-password-wall.service +rename to units/systemd-ask-password-wall.service.in +index 52a3037cd4..1e4808b6d5 100644 +--- a/units/systemd-ask-password-wall.service ++++ b/units/systemd-ask-password-wall.service.in +@@ -13,6 +13,6 @@ Documentation=man:systemd-ask-password-console.service(8) + After=systemd-user-sessions.service + + [Service] +-ExecStartPre=-systemctl stop systemd-ask-password-console.path systemd-ask-password-console.service systemd-ask-password-plymouth.path systemd-ask-password-plymouth.service +-ExecStart=systemd-tty-ask-password-agent --wall ++ExecStartPre=-@SYSTEMCTL@ stop systemd-ask-password-console.path systemd-ask-password-console.service systemd-ask-password-plymouth.path systemd-ask-password-plymouth.service ++ExecStart=@rootbindir@/systemd-tty-ask-password-agent --wall + SystemCallArchitectures=native +diff --git a/units/systemd-boot-system-token.service b/units/systemd-boot-system-token.service.in +similarity index 96% +rename from units/systemd-boot-system-token.service +rename to units/systemd-boot-system-token.service.in +index 8aead02417..e9b742c5c7 100644 +--- a/units/systemd-boot-system-token.service ++++ b/units/systemd-boot-system-token.service.in +@@ -31,4 +31,4 @@ ConditionPathExists=|!/sys/firmware/efi/efivars/LoaderRandomSeed-4a67b082-0a4c-4 + [Service] + Type=oneshot + RemainAfterExit=yes +-ExecStart=bootctl random-seed --graceful ++ExecStart=@bindir@/bootctl random-seed --graceful +diff --git a/units/systemd-firstboot.service b/units/systemd-firstboot.service.in +similarity index 87% +rename from units/systemd-firstboot.service +rename to units/systemd-firstboot.service.in +index 9f5c7101cd..d4deba90b7 100644 +--- a/units/systemd-firstboot.service ++++ b/units/systemd-firstboot.service.in +@@ -20,7 +20,7 @@ ConditionFirstBoot=yes + [Service] + Type=oneshot + RemainAfterExit=yes +-ExecStart=systemd-firstboot --prompt-locale --prompt-timezone --prompt-root-password ++ExecStart=@rootbindir@/systemd-firstboot --prompt-locale --prompt-timezone --prompt-root-password + StandardOutput=tty + StandardInput=tty + StandardError=tty +diff --git a/units/systemd-halt.service b/units/systemd-halt.service.in +similarity index 93% +rename from units/systemd-halt.service +rename to units/systemd-halt.service.in +index cd16d1de20..09c1005829 100644 +--- a/units/systemd-halt.service ++++ b/units/systemd-halt.service.in +@@ -16,4 +16,4 @@ After=shutdown.target umount.target final.target + + [Service] + Type=oneshot +-ExecStart=systemctl --force halt ++ExecStart=@SYSTEMCTL@ --force halt +diff --git a/units/systemd-hwdb-update.service.in b/units/systemd-hwdb-update.service.in +index 9887018a1f..259fe0de8b 100644 +--- a/units/systemd-hwdb-update.service.in ++++ b/units/systemd-hwdb-update.service.in +@@ -22,5 +22,5 @@ ConditionDirectoryNotEmpty=|/etc/udev/hwdb.d/ + [Service] + Type=oneshot + RemainAfterExit=yes +-ExecStart=systemd-hwdb update ++ExecStart=@rootbindir@/systemd-hwdb update + TimeoutSec=90s +diff --git a/units/systemd-journal-catalog-update.service b/units/systemd-journal-catalog-update.service.in +similarity index 93% +rename from units/systemd-journal-catalog-update.service +rename to units/systemd-journal-catalog-update.service.in +index 6db55a5490..18b2739ffa 100644 +--- a/units/systemd-journal-catalog-update.service ++++ b/units/systemd-journal-catalog-update.service.in +@@ -19,5 +19,5 @@ ConditionNeedsUpdate=/var + [Service] + Type=oneshot + RemainAfterExit=yes +-ExecStart=journalctl --update-catalog ++ExecStart=@rootbindir@/journalctl --update-catalog + TimeoutSec=90s +diff --git a/units/systemd-journal-flush.service b/units/systemd-journal-flush.service.in +similarity index 87% +rename from units/systemd-journal-flush.service +rename to units/systemd-journal-flush.service.in +index 0f45743fa0..29b006cba5 100644 +--- a/units/systemd-journal-flush.service ++++ b/units/systemd-journal-flush.service.in +@@ -17,8 +17,8 @@ Before=systemd-tmpfiles-setup.service + RequiresMountsFor=/var/log/journal + + [Service] +-ExecStart=journalctl --flush +-ExecStop=journalctl --smart-relinquish-var ++ExecStart=@rootbindir@/journalctl --flush ++ExecStop=@rootbindir@/journalctl --smart-relinquish-var + Type=oneshot + RemainAfterExit=yes + TimeoutSec=90s +diff --git a/units/systemd-kexec.service b/units/systemd-kexec.service.in +similarity index 93% +rename from units/systemd-kexec.service +rename to units/systemd-kexec.service.in +index 7413e1d6b1..1201b23289 100644 +--- a/units/systemd-kexec.service ++++ b/units/systemd-kexec.service.in +@@ -16,4 +16,4 @@ After=shutdown.target umount.target final.target + + [Service] + Type=oneshot +-ExecStart=systemctl --force kexec ++ExecStart=@SYSTEMCTL@ --force kexec +diff --git a/units/systemd-machine-id-commit.service b/units/systemd-machine-id-commit.service.in +similarity index 92% +rename from units/systemd-machine-id-commit.service +rename to units/systemd-machine-id-commit.service.in +index e3acb0f326..4f348730ee 100644 +--- a/units/systemd-machine-id-commit.service ++++ b/units/systemd-machine-id-commit.service.in +@@ -20,5 +20,5 @@ ConditionPathIsMountPoint=/etc/machine-id + [Service] + Type=oneshot + RemainAfterExit=yes +-ExecStart=systemd-machine-id-setup --commit ++ExecStart=@rootbindir@/systemd-machine-id-setup --commit + TimeoutSec=30s +diff --git a/units/systemd-nspawn@.service.in b/units/systemd-nspawn@.service.in +index c91c92707e..66deff7966 100644 +--- a/units/systemd-nspawn@.service.in ++++ b/units/systemd-nspawn@.service.in +@@ -18,7 +18,7 @@ RequiresMountsFor=/var/lib/machines/%i + + [Service] + # Make sure the DeviceAllow= lines below can properly resolve the 'block-loop' expression (and others) +-ExecStart=systemd-nspawn --quiet --keep-unit --boot --link-journal=try-guest --network-veth -U --settings=override --machine=%i ++ExecStart=@bindir@/systemd-nspawn --quiet --keep-unit --boot --link-journal=try-guest --network-veth -U --settings=override --machine=%i + KillMode=mixed + Type=notify + RestartForceExitStatus=133 +diff --git a/units/systemd-sysusers.service b/units/systemd-sysusers.service.in +similarity index 94% +rename from units/systemd-sysusers.service +rename to units/systemd-sysusers.service.in +index da05e0eb1b..4d11bbb762 100644 +--- a/units/systemd-sysusers.service ++++ b/units/systemd-sysusers.service.in +@@ -19,5 +19,5 @@ ConditionNeedsUpdate=/etc + [Service] + Type=oneshot + RemainAfterExit=yes +-ExecStart=systemd-sysusers ++ExecStart=@rootbindir@/systemd-sysusers + TimeoutSec=90s +diff --git a/units/systemd-tmpfiles-clean.service b/units/systemd-tmpfiles-clean.service.in +similarity index 92% +rename from units/systemd-tmpfiles-clean.service +rename to units/systemd-tmpfiles-clean.service.in +index f20bb143ef..5d70aafb29 100644 +--- a/units/systemd-tmpfiles-clean.service ++++ b/units/systemd-tmpfiles-clean.service.in +@@ -17,6 +17,6 @@ Before=shutdown.target + + [Service] + Type=oneshot +-ExecStart=systemd-tmpfiles --clean ++ExecStart=@rootbindir@/systemd-tmpfiles --clean + SuccessExitStatus=DATAERR + IOSchedulingClass=idle +diff --git a/units/systemd-tmpfiles-setup-dev.service b/units/systemd-tmpfiles-setup-dev.service.in +similarity index 90% +rename from units/systemd-tmpfiles-setup-dev.service +rename to units/systemd-tmpfiles-setup-dev.service.in +index 1027823859..ed52db4953 100644 +--- a/units/systemd-tmpfiles-setup-dev.service ++++ b/units/systemd-tmpfiles-setup-dev.service.in +@@ -18,5 +18,5 @@ Before=sysinit.target local-fs-pre.target systemd-udevd.service shutdown.target + [Service] + Type=oneshot + RemainAfterExit=yes +-ExecStart=systemd-tmpfiles --prefix=/dev --create --boot ++ExecStart=@rootbindir@/systemd-tmpfiles --prefix=/dev --create --boot + SuccessExitStatus=DATAERR CANTCREAT +diff --git a/units/systemd-tmpfiles-setup.service b/units/systemd-tmpfiles-setup.service.in +similarity index 89% +rename from units/systemd-tmpfiles-setup.service +rename to units/systemd-tmpfiles-setup.service.in +index 29799ee81c..32a475d715 100644 +--- a/units/systemd-tmpfiles-setup.service ++++ b/units/systemd-tmpfiles-setup.service.in +@@ -19,5 +19,5 @@ RefuseManualStop=yes + [Service] + Type=oneshot + RemainAfterExit=yes +-ExecStart=systemd-tmpfiles --create --remove --boot --exclude-prefix=/dev ++ExecStart=@rootbindir@/systemd-tmpfiles --create --remove --boot --exclude-prefix=/dev + SuccessExitStatus=DATAERR CANTCREAT +diff --git a/units/systemd-udev-settle.service b/units/systemd-udev-settle.service.in +similarity index 95% +rename from units/systemd-udev-settle.service +rename to units/systemd-udev-settle.service.in +index 9352c6f598..b9376c38ee 100644 +--- a/units/systemd-udev-settle.service ++++ b/units/systemd-udev-settle.service.in +@@ -24,4 +24,4 @@ ConditionPathIsReadWrite=/sys + Type=oneshot + TimeoutSec=180 + RemainAfterExit=yes +-ExecStart=udevadm settle ++ExecStart=@rootbindir@/udevadm settle +diff --git a/units/systemd-udev-trigger.service b/units/systemd-udev-trigger.service.in +similarity index 82% +rename from units/systemd-udev-trigger.service +rename to units/systemd-udev-trigger.service.in +index cfe8d61c2a..6c6a1b3ff6 100644 +--- a/units/systemd-udev-trigger.service ++++ b/units/systemd-udev-trigger.service.in +@@ -19,5 +19,5 @@ ConditionPathIsReadWrite=/sys + [Service] + Type=oneshot + RemainAfterExit=yes +-ExecStart=udevadm trigger --type=subsystems --action=add +-ExecStart=udevadm trigger --type=devices --action=add ++ExecStart=@rootbindir@/udevadm trigger --type=subsystems --action=add ++ExecStart=@rootbindir@/udevadm trigger --type=devices --action=add +diff --git a/units/systemd-udevd.service.in b/units/systemd-udevd.service.in +index 9ada3a6a74..b375292153 100644 +--- a/units/systemd-udevd.service.in ++++ b/units/systemd-udevd.service.in +@@ -25,7 +25,7 @@ Sockets=systemd-udevd-control.socket systemd-udevd-kernel.socket + Restart=always + RestartSec=0 + ExecStart=@rootlibexecdir@/systemd-udevd +-ExecReload=udevadm control --reload --timeout 0 ++ExecReload=@rootbindir@/udevadm control --reload --timeout 0 + KillMode=mixed + TasksMax=infinity + PrivateMounts=yes +diff --git a/units/user/meson.build b/units/user/meson.build +index 33732e7d59..4a0c239b3b 100644 +--- a/units/user/meson.build ++++ b/units/user/meson.build +@@ -13,11 +13,9 @@ units = [ + 'smartcard.target', + 'sockets.target', + 'sound.target', ++ 'timers.target', + 'systemd-exit.service', +- 'systemd-tmpfiles-clean.service', + 'systemd-tmpfiles-clean.timer', +- 'systemd-tmpfiles-setup.service', +- 'timers.target', + ] + + if conf.get('ENABLE_XDG_AUTOSTART') == 1 +@@ -28,3 +26,17 @@ foreach file : units + install_data(file, + install_dir : userunitdir) + endforeach ++ ++in_units = [ ++ 'systemd-tmpfiles-clean.service', ++ 'systemd-tmpfiles-setup.service', ++] ++ ++foreach file : in_units ++ gen = configure_file( ++ input : file + '.in', ++ output : file, ++ configuration : substs) ++ install_data(gen, ++ install_dir : userunitdir) ++endforeach +diff --git a/units/user/systemd-tmpfiles-clean.service b/units/user/systemd-tmpfiles-clean.service.in +similarity index 91% +rename from units/user/systemd-tmpfiles-clean.service +rename to units/user/systemd-tmpfiles-clean.service.in +index 3be0de5f7d..306b064e89 100644 +--- a/units/user/systemd-tmpfiles-clean.service ++++ b/units/user/systemd-tmpfiles-clean.service.in +@@ -16,6 +16,6 @@ Before=basic.target shutdown.target + + [Service] + Type=oneshot +-ExecStart=systemd-tmpfiles --user --clean ++ExecStart=@rootbindir@/systemd-tmpfiles --user --clean + SuccessExitStatus=DATAERR + IOSchedulingClass=idle +diff --git a/units/user/systemd-tmpfiles-setup.service b/units/user/systemd-tmpfiles-setup.service.in +similarity index 90% +rename from units/user/systemd-tmpfiles-setup.service +rename to units/user/systemd-tmpfiles-setup.service.in +index c4b29cbe8c..a852ef5748 100644 +--- a/units/user/systemd-tmpfiles-setup.service ++++ b/units/user/systemd-tmpfiles-setup.service.in +@@ -18,7 +18,7 @@ RefuseManualStop=yes + [Service] + Type=oneshot + RemainAfterExit=yes +-ExecStart=systemd-tmpfiles --user --create --remove --boot ++ExecStart=@rootbindir@/systemd-tmpfiles --user --create --remove --boot + SuccessExitStatus=DATAERR + + [Install] diff --git a/trunk/PKGBUILD b/trunk/PKGBUILD index 14f4427..1668f0c 100644 --- a/trunk/PKGBUILD +++ b/trunk/PKGBUILD @@ -6,7 +6,7 @@ pkgbase=systemd pkgname=('systemd' 'systemd-libs' 'systemd-resolvconf' 'systemd-sysvcompat') _tag='7fb880ddf101b871f68aae0d86db652e2c13c5db' # git rev-parse v${pkgver} pkgver=246.1 -pkgrel=1 +pkgrel=2 arch=('x86_64') url='https://www.github.com/systemd/systemd' makedepends=('acl' 'cryptsetup' 'docbook-xsl' 'gperf' 'lz4' 'xz' 'pam' 'libelf' @@ -21,6 +21,7 @@ validpgpkeys=('63CDA1E5D3FC22B998D20DD6327F26951A015CC4' # Lennart Poettering < source=("git+https://github.com/systemd/systemd-stable#tag=${_tag}?signed" "git+https://github.com/systemd/systemd#tag=v${pkgver%.*}?signed" '0001-Use-Arch-Linux-device-access-groups.patch' + '0002-use-full-path-in-systemd-units.patch' 'initcpio-hook-udev' 'initcpio-install-systemd' 'initcpio-install-udev' @@ -41,6 +42,7 @@ source=("git+https://github.com/systemd/systemd-stable#tag=${_tag}?signed" sha512sums=('SKIP' 'SKIP' 'e38c7c422c82953f9c2476a5ab8009d614cbec839e4088bff5db7698ddc84e3d8ed64f32ed323f57b1913c5c9703546f794996cb415ed7cdda930b627962a3c4' + 'b8a145705c8c46d5b29854433c2f3a5ce2e26a157f251c3b73cfecb59a9e82713ce1f99c22d033f8b03daba286a558029c71ab7b266e663e3a0bd627b5211d19' 'f0d933e8c6064ed830dec54049b0a01e27be87203208f6ae982f10fb4eddc7258cb2919d594cbfb9a33e74c3510cfd682f3416ba8e804387ab87d1a217eb4b73' 'f1f0bc599eb73b96f81e5413a55617ab82978d057dc0cabf226d225bb836a967fe13b84c4f24f64c074b6568026ab81d457512ff20a5918892c47a3a603eaa6e' 'a25b28af2e8c516c3a2eec4e64b8c7f70c21f974af4a955a4a9d45fd3e3ff0d2a98b4419fe425d47152d5acae77d64e69d8d014a7209524b75a81b0edb10bf3a' @@ -83,6 +85,11 @@ prepare() { # Replace cdrom/dialout/tape groups with optical/uucp/storage patch -Np1 -i ../0001-Use-Arch-Linux-device-access-groups.patch + + # Add full path in unit files for systemd bins + # Essentially reverts https://github.com/systemd/systemd/commit/cdc6804b6046282a42117678751c126a022cd24a + # Fixes FS#67517 https://bugs.archlinux.org/task/67517?project=1&string=systemd + patch -Np1 -i ../0002-use-full-path-in-systemd-units.patch } build() {