[Python-modules-commits] r15280 - in packages/gamera/trunk/debian (changelog rules)

jwilk at users.alioth.debian.org jwilk at users.alioth.debian.org
Mon Jan 10 21:07:39 UTC 2011


    Date: Monday, January 10, 2011 @ 21:07:38
  Author: jwilk
Revision: 15280

Overhaul debian/rules.

Modified:
  packages/gamera/trunk/debian/changelog
  packages/gamera/trunk/debian/rules

Modified: packages/gamera/trunk/debian/changelog
===================================================================
--- packages/gamera/trunk/debian/changelog	2011-01-10 18:07:53 UTC (rev 15279)
+++ packages/gamera/trunk/debian/changelog	2011-01-10 21:07:38 UTC (rev 15280)
@@ -2,8 +2,9 @@
 
   * Strip file extension from icon name in the desktop file (closes: #609570).
     Thanks to Daniel Stender for the bug report.
+  * Overhaul debian/rules.
 
- -- Jakub Wilk <jwilk at debian.org>  Mon, 10 Jan 2011 18:57:19 +0100
+ -- Jakub Wilk <jwilk at debian.org>  Mon, 10 Jan 2011 22:04:22 +0100
 
 gamera (3.2.6-3) unstable; urgency=low
 

Modified: packages/gamera/trunk/debian/rules
===================================================================
--- packages/gamera/trunk/debian/rules	2011-01-10 18:07:53 UTC (rev 15279)
+++ packages/gamera/trunk/debian/rules	2011-01-10 21:07:38 UTC (rev 15280)
@@ -1,64 +1,92 @@
 #!/usr/bin/make -f
 
-PYTHONPATH = $(wildcard $(CURDIR)/build/lib.*-$(shell pyversions -dv))
-VERSION = $(shell dpkg-parsechangelog | grep ^Version | cut -d ' ' -f 2)
+ifneq ($(filter parallel=%,$(DEB_BUILD_OPTIONS)),)
+    makeflags = -j$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+endif
 
-.PHONY: build
-build: build-arch
-# build does not depend on build-indep due to #374029
+pythonpath = $$(_py_=$(strip $(1)); _py_=$${_py_\#python}; ls -d $(CURDIR)/build/lib.*-$${_py_})
+pythonpath_dbg = $$(_py_=$(strip $(1)); _py_=$${_py_\#python}; ls -d $(CURDIR)/build/lib_d.*-$${_py_} 2>/dev/null || ls -d $(CURDIR)/build/lib.*-$${_py_}-pydebug)
 
-.PHONY: build-arch
-build-arch: build/stamp
+default_pythonpath = $(call pythonpath,$(shell pyversions -d))
 
-build/stamp:
+version = $(shell dpkg-parsechangelog | grep ^Version | cut -d ' ' -f 2)
+
+
+# build and build-* targets
+# =========================
+
+.PHONY: build build-arch build-indep
+build: build-arch build-indep
+
+build-arch:
+	dh build
+
+build-indep:
+	# Nothing to do in build-indep, "thanks" to bug #374029.
+
+.PHONY: override_dh_auto_build
+override_dh_auto_build:
 	rm -Rf include/zlib*/ src/zlib*/ src/libpng*/ src/libtiff*/
 	rm -Rf include/vigra/
 	rm -Rf src/ga/
-	dh build -s
+	$(MAKE) -f debian/rules $(makeflags) build/stamp
 ifeq ($(filter nocheck,$(DEB_BUILD_OPTIONS)),)
 	set -x -e; \
-	for version in $(shell pyversions -rv); do \
-		PYTHONPATH=`ls -d $(CURDIR)/build/lib.*-$$version` python$$version debian/run-tests.py; \
-		PYTHONPATH=`ls -d $(CURDIR)/build/lib_d.*-$$version $(CURDIR)/build/lib.*-$$version-pydebug` python$$version-dbg debian/run-tests.py; \
+	for python in $(shell pyversions -r); do \
+		PYTHONPATH=$(call pythonpath,$$python) $$python debian/run-tests.py; \
+		PYTHONPATH=$(call pythonpath_dbg,$$python) $$python-dbg debian/run-tests.py; \
 	done
 endif
+
+build/stamp: $(patsubst %,build/stamp-python%,$(shell pyversions -rv))
+build/stamp: $(patsubst %,build/stamp-python%-dbg,$(shell pyversions -rv))
+build/stamp:
 	touch $(@)
 
-.PHONY: build-indep
-build-indep: doc/stamp
+build/stamp-python%:
+	python$(*) setup.py build
+	touch $(@)
 
+
+# binary and binary-* targets
+# ===========================
+
+.PHONY: binary binary-arch binary-indep
+binary binary-arch binary-indep:
+	dh $(@)
+
+.PHONY: override_dh_installman
+override_dh_installman: doc/manpage/gamera_gui.1
+	dh_installman
+
+.PHONY: override_dh_installdocs
+override_dh_installdocs: doc/stamp
+	dh_installdocs
+
 doc/manpage/gamera_gui.1: build/stamp
 	mkdir -p doc/manpage/
 	ln -sf $(CURDIR)/debian/manpage-helper-1 doc/manpage/
 	ln -sf $(CURDIR)/debian/manpage-helper-2 doc/manpage/gamera_gui
 	chmod +x doc/manpage/gamera_gui
-	cd doc/manpage/ && PYTHONPATH=$(PYTHONPATH) help2man --version-string=$(VERSION) --name='GUI for the Gamera framework' --no-info ./gamera_gui > gamera_gui.1
+	cd doc/manpage/ && \
+		PYTHONPATH=$(default_pythonpath) \
+		help2man --version-string=$(version) --name='GUI for the Gamera framework' --no-info ./gamera_gui > gamera_gui.1
 
-doc/stamp: build/stamp doc/manpage/gamera_gui.1
-	cd doc && PYTHONPATH=$(PYTHONPATH) python gendoc.py
+doc/stamp: build/stamp
+	cd doc && PYTHONPATH=$(default_pythonpath) python gendoc.py
 	touch $(@)
 
-.PHONY: clean
-clean:
-	dh clean
-	rm -Rf doc/html/images/
-	rm -Rf doc/manpage/
-	rm -Rf build/
-	find . -type f -name '*.py[co]' -delete
-
-.PHONY: install
-install: install-arch install-indep
-
-.PHONY: install-arch
-install-arch: build-arch
-	dh install -s
-
-.PHONY: install-indep
-install-indep: build-indep
-	dh install -i --until dh_install
+.PHONY: override_dh_install
+override_dh_install:
+	dh_install
+ifneq ($(shell dh_listpackages | grep -x -F gamera-gui),)
 	find debian/gamera-gui/ -name has_gui.py -delete
 	pngtopnm < gamera/pixmaps/icon.png | ppmtoxpm > debian/gamera-gui/usr/share/pixmaps/gamera-gui.xpm
-	dh install -i --before dh_link
+endif
+
+.PHONY: override_dh_link
+override_dh_link:
+ifneq ($(shell dh_listpackages | grep -x -F python-gamera-dev),)
 	set -e; cd debian/python-gamera-dev/usr/include/; \
 		mv $(shell pyversions -d)/gamera .; \
 		rm -Rf python2.*/; \
@@ -68,21 +96,9 @@
 			ln -sf ../gamera $$version$$suffix/gamera; \
 		done; \
 		done
-	dh install -i --remaining
-	sed -i -e '1 s|.*|#!/usr/bin/python|' debian/gamera-gui/usr/bin/gamera_gui
+endif
+	dh_link
 
-.PHONY: binary
-binary: install
-	dh binary
-
-.PHONY: binary-arch
-binary-arch: install-arch
-	dh binary-arch
-
-.PHONY: binary-indep
-binary-indep: install-indep
-	dh binary-indep
-
 .PHONY: override_dh_strip
 override_dh_strip:
 ifeq ($(filter nostrip,$(DEB_BUILD_OPTIONS)),)
@@ -90,6 +106,19 @@
 	cd debian/*-dbg/usr/lib/debug/usr/lib && mv pyshared pymodules
 endif
 
-.NOTPARALLEL:
 
+# clean target
+# ============
+
+.PHONY: clean
+clean:
+	dh clean
+
+.PHONY: override_dh_auto_clean
+override_dh_auto_clean:
+	dh_auto_clean
+	rm -Rf doc/html/images/
+	rm -Rf doc/manpage/
+	rm -Rf build/
+
 # vim:ts=4 sw=4 noet




More information about the Python-modules-commits mailing list