estseek patch (slightly altered) and other replies

master
joey 2006-09-18 20:53:17 +00:00
parent f276e42430
commit 62e1a2ceed
5 changed files with 31 additions and 51 deletions

View File

@ -7,6 +7,8 @@ use strict;
use IkiWiki;
sub import { #{{{
hook(type => "getopt", id => "hyperestraier",
call => \&getopt);
hook(type => "checkconfig", id => "hyperestraier",
call => \&checkconfig);
hook(type => "pagetemplate", id => "hyperestraier",
@ -19,6 +21,12 @@ sub import { #{{{
call => \&cgi);
} # }}}
sub getopt () { #{{{
eval q{use Getopt::Long};
Getopt::Long::Configure('pass_through');
GetOptions("estseek=s" => \$config{estseek});
} #}}}
sub checkconfig () { #{{{
foreach my $required (qw(url cgiurl)) {
if (! length $config{$required}) {
@ -99,8 +107,9 @@ sub estcfg () { #{{{
close TEMPLATE;
$cgi="$estdir/".IkiWiki::basename($config{cgiurl});
unlink($cgi);
symlink("/usr/lib/estraier/estseek.cgi", $cgi) ||
error("symlink $cgi: $!");
my $estseek = defined $config{estseek} ? $config{estseek} : '/usr/lib/estraier/estseek.cgi';
symlink($estseek, $cgi) ||
error("symlink $estseek $cgi: $!");
} # }}}
sub estcmd ($;@) { #{{{

4
debian/changelog vendored
View File

@ -50,8 +50,10 @@ ikiwiki (1.27) UNRELEASED; urgency=low
* chomp trailing newline at the end of templates read in by the template
plugin, to allow use of the template preprocessor directive in
whitespace-sensative situations. Closes: #387073
* Patch from James Westby to make the location of the estseek.cgi script
configurable.
-- Joey Hess <joeyh@debian.org> Mon, 18 Sep 2006 15:26:01 -0400
-- Joey Hess <joeyh@debian.org> Mon, 18 Sep 2006 16:43:10 -0400
ikiwiki (1.26) unstable; urgency=low

View File

@ -96,4 +96,12 @@ use IkiWiki::Setup::Standard {
# sidebar map rst toc linkmap}],
# If you want to disable any of the default plugins, list them here.
#disable_plugins => [qw{inline htmlscrubber}],
# For use with the tag plugin, make all tags be located under a
# base page.
#tagbase => "tag".
# For use with the search plugin if your estseek.cgi is located
# somewhere else.
#estseek => "/usr/lib/estraier/estseek.cgi",
}

View File

@ -81,28 +81,9 @@ much help I'm afraid.
>> to adjust permissions on my cgi-dir. This seems to be the root of the
>> problem.
----
--- IkiWiki/Plugin/search.pm
+++ IkiWiki/Plugin/search.pm
@@ -99,7 +99,7 @@
close TEMPLATE;
$cgi="$estdir/".IkiWiki::basename($config{cgiurl});
unlink($cgi);
- symlink("/usr/lib/estraier/estseek.cgi", $cgi) ||
+ symlink("/usr/local/libexec/estseek.cgi", $cgi) ||
error("symlink $cgi: $!");
} # }}}
obviously I'm not asking you to include this patch, but it would
be good if this sort of thing was configurable (at build time?). I can
have a go if you like, but I'm not sure what would be acceptable to
you.
> This should be made configurable via an option in %IkiWiki::config,
> the search plugin could register a getopt hook to handle it. --[[Joey]]
>> Like this? <http://jameswestby.net/scratch/estseek.diff>
>>> Ah, I think it's better to keep the permissions of the repository
>>> and source directory sane (755) and make the cgi suid to your user,
>>> which is how it's designed to work.
----
@ -178,29 +159,6 @@ informative if that code path is ever taken, but I hope that it never is.
>> <http://mail-archives.apache.org/mod_mbox/spamassassin-dev/200509.mbox/%3C3838.431C7D9B.5F152B8F.dev@spamassassin.apache.org%3E>
>> is what pointed me to find the problem/workaround.
----
As for backports there is a problem with the sarge version of libcgi-session-perl
and my sslcookie patch (complaints about a missing include file auto/CGI/Session/cookie.al IIRC).
This file does not and has not ever existed, but it appears to be fixed in
the backport of libcgi-session-perl that I did. That puts the dependency
required at somewhere between 3.95-2 and 4.14-1. This could then be added
to debian/control. It would mean one more package to backport, but stops the
bug if anyone actually uses my sslcookie option except me.
> May as well, done --[[Joey]]
>> Thanks.
As for backports I managed with
* ikiwiki_1.26
* libcgi-formbuilder-perl_3.03.01-1
* libcgi-session-perl_4.14-1
backported to sarge, with bpo in sources.list. This only covers Depends: though,
for instance hyperestraier needs to be backported, which I haven't got
round to yet as there is a chain to do.
>>> Given that verification, an untaint contingent on the value of $^V
>>> sounds reasonable and I'd accept such a patch. I'm not quite sure which
>>> version(s) of perl it should check for.

View File

@ -7,3 +7,6 @@ full text search to ikiwiki, using the [[HyperEstraier]] engine.
It's possible to configure HyperEstraier via one of ikiwiki's
[[templates]], but for most users, no configuration should be needed aside
from enabling the plugin.
This plugin has a configuration option. To change the path to estseek.cgi,
set `--estseek=/path/to/estseek.cgi`