]> git.pld-linux.org Git - packages/util-linux.git/blob - rawdevices-init
- script "a little" rewriten in PLD-style
[packages/util-linux.git] / rawdevices-init
1 #!/bin/bash
2 #
3 # rawdevices       This shell script assignes rawdevices to block devices
4 #
5 # chkconfig: 345 56 44
6 # description: This scripts assignes raw devices to block devices \
7 #              (such as hard drive partitions). This is for the use \
8 #              of applications such as Oracle. You can set up the \
9 #              raw device to block device mapping by editing \
10 #              the file /etc/sysconfig/rawdevices.
11 # config: /etc/sysconfig/rawdevices
12
13 # Source function library.
14 . /etc/rc.d/init.d/functions
15
16 TEXTDOMAIN=initscripts
17
18 [ -f /usr/bin/raw ] || exit 0
19 [ -f /etc/sysconfig/rawdevices ] || exit 0
20
21 # If the file just has the default comments, exit.
22 grep -q -v "^#" /etc/sysconfig/rawdevices 2>/dev/null || exit 0
23
24 PATH=/usr/bin:/bin:/usr/sbin:/sbin
25
26 function assign_raw()
27 {
28    cat /etc/sysconfig/rawdevices | egrep -v '^ *#' | while read RAW BLOCK; do 
29      if [ -n "$RAW" -a -n "$BLOCK" ]; then 
30          if [ "`dirname $RAW`" = "/dev" -a -d /dev/raw ]; then
31            echo $"  Please correct your /etc/sysconfig/rawdevices:"
32            echo $"     rawdevices are now located in the directory /dev/raw/ "
33            echo $"  If the command 'raw' still refers to /dev/raw as a file."
34            echo $"   you'll have to upgrade your util-linux package"
35            exit 0
36          fi
37          if [ "`dirname $RAW`" = "/dev/raw" -a -f /dev/raw ]; then
38            echo $"  Please correct your /etc/sysconfig/rawdevices:"
39            echo $"     rawdevices are now located in the directory /dev/raw/ "
40            echo $"  If the command 'raw' still refers to /dev/raw as a file."
41            echo $"   you'll have to upgrade your util-linux package"
42            exit 0
43          fi
44
45        echo "           $RAW  -->   $BLOCK"; 
46        raw $RAW $BLOCK
47      fi
48    done
49 }
50
51 # See how we were called.
52 case "$1" in
53   start)
54         if [ ! -f /var/lock/subsys/rawdevices ]; then
55                 msg_starting rawdevices
56                 # Assign devices
57                 echo $"Assigning devices: "
58                 assign_raw
59                 echo $"done"
60                 RETVAL=$?
61                  $RETVAL -eq 0 ] && touch /var/lock/subsys/rawdevices
62         else
63                 msg_Already_Running rawdevices
64         fi
65         ;;
66   stop)
67         if [ -f /var/lock/subsys/rawdevices ]; then
68                 msg_stopping rawdevices
69                 rm -f /var/lock/subsys/rawdevices >/dev/null 2>&1
70         else
71                 msg_Not_Running rawdevices
72                 exit 1
73         fi
74         ;;
75
76   status)
77         status rawdevices
78         ID=`id -u`
79         if [ $ID -eq 0 ]; then 
80           raw -qa
81         else
82           echo $"You need to be root to use this command ! "
83         fi
84         ;;
85
86   restart|reload)
87         $0 start
88         ;;
89
90   *)
91         echo $"Usage: $0 {start|stop|status|restart}"
92         exit 1
93 esac
94
95 exit 0
This page took 0.02598 seconds and 3 git commands to generate.