Imported Debian patch 2.3.1-83
[debian/makedev] / MAKEDEV
diff --git a/MAKEDEV b/MAKEDEV
index 6fba12ad1aaca2478557554ff281ed45afa9dfe5..d2e07f091b9a132be38d9711f4797bf8f2fa90e3 100644 (file)
--- a/MAKEDEV
+++ b/MAKEDEV
@@ -49,12 +49,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 +114,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
@@ -254,7 +257,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,6 +318,8 @@ 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-<arch> using dpkg's knowledge
@@ -602,7 +606,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 +621,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
@@ -717,6 +727,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 +1066,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
@@ -1601,7 +1619,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