2a255c85052eff0d18378844f53bbf3d588a20f7
[debian/makedev] / debian / postinst
1 #!/bin/sh
2
3 set +e
4
5 #DEBHELPER#
6
7 cd /dev
8
9 # don't stomp on devfs users
10 if  [ -c .devfsd ]
11 then
12     echo ".devfsd presence implies active DevFS.  Aborting postinst before touching /dev."
13     # use exit 0, not 1, since this isn't a failure, per se
14     exit 0
15 fi
16
17 /sbin/MAKEDEV std
18 /sbin/MAKEDEV consoleonly
19
20 /bin/chmod g-r,o= /dev/tty[0-9]*
21
22 # ensure base tty set exists, since debootstrap no longer does
23 for i in tty0 tty1 tty2 tty3 tty4 tty5 tty6 tty7 tty8 tty9; do
24         test -e /dev/$i || /sbin/MAKEDEV $i
25 done
26
27 test -e /dev/random || /sbin/MAKEDEV random
28 test -e /dev/urandom || /sbin/MAKEDEV urandom
29 test -e /dev/audio || /sbin/MAKEDEV audio
30 test -e /dev/agpgart || /sbin/MAKEDEV agpgart
31
32 [ ! -f /dev/mouse ] && [ -f /dev/sunmouse ] && ln -s sunmouse mouse
33
34 # force update of fb devices if kernel is >= 2.4 and they already exist
35 kern_rev1=`uname -r | sed -e 's@^\([^.]*\)\..*@\1@'`
36 kern_rev2=`uname -r | sed -e 's@^[^.]*\.\([^.]*\)\..*@\1@'`
37 if [ $kern_rev1 -ge 2 ] && [ $kern_rev2 -ge 4 ] && [ -e /dev/fb0 ]
38 then
39         /sbin/MAKEDEV fb
40 fi
41
42 for A in sda16 sdb16 sdc16 sdd16 sde16 sdf16 sdg16 sdh16 \
43          ada16 adb16 adc16 add16 ade16 adf16 adg16 adh16
44 do
45         test -e /dev/$A && rm /dev/$A
46 done
47
48 for A in logibm psaux inportbm atibm jbm smouse logimouse psmouse \
49 msmouse atimouse jmouse amigamouse atarimouse sunmouse amigamouse1
50 do
51         test -e /dev/$A && chmod 600 /dev/$A
52 done
53
54 # fix security hole caused by group-write permissions on kmem
55 test -e /dev/kmem && chown root:kmem /dev/kmem && chmod 0640 /dev/kmem
56
57 LIST=""
58
59 for TYPE in tty pty ; do
60         for LETTER in p q r s t u v w x y z a b c d e ; do
61                 if [ -e /dev/$TYPE$LETTER"0" ]; then
62                         MAJOR="`/bin/ls -l /dev/$TYPE$LETTER"0"|cut -c33-36`"
63                         if [ "$MAJOR" = 4 ] ; then
64                                 LIST="$LIST $TYPE$LETTER"
65                         fi
66                 fi
67         done
68 done
69
70 if [ -n "$LIST" ]; then
71         cat > /etc/rc.boot/makedev << EOF
72 #!/bin/sh
73
74 echo "Creating new console devices"
75 /sbin/MAKEDEV $LIST
76
77 rm /etc/rc.boot/makedev ; exit 0
78 EOF
79
80 chmod 755 /etc/rc.boot/makedev
81
82 fi
83
84 exit 0