0112879c29
No use to distinguish between "on" and "off" each iteration when the resulting files with differing names should end up identical.
44 lines
1.1 KiB
Bash
Executable File
44 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# this script piggybacks service status information
|
|
# into the system to be installed (instead of applying
|
|
# it to rootfs being formed immediately)
|
|
|
|
# NB: install2 is not a rootfs, handling differs either
|
|
|
|
STATUS=`mktemp`
|
|
|
|
. shell-config
|
|
|
|
switch() {
|
|
case "$2" in
|
|
on|off)
|
|
shell_config_set "$STATUS" "$1" "$2";;
|
|
esac
|
|
}
|
|
|
|
# defaults (most likely features.in ones)
|
|
for i in $GLOBAL_DEFAULT_SERVICES_ENABLE; do switch $i on; done
|
|
for i in $GLOBAL_DEFAULT_SERVICES_DISABLE; do switch $i off; done
|
|
|
|
# explicitly specified behaviour (e.g. via conf.d)
|
|
for i in $GLOBAL_SERVICES_ENABLE; do switch $i on; done
|
|
for i in $GLOBAL_SERVICES_DISABLE; do switch $i off; done
|
|
|
|
SERVICES="$GLOBAL_DEFAULT_SERVICES_ENABLE $GLOBAL_DEFAULT_SERVICES_DISABLE"
|
|
SERVICES="$SERVICES $GLOBAL_SERVICES_ENABLE $GLOBAL_SERVICES_DISABLE"
|
|
SERVICES="$(echo $SERVICES | sort -u)"
|
|
|
|
for i in $SERVICES; do
|
|
onoff="$(shell_config_get "$STATUS" "$i")"
|
|
[ -n "$onoff" ] || continue
|
|
echo "$i" >> /usr/share/install2/services-"$onoff"
|
|
done
|
|
|
|
cp -a /usr/share/install2/{services-on,systemd-enabled}
|
|
cp -a /usr/share/install2/{services-off,systemd-disabled}
|
|
|
|
rm "$STATUS"
|
|
|
|
:
|