From 5bc73d7facbea81ae533777affaffbe3d7476c0f Mon Sep 17 00:00:00 2001 From: joey Date: Mon, 20 Nov 2006 22:12:43 +0000 Subject: [PATCH] * Rename ikiwiki.pl so MakeMaker doesn't see it, and install it. * Add some code to the build system that tries to determine if the lib installation directory is in @INC. If it's not, munge ikiwiki to hardcode the path to the lib directory. This should allow installing ikiwiki in nonstandard locations, including home directories, by just setting PREFIX at build time. * Fix nested examples directory in deb. --- Makefile.PL | 16 +++++++++++++--- debian/changelog | 11 +++++++++-- debian/rules | 7 +++---- ikiwiki.pl => ikiwiki.in | 2 +- pm_filter | 8 +++++++- t/syntax.t | 2 +- 6 files changed, 34 insertions(+), 12 deletions(-) rename ikiwiki.pl => ikiwiki.in (97%) diff --git a/Makefile.PL b/Makefile.PL index 831c13255..6e75097c8 100755 --- a/Makefile.PL +++ b/Makefile.PL @@ -13,8 +13,18 @@ pure_install:: extra_install VER=$(shell perl -e '$$_=<>;print m/\((.*?)\)/' ikiwiki.man ./mdwn2man ikiwiki-mass-rebuild 8 doc/ikiwiki-mass-rebuild.mdwn > ikiwiki-mass-rebuild.man - ./pm_filter $(PREFIX) $(VER) < ikiwiki.pl > ikiwiki.out + ./pm_filter $(PREFIX) $(VER) $(PROBABLE_INST_LIB) < ikiwiki.in > ikiwiki.out extra_clean: rm -rf html doc/.ikiwiki @@ -57,6 +67,6 @@ extra_install: WriteMakefile( NAME => 'IkiWiki', PREFIX => "/usr/local", - PM_FILTER => './pm_filter $(PREFIX) $(VER)', + PM_FILTER => './pm_filter $(PREFIX) $(VER) $(PROBABLE_INST_LIB)', MAN1PODS => {}, ); diff --git a/debian/changelog b/debian/changelog index b6f397f27..ed3b8fe6e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -20,8 +20,15 @@ ikiwiki (1.34) UNRELEASED; urgency=low * Split out a passwordauth module, that holds all the traditional password based authentication etc code. It's enabled by default, but can be disabled if you want only openid or some other auth method. - - -- Joey Hess Mon, 20 Nov 2006 09:17:07 -0500 + * Rename ikiwiki.pl so MakeMaker doesn't see it, and install it. + * Add some code to the build system that tries to determine if the + lib installation directory is in @INC. If it's not, munge ikiwiki + to hardcode the path to the lib directory. This should allow installing + ikiwiki in nonstandard locations, including home directories, by just + setting PREFIX at build time. + * Fix nested examples directory in deb. + + -- Joey Hess Mon, 20 Nov 2006 16:49:05 -0500 ikiwiki (1.33) unstable; urgency=low diff --git a/debian/rules b/debian/rules index 4e14b5ca3..9dedd3c45 100755 --- a/debian/rules +++ b/debian/rules @@ -3,7 +3,7 @@ build: build-stamp build-stamp: dh_testdir - perl Makefile.PL PREFIX=/usr + perl Makefile.PL PREFIX=/usr INSTALLDIRS=vendor $(MAKE) $(MAKE) test touch build-stamp @@ -22,11 +22,10 @@ binary-indep: build dh_testdir dh_testroot dh_clean -k - $(MAKE) pure_install INSTALLDIRS=vendor \ - DESTDIR=$(shell pwd)/debian/ikiwiki + $(MAKE) pure_install DESTDIR=$(shell pwd)/debian/ikiwiki dh_install wikilist etc/ikiwiki dh_installdocs html - dh_installexamples doc/examples + dh_installexamples doc/examples/* dh_link usr/share/common-licenses/GPL usr/share/doc/ikiwiki/html/GPL dh_installchangelogs dh_compress -X html diff --git a/ikiwiki.pl b/ikiwiki.in similarity index 97% rename from ikiwiki.pl rename to ikiwiki.in index ff1da353e..7d13ab455 100755 --- a/ikiwiki.pl +++ b/ikiwiki.in @@ -6,7 +6,7 @@ package IkiWiki; use warnings; use strict; -use lib '.'; # For use without installation, removed by Makefile. +use lib '.'; # For use in nonstandard directory, munged by Makefile. use IkiWiki; sub usage () { #{{{ diff --git a/pm_filter b/pm_filter index 89449bd91..f61e7810b 100755 --- a/pm_filter +++ b/pm_filter @@ -3,6 +3,7 @@ BEGIN { $prefix=shift; $ver=shift; + $libdir=shift; } if (/INSTALLDIR_AUTOREPLACE/) { @@ -12,5 +13,10 @@ elsif (/VERSION_AUTOREPLACE/) { $_=qq{our \$version="$ver";}; } elsif (/^use lib/) { - $_=""; + if (grep { $_ eq $libdir } @INC) { + $_=""; + } + else { + $_="use lib '$libdir';\n"; + } } diff --git a/t/syntax.t b/t/syntax.t index cbbdee62f..20396aaae 100755 --- a/t/syntax.t +++ b/t/syntax.t @@ -3,7 +3,7 @@ use warnings; use strict; use Test::More; -my @progs="ikiwiki.pl"; +my @progs="ikiwiki.in"; my @libs="IkiWiki.pm"; push @libs, map { chomp; $_ } `find IkiWiki -type f -name \\*.pm`; -- 2.44.0