From 3686c619c00b04e4104565532bbad2e76c8fab2c Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Mon, 27 May 2024 19:00:35 +0200 Subject: make soft-reboot functionality mandatory This makes sure /run is preserved, and allows us to implement some more functionality later on. --- bin/pacman-offline | 13 ++++--------- systemd/pacman-offline | 4 ++-- systemd/pacman-offline-reboot.service | 4 ++-- 3 files changed, 8 insertions(+), 13 deletions(-) diff --git a/bin/pacman-offline b/bin/pacman-offline index a8474e2..7ca2d25 100755 --- a/bin/pacman-offline +++ b/bin/pacman-offline @@ -99,17 +99,12 @@ pacman --config /run/pacman.conf --sync --noconfirm --sysupgrade --downloadonly # enable system update ln -sf /var/cache/pacman/pkg /system-update -# reboot if requested +# (soft-)reboot if requested if [ ${REBOOT} -eq 1 ]; then - if systemctl --dry-run soft-reboot 2>/dev/null; then - echo "Soft-rebooting for update." - systemctl soft-reboot - else - echo "Rebooting for update." - systemctl reboot - fi + echo "Soft-rebooting for update." + systemctl soft-reboot # force a soft-reboot on (manual) reboot -elif [ -e /usr/lib/systemd/system/systemd-soft-reboot.service ]; then +else ln -sf ../../../usr/lib/systemd/system/systemd-soft-reboot.service /run/systemd/system/systemd-reboot.service systemctl daemon-reload fi diff --git a/systemd/pacman-offline b/systemd/pacman-offline index 973dc01..bacf696 100755 --- a/systemd/pacman-offline +++ b/systemd/pacman-offline @@ -32,8 +32,8 @@ pacman --config /run/pacman.conf --sync --noconfirm --sysupgrade # clean up package cache pacman --sync --noconfirm --clean -# reboot -if [ -s "/usr/lib/modules/$(uname -r)/pkgbase" ] && systemctl --dry-run soft-reboot 2>/dev/null; then +# (soft-)reboot +if [ -s "/usr/lib/modules/$(uname -r)/pkgbase" ]; then systemctl soft-reboot else systemctl reboot diff --git a/systemd/pacman-offline-reboot.service b/systemd/pacman-offline-reboot.service index 26dca94..c131d70 100644 --- a/systemd/pacman-offline-reboot.service +++ b/systemd/pacman-offline-reboot.service @@ -6,9 +6,9 @@ # (at your option) any later version. [Unit] -Description=Reboot for pacman offline system-update +Description=Soft-reboot for pacman offline system-update ConditionPathExists=/system-update [Service] Type=oneshot -ExecStart=/bin/sh -c "if systemctl --dry-run soft-reboot 2>/dev/null; then systemctl soft-reboot; else systemctl reboot; fi" +ExecStart=/usr/bin/systemctl soft-reboot -- cgit v1.2.3-70-g09d2