From c51b304d90104b4be7d3150821f44273d5be4376 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 20 Sep 2008 15:36:32 -0400 Subject: Fix reversion in use of ikiwiki -verbose -setup with a setup file that enables syslog. Setup output is once again output to stdout in this case. Implemented by stashing the verbose/syslog values set in the setup file, and using those values in the generated wrappers, but not allowing them to take effect during the setup operation itself, so that command-line options, appearing before or after -setup, are honored. Also, some cleanups to how %config is generated for wrappers, removing some fields that do not need to be recorded inside the wrapper. --- debian/changelog | 3 +++ ikiwiki.in | 22 +++++++++++++--------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/debian/changelog b/debian/changelog index ffa266137..a44b89058 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,6 +7,9 @@ ikiwiki (2.65) UNRELEASED; urgency=low elements. * progress: Display an error if the progress cannot be parsed, and allow the percent parameter to only optionally end with "%". + * Fix reversion in use of ikiwiki -verbose -setup with a setup file that + enables syslog. Setup output is once again output to stdout in this + case. -- Joey Hess Wed, 17 Sep 2008 14:26:56 -0400 diff --git a/ikiwiki.in b/ikiwiki.in index 878d35065..5c2d710b9 100755 --- a/ikiwiki.in +++ b/ikiwiki.in @@ -21,7 +21,13 @@ sub getconfig () { #{{{ GetOptions( "setup|s=s" => sub { require IkiWiki::Setup; + my $verbose=$config{verbose}; + my $syslog=$config{syslog}; IkiWiki::Setup::load($_[1]); + $config{setupverbose}=$config{verbose}; + $config{setupsyslog}=$config{syslog}; + $config{verbose}=$verbose; + $config{syslog}=$syslog; $config{setup}=1; }, "dumpsetup|s=s" => \$config{dumpsetup}, @@ -129,15 +135,13 @@ sub main () { #{{{ debug(gettext("generating wrappers..")); require IkiWiki::Wrapper; my %origconfig=(%config); - my @wrappers=@{$config{wrappers}}; - delete $config{wrappers}; - delete $config{genwrappers}; - foreach my $wrapper (@wrappers) { - %config=(%origconfig, - rebuild => 0, - verbose => undef, - %{$wrapper}, - ); + 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{post_commit}=1; -- cgit v1.2.3