From dd7a38147179a59bff9dffd824b265862aa1a59e Mon Sep 17 00:00:00 2001 From: joey Date: Fri, 5 May 2006 20:48:20 +0000 Subject: [PATCH] * Add ikiwiki-mass-rebuild script, ripped out of the postinst. * Add some new config items to the estseek.conf template, which are needed by hyperestraier 1.2.3. --- Makefile.PL | 9 ++++++++- debian/NEWS | 14 +++++++++++--- debian/README.Debian | 7 ++++--- debian/changelog | 5 ++++- debian/postinst | 25 ++----------------------- debian/rules | 2 +- debian/wikilist | 5 ----- doc/ikiwiki-mass-rebuild.mdwn | 21 +++++++++++++++++++++ ikiwiki-mass-rebuild | 27 +++++++++++++++++++++++++++ mdwn2man | 5 ++++- templates/estseek.conf | 4 ++++ wikilist | 8 ++++++++ 12 files changed, 94 insertions(+), 38 deletions(-) delete mode 100644 debian/wikilist create mode 100644 doc/ikiwiki-mass-rebuild.mdwn create mode 100755 ikiwiki-mass-rebuild create mode 100644 wikilist diff --git a/Makefile.PL b/Makefile.PL index 43b6bef09..aac6946ba 100755 --- a/Makefile.PL +++ b/Makefile.PL @@ -17,7 +17,8 @@ extra_build: --exclude=/discussion --no-discussion \ --plugin=brokenlinks --plugin=pagecount \ --plugin=orphans --plugin=haiku - ./mdwn2man doc/usage.mdwn > ikiwiki.man + ./mdwn2man ikiwiki 1 doc/usage.mdwn > ikiwiki.man + ./mdwn2man ikiwiki-mass-rebuild 8 doc/ikiwiki-mass-rebuild.mdwn > ikiwiki-mass-rebuild.man extra_clean: rm -rf html doc/.ikiwiki @@ -32,6 +33,12 @@ extra_install: install -d $(PREFIX)/share/man/man1 install ikiwiki.man $(PREFIX)/share/man/man1/ikiwiki.1 + + install -d $(PREFIX)/share/man/man8 + install ikiwiki-mass-rebuild.man $(PREFIX)/share/man/man8/ikiwiki-mass-rebuild.8 + + install -d $(PREFIX)/sbin + install ikiwiki-mass-rebuild $(PREFIX)/sbin } } diff --git a/debian/NEWS b/debian/NEWS index 5bb107519..565ca21fc 100644 --- a/debian/NEWS +++ b/debian/NEWS @@ -1,5 +1,7 @@ ikiwiki (1.1) unstable; urgency=low + There have been several configuration changes in this release of ikiwiki: + The --svn and --no-svn switches are removed, instead you should use --rcs=svn or --no-rcs. ikiwiki setup files that set svn => 1 should be changed to set rcs => "svn"; if your setup file sets svn => 0 @@ -7,15 +9,21 @@ ikiwiki (1.1) unstable; urgency=low The --hyperestraier switch is gone too. To enable searching, turn on the search plugin, by passing --plugin=search or through the plugin setting in - the config file. + the setup file. The --sanitize and --no-sanitize switches are also gone, replaced with the htmlscrubber plugin. This plugin is enabled by default, to disable it, use --disable-plugin=htmlscrubber, or modify the plugin setting in the - config file. + setup file. + + If your wiki is configured with a setup file, you will need to add a line + to enable Discussion links at the top of pages: + discussion => 1, + Discussion pages are enabled by default, but old setup files won't enable + them unless you add tat line. You will need to rebuild your wiki when upgrading to this version. If you listed your wiki in /etc/ikiwiki/wikilist this will be done - automatically. + automatically when the Debian package is upgraded. -- Joey Hess Tue, 2 May 2006 14:13:59 -0400 diff --git a/debian/README.Debian b/debian/README.Debian index 8094c1b7e..7791b9a7f 100644 --- a/debian/README.Debian +++ b/debian/README.Debian @@ -3,7 +3,8 @@ 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. Edit this file and add any wikis you +This Debian package of ikiwiki supports rebuilding wikis on upgrade. It +will run ikiwiki-mass-rebuild if necessary when upgraded. The file +/etc/ikiwiki/wikilist lists the setup files of wikis to rebuild, as wel +l as the user who owns the wiki. Edit this file and add any wikis you set up. diff --git a/debian/changelog b/debian/changelog index 0d86597fc..b3d70190c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -46,8 +46,11 @@ ikiwiki (1.1) UNRELEASED; urgency=low * Removed --sanitize and --no-sanitize, replaced with --plugin htmlscrubber and --disable-plugin htmlscrubber. * Allow discussion links on pages to be turned off with --no-discussion. + * Add ikiwiki-mass-rebuild script, ripped out of the postinst. + * Add some new config items to the estseek.conf template, which are needed + by hyperestraier 1.2.3. - -- Joey Hess Fri, 5 May 2006 14:03:54 -0400 + -- Joey Hess Fri, 5 May 2006 16:23:03 -0400 ikiwiki (1.0) unstable; urgency=low diff --git a/debian/postinst b/debian/postinst index b9630b525..76d826357 100755 --- a/debian/postinst +++ b/debian/postinst @@ -6,28 +6,7 @@ set -e # rebuilding all wikis. firstcompat=1.1 -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 ] && \ +if [ "$1" = configure ] && \ dpkg --compare-versions "$2" lt "$firstcompat"; then - grep -v '^#' $wikilist | grep -v '^$' | while read line; do - processline $line - done + ikiwiki-mass-rebuild fi diff --git a/debian/rules b/debian/rules index df8390f94..6b5a0377e 100755 --- a/debian/rules +++ b/debian/rules @@ -24,7 +24,7 @@ binary-indep: build 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_install wikilist etc dh_installdocs html dh_link usr/share/common-licenses/GPL usr/share/doc/ikiwiki/html/GPL dh_installchangelogs diff --git a/debian/wikilist b/debian/wikilist deleted file mode 100644 index 4e7c81fd7..000000000 --- a/debian/wikilist +++ /dev/null @@ -1,5 +0,0 @@ -# This file is used by the Debian package of ikiwiki to rebuild the listed -# wikis when it is upgraded. The postinst script su's to the listed user -# and then runs ikiwiki -setup on the specified ikiwiki setup file. - -#joey /home/joey/.ikiwiki/ikiwiki.setup diff --git a/doc/ikiwiki-mass-rebuild.mdwn b/doc/ikiwiki-mass-rebuild.mdwn new file mode 100644 index 000000000..5c2cf40e5 --- /dev/null +++ b/doc/ikiwiki-mass-rebuild.mdwn @@ -0,0 +1,21 @@ +# NAME + +ikiwiki-mass-rebuild - rebuild all ikiwiki wikis on a system + +# SYNOPSIS + +ikiwiki-mass-rebuild + +# DESCRIPTION + +`ikiwiki-mass-rebuild` can be used to force a rebuild of all the wikis +on a system. You will need to list the wikis it shuld build in the file +/etc/ikiwiki/wikilist, which has the format: + +user /path/to/wiki + +# AUTHOR + +Joey Hess + +Warning: this page is automatically made into ikiwiki-mass-rebuild's man page, edit with care diff --git a/ikiwiki-mass-rebuild b/ikiwiki-mass-rebuild new file mode 100755 index 000000000..daba2ca43 --- /dev/null +++ b/ikiwiki-mass-rebuild @@ -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 diff --git a/mdwn2man b/mdwn2man index 57c41c865..8c70c87c1 100755 --- a/mdwn2man +++ b/mdwn2man @@ -1,7 +1,10 @@ #!/usr/bin/perl # Warning: hack -print ".TH ikiwiki 1\n"; +my $prog=shift; +my $section=shift; + +print ".TH $prog $section\n"; while (<>) { s{(\\?)\[\[([^\s\]]+)\]\]}{$1 ? "[[$2]]" : $2}eg; diff --git a/templates/estseek.conf b/templates/estseek.conf index 91e144d78..599a3cd0b 100644 --- a/templates/estseek.conf +++ b/templates/estseek.conf @@ -17,5 +17,9 @@ scancheck: false smplphrase: true candetail: true smlrvnum: 0 +smlrtune: 16 1024 4096 clipview: 2 +relkeynum: 0 spcache: +wildmax: 256 +qxpndcmd: diff --git a/wikilist b/wikilist new file mode 100644 index 000000000..f047b6785 --- /dev/null +++ b/wikilist @@ -0,0 +1,8 @@ +# This file is used by ikiwiki-mass-rebuild script rebuild the listed +# wikis. Run this script when upgrading ikiwiki to an incompatible new +# version that requires rebuilding everything. +# +# ikiwiki-mass-rebuild su's to the listed user and then runs ikiwiki -setup +# on the specified ikiwiki setup file. + +#joey /home/joey/.ikiwiki/ikiwiki.setup