diff options
author | joey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071> | 2006-11-20 22:12:43 +0000 |
---|---|---|
committer | joey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071> | 2006-11-20 22:12:43 +0000 |
commit | 5bc73d7facbea81ae533777affaffbe3d7476c0f (patch) | |
tree | 34c96a7f781930535890a52cb0d80ddeed395caf | |
parent | a95a7a428f439a08702f65da3b887382479ccaf0 (diff) |
* 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.
-rwxr-xr-x | Makefile.PL | 16 | ||||
-rw-r--r-- | debian/changelog | 11 | ||||
-rwxr-xr-x | debian/rules | 7 | ||||
-rwxr-xr-x | ikiwiki.in (renamed from ikiwiki.pl) | 2 | ||||
-rwxr-xr-x | pm_filter | 8 | ||||
-rwxr-xr-x | t/syntax.t | 2 |
6 files changed, 34 insertions, 12 deletions
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/\((.*?)\)/'<debian/changelog) +PROBABLE_INST_LIB=$(shell \\ + if [ "$(INSTALLDIRS)" = "perl" ]; then \\ + echo $(INSTALLPRIVLIB); \\ + elif [ "$(INSTALLDIRS)" = "site" ]; then \\ + echo $(INSTALLSITELIB); \\ + elif [ "$(INSTALLDIRS)" = "vendor" ]; then \\ + echo $(INSTALLVENDORLIB); \\ + fi \\ +) + extra_build: - ./ikiwiki.pl doc html --templatedir=templates --underlaydir=basewiki \ + ./ikiwiki.in doc html --templatedir=templates --underlaydir=basewiki \ --wikiname="ikiwiki" --verbose --no-rcs \ --exclude=/discussion --no-discussion \ --plugin=brokenlinks --plugin=pagecount \ @@ -24,7 +34,7 @@ extra_build: --plugin=template --plugin=toc --plugin=shortcut ./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) < 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 <joeyh@debian.org> 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 <joeyh@debian.org> 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 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 () { #{{{ @@ -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`; |