Imported Debian patch 2.3.1-76
[debian/makedev] / debian / postinst
diff --git a/debian/postinst b/debian/postinst
new file mode 100644 (file)
index 0000000..8b818ac
--- /dev/null
@@ -0,0 +1,80 @@
+#!/bin/sh
+
+set +e
+
+#DEBHELPER#
+
+cd /dev
+
+# don't stomp on devfs users
+if  [ -c .devfsd ]
+then
+    echo ".devfsd presence implies active DevFS.  Aborting postinst before touching /dev."
+    # use exit 0, not 1, since this isn't a failure, per se
+    exit 0
+fi
+
+/sbin/MAKEDEV std
+/sbin/MAKEDEV consoleonly
+
+/bin/chmod g-r,o= /dev/tty[0-9]*
+
+test -e /dev/tty0 || /sbin/MAKEDEV tty0
+test -e /dev/random || /sbin/MAKEDEV random
+test -e /dev/urandom || /sbin/MAKEDEV urandom
+test -e /dev/audio || /sbin/MAKEDEV audio
+test -e /dev/agpgart || /sbin/MAKEDEV agpgart
+
+[ ! -f /dev/mouse ] && [ -f /dev/sunmouse ] && ln -s sunmouse mouse
+
+# force update of fb devices if kernel is >= 2.4 and they already exist
+kern_rev1=`uname -r | sed -e 's@^\([^.]*\)\..*@\1@'`
+kern_rev2=`uname -r | sed -e 's@^[^.]*\.\([^.]*\)\..*@\1@'`
+if [ $kern_rev1 -ge 2 ] && [ $kern_rev2 -ge 4 ] && [ -e /dev/fb0 ]
+then
+       /sbin/MAKEDEV fb
+fi
+
+for A in sda16 sdb16 sdc16 sdd16 sde16 sdf16 sdg16 sdh16 \
+        ada16 adb16 adc16 add16 ade16 adf16 adg16 adh16
+do
+       test -e /dev/$A && rm /dev/$A
+done
+
+for A in logibm psaux inportbm atibm jbm smouse logimouse psmouse \
+msmouse atimouse jmouse amigamouse atarimouse sunmouse amigamouse1
+do
+       test -e /dev/$A && chmod 600 /dev/$A
+done
+
+# fix security hole caused by group-write permissions on kmem
+test -e /dev/kmem && chown root.kmem /dev/kmem && chmod 0640 /dev/kmem
+
+LIST=""
+
+for TYPE in tty pty ; do
+       for LETTER in p q r s t u v w x y z a b c d e ; do
+               if [ -e /dev/$TYPE$LETTER"0" ]; then
+                       MAJOR="`/bin/ls -l /dev/$TYPE$LETTER"0"|cut -c33-36`"
+                       if [ "$MAJOR" = 4 ] ; then
+                               LIST="$LIST $TYPE$LETTER"
+                       fi
+               fi
+       done
+done
+
+if [ -n "$LIST" ]; then
+       cat > /etc/rc.boot/makedev << EOF
+#!/bin/sh
+
+echo "Creating new console devices"
+/sbin/MAKEDEV $LIST
+
+rm /etc/rc.boot/makedev ; exit 0
+EOF
+
+chmod 755 /etc/rc.boot/makedev
+
+fi
+
+exit 0