#!/usr/bin/make -f
# Note that I have to refer to debhelper programs with ./, to make sure
-# I run the most current ones. That's also why there is a symlink to the
-# current Dh_lib.pm and the current Dh_getopt.pm in this debian/ directory.
+# 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.. See
-# examples/ for some good examples.
+# to tell you that; just see the 25 lines of inlined perl below..
+# See examples/ for some good examples.
+
+# Ensure that builds are self-hosting, which means I have to use the .pm
+# files in this package, not any that may be on the system.
+export PERL5LIB=.
# If any automatic script generation is done in building this package,
# be sure to use the new templates from this package.
export DH_AUTOSCRIPTDIR=autoscripts
# Living dangerously :-)
-export DH_COMPAT=2
+export DH_COMPAT=3
# Figure out the current debhelper version.
VERSION=$(shell expr "`dpkg-parsechangelog 2>/dev/null |grep Version:`" : '.*Version: \(.*\)')
-export DH_VERBOSE=1
+# Debug
+#export DH_VERBOSE=1
-build: link-stamp test
+build: test
# Nothing to do.
-clean: link-stamp
+clean:
./dh_testdir
./dh_testroot
- ./dh_clean link-stamp
+ ./dh_clean
-test: link-stamp
+test:
./dh_clean
DH_VERSION=10 perl -MTest::Harness -e 'runtests grep { ! /CVS/ } @ARGV' t/*
./dh_clean
# Build architecture-dependent files here.
-binary-arch: link-stamp build
+binary-arch: build
# Nothing to do.
# Build architecture-independent files here.
-binary-indep: link-stamp build
+binary-indep: build
./dh_testdir
./dh_testroot
./dh_clean -k
- ./dh_installdirs usr/bin usr/share/debhelper
+ ./dh_installdirs usr/bin usr/share/debhelper \
+ usr/lib/perl5/Debian/Debhelper
- echo -e "package Dh_Version;\n\$$version='$(VERSION)';" > debian/debhelper/usr/share/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 Dh_*.pm debian/debhelper/usr/share/debhelper
+ 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_installmanpages
./dh_installinfo
# Fix up all man pages, filling in the modification time for them.
- # Note this runs beofre the command below so debhelper.1 gets the right
+ # Note this runs before the command below so debhelper.1 gets the right
# date on it.
perl -mPOSIX -e ' \
foreach $$f (@ARGV) { \
open (OUT,">$$f"); \
print OUT @lines; \
close OUT; \
- }' debian/debhelper/usr/man/man1/*.1
+ }' debian/debhelper/usr/share/man/man1/*.1
# Fix up the debhelper.1 man page, substituting in a list of all
- # debhelper commands. eek!
+ # 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/man/man1/debhelper.1"); \
+ open(I,"debian/debhelper/usr/share/man/man1/debhelper.1"); \
@lines=<I>; \
close I; \
- open(O,">debian/debhelper/usr/man/man1/debhelper.1"); \
+ open(O,">debian/debhelper/usr/share/man/man1/debhelper.1"); \
foreach (@lines) { \
s/#LIST#/$$collect/; \
print O; \
close O; \
}' *.1
./dh_installchangelogs
-# ./dh_movefiles
./dh_link
./dh_compress
./dh_fixperms
- ./dh_suidregister
./dh_installdeb
./dh_gencontrol
./dh_md5sums
./dh_builddeb
-# Fix links when checking out of cvs by calling this target.
-link-stamp:
- sh -e debian/fixlinks
- touch link-stamp
-
# Update the debhelper web page. Not intended for use by anyone except the
# 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
+