#!/usr/bin/make -f # Note that I have to refer to debhelper programs with ./, to make sure # 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. # 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 export DH_COMPAT=3 # Figure out the current debhelper version. VERSION=$(shell expr "`dpkg-parsechangelog 2>/dev/null |grep Version:`" : '.*Version: \(.*\)') # Debug #export DH_VERBOSE=1 build: test # Nothing to do. clean: ./dh_testdir ./dh_testroot ./dh_clean test: ./dh_clean DH_VERSION=10 perl -MTest::Harness -e 'runtests grep { ! /CVS/ } @ARGV' t/* ./dh_clean # Build architecture-dependent files here. binary-arch: build # Nothing to do. # Build architecture-independent files here. binary-indep: build ./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 # 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=; \ 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=; \ 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_link ./dh_compress ./dh_fixperms ./dh_installdeb ./dh_gencontrol ./dh_md5sums ./dh_builddeb # Update the debhelper web page. Not intended for use by anyone except the # author. installhook: cp debian/changelog /home/pub/programs/debhelper/CHANGES echo -n $(VERSION) > /home/pub/programs/debhelper/LATEST-VERSION-IS binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary dist