diff options
-rw-r--r-- | doc/patchqueue/pm_filter-priority.mdwn | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/doc/patchqueue/pm_filter-priority.mdwn b/doc/patchqueue/pm_filter-priority.mdwn new file mode 100644 index 000000000..038523282 --- /dev/null +++ b/doc/patchqueue/pm_filter-priority.mdwn @@ -0,0 +1,46 @@ +Thanks to [r2677](http://ikiwiki.info/cgi-bin/viewvc.cgi/trunk/pm_filter?revision=2677&root=ikiwiki&view=markup), we're closer to getting clean installs on shared hosts. + +The main problem is that `pm_filter` runs after `./ikiwiki.in`, so the build still fails. If it runs before, we're fine. + +<pre> +Index: Makefile.PL +=================================================================== +--- Makefile.PL (revision 2682) ++++ Makefile.PL (working copy) +@@ -23,8 +23,10 @@ + fi \\ + ) + +-extra_build: +- LANG=C ./ikiwiki.in doc html --templatedir=templates \ ++extra_build: ++ ./pm_filter $(PREFIX) $(VER) $(PROBABLE_INST_LIB) < ikiwiki.in > ikiwiki.out ++ chmod +x ikiwiki.out ++ LANG=C ./ikiwiki.out doc html --templatedir=templates \ + --underlaydir=basewiki \ + --wikiname="ikiwiki" --verbose --no-rcs \ + --exclude=/discussion --no-discussion --userdir=users \ +@@ -32,7 +34,6 @@ + --plugin=haiku --plugin=polygen --plugin=fortune + ./mdwn2man ikiwiki 1 doc/usage.mdwn > ikiwiki.man + ./mdwn2man ikiwiki-mass-rebuild 8 doc/ikiwiki-mass-rebuild.mdwn > ikiwiki-mass-rebuild.man +- ./pm_filter $(PREFIX) $(VER) $(PROBABLE_INST_LIB) < ikiwiki.in > ikiwiki.out + $(MAKE) -C po + + extra_clean: +</pre> + +(Is there any reason to create `ikiwiki.out`? Couldn't we just do an in-place replace on `ikiwiki.in`?) + +So, to install from the trunk I can say: + + svn co svn://ikiwiki.kitenet.net/ikiwiki/trunk ikiwiki + cd ikiwiki + patch -p0 <../patches/pm_filter_priority.patch #IOW, apply this patch + perl Makefile.PL PREFIX=~ LIB=~/lib + make + NOTAINT=1 make install + perl -p -i.bak -e 's{^(use IkiWiki;)}{use lib "$ENV{HOME}/lib";\n$1}' ~/bin/ikiwiki + +The last line is necessary for the CGI, because, as with most shared hosts, the user's environment is ignored by the server . It's ugly, but ATM I can't think of a clean way to get rid of it. + |