]> sipb.mit.edu Git - ikiwiki.git/commitdiff
report bug for </methodResponse> problem (patch included)
authorchrysn <chrysn@web>
Fri, 29 Aug 2008 21:43:28 +0000 (17:43 -0400)
committerJoey Hess <joey@kitenet.net>
Fri, 29 Aug 2008 21:43:28 +0000 (17:43 -0400)
doc/bugs/methodResponse_in_add__95__plugins.mdwn [new file with mode: 0644]

diff --git a/doc/bugs/methodResponse_in_add__95__plugins.mdwn b/doc/bugs/methodResponse_in_add__95__plugins.mdwn
new file mode 100644 (file)
index 0000000..64a919c
--- /dev/null
@@ -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::</methodResponse>
+    : 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 "&lt;/methodResponse&gt;\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}) {