2
0
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:
Vinícius Ferrão
2026-07-19 14:24:22 -03:00
parent 7f44bd51bf
commit bdbf7b894a
2 changed files with 20 additions and 6 deletions
@@ -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
+7 -3
View File
@@ -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)
;;