[PATCH evolve-ext] debian: clean up rule file
Faheem Mitha
faheem at faheem.info
Sat Aug 16 10:49:28 CDT 2014
# HG changeset patch
# User Faheem Mitha <faheem at faheem.info>
# Date 1408203573 -19800
# Sat Aug 16 21:09:33 2014 +0530
# Branch stable
# Node ID 8c265df790d9f17ced403b95920d06ad60db6ee3
# Parent f3867e60d0720f3f842f631317fa1cbb2ef3b5a4
debian: clean up rule file
* Add DH_VERBOSE, commented out, for debugging convenience.
* Remove clean target before implicit match rule. This is redundant
because it is a match-everything rule. Possibly a typo.
* Replace build line with a dh_override_auto_build line. This is more
in line with how dh is supposed to work. In particular, dh_auto_build
is functionally equivalent to the repeated "dh build --with python2
--buildsystem=python_distutils" used currently.
* Similarly, replace clean with override_dh_auto_clean. The current
version does not call the default dh_auto_build, which is a bug.
This is required in particular for cleaning the build directories.
* Remove .PHONY line completely. This does not work in the case of
implicit pattern matching rules as used by dh. Consider this example
from Dr. Geoffrey Thomas:
faheem at orwell:/tmp/test$ ls -l
total 16
-rw-r--r-- 1 faheem faheem 17 Aug 16 20:27 blue.c
-rw-r--r-- 1 faheem faheem 17 Aug 16 20:27 green.c
-rw-r--r-- 1 faheem faheem 35 Aug 16 20:26 Makefile
-rw-r--r-- 1 faheem faheem 17 Aug 16 20:27 red.c
faheem at orwell:/tmp/test$ cat Makefile
%: %.c
gcc -o $@ $<
.PHONY: blue
faheem at orwell:/tmp/test$ make red
gcc -o red red.c
faheem at orwell:/tmp/test$ make green
gcc -o green green.c
faheem at orwell:/tmp/test$ make blue
make: Nothing to be done for blue'.
The Make manual
(http://www.gnu.org/software/make/manual/make.html#Phony-Targets) says
Since it knows that phony targets do not name actual files that
could be remade from other files, make skips the implicit rule
search for phony targets (see Implicit Rules).
Thanks to the good folks on #debian-mentors on OFTC for instruction
and explanation in these matters.
diff -r f3867e60d072 -r 8c265df790d9 debian/rules
--- a/debian/rules
+++ b/debian/rules
@@ -1,10 +1,11 @@
#!/usr/bin/make -f
+#export DH_VERBOSE=1
-clean %:
+%:
dh $@ --with python2 --buildsystem=python_distutils
-build:
- dh build --with python2 --buildsystem=python_distutils
+dh_override_auto_build:
+ dh_auto_build
$(MAKE) -C docs
ifeq (,$(filter nocheck, $(DEB_BUILD_OPTIONS)))
@@ -17,12 +18,11 @@
find debian -name __init__.py -delete
dh_python2
-clean: clean-docs
+override_dh_auto_clean: clean-docs
+ dh_auto_clean
rm -f tests/*.err
clean-docs:
rm -rf html
rm -f docs/static/logo-evolve.ico
rm -f docs/tutorials/tutorial.rst
-
-.PHONY: build clean clean-docs
More information about the Mercurial-devel
mailing list