aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile1
-rw-r--r--initscripts.spec1
-rwxr-xr-xservice14
3 files changed, 12 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index 688c510b..87aad620 100644
--- a/Makefile
+++ b/Makefile
@@ -144,6 +144,7 @@ install:
ln -s rc.d/$$i $(ROOT)/etc/$$i; \
done
+ mkdir -p -m 755 $(ROOT)/usr/libexec/initscripts/legacy-actions
syntax-check:
diff --git a/initscripts.spec b/initscripts.spec
index e57e71dd..128c2b2c 100644
--- a/initscripts.spec
+++ b/initscripts.spec
@@ -285,6 +285,7 @@ rm -rf $RPM_BUILD_ROOT
%ghost %verify(not md5 size mtime) %config(noreplace,missingok) /etc/crypttab
%dir /etc/tmpfiles.d
/etc/tmpfiles.d/initscripts.conf
+%dir /usr/libexec/initscripts/legacy-actions
%files legacy
%defattr(-,root,root)
diff --git a/service b/service
index 6aabd6fc..86b6f29f 100755
--- a/service
+++ b/service
@@ -5,8 +5,10 @@
VERSION="$(basename $0) ver. 0.91"
USAGE="Usage: $(basename $0) < option > | --status-all | \
[ service_name [ command | --full-restart ] ]"
-SERVICE=
SERVICEDIR="/etc/init.d"
+ACTIONDIR="/usr/libexec/initscripts/legacy-actions"
+SERVICE=
+ACTION=
OPTIONS=
if [ $# -eq 0 ]; then
@@ -58,6 +60,8 @@ while [ $# -gt 0 ]; do
fi
elif [ -z "${SERVICE}" ]; then
SERVICE="${1}"
+ elif [ -z "${ACTION}" ]; then
+ ACTION="${1}"
else
OPTIONS="${OPTIONS} ${1}"
fi
@@ -67,8 +71,10 @@ while [ $# -gt 0 ]; do
done
if [ -f "${SERVICEDIR}/${SERVICE}" ]; then
- env -i PATH="$PATH" TERM="$TERM" SYSTEMCTL_IGNORE_DEPENDENCIES=${SYSTEMCTL_IGNORE_DEPENDENCIES} SYSTEMCTL_SKIP_REDIRECT=${SYSTEMCTL_SKIP_REDIRECT} "${SERVICEDIR}/${SERVICE}" ${OPTIONS}
+ env -i PATH="$PATH" TERM="$TERM" SYSTEMCTL_IGNORE_DEPENDENCIES=${SYSTEMCTL_IGNORE_DEPENDENCIES} SYSTEMCTL_SKIP_REDIRECT=${SYSTEMCTL_SKIP_REDIRECT} "${SERVICEDIR}/${SERVICE}" ${ACTION} ${OPTIONS}
+elif [ -x "${ACTIONDIR}/${SERVICE}/${ACTION}" ]; then
+ env -i PATH="$PATH" TERM="$TERM" SYSTEMCTL_IGNORE_DEPENDENCIES=${SYSTEMCTL_IGNORE_DEPENDENCIES} SYSTEMCTL_SKIP_REDIRECT=${SYSTEMCTL_SKIP_REDIRECT} "${ACTIONDIR}/${SERVICE}/${ACTION}" ${OPTIONS}
else
- echo $"Redirecting to /bin/systemctl ${OPTIONS} ${SERVICE}.service" >&2
- exec /bin/systemctl ${OPTIONS} ${SERVICE}.service
+ echo $"Redirecting to /bin/systemctl ${ACTION} ${OPTIONS} ${SERVICE}.service" >&2
+ exec /bin/systemctl ${ACTION} ${OPTIONS} ${SERVICE}.service
fi