} #}}}
sub mtime ($) { #{{{
- my $page=shift;
+ my $file=shift;
- return (stat($page))[9];
+ return (stat($file))[9];
} #}}}
sub findlinks ($$) { #{{{
push @add, $file;
$links{$page}=[];
$pagesources{$page}=$file;
- $pagectime{$page}=time unless exists $pagectime{$page};
+ $pagectime{$page}=mtime("$config{srcdir}/$file")
+ unless exists $pagectime{$page};
}
}
my @del;
--- /dev/null
+It's a good idea, and in some cases a requirement, to rebuild your wiki
+when upgrading to a new version of ikiwiki. If you have a lot of different
+wikis on a system, this can be a pain to do by hand, and it's a good idea
+to automate it anyway.
+
+This Debian package of ikiwiki supports rebuilding wikis on upgrade. The
+file /etc/ikiwiki/wikilist lists the setup files of wikis to rebuild, as
+well as the user who owns the wiki.
--- /dev/null
+#!/bin/sh
+set -e
+#DEBHELPER#
+
+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 [ "$1" = configure ] && [ -e $wikilist ]; then
+ grep -v '^#' $wikilist | grep -v '^$' | while read line; do
+ processline $line
+ done
+fi
dh_clean -k
$(MAKE) pure_install INSTALLDIRS=vendor \
PREFIX=$(shell pwd)/debian/ikiwiki/$(shell perl -MConfig -e 'print $$Config{prefix}')
+ dh_install debian/wikilist etc/ikiwiki
dh_installdocs html
dh_link usr/share/common-licenses/GPL usr/share/doc/ikiwiki/html/GPL
dh_link usr/share/ikiwiki/basewiki \