It will set up an ikiwiki instance tuned for use in blogging.
As part of this change, move the example sites into /usr/share/ikiwiki so
they are available even if docs are not installed.
print "\n\nSetting up $config{wikiname} ...\n";
- # Set up the repository.
+ # Set up the srcdir.
mkpath($config{srcdir}) || die "mkdir $config{srcdir}: $!";
+ # Copy in example wiki.
+ if (exists $config{example}) {
+ # cp -R is POSIX
+ # Another reason not to use -a is so that pages such as blog
+ # posts will not have old creation dates on this new wiki.
+ system("cp -R $IkiWiki::installdir/share/ikiwiki/examples/$config{example}/* $config{srcdir}");
+ delete $config{example};
+ }
+
+ # Set up the repository.
delete $config{repository} if ! $config{rcs} || $config{rcs}=~/bzr|mercurial/;
if ($config{rcs}) {
my @params=($config{rcs}, $config{srcdir});
install -m 644 $$file $(DESTDIR)$(PREFIX)/share/ikiwiki/directives/ikiwiki/directive; \
fi \
done
+
+ # Install example sites.
+ for dir in `cd doc/examples; find -type d ! -regex '.*\.svn.*'`; do \
+ install -d $(DESTDIR)$(PREFIX)/share/ikiwiki/examples/$$dir; \
+ done
+ for file in `cd doc/examples; find -type f ! -regex '.*\.svn.*'`; do \
+ cp -aL doc/examples/$$file $(DESTDIR)$(PREFIX)/share/ikiwiki/examples/$$file || \
+ install -m 644 doc/examples/$$file $(DESTDIR)$(PREFIX)/share/ikiwiki/examples/$$file; \
+ done
for dir in `find templates -follow -type d ! -regex '.*\.svn.*'`; do \
install -d $(DESTDIR)$(PREFIX)/share/ikiwiki/$$dir; \
-install -d $(DESTDIR)/etc/ikiwiki
-install -m 0644 wikilist $(DESTDIR)/etc/ikiwiki
-install -m 0644 auto.setup $(DESTDIR)/etc/ikiwiki
+ -install -m 0644 auto-blog.setup $(DESTDIR)/etc/ikiwiki
}
}
--- /dev/null
+#!/usr/bin/perl
+# Ikiwiki setup automator -- blog version.
+#
+# This setup file causes ikiwiki to create a wiki, containing a blog,
+# check it into revision control, generate a setup file for the new
+# wiki, and set everything up.
+#
+# Just run: ikiwiki -setup /etc/ikiwiki/auto-blog.setup
+#
+# By default, it asks a few questions, and confines itself to the user's home
+# directory. You can edit it to change what it asks questions about, or to
+# modify the values to use site-specific settings.
+
+require IkiWiki::Setup::Automator;
+
+our $wikiname=IkiWiki::Setup::Automator::ask(
+ gettext("What will the blog be named?"), gettext("blog"));
+our $rcs=IkiWiki::Setup::Automator::ask(
+ gettext("What revision control system to use?"), "git");
+our $admin=IkiWiki::Setup::Automator::ask(
+ gettext("What wiki user (or openid) will be admin?"), $ENV{USER});
+use Net::Domain q{hostfqdn};
+our $domain=hostfqdn() || ikiwiki::setup::automator::ask(
+ gettext("What is the domain name of the web server?"), "");
+
+IkiWiki::Setup::Automator->import(
+ wikiname => $wikiname,
+ adminuser => [$admin],
+ rcs => $rcs,
+ srcdir => "$ENV{HOME}/$wikiname",
+ destdir => "$ENV{HOME}/public_html/$wikiname",
+ repository => "$ENV{HOME}/$wikiname.".($rcs eq "monotone" ? "mtn" : $rcs),
+ dumpsetup => "$ENV{HOME}/$wikiname.setup",
+ url => "http://$domain/~$ENV{USER}/$wikiname",
+ cgiurl => "http://$domain/~$ENV{USER}/$wikiname/ikiwiki.cgi",
+ cgi_wrapper => "$ENV{HOME}/public_html/$wikiname/ikiwiki.cgi",
+ adminemail => "$ENV{USER}\@$domain",
+ add_plugins => [qw{goodstuff websetup comments}],
+ disable_plugins => [qw{}],
+ libdir => "$ENV{HOME}/.ikiwiki",
+ rss => 1,
+ atom => 1,
+ syslog => 1,
+ hardlink => 1,
+
+ example => "blog",
+ comments_pagespec => "posts/* and !*/Discussion",
+ discussion => 0,
+)
our $rcs=IkiWiki::Setup::Automator::ask(
gettext("What revision control system to use?"), "git");
our $admin=IkiWiki::Setup::Automator::ask(
- gettext("What wiki user (or openid) will be wiki admin?"), $ENV{USER});
+ gettext("What wiki user (or openid) will be admin?"), $ENV{USER});
use Net::Domain q{hostfqdn};
our $domain=hostfqdn() || ikiwiki::setup::automator::ask(
gettext("What is the domain name of the web server?"), "");
the nostromo web server.
* Recommend libterm-readline-gnu-perl since that makes auto.setup
behave better.
+ * Add auto-blog.setup, which will set up an ikiwiki instance tuned for use
+ in blogging.
-- Joey Hess <joeyh@debian.org> Tue, 06 Jan 2009 15:02:52 -0500
fi
fi
fi
+if [ "$1" = upgrade ] && dpkg --compare-versions "$2" lt 3.02; then
+ # replaced by symlink
+ rm -rf /usr/share/doc/ikiwiki/examples
+fi
dh_clean -k
$(MAKE) pure_install DESTDIR=$(shell pwd)/debian/ikiwiki
dh_installdocs html
- dh_installexamples doc/examples/*
+ dh_link usr/share/ikiwiki/examples usr/share/doc/ikiwiki/examples
dh_link usr/share/common-licenses/GPL-2 usr/share/doc/ikiwiki/html/GPL
+ dh_installexamples
dh_installchangelogs
dh_compress -X html
dh_fixperms