| Current Path : /var/lib/dpkg/info/ |
| Current File : //var/lib/dpkg/info/initscripts.postinst |
#! /bin/sh
#
# initscripts postinst
#
set -e
case "$1" in
configure)
PREV_VER=$2
;;
abort-upgrade|abort-remove|abort-deconfigure)
exit 0
;;
esac
umask 022
chrooted() {
if [ -r /proc/1/root ]; then
return 1
fi
return 0
}
#
# Initialize rcS default file.
#
if [ ! -f /etc/default/rcS ]
then
cp -p /usr/share/initscripts/default.rcS /etc/default/rcS
fi
#
# In 2.86.ds1-7 the "single" script was moved.
# We have to remove the old links _before_ we install new ones.
#
if dpkg --compare-versions "$PREV_VER" lt "2.86.ds1-7"
then
update-rc.d -f single remove >/dev/null
fi
# In 2.86.ds1-16, the mtab.sh and hostname.sh scripts were moved.
if dpkg --compare-versions "$PREV_VER" lt "2.86.ds1-16"
then
update-rc.d -f mtab.sh remove >/dev/null
update-rc.d -f hostname.sh remove >/dev/null
fi
# In 2.86.ds1-21, the sendsigs script were moved, and in 2.86.ds1-35
# it was moved back.
if dpkg --compare-versions "$PREV_VER" lt "2.86.ds1-35"
then
update-rc.d -f sendsigs remove >/dev/null
fi
#
# In 2.87dsf-2 the "mountoverflowtmp" script was dropped
# from runlevels 0 and 6.
# We have to remove the old links _before_ we install new ones.
#
if dpkg --compare-versions "$PREV_VER" lt "2.87dsf-2" ; then
update-rc.d -f mountoverflowtmp remove >/dev/null
fi
#
# Okay, we could do this with update-rc.d, but that would probably
# be pretty slow. This way we win some speed.
# DO NOT FOLLOW THIS EXAMPLE IN OTHER PACKAGES.
#
# Links in runlevel S
#
update-rc.d mountkernfs.sh start 02 S . >/dev/null || exit $?
update-rc.d hostname.sh start 02 S . >/dev/null || exit $?
update-rc.d mountdevsubfs.sh start 04 S . >/dev/null || exit $?
update-rc.d bootlogd start 05 S . >/dev/null || exit $?
update-rc.d checkroot.sh start 10 S . >/dev/null || exit $?
update-rc.d mtab.sh start 12 S . >/dev/null || exit $?
update-rc.d checkfs.sh start 30 S . >/dev/null || exit $?
update-rc.d mountall.sh start 35 S . >/dev/null || exit $?
update-rc.d mountall-bootclean.sh start 36 S . >/dev/null || exit $?
update-rc.d mountoverflowtmp start 37 S . >/dev/null || exit $?
update-rc.d mountnfs.sh start 45 S . >/dev/null || exit $?
update-rc.d mountnfs-bootclean.sh start 46 S . >/dev/null || exit $?
update-rc.d bootmisc.sh start 55 S . >/dev/null || exit $?
update-rc.d urandom start 55 S . start 30 0 6 . >/dev/null || exit $?
#
# Links in runlevels other than S
#
update-rc.d halt start 90 0 . >/dev/null || exit $?
update-rc.d reboot start 90 6 . >/dev/null || exit $?
update-rc.d umountroot start 60 0 6 . >/dev/null || exit $?
update-rc.d umountfs start 40 0 6 . >/dev/null || exit $?
update-rc.d umountnfs.sh start 31 0 6 . >/dev/null || exit $?
update-rc.d sendsigs start 20 0 6 . >/dev/null || exit $?
update-rc.d killprocs start 30 1 . >/dev/null || exit $?
update-rc.d single start 90 1 . >/dev/null || exit $?
update-rc.d bootlogs start 70 1 2 3 4 5 . >/dev/null || exit $?
update-rc.d rc.local start 99 2 3 4 5 . >/dev/null || exit $?
update-rc.d rmnologin start 99 2 3 4 5 . >/dev/null || exit $?
update-rc.d stop-bootlogd-single start 99 S . >/dev/null || exit $?
update-rc.d stop-bootlogd start 99 2 3 4 5 . >/dev/null || exit $?
#
# Remove scripts that were left behind by older glibc (<< 2.3.2.ds1-12)
# versions. We have the same functionality in mount{kern,devsub}fs.sh
#
#
# In 2.86.ds1-10 the "mountvirtfs" script was replaced by
# mountkernfs.sh and mountdevsubfs.sh. It was removed completely in
# 2.86.ds1-16.
#
for F in mountkernfs devpts.sh mountvirtfs
do
rm -f /etc/init.d/$F
update-rc.d $F remove >/dev/null
done
#
# Create /var/run and /var/lock on the root partition to make sure
# they are available when RAMRUN or RAMLOCK is enabled.
# If mount fail (like in a vserver environment), just clean up and ignore
# it. The admins enabling RAMRUN and RAMLOCK will have to create the
# directories themselves in this case.
#
if dpkg --compare-versions "$PREV_VER" lt "2.86.ds1-22" && ! chrooted
then
# We need to quickly bind / to another location so we can make them
# just in case /var is a mountpoint or a symlink to one.
mkdir -p /.root
if mount -n --bind / /.root ; then
if [ -L /.root/var ] && [ ! -d /.root/var ] ; then
# No use trying if /var is a relative symlink. It is not
# going to work.
:
else
mkdir -p /.root/var/run /.root/var/lock
fi
umount /.root
fi
rmdir /.root
fi
#
# When installing for the first time or upgrading from version before
# 2.86.ds1-27, a reboot is needed to make the /lib/init/rw/ tmpfs
# available. Flag this using notify-reboot-required. Not mounting it
# here as it creates problem for debootstrap, vservers, pbuilder and
# cowbuilder.
#
if dpkg --compare-versions "$PREV_VER" lt "2.86.ds1-27" \
&& [ -x /usr/share/update-notifier/notify-reboot-required ]; then
/usr/share/update-notifier/notify-reboot-required
fi
#
# Create initial log files
#
[ "$PREV_VER" ] || chmod 755 /var/log/fsck || :
for F in /var/log/dmesg /var/log/boot /var/log/fsck/checkroot /var/log/fsck/checkfs
do
if [ ! -f "$F" ] && touch "$F" >/dev/null 2>&1
then
echo "(Nothing has been logged yet.)" >| "$F"
chown root:adm "$F"
chmod 640 "$F"
fi
done
#
# Set up nologin symlink so that dynamic-login-disabling will work
# (when DELAYLOGIN is set to "yes")
#
if [ ! -L /etc/nologin ] && [ ! -e /etc/nologin ]
then
rm -f /var/lib/initscripts/nologin
ln -s /var/lib/initscripts/nologin /etc/nologin
fi
#
# Set up motd stuff, putting variable file in /var/run/
#
if [ ! -f /etc/motd.tail ]
then
if [ -f /etc/motd ]
then
sed 1d /etc/motd > /etc/motd.tail
[ -s /etc/motd.tail ] || rm -f /etc/motd.tail
fi
fi
if [ ! -f /var/run/motd ]
then
if [ -f /etc/motd ]
then
cat /etc/motd > /var/run/motd
else
:>/var/run/motd
fi
fi
if [ ! -L /etc/motd ]
then
[ -f /etc/default/rcS ] && . /etc/default/rcS
if [ "$EDITMOTD" = no ]
then
cat /var/run/motd > /etc/motd.static
ln -sf motd.static /etc/motd
else
ln -sf /var/run/motd /etc/motd
fi
fi
#
# Mount kernel virtual filesystems...not.
# This causes problems in pbuilder.
#
#
#if [ -x /etc/init.d/mountkernfs.sh ]
#then
# if which invoke-rc.d >/dev/null 2>&1
# then
# invoke-rc.d mountkernfs.sh start || :
# else
# /etc/init.d/mountkernfs.sh start
# fi
#fi
#
# Create /dev/pts, /dev/shm directories
#
if [ "$(uname -s)" = Linux ]
then
#
# Only create /dev/{pts,shm} if /dev is on the
# root file system. If some package has mounted a
# seperate /dev (ramfs from udev, devfs) it is
# responsible for the presence of those subdirs.
# (it is OK for these to fail under fakechroot)
#
if ! mountpoint -q /dev
then
[ -d /dev/pts ] || { mkdir --mode=755 /dev/pts ; chown root:root /dev/pts || [ "$FAKECHROOT" = true ]; }
[ -d /dev/shm ] || { mkdir --mode=755 /dev/shm ; chown root:root /dev/shm || [ "$FAKECHROOT" = true ]; }
fi
fi
#
# Create /etc/rc.local on first time install and when upgrading from
# versions before "2.86.ds1-16"
#
if dpkg --compare-versions "$PREV_VER" lt "2.86.ds1-16"
then
if [ ! -e /etc/rc.local ]; then
cat << EOF > /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
exit 0
EOF
# make sure it's enabled by default.
chmod 755 /etc/rc.local
fi
fi
: