PLATFORM_IF_MATCH(linux)
PLATFORM_ELSE
PLATFORM_ENDIF
# Make "this encap is installed" sentinal file available in /usr/local/var/encap
test -d var || mkdir var
test -d var/encap || mkdir var/encap
touch var/encap/${ENCAP_PKGNAME}
/dev/null
then
echo 'inittab contains an SV: line. I assume that runsvdir is already running.
'
else
echo 'Adding runsvdir to inittab...'
rm -f /etc/inittab'{new}'
cat /etc/inittab inittab.boot > /etc/inittab'{new}'
mv -f /etc/inittab'{new}' /etc/inittab
kill -HUP 1
echo 'init should start runsvdir now.
'
fi
]]>/dev/null
then
echo 'Backing up inittab to .inittab.backup...'
rm -f /etc/.inittab.backup
cp -f /etc/inittab /etc/.inittab.backup
echo 'Removing svscan lines from inittab...'
rm -f /etc/inittab'{new}'
grep -v SV: /etc/inittab > /etc/inittab'{new}'
mv -f /etc/inittab'{new}' /etc/inittab
kill -HUP 1
echo 'init should stop runsvdir now.
'
else
echo 'inittab does not contain a runsvdir line.
'
fi
]]> $LOG 2>&1
printf "Running runit postinstall script...\n"
date
test -d /usr/local/var || mkdir /usr/local/var
test -d /usr/local/var/svlogd || mkdir /usr/local/var/svlog
test -d /usr/local/var/service || mkdir /usr/local/var/service
test -d /usr/local/etc || mkdir /usr/local/etc
test -d /usr/local/etc/default || mkdir /usr/local/etc/default
test -d /usr/local/etc/sv || mkdir /usr/local/etc/sv
for service in `ls /usr/local/etc/sv`; do
test -d /usr/local/etc/sv/$service/supervise && rm -rf /usr/local/etc/sv/$service/supervise
test -d /usr/local/etc/sv/$service/log/supervise && rm -rf /usr/local/etc/sv/$service/log/supervise
done
if [ -d /usr/local/var/service/.disabled ]; then
for service in `ls /usr/local/var/service/.disabled`; do
if [ -h /usr/local/var/service/$service ]; then
rm /usr/local/var/service/.disabled/$service
else
mv /usr/local/var/service/.disabled/$service /usr/local/var/service/
fi
done
fi
if [ -f /etc/inittab ]; then
printf "Installing to /etc/inittab ...\n"
cd ${ENCAP_SOURCE}/${ENCAP_PKGNAME} && ./inittab-install
fi
if [ -d /etc/event.d ]; then
printf "Installing to /etc/event.d/SV (Upstart) ...\n"
initctl stop SV 2>/dev/null || true
cd ${ENCAP_SOURCE}/${ENCAP_PKGNAME} && cp upstart.boot /etc/event.d/SV
initctl start SV
fi
printf "Finished runit postinstall script.\n"
]]>/dev/null || printf "No services to disable.\n"
printf "Waiting 7 more seconds for runsv processes to die...\n"
sleep 7
for service in `ls /usr/local/etc/sv`; do
test -d /usr/local/etc/sv/$service/supervise && rm -rf /usr/local/etc/sv/$service/supervise
test -d /usr/local/etc/sv/$service/log/supervise && rm -rf /usr/local/etc/sv/$service/log/supervise
done
printf "Finished runit preremove script.\n"
]]>
description runit - a UNIX init scheme with service supervision