aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--IkiWiki/Wrapper.pm20
-rwxr-xr-xikiwiki.in18
2 files changed, 21 insertions, 17 deletions
diff --git a/IkiWiki/Wrapper.pm b/IkiWiki/Wrapper.pm
index bd134c9a3..927368fae 100644
--- a/IkiWiki/Wrapper.pm
+++ b/IkiWiki/Wrapper.pm
@@ -8,6 +8,26 @@ use File::Spec;
use Data::Dumper;
use IkiWiki;
+sub gen_wrappers () {
+ debug(gettext("generating wrappers.."));
+ my %origconfig=(%config);
+ foreach my $wrapper (@{$config{wrappers}}) {
+ %config=(%origconfig, %{$wrapper});
+ $config{verbose}=$config{setupverbose}
+ if exists $config{setupverbose};
+ $config{syslog}=$config{setupsyslog}
+ if exists $config{setupsyslog};
+ delete @config{qw(setupsyslog setupverbose wrappers genwrappers rebuild)};
+ checkconfig();
+ if (! $config{cgi} && ! $config{post_commit} &&
+ ! $config{test_receive}) {
+ $config{post_commit}=1;
+ }
+ gen_wrapper();
+ }
+ %config=(%origconfig);
+}
+
sub gen_wrapper () {
$config{srcdir}=File::Spec->rel2abs($config{srcdir});
$config{destdir}=File::Spec->rel2abs($config{destdir});
diff --git a/ikiwiki.in b/ikiwiki.in
index aa3337938..bcda2469b 100755
--- a/ikiwiki.in
+++ b/ikiwiki.in
@@ -163,24 +163,8 @@ sub main () {
! $config{clean} &&
((! $config{refresh} && ! $config{post_commit})
|| $config{genwrappers})) {
- debug(gettext("generating wrappers.."));
require IkiWiki::Wrapper;
- my %origconfig=(%config);
- foreach my $wrapper (@{$config{wrappers}}) {
- %config=(%origconfig, %{$wrapper});
- $config{verbose}=$config{setupverbose}
- if exists $config{setupverbose};
- $config{syslog}=$config{setupsyslog}
- if exists $config{setupsyslog};
- delete @config{qw(setupsyslog setupverbose wrappers genwrappers rebuild)};
- checkconfig();
- if (! $config{cgi} && ! $config{post_commit} &&
- ! $config{test_receive}) {
- $config{post_commit}=1;
- }
- gen_wrapper();
- }
- %config=(%origconfig);
+ gen_wrappers();
}
# setup implies a wiki rebuild by default