summaryrefslogtreecommitdiff
path: root/beagle/debian-rfs/usr/share/insserv/seq-changes
diff options
context:
space:
mode:
Diffstat (limited to 'beagle/debian-rfs/usr/share/insserv/seq-changes')
-rwxr-xr-xbeagle/debian-rfs/usr/share/insserv/seq-changes54
1 files changed, 54 insertions, 0 deletions
diff --git a/beagle/debian-rfs/usr/share/insserv/seq-changes b/beagle/debian-rfs/usr/share/insserv/seq-changes
new file mode 100755
index 0000000..4610bec
--- /dev/null
+++ b/beagle/debian-rfs/usr/share/insserv/seq-changes
@@ -0,0 +1,54 @@
+#! /bin/bash
+# Script from Frans Pop
+
+set -e
+
+if [ -z "$1" ]; then
+ echo "Usage: insserv-seq-changes /var/lib/insserv/<old bootscripts tarball>"
+ exit 1
+fi
+
+oldtar="$(tar tzf $1)"
+for i in S $(seq 0 6); do
+ echo "Runlevel $i"
+ new="$(cd /etc/rc$i.d; ls -1 [KS]* | sort | nl)"
+ old="$(echo "$oldtar" | grep "^rc$i.d/[KS]" | cut -d/ -f2 | sort | nl)"
+ case $i in
+ S|0|6)
+ old="$(echo "$old" | sed -r "s/[KS][0-9]+//")"
+ new="$(echo "$new" | sed -r "s/[KS][0-9]+//")"
+ ;;
+ *)
+ old="$(echo "$old" | sed -r "s/([KS])[0-9]+/\1_/")"
+ new="$(echo "$new" | sed -r "s/([KS])[0-9]+/\1_/")"
+ ;;
+ esac
+ echo "$new" | while read num cmd; do
+ oldnum=$(echo "$old" | grep "[[:space:]]$cmd$" | awk '{print $1}')
+ if [ "$oldnum" ]; then
+ diff=$(($num - $oldnum))
+ else
+ oldnum="---"
+ diff=""
+ fi
+ if [ ${#cmd} -ge 16 ]; then
+ echo -e "$cmd\t$num\t$oldnum\t$diff"
+ elif [ ${#cmd} -ge 8 ]; then
+ echo -e "$cmd\t\t$num\t$oldnum\t$diff"
+ else
+ echo -e "$cmd\t\t\t$num\t$oldnum\t$diff"
+ fi
+ done
+ echo "$old" | while read num cmd; do
+ if ! echo "$new" | grep -q "[[:space:]]$cmd$"; then
+ if [ ${#cmd} -ge 16 ]; then
+ echo -e "$cmd\t---\t$oldnum"
+ elif [ ${#cmd} -ge 8 ]; then
+ echo -e "$cmd\t\t---\t$oldnum"
+ else
+ echo -e "$cmd\t\t\t---\t$oldnum"
+ fi
+ fi
+ done
+ echo
+done