X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=MAKEDEV;h=e0d78a2e60e498a10c3631446a35d0c5231c477b;hb=6157770f65e83668bb953925facac0d61dcc419d;hp=f38f0733664a22ae4a44c808703a030133c3657b;hpb=a05c375039479374b4aa17ff69be93f1aa8d5f6e;p=debian%2Fmakedev diff --git a/MAKEDEV b/MAKEDEV index f38f073..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 @@ -114,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 @@ -149,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" ] @@ -256,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 ;; @@ -318,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) @@ -604,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 @@ -693,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 @@ -1092,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 @@ -1152,6 +1190,7 @@ do makedev systrace c 10 226 $private ;; uinput) + mkdir -p input makedev input/uinput c 10 223 $mouse ;; js) @@ -1617,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 @@ -1676,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 @@ -2093,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 ]