From: chrysn Date: Fri, 29 Aug 2008 21:43:28 +0000 (-0400) Subject: report bug for problem (patch included) X-Git-Tag: 2.63~42 X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/commitdiff_plain/a8d9f1c5cd1bbceef5d946aae54e0432b7bfb40a?ds=sidebyside report bug for problem (patch included) --- diff --git a/doc/bugs/methodResponse_in_add__95__plugins.mdwn b/doc/bugs/methodResponse_in_add__95__plugins.mdwn new file mode 100644 index 000000000..64a919cec --- /dev/null +++ b/doc/bugs/methodResponse_in_add__95__plugins.mdwn @@ -0,0 +1,34 @@ +**problem description:** when using an external plugin like rst, the cgi script (but not the build process) fails with the following words: + + Unsuccessful stat on filename containing newline at /usr/share/perl5/IkiWiki.pm line 501. + Unsuccessful stat on filename containing newline at /usr/share/perl5/IkiWiki.pm line 501. + Failed to load plugin IkiWiki::Plugin:: + : Can't locate IkiWiki/Plugin/.pm in @INC (@INC contains: /home/ikiwiki/.ikiwiki /etc/perl \ + /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 \ + /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at (eval 44) line 3. + BEGIN failed--compilation aborted at (eval 44) line 3. + +**setup used:** blank debian sid with ikiwiki 2.61 (but as the patch can be cleanly merged to git HEAD, i suppose this would happen on HEAD as well). perl version is 5.10.0-13. + +**problem analysis:** `strings ikiwiki.cgi` tells that the stored WRAPPED\_OPTIONS contain the string "</methodResponse>\n" where i'd expect "rst" in `config{add_plugins}`. this seems to originate in the use of `$_` in the plugin loading function. + +**patch comment:** solves the problem on 2.61. as these are the first lines of perl i've knowingly written, i can not explain what exactly was happening there. + +------------------------------------------------------------------------------ + diff --git a/IkiWiki.pm b/IkiWiki.pm + index e476521..d43abd4 100644 + --- a/IkiWiki.pm + +++ b/IkiWiki.pm + @@ -471,7 +471,11 @@ sub loadplugins () { #{{{ + unshift @INC, possibly_foolish_untaint($config{libdir}); + } + + - loadplugin($_) foreach @{$config{default_plugins}}, @{$config{add_plugins}}; + + my $pluginname; + + foreach $pluginname (@{$config{default_plugins}}, @{$config{add_plugins}}) + + { + + loadplugin($pluginname); + + } + + if ($config{rcs}) { + if (exists $IkiWiki::hooks{rcs}) {