SOURCES: scan-rc-scripts.db.sh (NEW) - script to verify rc-scripts...

glen glen at pld-linux.org
Thu Jul 28 15:12:28 CEST 2005


Author: glen                         Date: Thu Jul 28 13:12:28 2005 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- script to verify rc-scripts.db.txt

---- Files affected:
SOURCES:
   scan-rc-scripts.db.sh (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/scan-rc-scripts.db.sh
diff -u /dev/null SOURCES/scan-rc-scripts.db.sh:1.1
--- /dev/null	Thu Jul 28 15:12:28 2005
+++ SOURCES/scan-rc-scripts.db.sh	Thu Jul 28 15:12:23 2005
@@ -0,0 +1,42 @@
+#!/bin/sh
+# verifies *.init script chkconfig lines with rc-scripts.db.txt
+# this script must be run from directory whose CVS/Repository is 'SOURCES'
+# the rc-scripts.db.txt copy from cvs must reside in ../PLD-doc/rc-scripts.db.txt
+#
+# 2005-07-28 glen at pld-linux.org
+
+if [ ! -f SOURCES ]; then
+	wget http://cvs.pld-linux.org/cgi-bin/cvsweb/SOURCES
+	cvs up `grep '\.init"' SOURCES | perl -ne '/">(.+)</ and print "$1\n"'`
+fi
+
+startlevels=$(sed -e '/./{H;$!d;}' -e 'x;/Start/!d' ../PLD-doc/rc-scripts.db.txt)
+stoplevels=$(sed -e '/./{H;$!d;}' -e 'x;/Stop/!d' ../PLD-doc/rc-scripts.db.txt)
+
+for a in *.init; do
+	svc=$(basename $a .init)
+
+	db_start=$(echo "$startlevels" | awk "\$2==\"$svc\"{print \$1}")
+	db_stop=$(echo "$stoplevels" | awk "\$2==\"$svc\"{print \$1}")
+	if [ -z "$db_start" ] || [ -z "$db_stop" ]; then
+		echo "$svc: missing from db"
+		continue
+	fi
+
+	start=$(awk '/^# chkconfig:/{print $4}' $a)
+	stop=$(awk '/^# chkconfig:/{print $5}' $a)
+	if [ "$start" != "$db_start" ]; then
+		if [ "$(echo "$db_start" | wc -l)" -gt 1 ]; then
+			echo "$svc: duplicates: "$db_start
+		else
+			echo "$svc: start mismatch: rc:$start db:$db_start"
+		fi
+	fi
+	if [ "$stop" != "$db_stop" ]; then
+		if [ "$(echo "$db_stop" | wc -l)" -gt 1 ]; then
+			echo "$svc: duplicates: "$db_stop
+		else
+			echo "$svc: stop mismatch: rc:$stop db:$db_stop"
+		fi
+	fi
+done
================================================================



More information about the pld-cvs-commit mailing list