* Add ikiwiki-mass-rebuild script, ripped out of the postinst.
[ikiwiki.git] / ikiwiki-mass-rebuild
diff --git a/ikiwiki-mass-rebuild b/ikiwiki-mass-rebuild
new file mode 100755 (executable)
index 0000000..daba2ca
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/sh
+set -e
+
+wikilist=/etc/ikiwiki/wikilist
+
+processline () {
+       user="$1"
+       setup="$2"
+       
+       if [ -z "$user" ] || [ -z "$setup" ]; then
+               echo "parse failure in /etc/ikiwiki/wikilist, line: '$user $setup'" >&2
+               exit 1
+       fi
+       
+       if [ ! -f "$setup" ]; then
+               echo "warning: $setup specified in /etc/ikiwiki/wikilist does not exist, skipping" >&2
+       else
+               echo "Rebuilding $setup as user $user ..."
+               su "$user" -c "ikiwiki -setup $setup"
+       fi
+}
+
+if [ -e "$wikilist" ]; then
+       grep -v '^#' $wikilist | grep -v '^$' | while read line; do 
+               processline $line
+       done
+fi