X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=MAKEDEV;h=e0d78a2e60e498a10c3631446a35d0c5231c477b;hb=6157770f65e83668bb953925facac0d61dcc419d;hp=6fba12ad1aaca2478557554ff281ed45afa9dfe5;hpb=a2673cf9f82250cfa4615b8afc6c3156e1c13dc0;p=debian%2Fmakedev diff --git a/MAKEDEV b/MAKEDEV index 6fba12a..e0d78a2 100644 --- a/MAKEDEV +++ b/MAKEDEV @@ -31,6 +31,7 @@ scanner=" root root 0666" coda=" root root 0600" ipsec=" root root 0200" readable=" root root 0444" + lirc=" root video 0640" MAXVT=63 @@ -49,12 +50,14 @@ if [ "$WRITE_ON_UDEV" ]; then : elif [ -d /dev/.static/dev/ ] && [ "`pwd`" = /dev ] && [ -e /proc/mounts ] \ && grep -qE '^[^ ]+ /dev/\.static/dev' /proc/mounts; then + echo "udev active, devices will be created in /dev/.static/dev/" cd /dev/.static/dev/ elif [ -d /.dev/ ] && [ "`pwd`" = /dev ] && [ -e /proc/mounts ] \ && grep -qE '^[^ ]+ /\.dev' /proc/mounts; then + echo "udev active, devices will be created in /.dev/" cd /.dev/ elif [ -d .udevdb/ -o -d .udev/ ] && [ "`pwd`" = /dev ]; then - echo ".udevdb presence implies active udev. Aborting MAKEDEV invocation." + echo ".udevdb or .udev presence implies active udev. Aborting MAKEDEV invocation." # use exit 0, not 1, so postinst scripts don't fail on this exit 0 fi @@ -112,7 +115,8 @@ opts="${opt_n:+-n} ${opt_v:+-v} ${opt_d:+-d}" #---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---# devicename () { # translate device names to something safe - echo "$*" | sed -e 's/[^A-Za-z0-9_]/_/g' + # A-Z is not full alphabet in all locales (e.g. in et_EE) + echo "$*" | LC_ALL=C sed -e 's/[^A-Za-z0-9_]/_/g' } makedev () { # usage: makedev name [bcu] major minor owner group mode @@ -147,6 +151,38 @@ makedev () { # usage: makedev name [bcu] major minor owner group mode fi fi } +makefifo () { # usage: makefifo name owner group mode + if [ "$opt_v" ] + then if [ "$opt_d" ] + then echo "delete $1" + else echo "create $1 $2:$3 $4" + fi + fi + # missing parameters are a bug - bail - should we do an exit 1 here? + case :$1:$2:$3:$4: in + *::*) echo "Warning: MAKEFIFO $@ is missing parameter(s)." >&2;; + esac + if [ ! "$opt_n" ] + then + if [ "$opt_d" ] + then + rm -f $1 + else + rm -f $1- + if mknod $1- p && + chown $2:$3 $1- && + chmod $4 $1- && + mv $1- $1 + then + : # it worked + else + # Didn't work, clean up any mess... + echo "makefifo $@: failed" + rm -f $1- + fi + fi + fi +} symlink () { # usage: symlink name target if [ "$opt_v" ] then if [ "$opt_d" ] @@ -254,7 +290,6 @@ cvt () { st) echo st0 ;; xd) echo xda xdb ;; ad) echo ada adb ;; - fd) echo fd0 fd1 ;; lp) echo lp ;; mt) echo ftape ;; qft) echo ftape ;; @@ -316,20 +351,22 @@ cvt () { for arg in `cvt $*` do + # this is to make the case patterns work as expected in all locales + LC_ALL=C case $arg in generic) # pick the right generic- using dpkg's knowledge - case `dpkg --print-installation-architecture` in + case `dpkg --print-architecture` in alpha) $0 $opts generic-alpha ;; - arm|armeb) + arm|armeb|armel) $0 $opts generic-arm ;; hppa) $0 $opts generic-hppa ;; - i386) + i386|lpia) $0 $opts generic-i386 ;; amd64) @@ -602,7 +639,7 @@ do symlink core $procfs/kcore makedev full c 1 7 $public makedev random c 1 8 $public - makedev urandom c 1 9 $readable + makedev urandom c 1 9 $public makedev tty c 5 0 $tty $0 $opts ram $0 $opts loop @@ -617,6 +654,12 @@ do makedev scc$unit c 34 $unit $system done ;; + mtd) + for unit in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 + do + makedev mtd$unit c 90 `math $unit \* 2` $system + done + ;; bc) for unit in 0 1 2 3 do @@ -685,7 +728,7 @@ do ;; adb) # pick the right arch device using dpkg's knowledge - case `dpkg --print-installation-architecture` in + case `dpkg --print-architecture` in powerpc) # ADB bus devices (char) makedev adb c 56 0 $mouse @@ -717,6 +760,10 @@ do makedev video1394/$i c 171 `math 16 + $i` $video done ;; + alsa) + echo "You requested 'alsa' devices. Please install the alsa-base package instead," + echo "which creates and maintains device information for ALSA." + ;; nvram) makedev nvram c 10 144 $mouse ;; @@ -1052,6 +1099,10 @@ do major=`Major $arg 10` || continue makedev $arg c $major 183 $private ;; + mcelog) + major=`Major $arg 10` || continue + makedev $arg c $major 227 $private + ;; cpu|microcode) mkdir -p cpu makedev cpu/microcode c 10 184 $private @@ -1076,6 +1127,9 @@ do irnet) makedev irnet c 10 187 $system ;; + cbm) + makedev cbm c 10 177 $floppy + ;; misc) major=`Major mouse 10` || continue makedev logibm c $major 0 $mouse @@ -1136,6 +1190,7 @@ do makedev systrace c 10 226 $private ;; uinput) + mkdir -p input makedev input/uinput c 10 223 $mouse ;; js) @@ -1601,7 +1656,8 @@ do ;; md) major=`Major md 9` || continue - for part in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 + for part in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 \ + 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 do makedev md$part b $major $part $disk done @@ -1660,11 +1716,12 @@ do done ;; pktcdvd) - major=97 - for unit in 0 1 2 3 - do - makedev pktcdvd$unit b $major $unit $cdrom - done + echo "pktcdvd major number is now dynamic, taking no action" + # major=97 + # for unit in 0 1 2 3 + # do + # makedev pktcdvd$unit b $major $unit $cdrom + # done ;; cfs0) makedev cfs0 c 67 0 $coda @@ -2077,6 +2134,12 @@ do makedev pf$i b 47 $i $floppy done ;; + lirc) + makedev lirc c 61 0 $lirc + for i in d m; do + makefifo lirc${i} $lirc + done + ;; update) devices= if [ ! -f $procfs/devices ]