From: joey Date: Tue, 20 Feb 2007 04:24:54 +0000 (+0000) Subject: build ikiwiki.out and use it to build the wiki, so that NOTAINT can take effect durin... X-Git-Tag: 1.44~135 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=aae1bc49057a9b2ba28038a6e855fd772d3dff57;p=ikiwiki.git build ikiwiki.out and use it to build the wiki, so that NOTAINT can take effect during the build too if necessary --- diff --git a/Makefile.PL b/Makefile.PL index aaa334062..8404f9477 100755 --- a/Makefile.PL +++ b/Makefile.PL @@ -24,7 +24,9 @@ PROBABLE_INST_LIB=$(shell \\ ) extra_build: - LANG=C ./ikiwiki.in doc html --templatedir=templates \ + ./pm_filter $(PREFIX) $(VER) $(PROBABLE_INST_LIB) < ikiwiki.in > ikiwiki.out + chmod +x ikiwiki.out + PERL5LIB=.:${PERL5LIB} LANG=C ./ikiwiki.in doc html --templatedir=templates \ --underlaydir=basewiki \ --wikiname="ikiwiki" --verbose --no-rcs \ --exclude=/discussion --no-discussion --userdir=users \ @@ -32,7 +34,6 @@ extra_build: --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: diff --git a/debian/changelog b/debian/changelog index 86c58e3a4..e0b7feaef 100644 --- a/debian/changelog +++ b/debian/changelog @@ -24,7 +24,7 @@ ikiwiki (1.44) UNRELEASED; urgency=low This lets ikiwiki not build depend on perlmagic. * Detect old versions of xgettext and avoid using them. - -- Joey Hess Mon, 19 Feb 2007 23:02:17 -0500 + -- Joey Hess Mon, 19 Feb 2007 23:23:03 -0500 ikiwiki (1.43) unstable; urgency=low diff --git a/doc/patchqueue/pm_filter-priority.mdwn b/doc/patchqueue/pm_filter-priority.mdwn deleted file mode 100644 index f8436f0ae..000000000 --- a/doc/patchqueue/pm_filter-priority.mdwn +++ /dev/null @@ -1,66 +0,0 @@ -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. - -
-===================================================================
---- 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:
-
- -> It was failing before because taint mode was enabled, so it didn't see your PERL5LIB setting. -> Your patch is ok, except that needs to set PERL5LIB=. before calling -> ikiwiki.out, so that it builds using the libs in the source tree, not -> whatever old ikiwiki libs might already be installed. And if it has to -> set PERL5LIB=. , well, that makes any PERL5LIB setting you might have in -> your environment a no-op. Unless it sets `PERL5LIB=.:$PERL5LIB` or -> something. --[[Joey]] - ->> Heh, I guess it's obvious that I don't normally do packaging/build stuff -- probably best if I stop with these kind of patches. :-) OK, why not try the latter then? I think this is a worthy goal, because if we can make it easy to install on shared hosts, it will reach far more people, IMO. - -(Is there any reason to create `ikiwiki.out`? Couldn't we just do an in-place replace on `ikiwiki.in`?) - -> Yes, it's there because "ikwiki" == "Ikiwiki" on Mac OS X. Also because -> I don't like automatically modifying source files I have in svn. --[[Joey]] - -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. - -> Hmm, the Makefile is supposed to figure out when ikiwiki is installed to -> a location outside of perl's regular lib dirs, and if so, shove its own -> "use lib" setting in, to make it find the ikiwiki libs. Is this not working -> for you? Maybe that `LIB=~/lib` is defeating it? Not familiar with that -> variable. -> --[[Joey]] - ->> You're completely right; without the LIB argument the `Makefile.PL` heuristics work perfectly. I think I was juggling too many patches at once. ;-) \ No newline at end of file