* 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.
master
joey 2006-11-20 22:12:43 +00:00
parent a95a7a428f
commit 5bc73d7fac
6 changed files with 33 additions and 11 deletions

View File

@ -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 => {},
);

9
debian/changelog vendored
View File

@ -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.
* 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 09:17:07 -0500
-- Joey Hess <joeyh@debian.org> Mon, 20 Nov 2006 16:49:05 -0500
ikiwiki (1.33) unstable; urgency=low

7
debian/rules vendored
View File

@ -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

View File

@ -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 () { #{{{

View File

@ -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";
}
}

View File

@ -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`;