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
|
#!/bin/sh
set -e
#keep until trixie+1: remove /etc/runit/2 from inittab so that it's replaced
# by /etc/runit/runsvdir-start
if [ "$1" = configure ] && dpkg --compare-versions "$2" le-nl 2.1.2-59; then
if [ -f /etc/inittab ]; then
awk '
/^#runit-sysv maintscript -- BEGIN/ { flag = 1 }
{ if (flag == 0) print; }
/^#runit-sysv maintscript -- END/ { flag = 0 }
' /etc/inittab > /etc/inittab.tmp
sed -i '${/^$/d}' /etc/inittab.tmp
mv /etc/inittab.tmp /etc/inittab
fi
fi
#end keep
rescan_inittab () {
# other inits maintain a compat initctl pipe, so we check that is not
# systemd, that initctl exists and that sysvinit-core is installed
if [ ! -d /run/systemd/system ] && [ -e /run/initctl ] ; then
if [ -e /sbin/telinit ] ; then
# rescan inittab to pick new entry
telinit q
fi
fi
}
write_inittab () {
if ! grep -q '^#runit-sysv maintscript -- BEGIN' /etc/inittab ; then
cat /etc/inittab - <<EOF > /etc/inittab.tmp
#runit-sysv maintscript -- BEGIN
SV:123456:respawn:/etc/runit/runsvdir-start
#runit-sysv maintscript -- END
EOF
mv /etc/inittab.tmp /etc/inittab
rescan_inittab
fi
}
if [ -f /etc/inittab ]; then
write_inittab
fi
case "$1" in
triggered)
write_inittab
;;
esac
#DEBHELPER#
|