[systemd-devel] [PATCH 2/2] units/: use @SYSTEMCTL@ instead of hardcoded paths

Dave Reisner dreisner at archlinux.org
Tue Apr 3 21:22:21 PDT 2012


Especially in the case of --enable-split-usr, several units will point
to the wrong location for systemctl. Use @SYSTEMCTL@ which will always
contain the proper path.
---
 Makefile.am                                        |    6 ++++--
 units/.gitignore                                   |    1 +
 ...hell.service.m4 => console-shell.service.m4.in} |    2 +-
 units/{emergency.service => emergency.service.in}  |    2 +-
 units/{rescue.service.m4 => rescue.service.m4.in}  |    2 +-
 units/systemd-ask-password-wall.service.in         |    4 ++--
 6 files changed, 10 insertions(+), 7 deletions(-)
 rename units/{console-shell.service.m4 => console-shell.service.m4.in} (96%)
 rename units/{emergency.service => emergency.service.in} (94%)
 rename units/{rescue.service.m4 => rescue.service.m4.in} (95%)

diff --git a/Makefile.am b/Makefile.am
index 2b04142..3cb50d8 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -338,6 +338,7 @@ nodist_systemunit_DATA = \
 	units/systemd-ask-password-console.service \
 	units/systemd-sysctl.service \
 	units/halt.service \
+	units/emergency.service \
 	units/poweroff.service \
 	units/reboot.service \
 	units/kexec.service \
@@ -359,8 +360,8 @@ nodist_userunit_DATA = \
 EXTRA_DIST += \
 	units/getty at .service.m4 \
 	units/serial-getty at .service.m4 \
-	units/console-shell.service.m4 \
-	units/rescue.service.m4 \
+	units/console-shell.service.m4.in \
+	units/rescue.service.m4.in \
 	units/systemd-initctl.service.in \
 	units/systemd-shutdownd.service.in \
 	units/systemd-modules-load.service.in \
@@ -372,6 +373,7 @@ EXTRA_DIST += \
 	units/systemd-ask-password-wall.service.in \
 	units/systemd-ask-password-console.service.in \
 	units/systemd-sysctl.service.in \
+	units/emergency.service.in \
 	units/halt.service.in \
 	units/poweroff.service.in \
 	units/reboot.service.in \
diff --git a/units/.gitignore b/units/.gitignore
index f3b3cef..3cf6423 100644
--- a/units/.gitignore
+++ b/units/.gitignore
@@ -40,6 +40,7 @@ systemd-update-utmp-runlevel.service
 systemd-update-utmp-shutdown.service
 test-env-replace
 systemd-binfmt.service
+emergency.service
 /udev-settle.service
 /udev-trigger.service
 /udev.service
diff --git a/units/console-shell.service.m4 b/units/console-shell.service.m4.in
similarity index 96%
rename from units/console-shell.service.m4
rename to units/console-shell.service.m4.in
index fef9e1b..b0ced10 100644
--- a/units/console-shell.service.m4
+++ b/units/console-shell.service.m4.in
@@ -32,7 +32,7 @@ Before=getty.target
 Environment=HOME=/root
 WorkingDirectory=/root
 ExecStart=-/sbin/sulogin
-ExecStopPost=-/bin/systemctl poweroff
+ExecStopPost=- at SYSTEMCTL@ poweroff
 StandardInput=tty-force
 StandardOutput=inherit
 StandardError=inherit
diff --git a/units/emergency.service b/units/emergency.service.in
similarity index 94%
rename from units/emergency.service
rename to units/emergency.service.in
index 43a74d7..11ff472 100644
--- a/units/emergency.service
+++ b/units/emergency.service.in
@@ -19,7 +19,7 @@ WorkingDirectory=/root
 ExecStartPre=-/bin/plymouth quit
 ExecStartPre=-/bin/echo 'Welcome to emergency mode. Use "systemctl default" or ^D to enter default mode.'
 ExecStart=-/sbin/sulogin
-ExecStopPost=/bin/systemctl --fail --no-block default
+ExecStopPost=@SYSTEMCTL@ --fail --no-block default
 StandardInput=tty-force
 StandardOutput=inherit
 StandardError=inherit
diff --git a/units/rescue.service.m4 b/units/rescue.service.m4.in
similarity index 95%
rename from units/rescue.service.m4
rename to units/rescue.service.m4.in
index 310bbce..df0b54f 100644
--- a/units/rescue.service.m4
+++ b/units/rescue.service.m4.in
@@ -32,7 +32,7 @@ m4_ifdef(`TARGET_MEEGO',
 `EnvironmentFile=/etc/sysconfig/init
 ExecStart=-/bin/bash -c "exec ${SINGLE}"',
 `ExecStart=-/sbin/sulogin'))))
-ExecStopPost=-/bin/systemctl --fail --no-block default
+ExecStopPost=- at SYSTEMCTL@ --fail --no-block default
 StandardInput=tty-force
 StandardOutput=inherit
 StandardError=inherit
diff --git a/units/systemd-ask-password-wall.service.in b/units/systemd-ask-password-wall.service.in
index 71ec1d6..d8e27bf 100644
--- a/units/systemd-ask-password-wall.service.in
+++ b/units/systemd-ask-password-wall.service.in
@@ -10,6 +10,6 @@ Description=Forward Password Requests to Wall
 After=systemd-user-sessions.service
 
 [Service]
-ExecStartPre=- at rootbindir@/systemctl stop systemd-ask-password-console.path systemd-ask-password-console.service
-ExecStartPre=- at rootbindir@/systemctl stop systemd-ask-password-plymouth.path systemd-ask-password-plymouth.service
+ExecStartPre=- at SYSTEMCTL@ stop systemd-ask-password-console.path systemd-ask-password-console.service
+ExecStartPre=- at SYSTEMCTL@ stop systemd-ask-password-plymouth.path systemd-ask-password-plymouth.service
 ExecStart=@rootbindir@/systemd-tty-ask-password-agent --wall
-- 
1.7.9.6



More information about the systemd-devel mailing list