#!/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.
-# 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
-
-# This generates a list of synopses of debhelper commands, and substitutes
-# it in to the #LIST# line on the man page fed to it on stdin. Must be passes
-# parameters of all the executables or pod files to get the synopses from.
-# (Like I said, this is not a good example of a debhelper rules file..)
-MAKEMANLIST=perl -e ' \
- undef $$/; \
- foreach (@ARGV) { \
- open (IN, $$_) or die "$$_: $$!"; \
- $$file=<IN>; \
- close IN; \
- if ($$file=~m/=head1 .*\n\n(.*?) - (.*?)\n/m) { \
- $$collect.=".IP $$1(1)\n$$2\n"; \
- } \
- } \
- END { \
- while (<STDIN>) { \
- s/\#LIST\#/$$collect/; \
- print; \
- }; \
- }'
-
-# 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}')
-
-POD2MAN=pod2man -c Debhelper -r "$(VERSION)"
-
-build: test build-stamp
-build-stamp:
- # Build all the man pages.
- find . -type f -perm +100 -maxdepth 1 -name "dh_*" \
- -exec $(POD2MAN) {} {}.1 \;
- $(POD2MAN) --section=7 debhelper.pod | \
- $(MAKEMANLIST) `find . -type f -perm +100 -maxdepth 1 -name "dh_*" | sort` > debhelper.7
- # Translated pages.
- set -e; \
- for dir in man/*; do \
- lang=`basename $$dir`; \
- for file in $$dir/dh_*.pod; do \
- prog=`basename $$file | sed 's/.pod//'`; \
- $(POD2MAN) $$file $$prog.$$lang.1; \
- done; \
- $(POD2MAN) --section=7 $$dir/debhelper.pod | \
- $(MAKEMANLIST) `find $$dir -type f -maxdepth 1 -name "dh_*.pod" | sort` > debhelper.$$lang.7; \
- done
-
- 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 *.7 *-stamp Debian/Debhelper/Dh_Version.pm
-
-test: test-stamp
-test-stamp:
- ./dh_clean
- DH_VERSION=10 perl -MTest::Harness -e 'runtests grep { ! /CVS/ && ! /\.svn/ } @ARGV' t/*
- ./dh_clean
- touch test-stamp
-
-binary-indep: build
- ./dh_testdir
- ./dh_testroot
- ./dh_clean -k
- ./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
- ./dh_builddeb
-
-# 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 $(DIR)/CHANGES
- echo -n $(VERSION) > $(DIR)/LATEST-VERSION-IS
-
-binary-arch:
-binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary
+# If you're looking for an example debian/rules that uses debhelper, see
+# the examples directory.
+#
+# Each debhelper command in this rules file has to be run using ./run,
+# to ensure that the commands and libraries in the source tree are used,
+# rather than the installed ones.
+
+%:
+ ./run dh $@
+
+# Not intended for use by anyone except the author.
+announcedir:
+ @echo ${HOME}/src/joeywiki/code/debhelper/news