Subversion Repositories configs

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
3 - 1
#!/bin/bash
2
#
3
# udev-post     Post script for udev, after all filesystems are mounted
4
#
5
# Authors:      Harald Hoyer <harald@redhat.com>
6
#
7
# chkconfig: 12345 26 75
8
# description: Moves the generated persistent udev rules to /etc/udev/rules.d
9
#
10
### BEGIN INIT INFO
11
# Default-Start: 12345
12
# Default-Stop:  0 6
13
# Required-Start: $local_fs
14
# Required-Stop:
15
# Short-Description: Moves the generated persistent udev rules to /etc/udev/rules.d
16
# Description: Moves the generated persistent udev rules to /etc/udev/rules.d
17
# Provides: udev-post
18
### END INIT INFO
19
 
20
. /etc/rc.d/init.d/functions
21
. /etc/sysconfig/udev
22
 
23
# See how we were called.
24
case "$1" in
25
  start|reload)
26
	[ -w /var/lock/subsys ] || exit 4
27
	STRING=$"Retrigger failed udev events"
28
	echo -n $STRING
29
	/sbin/udevadm trigger --type=failed
30
	success "$STRING"
31
	echo
32
 
33
	STRING=$"Adding udev persistent rules"
34
 
35
	# copy the rules generated before / was mounted read-write
36
	for file in /dev/.udev/tmp-rules--*; do
37
		dest=${file##*tmp-rules--}
38
		# check, if anything is todo
39
		[ "$dest" = '*' ] && exit 0
40
		echo -n $STRING
41
		cat $file >> /etc/udev/rules.d/$dest
42
		rc=$(($rc+$?))
43
		rm -f $file
44
	done
45
	if [ "$rc" -eq "0" ]; then
46
		success "$STRING"
47
		echo
48
	elif [ "$rc" -eq "1" ]; then
49
		failure "$STRING"
50
		echo
51
        fi
52
 
53
	touch /var/lock/subsys/udev-post
54
	exit 0
55
	;;
56
  stop)
57
	[ -w /var/lock/subsys ] || exit 4
58
	STRING=$"Generating udev makedev cache file"
59
	MAKEDEV="/sbin/MAKEDEV"
60
	USE_MD5="false"
61
	[ -x /usr/bin/md5sum -a "$UDEV_USE_MAKEDEV_CACHE" == "yes" ] && USE_MD5="true"
62
	if [ "$USE_MD5" == "true" -a -x "$MAKEDEV" ]; then
63
		for i in /etc/udev/makedev.d/*.nodes; do
64
			if [ -f "$i" ]; then
65
				# use a little caching to speedup things
66
				md5=$(/usr/bin/md5sum "$i"|(read a b; echo $a))
67
				md5file="/var/lib/udev/makedev.d/${md5}.sh"
68
 
69
				if [ ! -f "$md5file" ]; then
70
					echo -n $STRING
71
					( sed -e 's,#.*,,g' "$i" | \
72
						xargs $MAKEDEV -x -a -S ) \
73
						> "$md5file"
74
					rc=$?
75
					if [ "$rc" -eq "0" ]; then
76
					    success "$STRING"
77
					    echo
78
					elif [ "$rc" -eq "1" ]; then
79
					    failure "$STRING"
80
					    echo
81
            				fi
82
				fi
83
			fi
84
		done
85
	fi
86
	rm -f /var/lock/subsys/udev-post
87
	exit 0
88
	;;
89
  status)
90
	exit 0
91
	;;
92
  *)
93
        echo $"Usage: $0 {start|stop|reload}"
94
        exit 2
95
esac
96
exit 0