# be sure to use the new templates from this package.
export DH_AUTOSCRIPTDIR=autoscripts
-# Living dangerously :-)
+# Use most recent compatability level.
export DH_COMPAT=3
# Figure out the current debhelper version.
VERSION=$(shell expr "`dpkg-parsechangelog 2>/dev/null |grep Version:`" : '.*Version: \(.*\)')
+PERLLIBDIR=$(shell perl -MConfig -e 'print $$Config{vendorlib}')
+
# Debug
#export DH_VERBOSE=1
-build: test
-# Nothing to do.
+build: test build-stamp
+build-stamp:
+ # Generate the main man page. All the perl cruft is to get a list
+ # of debhelper commands with short descriptions into the man page.
+ pod2man -c Debhelper -r "$(VERSION)" debhelper.pod | \
+ perl -e ' \
+ undef $$/; \
+ foreach (@ARGV) { \
+ open (IN, $$_) or die "$$_: $$!"; \
+ $$file=<IN>; \
+ close IN; \
+ if ($$file=~m/=head1 NAME\n\n(.*?) - (.*?)\n/m) { \
+ $$collect.=".IP $$1(1)\n$$2\n"; \
+ } \
+ } \
+ END { \
+ while (<STDIN>) { \
+ s/#LIST#/$$collect/; \
+ print; \
+ }; \
+ }' `find . -type f -perm +1 -maxdepth 1 -name "dh_*" | sort` > debhelper.1
+ # Turn all executables into man pages.
+ find . -type f -perm +1 -maxdepth 1 -name "dh_*" \
+ -exec pod2man -c Debhelper -r "$(VERSION)" {} {}.1 \;
+ touch build-stamp
clean:
./dh_testdir
./dh_testroot
- ./dh_clean
+ -./dh_clean *.1 *-stamp
-test:
+test: test-stamp
+test-stamp:
./dh_clean
DH_VERSION=10 perl -MTest::Harness -e 'runtests grep { ! /CVS/ } @ARGV' t/*
./dh_clean
+ touch test-stamp
# Build architecture-dependent files here.
binary-arch: build
./dh_testroot
./dh_clean -k
./dh_installdirs usr/bin usr/share/debhelper \
- usr/lib/perl5/Debian/Debhelper
+ $(PERLLIBDIR)/Debian/Debhelper
+
+ printf "package Debian::Debhelper::Dh_Version;\n\$$version='$(VERSION)';" > \
+ debian/debhelper/$(PERLLIBDIR)/Debian/Debhelper/Dh_Version.pm
- echo -e "package Debian::Debhelper::Dh_Version;\n\$$version='$(VERSION)';" > \
- debian/debhelper/usr/lib/perl5/Debian/Debhelper/Dh_Version.pm
find . -perm +111 -maxdepth 1 -type f -not -name "*.pl" \
-exec install -p {} debian/debhelper/usr/bin \;
cp -a Debian/Debhelper/*.pm \
- debian/debhelper/usr/lib/perl5/Debian/Debhelper/
+ debian/debhelper/$(PERLLIBDIR)/Debian/Debhelper/
cp -a autoscripts debian/debhelper/usr/share/debhelper
rm -rf debian/debhelper/usr/share/debhelper/autoscripts/CVS
./dh_installdocs `find doc -type f | grep -v CVS`
./dh_installexamples `find examples -type f | grep -v CVS`
./dh_installmenu
- ./dh_installmanpages
+ ./dh_installman *.1
./dh_installinfo
- # Fix up all man pages, filling in the modification time for them.
- # Note this runs before the command below so debhelper.1 gets the right
- # date on it.
- perl -mPOSIX -e ' \
- foreach $$f (@ARGV) { \
- @data=stat($$f); \
- $$date=POSIX::strftime("%d %B %Y",localtime($$data[9])); \
- open (IN,$$f); \
- @lines=<IN>; \
- close IN; \
- $$lines[0]=~s/1 ""/1 "$$date"/; \
- open (OUT,">$$f"); \
- print OUT @lines; \
- close OUT; \
- }' debian/debhelper/usr/share/man/man1/*.1
- # Fix up the debhelper.1 man page, substituting in a list of all
- # debhelper commands. Eek!
- perl -ne ' \
- s/\\- /(1)\n/; \
- $$collect.=".TP\n.BR $$_" if $$. eq 3 && /^dh_/; \
- close(ARGV) if eof; \
- END { \
- open(I,"debian/debhelper/usr/share/man/man1/debhelper.1"); \
- @lines=<I>; \
- close I; \
- open(O,">debian/debhelper/usr/share/man/man1/debhelper.1"); \
- foreach (@lines) { \
- s/#LIST#/$$collect/; \
- print O; \
- } \
- close O; \
- }' *.1
./dh_installchangelogs
+ ./dh_shlibdeps
./dh_link
./dh_compress
./dh_fixperms
- ./dh_suidregister
+ ./dh_perl
./dh_installdeb
./dh_gencontrol
./dh_md5sums
# author.
installhook:
cp debian/changelog /home/pub/programs/debhelper/CHANGES
- echo $(VERSION) > /home/pub/programs/debhelper/LATEST-VERSION-IS
+ echo -n $(VERSION) > /home/pub/programs/debhelper/LATEST-VERSION-IS
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary dist