X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=debian%2Frules;h=0c22f0e476e47fcb1f6299cfda28587019f79e95;hb=42c7a7a58ae32590ad3cc4928fb622e62922512b;hp=08a474e2b46f4c9ba1eee63cb91fa6807a2f0588;hpb=bcf662004e506ccce41f48bd2a6b878533c93097;p=debhelper.git diff --git a/debian/rules b/debian/rules index 08a474e..0c22f0e 100755 --- a/debian/rules +++ b/debian/rules @@ -3,7 +3,7 @@ # 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 @@ -14,27 +14,51 @@ export PERL5LIB=. # be sure to use the new templates from this package. export DH_AUTOSCRIPTDIR=autoscripts -# Living dangerously :-) -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: + # 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) { \ + open (IN, $$_) or die "$$_: $$!"; \ + $$file=; \ + close IN; \ + if ($$file=~m/=head1 NAME\n\n(.*?) - (.*?)\n/m) { \ + $$collect.=".IP $$1(1)\n$$2\n"; \ + } \ + } \ + END { \ + while () { \ + 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 -build: test -# Nothing to do. + touch build-stamp clean: ./dh_testdir ./dh_testroot - ./dh_clean + -./dh_clean *.1 *.7 *-stamp Debian/Debhelper/Dh_Version.pm -test: +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 # Build architecture-dependent files here. binary-arch: build @@ -45,60 +69,18 @@ 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_installmanpages - ./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_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_suidregister + ./dh_perl ./dh_installdeb ./dh_gencontrol ./dh_md5sums @@ -106,9 +88,10 @@ binary-indep: build # 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