Imported Debian patch 2.3.1-88
[debian/makedev] / MAKEDEV
diff --git a/MAKEDEV b/MAKEDEV
index c8b1e133986134662c36b032716f055c881aa688..94453e1d1afd859d538142511fc4d089a9c9c453 100644 (file)
--- a/MAKEDEV
+++ b/MAKEDEV
@@ -31,7 +31,7 @@ scanner="  root root   0666"
    coda="  root root   0600"
   ipsec="  root root   0200"
 readable="  root root   0444"
-   lirc="  root lirc   0640"
+   lirc="  root video   0640"
 
 MAXVT=63
 
@@ -151,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" ]
@@ -2103,9 +2135,9 @@ do
                done
                 ;;
         lirc)
-                mknod lirc c 61 0 $lirc
+                makedev lirc c 61 0 $lirc
                 for i in d m; do
-                   makedev lirc${i} p $lirc
+                   makefifo lirc${i} $lirc
                 done
                 ;;
        update)