From 5a167af30fd0c3db9d92613bd68820c6716eff5b Mon Sep 17 00:00:00 2001 From: Michael Olbrich Date: Sun, 29 Jul 2012 21:20:25 +0200 Subject: rc-one: use systemd system-update mechanism Signed-off-by: Michael Olbrich --- generic/lib/systemd/system/rc-once.target | 8 -------- generic/lib/systemd/systemd-rc-once | 4 ++-- rules/rc-once.make | 5 ++--- rules/rc-once.postinst | 4 ++-- 4 files changed, 6 insertions(+), 15 deletions(-) delete mode 100644 generic/lib/systemd/system/rc-once.target diff --git a/generic/lib/systemd/system/rc-once.target b/generic/lib/systemd/system/rc-once.target deleted file mode 100644 index 89f18c2ee..000000000 --- a/generic/lib/systemd/system/rc-once.target +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=System setup -DefaultDependencies=no -After=rc-once.service -Requires=rc-once.service - -[Install] -Alias=default.target diff --git a/generic/lib/systemd/systemd-rc-once b/generic/lib/systemd/systemd-rc-once index 5ecc5e5a3..42a9e04c0 100644 --- a/generic/lib/systemd/systemd-rc-once +++ b/generic/lib/systemd/systemd-rc-once @@ -6,7 +6,7 @@ start() { mount_root_rw || exit 1 if run_rc_once; then - systemctl disable --quiet rc-once.target + rm -f /system-update fi systemctl daemon-reexec sleep 1 @@ -17,7 +17,7 @@ umount() { if ! mount_root_restore; then # remounting rw/ro during the second boot will flush anything # left in the filesystem journal - systemctl enable --quiet rc-once.target + ln -sf /etc/rc.once.d /system-update systemctl reboot else systemctl default diff --git a/rules/rc-once.make b/rules/rc-once.make index f01bbe9d8..aaed7443b 100644 --- a/rules/rc-once.make +++ b/rules/rc-once.make @@ -48,9 +48,8 @@ ifdef PTXCONF_INITMETHOD_SYSTEMD @$(call install_alternative, rc-once, 0, 0, 0644, \ /lib/systemd/system/rc-once.service) - @$(call install_alternative, rc-once, 0, 0, 0644, \ - /lib/systemd/system/rc-once.target) - @$(call install_copy, rc-once, 0, 0, 0755, /etc/systemd/system) + @$(call install_link, rc-once, ../rc-once.service, \ + /lib/systemd/system/system-update.target.wants/rc-once.service) endif @$(call install_copy, rc-once, 0, 0, 0755, /etc/rc.once.d) diff --git a/rules/rc-once.postinst b/rules/rc-once.postinst index f80a334cb..a7368bde1 100644 --- a/rules/rc-once.postinst +++ b/rules/rc-once.postinst @@ -1,6 +1,6 @@ #!/bin/sh -if [ -f "$DESTDIR/lib/systemd/system/rc-once.target" ]; then - ln -sf /lib/systemd/system/rc-once.target $DESTDIR/etc/systemd/system/default.target +if [ -f "$DESTDIR/lib/systemd/system/rc-once.service" ]; then + ln -sf etc/rc.once.d $DESTDIR/system-update fi -- cgit v1.2.3