diff options
Diffstat (limited to 'debian/hurd.postinst')
-rw-r--r-- | debian/hurd.postinst | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/debian/hurd.postinst b/debian/hurd.postinst new file mode 100644 index 00000000..4a552ddf --- /dev/null +++ b/debian/hurd.postinst @@ -0,0 +1,91 @@ +#!/bin/sh + +set -e + +if [ "$1" = configure ] && [ "$2" ]; then + # Upgrade from old version: drop /libexec/runsystem + update-alternatives --quiet \ + --remove runsystem /libexec/runsystem.gnu +fi +update-alternatives --quiet \ + --install /etc/hurd/runsystem runsystem /etc/hurd/runsystem.gnu 20 \ + --slave /sbin/halt halt /sbin/halt-hurd \ + --slave /sbin/reboot reboot /sbin/reboot-hurd + +update-alternatives \ + --install /usr/bin/fakeroot fakeroot /usr/bin/fakeroot-hurd 30 + +update-alternatives \ + --install /bin/ps ps /bin/ps-hurd 60 + +update-alternatives \ + --install /usr/bin/uptime uptime /usr/bin/uptime-hurd 30 + +update-alternatives \ + --install /usr/bin/vmstat vmstat /usr/bin/vmstat-hurd 60 + +update-alternatives \ + --install /usr/bin/w w /usr/bin/w-hurd 60 + +ADDUSERCONF='/etc/adduser.conf' + +if test -f $ADDUSERCONF; then + FIRST_SYSTEM_UID=$(sed -n "s/^[[:space:]]*FIRST_SYSTEM_UID[[:space:]]*=[[:space:]]*[\"']\?\([^\"']*\)[\"']\?/\1/p" $ADDUSERCONF) + LAST_SYSTEM_UID=$(sed -n "s/^[[:space:]]*LAST_SYSTEM_UID[[:space:]]*=[[:space:]]*[\"']\?\([^\"']*\)[\"']\?/\1/p" $ADDUSERCONF) + FIRST_SYSTEM_GID=$(sed -n "s/^[[:space:]]*FIRST_SYSTEM_GID[[:space:]]*=[[:space:]]*[\"']\?\([^\"']*\)[\"']\?/\1/p" $ADDUSERCONF) + LAST_SYSTEM_GID=$(sed -n "s/^[[:space:]]*LAST_SYSTEM_GID[[:space:]]*=[[:space:]]*[\"']\?\([^\"']*\)[\"']\?/\1/p" $ADDUSERCONF) +fi + +if test -z "$FIRST_SYSTEM_UID"; then + FIRST_SYSTEM_UID=100 +fi +if test -z "$LAST_SYSTEM_UID"; then + LAST_SYSTEM_UID=999 +fi +if test -z "$FIRST_SYSTEM_GID"; then + FIRST_SYSTEM_GID=100 +fi +if test -z "$LAST_SYSTEM_GID"; then + LAST_SYSTEM_GID=999 +fi + +if [ "$1" = configure ]; then + add-shell /bin/loginpr || true + if ! getent passwd login >/dev/null; then + useradd -K UID_MIN=$FIRST_SYSTEM_UID -K UID_MAX=$LAST_SYSTEM_UID \ + -K GID_MIN=$FIRST_SYSTEM_GID -K GID_MAX=$LAST_SYSTEM_GID \ + --home-dir /etc/login --no-create-home \ + --shell /bin/loginpr --comment "login user" \ + --user-group login + fi +fi + +#DEBHELPER# + +# Remove alternative introduced by 20111106-1 +update-alternatives --remove random /dev/random-hurd + +if [ "$1" = configure ] && [ "$2" ]; then + # Upgrade: create the missing device and server nodes + if showtrans /dev/random 2> /dev/null | grep -q /tmp/entropy.sock + then + # old random-egd translator, remove + settrans -go /dev/random + settrans -go /dev/urandom + ( cd /dev ; rm -f random urandom ) + fi + /usr/lib/hurd/setup-translators -K +fi + +update-alternatives --install /hurd/random.sh random.sh /hurd/random-hurd.sh 10 \ + --slave /hurd/urandom.sh urandom.sh /hurd/urandom-hurd.sh + +if [ "$1" = configure ] ; then + # Generate initial pool + UMASK=`umask` + umask 077 + [ -f /var/spool/random-seed ] || dd < /dev/urandom > /var/spool/random-seed bs=1 count=600 2> /dev/null + # TODO: will need to run settrans -ga /dev/random at system stop to make + # it save it back + umask $UMASK +fi |