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