summaryrefslogtreecommitdiffstats
path: root/subdir_dev
diff options
context:
space:
mode:
authorncopa <ncopa@f176ef85-8d20-0410-844a-e957b5a1c371>2008-01-22 07:51:55 +0000
committerncopa <ncopa@f176ef85-8d20-0410-844a-e957b5a1c371>2008-01-22 07:51:55 +0000
commitf748fb67f007c7453c8b4cea7439347df60f5ae7 (patch)
tree96c800fd622a7f5198a97dc2f6ea1aa693d5d331 /subdir_dev
parentfefde488e66c2977e1b93e790029eb72d97edeac (diff)
downloadalpine-baselayout-f748fb67f007c7453c8b4cea7439347df60f5ae7.tar.bz2
alpine-baselayout-f748fb67f007c7453c8b4cea7439347df60f5ae7.tar.xz
release 1.7.0. fixed mdev stuff
Diffstat (limited to 'subdir_dev')
-rw-r--r--subdir_dev48
1 files changed, 42 insertions, 6 deletions
diff --git a/subdir_dev b/subdir_dev
index e1d5326..7115e9e 100644
--- a/subdir_dev
+++ b/subdir_dev
@@ -1,12 +1,48 @@
#!/bin/sh
# scripts that moves devices to the $1/ subdir.
+# usage: subdir_dev [-ln] DIR [NEW_NAME]
+# options:
+# -l create link (i.e. /dev/pcm0 -> /dev/snd/pcm0)
+# -n devicename from number (i.e. /dev/loop0 => /dev/loop/0)
-if [ "$ACTION" = remove ] ; then
- mv $1/$MDEV $MDEV
- rmdir $1 2>/dev/null
-else
- mkdir -p $1
- mv $MDEV $1/$2
+while getopts "ln" opt; do
+ case "$opt" in
+ l) link=1
+ ;;
+ n) dev=${MDEV%[0-9]*}
+ new_name=${MDEV#${dev}}
+ ;;
+ esac
+done
+shift $(( $OPTIND - 1 ))
+
+if [ -n "$2" ]; then
+ new_name="$2"
fi
+case "$ACTION" in
+ add|"")
+ mkdir -p $1
+ mv $MDEV $1/$new_name
+ if [ "$link" = 1 ] ; then
+ if [ -z "$new_name" ] ; then
+ ln -snf $1/$MDEV $MDEV
+ else
+ ln -snf $1/$new_name $MDEV
+ fi
+ fi
+ ;;
+ remove)
+ if [ "$link" = 1 ] ; then
+ rm -f $MDEV
+ fi
+ if [ -z "$new_name" ]; then
+ mv $1/$MDEV $MDEV
+ else
+ mv $1/$new_name $MDEV
+ fi
+ rmdir $1 2>/dev/null
+ ;;
+esac
+