# I run the most current ones.
#
# This is _not_ a good example of a debhelper rules file, but I didn't need
-# to tell you that; just see the 25 lines of inlined perl below..
+# to tell you that; just see the chunk of inlined perl below..
# See examples/ for some good examples.
# Ensure that builds are self-hosting, which means I have to use the .pm
# be sure to use the new templates from this package.
export DH_AUTOSCRIPTDIR=autoscripts
-# Use most recent compatability level.
-export DH_COMPAT=3
-
-# Figure out the current debhelper version.
+# Figure out the `current debhelper version.
VERSION=$(shell expr "`dpkg-parsechangelog 2>/dev/null |grep Version:`" : '.*Version: \(.*\)')
-# Debug
-#export DH_VERBOSE=1
+PERLLIBDIR=$(shell perl -MConfig -e 'print $$Config{vendorlib}')
build: test build-stamp
build-stamp:
- # Turn all executables and .pod files into man pages.
- find . \( \( -type f -perm +1 -maxdepth 1 \) -or \
- \( -type f -name '*.pod' \) \) \
- -exec pod2man -c Debhelper -r "$(VERSION)" {} {}.1 \;
- mv -f debhelper.pod.1 debhelper.1
- # Fix up the debhelper.1 man page, substituting in a list of all
- # debhelper commands. Eek!
+ # 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 --section=7 -c Debhelper -r "$(VERSION)" debhelper.pod | \
perl -e ' \
undef $$/; \
foreach (@ARGV) { \
} \
} \
END { \
- open(IN,"debhelper.1") or die "debhelper.1: $$!"; \
- $$file=<IN>; \
- open(OUT,">debhelper.1") or die "debhelper.1: $$!";; \
- $$file=~s/#LIST#/$$collect/; \
- print OUT $$file; \
- close OUT; \
- }' dh_*
+ while (<STDIN>) { \
+ s/#LIST#/$$collect/; \
+ print; \
+ }; \
+ }' `find . -type f -perm +100 -maxdepth 1 -name "dh_*" | sort` > debhelper.7
+ # Turn all executables into man pages.
+ find . -type f -perm +100 -maxdepth 1 -name "dh_*" \
+ -exec pod2man -c Debhelper -r "$(VERSION)" {} {}.1 \;
+ printf "package Debian::Debhelper::Dh_Version;\n\$$version='$(VERSION)';" > \
+ Debian/Debhelper/Dh_Version.pm
+
touch build-stamp
clean:
./dh_testdir
./dh_testroot
- -./dh_clean *.1 *-stamp
+ -./dh_clean *.1 *.7 *-stamp Debian/Debhelper/Dh_Version.pm
test: test-stamp
test-stamp:
./dh_clean
- DH_VERSION=10 perl -MTest::Harness -e 'runtests grep { ! /CVS/ } @ARGV' t/*
+ DH_VERSION=10 perl -MTest::Harness -e 'runtests grep { ! /CVS/ && ! /\.svn/ } @ARGV' t/*
./dh_clean
touch test-stamp
./dh_testdir
./dh_testroot
./dh_clean -k
- ./dh_installdirs usr/bin usr/share/debhelper \
- usr/lib/perl5/Debian/Debhelper
-
- 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/
- 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_installman *.1
- ./dh_installinfo
+ ./dh_install -X .1 dh_* usr/bin
+ ./dh_install Debian/Debhelper/*.pm $(PERLLIBDIR)/Debian/Debhelper/
+ ./dh_install autoscripts usr/share/debhelper
+ ./dh_installdocs doc/*
+ ./dh_installexamples examples/*
+ ./dh_installman *.1 *.7
./dh_installchangelogs
+ ./dh_shlibdeps
./dh_link
./dh_compress
./dh_fixperms
+ ./dh_perl
./dh_installdeb
./dh_gencontrol
./dh_md5sums
# Update the debhelper web page. Not intended for use by anyone except the
# author.
+DIR=/home/web/kitenet.net/programs/debhelper
installhook:
- cp debian/changelog /home/pub/programs/debhelper/CHANGES
- echo -n $(VERSION) > /home/pub/programs/debhelper/LATEST-VERSION-IS
+ cp debian/changelog $(DIR)/CHANGES
+ echo -n $(VERSION) > $(DIR)/LATEST-VERSION-IS
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary dist