summaryrefslogtreecommitdiff
path: root/debian/hurd.postinst
diff options
context:
space:
mode:
Diffstat (limited to 'debian/hurd.postinst')
-rw-r--r--debian/hurd.postinst91
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