mirror of
https://github.com/xcat2/xcat-core.git
synced 2026-07-31 18:19:40 +00:00
fix(packaging): preserve custom SysV runlevels
This commit is contained in:
@@ -270,7 +270,10 @@ unregister_legacy_init()
|
||||
|
||||
disable_systemd_init()
|
||||
{
|
||||
if [ -z "$compat_root" ] && command -v systemctl >/dev/null 2>&1; then
|
||||
disable_mode=${1:-host-tools}
|
||||
|
||||
if [ "$disable_mode" != links-only ] &&
|
||||
[ -z "$compat_root" ] && command -v systemctl >/dev/null 2>&1; then
|
||||
systemctl disable xcatd.service >/dev/null 2>&1 || true
|
||||
fi
|
||||
|
||||
@@ -414,7 +417,14 @@ case "${1:-}" in
|
||||
unregister_legacy_init
|
||||
;;
|
||||
disable-systemd)
|
||||
disable_systemd_init
|
||||
case "${2:-}" in
|
||||
'') disable_systemd_init ;;
|
||||
--links-only) disable_systemd_init links-only ;;
|
||||
*)
|
||||
echo "Usage: $0 disable-systemd [--links-only]" >&2
|
||||
exit 2
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
unregister-all)
|
||||
unregister_all_init
|
||||
@@ -430,7 +440,7 @@ case "${1:-}" in
|
||||
remove_managed_legacy_init
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {uses-systemd [--explicit-target]|legacy-state|legacy-transition-state|systemd-state|register-legacy {enabled|disabled}|unregister-legacy|disable-systemd|unregister-all|configure [--replace] [--explicit-target] [--track-managed]|remove|remove-managed}" >&2
|
||||
echo "Usage: $0 {uses-systemd [--explicit-target]|legacy-state|legacy-transition-state|systemd-state|register-legacy {enabled|disabled}|unregister-legacy|disable-systemd [--links-only]|unregister-all|configure [--replace] [--explicit-target] [--track-managed]|remove|remove-managed}" >&2
|
||||
exit 2
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -521,7 +521,8 @@ if [ "$1" = "1" ]; then #Only if installing for the first time..
|
||||
legacy_xcatd_state=$("$xcatd_init_compat" legacy-state)
|
||||
case "$legacy_xcatd_state" in
|
||||
enabled|disabled)
|
||||
"$xcatd_init_compat" register-legacy "$legacy_xcatd_state"
|
||||
# Preserve any pre-existing administrator runlevel layout.
|
||||
:
|
||||
;;
|
||||
*)
|
||||
if [ "$("$xcatd_init_compat" systemd-state)" != masked ]; then
|
||||
@@ -552,8 +553,9 @@ if [ "$1" -gt "1" ]; then #only on upgrade...
|
||||
systemctl enable xcatd.service
|
||||
fi
|
||||
else
|
||||
legacy_xcatd_registration=$("$xcatd_init_compat" legacy-state)
|
||||
legacy_xcatd_state=$("$xcatd_init_compat" legacy-transition-state)
|
||||
"$xcatd_init_compat" disable-systemd
|
||||
"$xcatd_init_compat" disable-systemd --links-only
|
||||
|
||||
# systemctl may delegate to systemd-sysv-install and recreate K links for
|
||||
# a pre-existing SysV script. Restore the captured unregistered or masked
|
||||
@@ -570,7 +572,9 @@ if [ "$1" -gt "1" ]; then #only on upgrade...
|
||||
|
||||
case "$legacy_xcatd_state" in
|
||||
enabled|disabled)
|
||||
"$xcatd_init_compat" register-legacy "$legacy_xcatd_state"
|
||||
if [ "$legacy_xcatd_registration" = unregistered ]; then
|
||||
"$xcatd_init_compat" register-legacy "$legacy_xcatd_state"
|
||||
fi
|
||||
;;
|
||||
masked|unregistered)
|
||||
;;
|
||||
|
||||
Reference in New Issue
Block a user