PythonDebugPackages

Revision 1 as of 2007-02-13 16:31:32

Clear message

We are rebuilding python modules with a python-dbg variant.

Example packaging changes for python-pam:

diff -Nru /tmp/sH45lBGtVd/python-pam-0.4.2/debian/changelog /tmp/Bc2MXcIIa9/python-pam-0.4.2/debian/changelog
--- /tmp/sH45lBGtVd/python-pam-0.4.2/debian/changelog   2007-02-12 14:46:04.000000000 +0100
+++ /tmp/Bc2MXcIIa9/python-pam-0.4.2/debian/changelog   2007-02-13 16:54:40.000000000 +0100
@@ -1,3 +1,14 @@
+python-pam (0.4.2-10.4ubuntu1) feisty; urgency=low
+
+  * Build the extension for the debug interpreter.
+    - Build-depend on python-all-dbg (>= 2.5-0ubuntu5)
+    - debian/control: New package python-pam-dbg.
+    - debian/control: python-pam: Suggest python-pam-dbg.
+    - debian/rules: Build the extension with the python debug interpreter.
+    - debian/rules: python-pam-dbg: symlink to python-pam's docdir.
+
+ -- Matthias Klose <doko@ubuntu.com>  Tue, 13 Feb 2007 11:56:23 +0100
+
 python-pam (0.4.2-10.4build1) feisty; urgency=low
 
   * Rebuild. Ubuntu #69967.
diff -Nru /tmp/sH45lBGtVd/python-pam-0.4.2/debian/control /tmp/Bc2MXcIIa9/python-pam-0.4.2/debian/control
--- /tmp/sH45lBGtVd/python-pam-0.4.2/debian/control     2006-06-29 08:06:01.000000000 +0200
+++ /tmp/Bc2MXcIIa9/python-pam-0.4.2/debian/control     2007-02-13 16:52:55.000000000 +0100
@@ -1,9 +1,10 @@
 Source: python-pam
 Section: python
 Priority: optional
-Build-Depends: debhelper (>= 5.0.37.2), python-all-dev (>= 2.3.5-11), libpam0g-dev
+Build-Depends: debhelper (>= 5.0.37.2), python-all-dev (>= 2.3.5-11), python-all-dbg (>= 2.5-0ubuntu5), libpam0g-dev
 Maintainer: Dima Barsky <dima@debian.org>
-Standards-Version: 3.6.0
+Standards-Version: 3.7.2
+XS-Python-Version: all
 
 Package: python-pam
 Architecture: any
@@ -11,8 +12,20 @@
 Conflicts: python2.3-pam, python2.4-pam
 Replaces: python2.3-pam, python2.4-pam
 Provides: ${python:Provides}
+Suggests: python-pam-dbg
 XB-Python-Version: ${python:Versions}
 Description: A Python interface to the PAM library
  This module makes the PAM (Pluggable Authentication Modules) functions
  available in Python. With this module you can write Python applications
  that implement authentication services using PAM.
+
+Package: python-pam-dbg
+Architecture: any
+Depends: python-pam (= ${Source-Version})
+XB-Python-Version: ${python:Versions}
+Description: A Python interface to the PAM library (debug extension)
+ This module makes the PAM (Pluggable Authentication Modules) functions
+ available in Python. With this module you can write Python applications
+ that implement authentication services using PAM.
+ .
+ This package contains the extension built for the python debug interpreter.
diff -Nru /tmp/sH45lBGtVd/python-pam-0.4.2/debian/rules /tmp/Bc2MXcIIa9/python-pam-0.4.2/debian/rules
--- /tmp/sH45lBGtVd/python-pam-0.4.2/debian/rules       2006-06-25 17:34:03.000000000 +0200
+++ /tmp/Bc2MXcIIa9/python-pam-0.4.2/debian/rules       2007-02-13 13:53:10.000000000 +0100
@@ -10,15 +10,19 @@
 build: build-stamp
 build-stamp:
        dh_testdir
-       for python in $(PYVERS); \
-               do $$python setup.py build; \
+       set -e; \
+       for python in $(PYVERS); do \
+               $$python setup.py build; \
+               $$python-dbg setup.py build; \
        done
        touch build-stamp
 
 clean:
        dh_testdir
-       for python in $(PYVERS); \
-               do $$python setup.py clean; \
+       set -e; \
+       for python in $(PYVERS); do \
+               $$python setup.py clean; \
+               $$python-dbg setup.py clean; \
        done
        rm -rf build-stamp build
        dh_clean
@@ -29,9 +33,12 @@
        dh_clean -k
        dh_installdirs
 
-       for python in $(PYVERS); \
-               do $$python setup.py install --root=debian/python-pam; \
+       set -e; \
+       for python in $(PYVERS); do \
+               $$python setup.py install --root=debian/python-pam; \
+               $$python-dbg setup.py install --root=debian/python-pam-dbg; \
        done
+       find debian/python-pam-dbg ! -type d ! -name '*_d.so' | xargs rm -f
 
 # Build architecture-independent files here.
 binary-indep: build install
@@ -40,15 +47,16 @@
 binary-arch: build install
        dh_testdir
        dh_testroot
-       dh_installdocs -a -A AUTHORS README
-       dh_installexamples -a -A examples/*
+       dh_installdocs -a AUTHORS README
+       dh_installexamples -a examples/*
        dh_installchangelogs -a ChangeLog
-       dh_strip -a
+       rm -rf debian/python-pam-dbg/usr/share/doc/python-pam-dbg
+       ln -sf python-pam debian/python-pam-dbg/usr/share/doc/python-pam-dbg
+       dh_strip -a -Npython-pam-dbg --dbg-package=python-pam-dbg
        dh_compress -a
        dh_fixperms -a
-       #dh_pycentral is not needed as we don't have .py files (only a .so)
-       #dh_pycentral -a
-       dh_python -a
+       #dh_pycentral is needed to set the dependency on python
+       dh_pycentral -ppython-pam
        dh_installdeb -a
        dh_shlibdeps -a
        dh_gencontrol -a

The list was generated by running:

for i in `grep -E "\.so\ " Contents-i386 | grep python | cut -d' ' -f2-100 | sort -u`; do basename $i; done | xargs apt-cache showsrc | grep Package | sed 's/Package\:\ //g' | sort -u | xargs apt-cache showsrc | grep ^Dir | sort -u > ~/pydbg.list

Package:

Who

Directory: pool/main/b/beagle

Directory: pool/main/d/dbus-python

Directory: pool/main/d/deskbar-applet

Directory: pool/main/e/egenix-mx-base

Directory: pool/main/e/eunuchs

Directory: pool/main/g/gimp

Directory: pool/main/g/gnome-python

Directory: pool/main/g/gnome-python-desktop

Directory: pool/main/g/gnome-python-extras

Directory: pool/main/g/gnumeric

Directory: pool/main/g/gst0.10-python

Directory: pool/main/h/hplip

Directory: pool/main/k/kde-guidance

Directory: pool/main/libi/libieee1284

Directory: pool/main/libs/libselinux

Directory: pool/main/libx/libxml2

Directory: pool/main/libx/libxslt

Directory: pool/main/l/launchpad-integration

Directory: pool/main/o/ocfs2-tools

Directory: pool/main/p/pilot-link

Directory: pool/main/p/pygobject

Directory: pool/main/p/pygtk

Directory: pool/main/p/pyogg

Directory: pool/main/p/pyopenssl

Directory: pool/main/p/python2.4

Directory: pool/main/p/python2.5

Directory: pool/main/p/python-crypto

Directory: pool/main/p/python-numarray

Directory: pool/main/p/python-pylibacl

Directory: pool/main/p/python-pyxattr

Directory: pool/main/p/python-xml

Directory: pool/main/p/pyvorbis

Directory: pool/main/r/rdiff-backup

Directory: pool/main/s/sabayon

Directory: pool/main/s/subversion

Directory: pool/main/t/twisted

Directory: pool/main/t/twisted-runner

Directory: pool/main/v/vte

Directory: pool/main/z/zope3

Directory: pool/universe/c/cheetah

Directory: pool/universe/c/codespeak-lib

Directory: pool/universe/c/comedilib

Directory: pool/universe/c/cx-bsdiff

Directory: pool/universe/d/democracyplayer

Directory: pool/universe/d/diacanvas2

Directory: pool/universe/e/eclipse-pydev

Directory: pool/universe/f/fonttools

Directory: pool/universe/g/galago-python

Directory: pool/universe/g/gimmie

Directory: pool/universe/g/gnuradio

Directory: pool/universe/h/hk-classes

Directory: pool/universe/i/imdbpy

Directory: pool/universe/j/jack

Directory: pool/universe/libm/libmetakit2.4.9.3

Directory: pool/universe/libp/libphidgets

Directory: pool/universe/libs/libsemanage

Directory: pool/universe/libu/libuser

Directory: pool/universe/l/linkchecker

Directory: pool/universe/m/m2crypto

Directory: pool/universe/m/matplotlib

Directory: pool/universe/m/memaid-pyqt

Directory: pool/universe/m/mercurial

Directory: pool/universe/m/mmpython

Directory: pool/universe/m/museek+

Directory: pool/universe/n/necpp

Directory: pool/universe/n/nicotine

Directory: pool/universe/n/notify-python

Directory: pool/universe/o/ontv

Directory: pool/universe/o/opencv

Directory: pool/universe/o/opensync

Directory: pool/universe/p/pyalsaaudio

Directory: pool/universe/p/pychm

Directory: pool/universe/p/pyepl

Directory: pool/universe/p/pygdchart2

Directory: pool/universe/p/pyinotify

Directory: pool/universe/p/pykaraoke

Directory: pool/universe/p/pymol

Directory: pool/universe/p/pyopenal

Directory: pool/universe/p/pyopengl

Directory: pool/universe/p/pyprotocols

Directory: pool/universe/p/pyrite-publisher

Directory: pool/universe/p/pyslide

Directory: pool/universe/p/pystatgrab

Directory: pool/universe/p/pytables

Directory: pool/universe/p/python-4suite

Directory: pool/universe/p/python-biggles

Directory: pool/universe/p/python-biopython

Directory: pool/universe/p/python-clamav

Directory: pool/universe/p/python-gnome

Directory: pool/universe/p/python-japanese-codecs

Directory: pool/universe/p/python-kinterbasdb

Directory: pool/universe/p/python-numpy

Directory: pool/universe/p/python-pgsql

Directory: pool/universe/p/python-scientific

Directory: pool/universe/p/python-scipy

Directory: pool/universe/p/python-scipy-core

Directory: pool/universe/p/python-smbpasswd

Directory: pool/universe/p/python-tclink

Directory: pool/universe/p/python-xattr

Directory: pool/universe/p/pyx

Directory: pool/universe/p/pyxmpp

Directory: pool/universe/q/quixote

Directory: pool/universe/q/quixote1

Directory: pool/universe/r/ruledispatch

Directory: pool/universe/s/scgi

Directory: pool/universe/s/smart

Directory: pool/universe/s/soya

Directory: pool/universe/s/synopsis

Directory: pool/universe/t/tickcount

Directory: pool/universe/v/vtk

Directory: pool/universe/w/wxwidgets2.6

Directory: pool/universe/w/wxwindows2.4

Directory: pool/universe/x/xulrunner

Directory: pool/universe/z/zeroc-ice-python

Directory: pool/universe/z/zodb

Directory: pool/universe/z/zope2.9