B #163: Enable services on upgrade

Also enables support for Alpine post-upgrade script with warning
if it's necessary to run update-conf to apply new version of files
in /etc:

```
...
Executing one-context-6.1.80-r0.20210809gitbcd3c5b.post-upgrade
WARNING: Run update-conf to process any updated one-context files in /etc!
Executing busybox-1.33.1-r2.trigger
Executing eudev-3.2.10-r0.trigger
OK: 148 MiB in 118 packages

$ update-conf -l
//etc/one-context.d/loc-09-timezone
//etc/one-context.d/loc-30-console
//etc/one-context.d/loc-10-network
//etc/one-context.d/loc-16-gen-env
```

Closes #163
pull/244/head
Vlastimil Holer 4 years ago
parent bcd3c5b43a
commit 3176c6a635
No known key found for this signature in database
GPG Key ID: EB549BADEFD07C53

@ -47,6 +47,12 @@ elif which rc-update >/dev/null 2>&1; then
rc-update add "${S}" boot >/dev/null 2>&1
done
# When existing file is changed, the new one might be created with
# .apk-new suffix. Such files need to be processed by update-conf.
if update-conf -al | grep -q context; then
echo 'WARNING: Run update-conf to process any updated one-context files in /etc!' >&2
fi
elif [ -x /bin/freebsd-version ]; then
:

@ -1,7 +1,56 @@
#!/usr/bin/env bash
# Reload udev rules
udevadm control --reload >/dev/null 2>&1 || :
if which systemctl >/dev/null 2>&1 && [ -d /etc/systemd ]; then
### Enable services ########################################
SERVICES=${SERVICES:-one-context-local one-context-online one-context}
if which systemctl >/dev/null 2>&1 && \
[ -d /etc/systemd ] && \
[ -f /usr/lib/systemd/system/one-context.service ];
then
systemctl daemon-reload >/dev/null 2>&1 || :
for S in ${SERVICES}; do
systemctl enable "${S}.service" >/dev/null 2>&1
done
fi
if which chkconfig >/dev/null 2>&1; then
for S in ${SERVICES}; do
chkconfig --add "${S}" >/dev/null 2>&1
done
# EL6: refresh initramfs via dracut for growroot module
if [ -f /usr/share/dracut/modules.d/50growroot/install ]; then
for I in $(find /boot -name 'initramfs-*.img'); do
KERNEL_VERS=$(echo "${I}" | sed -e 's/.*initramfs-\(.*\)\.img/\1/')
dracut -f "${I}" "${KERNEL_VERS}" || :
done
fi
elif which update-rc.d >/dev/null 2>&1; then
for S in ${SERVICES}; do
update-rc.d "${S}" enable >/dev/null 2>&1
update-rc.d "${S}" defaults >/dev/null 2>&1
done
elif which rc-update >/dev/null 2>&1; then
for S in ${SERVICES}; do
rc-update add "${S}" boot >/dev/null 2>&1
done
# When existing file is changed, the new one might be created with
# .apk-new suffix. Such files need to be processed by update-conf.
if update-conf -al | grep -q context; then
echo 'WARNING: Run update-conf to process any updated one-context files in /etc!' >&2
fi
elif [ -x /bin/freebsd-version ]; then
:
else
echo 'WARNING: Contextualization service not enabled automatically' >&2
fi

@ -136,7 +136,7 @@ case "${TARGET}" in
POSTIN=${POSTINST:-pkg/postinstall}
PREUN=${PREUN:-pkg/preuninstall}
POSTUN=${POSTUN:-pkg/postuninstall}
POSTUP=${POSTUP:-} # FPM 1.9.3 bug: https://github.com/jordansissel/fpm/blob/v1.9.3/lib/fpm/package/apk.rb#L149
POSTUP=${POSTUP:-pkg/postupgrade}
;;
'iso')

Loading…
Cancel
Save