1 | #!/bin/sh |
---|
2 | ######################################################################## |
---|
3 | # |
---|
4 | # Description : cdsymlink_helper.sh |
---|
5 | # |
---|
6 | # Authors : Jim Gifford |
---|
7 | # |
---|
8 | # Version : 00.00 |
---|
9 | # |
---|
10 | # Notes : |
---|
11 | # |
---|
12 | ######################################################################## |
---|
13 | |
---|
14 | . /lib/udev/helper.functions |
---|
15 | . /etc/sysconfig/udev_helper |
---|
16 | |
---|
17 | KERN_NAME="$1" |
---|
18 | |
---|
19 | if [ "$KERN_NAME" = "" ]; then |
---|
20 | mesg Bad invocation: \$1 is not set |
---|
21 | exit 1 |
---|
22 | fi |
---|
23 | case $ACTION in |
---|
24 | add) |
---|
25 | if [ -e /dev/cdrom-temp ]; then |
---|
26 | FILES="`ls /sys/bus/ide/drivers/ide-cdrom | grep 1.`" |
---|
27 | for file in $FILES; do |
---|
28 | TEST="`ls /sys/bus/ide/drivers/ide-cdrom/$file | grep -c $KERN_NAME`" |
---|
29 | if [ "$TEST" = "1" ]; then |
---|
30 | link="`echo $file | cut -f2 -d.`" |
---|
31 | if [ -e /dev/cdrom-temp ]; then |
---|
32 | mv /dev/cdrom-temp /dev/cdrom$link |
---|
33 | fi |
---|
34 | if [ -e /dev/cdr-temp ]; then |
---|
35 | mv /dev/cdr-temp /dev/cdr$link |
---|
36 | fi |
---|
37 | if [ -e /dev/cdrw-temp ]; then |
---|
38 | mv /dev/cdrw-temp /dev/cdrw$link |
---|
39 | fi |
---|
40 | if [ -e /dev/dvd-temp ]; then |
---|
41 | mv /dev/dvd-temp /dev/dvd$link |
---|
42 | fi |
---|
43 | if [ -e /dev/dvdr-temp ]; then |
---|
44 | mv /dev/dvdr-temp /dev/dvdr$link |
---|
45 | fi |
---|
46 | if [ -e /dev/dvdrw-temp ]; then |
---|
47 | mv /dev/dvdrw-temp /dev/dvdrw$link |
---|
48 | fi |
---|
49 | fi |
---|
50 | done |
---|
51 | fi |
---|
52 | ;; |
---|
53 | |
---|
54 | remove) |
---|
55 | FILES="`ls /sys/bus/ide/drivers/ide-cdrom | grep 1.`" |
---|
56 | echo "at remove" > /tmp/cdrom |
---|
57 | for file in $FILES; do |
---|
58 | TEST="`find /sys/bus/ide/drivers/ide-cdrom/$file -name $KERN_NAME`" |
---|
59 | if [ "$TEST" != "" ]; then |
---|
60 | link="`echo $file | cut -f2 -d.`" |
---|
61 | rm /dev/cdrom$link /dev/cdr$link /dev/cdrw$link /dev/dvd$link /dev/dvdrw$link |
---|
62 | fi |
---|
63 | done |
---|
64 | ;; |
---|
65 | |
---|
66 | *) |
---|
67 | exit 1 |
---|
68 | ;; |
---|
69 | esac |
---|