master
http://www.cse.unsw.edu.au/~willu/ 2008-07-19 01:52:56 -04:00 committed by Joey Hess
parent 1e6b38a335
commit 96e5c3ed69
1 changed files with 28 additions and 0 deletions

View File

@ -0,0 +1,28 @@
I don't know if I'm doing this right... I'm using a server provider that doesn't allow me to install into standard perl locations, so I used PREFIX to install things in my home dir. The problem is that when the wrapper is run by the CGI server, it can't find the perl modules I installed. There didn't seem to be a way to set the PERL5LIB from the standard config, so I added one. Patch attached. Or did I miss something and this was already possible?
diff --git a/IkiWiki/Wrapper.pm b/IkiWiki/Wrapper.pm
index 79b9eb3..e88118b 100644
--- a/IkiWiki/Wrapper.pm
+++ b/IkiWiki/Wrapper.pm
@@ -37,6 +41,13 @@ sub gen_wrapper () { #{{{
EOF
}
+ my $wrapperperllib="";
+ if (defined $config{wrapperperl5lib}) {
+ $wrapperperllib =<<"EOF"
+ newenviron[i++]="PERL5LIB=$config{wrapperperl5lib}";
+EOF
+ }
+
$Data::Dumper::Indent=0; # no newlines
my $configstring=Data::Dumper->Dump([\%config], ['*config']);
$configstring=~s/\\/\\\\/g;
@@ -72,6 +83,7 @@ int main (int argc, char **argv) {
$envsave
newenviron[i++]="HOME=$ENV{HOME}";
newenviron[i++]="WRAPPED_OPTIONS=$configstring";
+$wrapperperllib
newenviron[i]=NULL;
environ=newenviron;