1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
#!/bin/sh
set -e
# with --no-rename the *.real diverted files will not be back and the system is left without helpers!
# dpkg-divert --rename would do the job but then piuparts throws errors like
# debsums: missing file /usr/sbin/invoke-rc.d.real (from init-system-helpers package)
# so we use --no-rename and restore essential files manually; here, ; *.real files are created in prerm
if [ "$1" = "remove" ] || [ "$1" = "abort-install" ] || [ "$1" = "disappear" ] ; then
dpkg-divert --package runit-init --no-rename \
--divert /usr/sbin/invoke-rc.d.real --remove /usr/sbin/invoke-rc.d
dpkg-divert --package runit-init --no-rename \
--divert /usr/sbin/service.real --remove /usr/sbin/service
dpkg-divert --package runit-init --no-rename \
--divert /usr/share/man/man8/invoke-rc.d.8.gz.real --remove /usr/share/man/man8/invoke-rc.d.8.gz
dpkg-divert --package runit-init --no-rename \
--divert /usr/share/man/man8/service.8.gz.real --remove /usr/share/man/man8/service.8.gz
fi
#the following can be removed in after trixie +1 release (2.1.2-61 out of oldstable)
if [ "abort-upgrade" = "$1" ] && dpkg --compare-versions "$2" lt 2.1.2-61; then
dpkg-divert --package runit-init --no-rename \
--divert /usr/sbin/invoke-rc.d.real --remove /usr/sbin/invoke-rc.d
dpkg-divert --package runit-init --no-rename \
--divert /usr/sbin/service.real --remove /usr/sbin/service
dpkg-divert --package runit-init --no-rename \
--divert /usr/share/man/man8/invoke-rc.d.8.gz.real --remove /usr/share/man/man8/invoke-rc.d.8.gz
dpkg-divert --package runit-init --no-rename \
--divert /usr/share/man/man8/service.8.gz.real --remove /usr/share/man/man8/service.8.gz
fi
# dpkg-divert --no-rename does not restore files until i-s-h package is upgraded/reinstalled
# so we are restoring files here
for f in invoke-rc.d service; do
if [ ! -e /usr/sbin/"$f" ]; then
echo " $f not restored by dpkg-divert"
fi
if [ ! -e /usr/sbin/"$f" ] && [ -e /usr/sbin/"$f".real ]; then
echo " restoring $f.real into $f"
mv /usr/sbin/"$f.real" /usr/sbin/"$f"
fi
if [ ! -e /usr/sbin/"$f" ]; then
echo " no $f found! system will be broken: to fix it, please do"
echo " 'apt-get install --reinstall init-system-helpers' as soon as possbile!'"
fi
done
for f in invoke-rc.d.8.gz service.8.gz; do
if [ ! -e /usr/share/man/man8/"$f" ] && [ -e /usr/share/man/man8/"$f".real ]; then
echo " restoring $f.real into $f"
mv /usr/share/man/man8/"$f.real" /usr/share/man/man8/"$f"
fi
done
#DEBHELPER#
exit 0
|