web commit by http://id.inelegant.org/
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>
Tue, 20 Feb 2007 03:24:49 +0000 (03:24 +0000)
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>
Tue, 20 Feb 2007 03:24:49 +0000 (03:24 +0000)
doc/patchqueue/pm_filter-priority.mdwn [new file with mode: 0644]

diff --git a/doc/patchqueue/pm_filter-priority.mdwn b/doc/patchqueue/pm_filter-priority.mdwn
new file mode 100644 (file)
index 0000000..0385232
--- /dev/null
@@ -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.
+