[Python-modules-commits] r19633 - in packages/pyside-mobility/trunk/debian (5 files)

odyx at users.alioth.debian.org odyx at users.alioth.debian.org
Wed Dec 14 12:34:39 UTC 2011


    Date: Wednesday, December 14, 2011 @ 12:34:37
  Author: odyx
Revision: 19633

Make the debug flavours build optional and don't build them by default.

- Use DEB_BUILD_OPTIONS="debug";
- Add README.source to explain that;
- Add control.in and control.dbg-packages to control Build-Depends and package
stanzas;
- Update debian/rules to opt-in all -dbg related machinery.

Added:
  packages/pyside-mobility/trunk/debian/README.source
  packages/pyside-mobility/trunk/debian/control.dbg-packages
  packages/pyside-mobility/trunk/debian/control.in
    (from rev 19192, packages/pyside-mobility/trunk/debian/control)
Modified:
  packages/pyside-mobility/trunk/debian/control
  packages/pyside-mobility/trunk/debian/rules

Added: packages/pyside-mobility/trunk/debian/README.source
===================================================================
--- packages/pyside-mobility/trunk/debian/README.source	                        (rev 0)
+++ packages/pyside-mobility/trunk/debian/README.source	2011-12-14 12:34:37 UTC (rev 19633)
@@ -0,0 +1,43 @@
+==== Building the debug "flavours" of PySide ====
+
+Since its 1.0.9-2 release, the pyside Debian source package doesn't build the
+"debug" flavours of PySide anymore. The same change has happenned on
+pyside-mobility on its 0.2.3-2 release.
+
+This README.source documents how one can build them if needed anyway.
+
+== What they are ==
+
+What are the "debug" flavours ? There are two types:
+
+a) standard build debugging symbols: those are stripped out of the binary and
+   are put in the python-qtmobility-dbg package, in the /usr/lib/debug file
+   hierarchy.
+
+b) "python debug" builds: those are full PySide builds against the python-dbg
+  libraries, also living in python-qtmobility-dbg.
+
+== How to build them ==
+
+The packaging keeps the needed pieces together, you need to do four steps:
+
+1) Build and install the pyside debug flavours (see pyside's README.source)
+
+2) Re-create debian/control
+  (this will add the needed Build-Depends and package stanzas to debian/control)
+
+	DEB_BUILD_OPTIONS="debug" debian/rules update-control
+
+3) Increment the version
+
+	dch --local debug -m "Build with debug flavours enabled."
+
+4) Build the package with your usual tools, e.g.
+
+	debuild
+
+== WARNING ==
+
+Building the -dbg flavours will `at least` double the compilation time and
+create big packages: python-qtmobility-dbg is ~ 100 Mio compressed and ~ 600 Mio
+uncompressed.

Modified: packages/pyside-mobility/trunk/debian/control
===================================================================
--- packages/pyside-mobility/trunk/debian/control	2011-12-14 08:43:22 UTC (rev 19632)
+++ packages/pyside-mobility/trunk/debian/control	2011-12-14 12:34:37 UTC (rev 19633)
@@ -4,10 +4,10 @@
 Maintainer: Debian Python Modules Team <python-modules-team at lists.alioth.debian.org>
 Uploaders: Didier Raboud <odyx at debian.org>
 Build-Depends: debhelper (>= 8.9.0~), cmake (>= 2.8.2), dpkg-dev (>= 1.15.6),
- python-all-dev (>= 2.6.6-3~), python-all-dbg (>= 2.6.6-3~),
+ python-all-dev (>= 2.6.6-3~),
  libqt4-dev (>= 4:4.7.0), libphonon-dev, qtmobility-dev (>= 1.0.0),
- libpyside-dev (>= 1.0.7), shiboken (>= 1.0.7), libshiboken-dev (>= 1.0.7), shiboken-dbg (>= 1.0.7),
- python-pyside.qtcore (>= 1.0.7), python-pyside-dbg (>= 1.0.7),
+ libpyside-dev (>= 1.0.9), shiboken (>= 1.0.10), libshiboken-dev (>= 1.0.10),
+ python-pyside.qtcore (>= 1.0.9),
  python-pyside.qtgui, python-pyside.qtnetwork,
  xvfb, xauth,
 # Various Build-Depends are needed for success of the testsuite:
@@ -52,34 +52,6 @@
  .
  Python bindings for Qt4 framework. This contains the common files.
 
-Package: python-qtmobility-dbg
-Architecture: any
-Priority: extra
-Section: debug
-Pre-Depends: dpkg (>= 1.15.6~)
-Depends: ${pycmakedeps:Depends}, ${shlibs:Depends}, ${misc:Depends}, 
- shiboken-dbg (>= 1.0.7),
- python-qtmobility-common (= ${binary:Version}),
- python-qtmobility (>= ${source:Version}) |
- python-qtmobility.connectivity (= ${binary:Version}) |
- python-qtmobility.contacts (= ${binary:Version}) |
- python-qtmobility.feedback (= ${binary:Version}) |
- python-qtmobility.gallery (= ${binary:Version}) |
- python-qtmobility.location (= ${binary:Version}) |
- python-qtmobility.messaging (= ${binary:Version}) |
- python-qtmobility.multimediakit (= ${binary:Version}) |
- python-qtmobility.organizer (= ${binary:Version}) |
- python-qtmobility.publishsubscribe (= ${binary:Version}) |
- python-qtmobility.sensors (= ${binary:Version}) |
- python-qtmobility.serviceframework (= ${binary:Version}) |
- python-qtmobility.systeminfo (= ${binary:Version}) |
- python-qtmobility.versit (= ${binary:Version})
-Description: Python bindings for Qt4 Mobility (debug symbols)
- Qt is a cross-platform C++ application framework. Qt's primary feature
- is its rich set of widgets that provide standard GUI functionality.
- .
- This package contains the debugging symbols.
-
 Package: python-qtmobility-dev
 Architecture: any
 Priority: extra

Added: packages/pyside-mobility/trunk/debian/control.dbg-packages
===================================================================
--- packages/pyside-mobility/trunk/debian/control.dbg-packages	                        (rev 0)
+++ packages/pyside-mobility/trunk/debian/control.dbg-packages	2011-12-14 12:34:37 UTC (rev 19633)
@@ -0,0 +1,28 @@
+Package: python-qtmobility-dbg
+Architecture: any
+Priority: extra
+Section: debug
+Pre-Depends: dpkg (>= 1.15.6~)
+Depends: ${pycmakedeps:Depends}, ${shlibs:Depends}, ${misc:Depends}, 
+ shiboken-dbg (>= 1.0.10),
+ python-qtmobility-common (= ${binary:Version}),
+ python-qtmobility (>= ${source:Version}) |
+ python-qtmobility.connectivity (= ${binary:Version}) |
+ python-qtmobility.contacts (= ${binary:Version}) |
+ python-qtmobility.feedback (= ${binary:Version}) |
+ python-qtmobility.gallery (= ${binary:Version}) |
+ python-qtmobility.location (= ${binary:Version}) |
+ python-qtmobility.messaging (= ${binary:Version}) |
+ python-qtmobility.multimediakit (= ${binary:Version}) |
+ python-qtmobility.organizer (= ${binary:Version}) |
+ python-qtmobility.publishsubscribe (= ${binary:Version}) |
+ python-qtmobility.sensors (= ${binary:Version}) |
+ python-qtmobility.serviceframework (= ${binary:Version}) |
+ python-qtmobility.systeminfo (= ${binary:Version}) |
+ python-qtmobility.versit (= ${binary:Version})
+Description: Python bindings for Qt4 Mobility (debug symbols)
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbols.
+

Copied: packages/pyside-mobility/trunk/debian/control.in (from rev 19192, packages/pyside-mobility/trunk/debian/control)
===================================================================
--- packages/pyside-mobility/trunk/debian/control.in	                        (rev 0)
+++ packages/pyside-mobility/trunk/debian/control.in	2011-12-14 12:34:37 UTC (rev 19633)
@@ -0,0 +1,224 @@
+Source: pyside-mobility
+Section: python
+Priority: optional
+Maintainer: Debian Python Modules Team <python-modules-team at lists.alioth.debian.org>
+Uploaders: Didier Raboud <odyx at debian.org>
+Build-Depends: debhelper (>= 8.9.0~), cmake (>= 2.8.2), dpkg-dev (>= 1.15.6), at BD-DEBUG@
+ python-all-dev (>= 2.6.6-3~),
+ libqt4-dev (>= 4:4.7.0), libphonon-dev, qtmobility-dev (>= 1.0.0),
+ libpyside-dev (>= 1.0.9), shiboken (>= 1.0.10), libshiboken-dev (>= 1.0.10),
+ python-pyside.qtcore (>= 1.0.9),
+ python-pyside.qtgui, python-pyside.qtnetwork,
+ xvfb, xauth,
+# Various Build-Depends are needed for success of the testsuite:
+# python-pyside.qtcore, python-pyside.qtgui. xvfb, xauth
+Standards-Version: 3.9.2.0
+X-Python-Version: >= 2.6
+Vcs-Svn: svn://svn.debian.org/python-modules/packages/pyside-mobility/trunk/
+Vcs-Browser: http://anonscm.debian.org/viewvc/python-modules/packages/pyside-mobility/trunk/
+Homepage: http://www.pyside.org/
+
+Package: python-qtmobility
+Architecture: all
+Depends: ${shlibs:Depends}, ${misc:Depends},
+ python-qtmobility.connectivity (>= ${binary:Version}),
+ python-qtmobility.contacts (>= ${binary:Version}),
+ python-qtmobility.feedback (>= ${binary:Version}),
+ python-qtmobility.gallery (>= ${binary:Version}),
+ python-qtmobility.location (>= ${binary:Version}),
+ python-qtmobility.messaging (>= ${binary:Version}),
+ python-qtmobility.multimediakit (>= ${binary:Version}),
+ python-qtmobility.organizer (>= ${binary:Version}),
+ python-qtmobility.publishsubscribe (>= ${binary:Version}),
+ python-qtmobility.sensors (>= ${binary:Version}),
+ python-qtmobility.serviceframework (>= ${binary:Version}),
+ python-qtmobility.systeminfo (>= ${binary:Version}),
+ python-qtmobility.versit (>= ${binary:Version})
+Description: Python bindings for Qt4 Mobility (big metapackage)
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ Python bindings for Qt4 framework. This is a metapackage for all modules.
+
+Package: python-qtmobility-common
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends},
+ python-pyside.qtcore (>= 1.0.7), python-pyside.qtgui (>= 1.0.7)
+Recommends: python-qtmobility.location (= ${binary:Version}),
+ python-qtmobility.sensors (= ${binary:Version})
+Description: Python bindings for Qt4 Mobility (common files)
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ Python bindings for Qt4 framework. This contains the common files.
+
+Package: python-qtmobility-dev
+Architecture: any
+Priority: extra
+Section: libdevel
+Depends: ${pycmakedeps:Depends}, ${shlibs:Depends}, ${misc:Depends}, ${python:Depends},
+ libqt4-dev (>= 4.6.2) , libphonon-dev, qtmobility-dev (>= 1.0.0),
+ libpyside-dev (>= 1.0.7), libshiboken-dev (>= 1.0.7)
+Provides: ${python:Provides}
+Description: Python bindings for Qt4 Mobility (devel files)
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the development files.
+
+Package: python-qtmobility.connectivity
+Architecture: any
+Depends: ${pycmakedeps:Depends}, ${shlibs:Depends}, ${misc:Depends}, ${python:Depends},
+ python-qtmobility-common (= ${binary:Version})
+Provides: ${python:Provides}
+Description: Qt4 Mobility Connectivity - Python bindings 
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package provides Python bindings for the
+ QtMobility.Connectivity module.
+
+Package: python-qtmobility.contacts
+Architecture: any
+Depends: ${pycmakedeps:Depends}, ${shlibs:Depends}, ${misc:Depends}, ${python:Depends},
+ python-qtmobility-common (= ${binary:Version})
+Provides: ${python:Provides}
+Description: Qt4 Mobility Contacts - Python bindings 
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package provides Python bindings for the
+ QtMobility.Contacts module.
+
+Package: python-qtmobility.feedback
+Architecture: any
+Depends: ${pycmakedeps:Depends}, ${shlibs:Depends}, ${misc:Depends}, ${python:Depends},
+ python-qtmobility-common (= ${binary:Version})
+Provides: ${python:Provides}
+Description: Qt4 Mobility Feedback - Python bindings 
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package provides Python bindings for the
+ QtMobility.Feedback module.
+
+Package: python-qtmobility.gallery
+Architecture: any
+Depends: ${pycmakedeps:Depends}, ${shlibs:Depends}, ${misc:Depends}, ${python:Depends},
+ python-qtmobility-common (= ${binary:Version})
+Provides: ${python:Provides}
+Description: Qt4 Mobility Gallery - Python bindings 
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package provides Python bindings for the
+ QtMobility.Gallery module.
+
+Package: python-qtmobility.location
+Architecture: any
+Depends: ${pycmakedeps:Depends}, ${shlibs:Depends}, ${misc:Depends}, ${python:Depends},
+ python-qtmobility-common (= ${binary:Version})
+Provides: ${python:Provides}
+Description: Qt4 Mobility Location - Python bindings 
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package provides Python bindings for the
+ QtMobility.Location module.
+
+Package: python-qtmobility.messaging
+Architecture: any
+Depends: ${pycmakedeps:Depends}, ${shlibs:Depends}, ${misc:Depends}, ${python:Depends},
+ python-qtmobility-common (= ${binary:Version})
+Provides: ${python:Provides}
+Description: Qt4 Mobility Messaging - Python bindings 
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package provides Python bindings for the
+ QtMobility.Messaging module.
+
+Package: python-qtmobility.multimediakit
+Architecture: any
+Depends: ${pycmakedeps:Depends}, ${shlibs:Depends}, ${misc:Depends}, ${python:Depends},
+ python-qtmobility-common (= ${binary:Version}), python-pyside.qtnetwork (>= 1.0.7)
+Provides: ${python:Provides}
+Description: Qt4 Mobility MultimediaKit - Python bindings 
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package provides Python bindings for the
+ QtMobility.MultimediaKit module.
+
+Package: python-qtmobility.organizer
+Architecture: any
+Depends: ${pycmakedeps:Depends}, ${shlibs:Depends}, ${misc:Depends}, ${python:Depends},
+ python-qtmobility-common (= ${binary:Version})
+Provides: ${python:Provides}
+Description: Qt4 Mobility Organizer - Python bindings 
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package provides Python bindings for the
+ QtMobility.Organizer module.
+
+Package: python-qtmobility.publishsubscribe
+Architecture: any
+Depends: ${pycmakedeps:Depends}, ${shlibs:Depends}, ${misc:Depends}, ${python:Depends},
+ python-qtmobility-common (= ${binary:Version})
+Provides: ${python:Provides}
+Description: Qt4 Mobility Publish and Subscribe - Python bindings 
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package provides Python bindings for the
+ QtMobility.PublishSubscribe module.
+
+Package: python-qtmobility.sensors
+Architecture: any
+Depends: ${pycmakedeps:Depends}, ${shlibs:Depends}, ${misc:Depends}, ${python:Depends},
+ python-qtmobility-common (= ${binary:Version})
+Provides: ${python:Provides}
+Description: Qt4 Mobility Sensors - Python bindings 
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package provides Python bindings for the
+ QtMobility.Sensors module.
+
+Package: python-qtmobility.serviceframework
+Architecture: any
+Depends: ${pycmakedeps:Depends}, ${shlibs:Depends}, ${misc:Depends}, ${python:Depends},
+ python-qtmobility-common (= ${binary:Version})
+Provides: ${python:Provides}
+Description: Qt4 Mobility Service Framework - Python bindings 
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package provides Python bindings for the
+ QtMobility.ServiceFramework module.
+
+Package: python-qtmobility.systeminfo
+Architecture: any
+Depends: ${pycmakedeps:Depends}, ${shlibs:Depends}, ${misc:Depends}, ${python:Depends},
+ python-qtmobility-common (= ${binary:Version})
+Provides: ${python:Provides}
+Description: Qt4 Mobility System Information - Python bindings 
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package provides Python bindings for the
+ QtMobility.Systeminfo module.
+
+Package: python-qtmobility.versit
+Architecture: any
+Depends: ${pycmakedeps:Depends}, ${shlibs:Depends}, ${misc:Depends}, ${python:Depends},
+ python-qtmobility-common (= ${binary:Version})
+Provides: ${python:Provides}
+Description: Qt4 Mobility Versit - Python bindings 
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package provides Python bindings for the
+ QtMobility.Versit module.
+

Modified: packages/pyside-mobility/trunk/debian/rules
===================================================================
--- packages/pyside-mobility/trunk/debian/rules	2011-12-14 08:43:22 UTC (rev 19632)
+++ packages/pyside-mobility/trunk/debian/rules	2011-12-14 12:34:37 UTC (rev 19633)
@@ -7,9 +7,34 @@
 PYVERSIONS=$(shell pyversions -v -r)
 DEFAULT_PY=$(shell pyversions -v -d)
 
+ifneq (,$(filter debug,$(DEB_BUILD_OPTIONS)))
+	BD_DEBUG           = python-all-dbg (>= 2.6.6-3~), shiboken-dbg (>= 1.0.10), python-pyside-dbg (>= 1.0.9),
+endif
+
+ifneq (,$(filter python-pyside-dbg,$(shell dh_listpackages)))
+	BUILD_DEBUG = true
+	CONFIGURE2_TARGETS = $(PYVERSIONS:%=override_dh_auto_configure_dbg-%)  $(PYVERSIONS:%=override_dh_auto_configure-%)
+	BUILD2_TARGETS     = $(PYVERSIONS:%=override_dh_auto_build_dbg-%)  $(PYVERSIONS:%=override_dh_auto_build-%)
+	INSTALL2_TARGETS   = $(PYVERSIONS:%=override_dh_auto_install_dbg-%)    $(PYVERSIONS:%=override_dh_auto_install-%)
+	TEST2_TARGETS      = $(PYVERSIONS:%=override_dh_auto_test_dbg-%)  $(PYVERSIONS:%=override_dh_auto_test-%)
+	
+	STRIP2_PARAMETERS  = --dbg-package=python-qtmobility-dbg --exclude=-dbg.so --exclude=_d.so
+else
+	CONFIGURE2_TARGETS = $(PYVERSIONS:%=override_dh_auto_configure-%)
+	BUILD2_TARGETS     = $(PYVERSIONS:%=override_dh_auto_build-%)
+	INSTALL2_TARGETS   = $(PYVERSIONS:%=override_dh_auto_install-%)
+	TEST2_TARGETS      = $(PYVERSIONS:%=override_dh_auto_test-%)
+endif
+
+update-control:
+	sed -e 's/@BD-DEBUG@/$(BD_DEBUG)/g' debian/control.in > debian/control
+ifdef BD_DEBUG
+	cat debian/control.dbg-packages >> debian/control
+endif
+
 #### CONFIGURE ####
 
-override_dh_auto_configure: $(PYVERSIONS:%=override_dh_auto_configure_dbg-%) $(PYVERSIONS:%=override_dh_auto_configure-%)
+override_dh_auto_configure: $(CONFIGURE2_TARGETS)
 
 override_dh_auto_configure_dbg-%:
 	mkdir -p build-$*-dbg
@@ -19,7 +44,7 @@
 	-DCMAKE_SKIP_RPATH=true \
 	-DCMAKE_USE_PYTHON_VERSION="$*-dbg;$*_d;$*" \
 	-DPython_ADDITIONAL_VERSIONS="$*-dbg;$*_d;$*" \
-	-DPYTHON_BASENAME=python$*-dbg \
+	-DPYTHON_BASENAME=-python$*-dbg \
 	-DPYTHON_SUFFIX=-python$*-dbg
 
 override_dh_auto_configure-%:
@@ -30,12 +55,12 @@
 	-DCMAKE_SKIP_RPATH=true \
 	-DCMAKE_USE_PYTHON_VERSION=$* \
 	-DPython_ADDITIONAL_VERSIONS=$* \
-	-DPYTHON_BASENAME=python$* \
+	-DPYTHON_BASENAME=-python$* \
 	-DPYTHON_SUFFIX=-python$*
 
 #### BUILD ####
 
-override_dh_auto_build: $(PYVERSIONS:%=override_dh_auto_build_dbg-%) $(PYVERSIONS:%=override_dh_auto_build-%)
+override_dh_auto_build: $(BUILD2_TARGETS)
 
 override_dh_auto_build_dbg-%:
 	dh_auto_build -a --builddirectory=build-$*-dbg
@@ -45,7 +70,7 @@
 
 #### INSTALL ####
 
-override_dh_auto_install: $(PYVERSIONS:%=override_dh_auto_install_dbg-%) $(PYVERSIONS:%=override_dh_auto_install-%)
+override_dh_auto_install: $(INSTALL2_TARGETS)
 
 override_dh_auto_install_dbg-%:
 	dh_auto_install -a --builddirectory=build-$*-dbg --destdir=debian/tmp-dbg
@@ -55,10 +80,10 @@
 
 #### STRIP ####
 override_dh_strip:
-	dh_strip -a --dbg-package=python-qtmobility-dbg --exclude=-dbg.so --exclude=_d.so
+	dh_strip -a $(STRIP2_PARAMETERS)
 
 #### TEST ####
-override_dh_auto_test: $(PYVERSIONS:%=override_dh_auto_test_dbg-%) $(PYVERSIONS:%=override_dh_auto_test-%)
+override_dh_auto_test: $(TEST2_TARGETS)
 
 override_dh_auto_test_dbg-%:
 	# Run tests in fake X Server in a non-blocking way
@@ -81,7 +106,7 @@
 override_dh_auto_clean:
 	rm -rf build-*
 	cd tests; rm -Rf *.pyc */*.pyc */*/*.pyc */*/*/*.pyc
-	rm -rf debian/tmp-dbg
+	- rm -rf debian/tmp-dbg
 
 #### DEBIAN INSTALL ####
 
@@ -103,6 +128,8 @@
 	dh_gencontrol
 
 override_dh_builddeb:
+ifdef BUILD_DEBUG
 	# XZ-compress the huge python-qtmobility-dbg
 	dh_builddeb -ppython-qtmobility-dbg -- -Zxz
+endif
 	dh_builddeb --remaining-packages




More information about the Python-modules-commits mailing list