PythonDebugPackages

Differences between revisions 4 and 5
Revision 4 as of 2007-02-14 15:40:04
Size: 12796
Editor: dslb-088-073-096-223
Comment: claim some packages
Revision 5 as of 2007-02-14 16:27:50
Size: 15773
Editor: dslb-088-073-096-223
Comment: start howto
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== python-dbg builds ==
Line 3: Line 5:
Rationale ...

== Using the python-dbg builds ==

Write ...

== How to add a -dbg package ==

 * `debian/control`:
   * Add a build dependency on `python-all-dbg (>= 2.5-0ubuntu5)` (building for more than one python version), or `python-dbg (>= 2.5-0ubuntu5)` (building for the current python version).
   * `python-foo`: Add a suggests to `python-foo-dbg`.
   * `python-foo-dbg`: New binary package
     * Priority `extra`
     * Section `python`
     * Depends: `python-foo (= ${Source-Version}), ${shlibs:Depends}`
       * If `python-foo` depends on other packages with extensions, then `python-foo-dbg` must depend on the corresponding -dbg packages.
       * Otherwise, add a dependency on `python-dbg`
     * Description: add `(debug extension)`, maybe shorten the description and add `This package contains the extensions built for the python debug interpreter.`
 * `debian/rules`: Modifications depend on the packaging style, in general:
   * The interpreter `python-dbg` must be used (or `pythonX.Y-dbg`) for build and install. Automatically done by distutils.
   * The include path must be `/usr/include/pythonX.Y`'''_d'''. Automatically selected by distutils. To get the include headers, you can use `pythonX.Y-config --includes 2>/dev/null`.
   * An extension for the debug build is named `foo`'''_d'''`.so` and is installed into the same path as the normal extension. The name is automatically selected by distutils, for other builds the extension must be renamed manually.
   * The package must hold only the extension modules and header files installed in `/usr/include/pythonX.Y`'''_d'''` (when installed in `/usr/include/pythonX.Y` in the corresponding `python-foo` package).
   * The `python-foo-dbg` docdir should be symlinked to the `python-foo` docdir.
   * The `python-foo-dbg` can optionally contain debug symbols of the `python-foo` package (generated by `dh_strip -ppython-foo --dbg-package=python-foo-dbg`, `debian/compat`=5)

Packaging examples:

 * cdbs based (cdbs will be extended to ease this); currently you have to use some hooks:
   * `python-apt`: [http://people.ubuntu.com/~doko/python-dbg/python-apt.debdiff debdiff]
   * `python-crypto`: [http://people.ubuntu.com/~doko/python-dbg/python-crypto.debdiff debdiff]
 * distutils based, using debhelper to build for all supported python versions:
   * `python-numarray`: [http://people.ubuntu.com/~doko/python-dbg/python-numarray.debdiff debdiff]
 * not using distutils, but autoconf/automake:
   * `python-dbus`: [http://people.ubuntu.com/~doko/python-dbg/dbus-python.debdiff debdiff]
 * packages which should not be used as examples: `libselinux`, `openoffice.org`.

Repository:

 * The packages will enter the archive after the Herd4 release. Until then, you can use the following repositories for you build dependencies:
   * `deb http://people.ubuntu.com/~doko/python-dbg/ ./`

== Source packages building extensions ==

python-dbg builds

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

Rationale ...

Using the python-dbg builds

Write ...

How to add a -dbg package

  • debian/control:

    • Add a build dependency on python-all-dbg (>= 2.5-0ubuntu5) (building for more than one python version), or python-dbg (>= 2.5-0ubuntu5) (building for the current python version).

    • python-foo: Add a suggests to python-foo-dbg.

    • python-foo-dbg: New binary package

      • Priority extra

      • Section python

      • Depends: python-foo (= ${Source-Version}), ${shlibs:Depends}

        • If python-foo depends on other packages with extensions, then python-foo-dbg must depend on the corresponding -dbg packages.

        • Otherwise, add a dependency on python-dbg

      • Description: add (debug extension), maybe shorten the description and add This package contains the extensions built for the python debug interpreter.

  • debian/rules: Modifications depend on the packaging style, in general:

    • The interpreter python-dbg must be used (or pythonX.Y-dbg) for build and install. Automatically done by distutils.

    • The include path must be /usr/include/pythonX.Y_d. Automatically selected by distutils. To get the include headers, you can use pythonX.Y-config --includes 2>/dev/null.

    • An extension for the debug build is named foo_d.so and is installed into the same path as the normal extension. The name is automatically selected by distutils, for other builds the extension must be renamed manually.

    • The package must hold only the extension modules and header files installed in /usr/include/pythonX.Y_d (when installed in /usr/include/pythonX.Y in the corresponding python-foo` package).

    • The python-foo-dbg docdir should be symlinked to the python-foo docdir.

    • The python-foo-dbg can optionally contain debug symbols of the python-foo package (generated by dh_strip -ppython-foo --dbg-package=python-foo-dbg, debian/compat=5)

Packaging examples:

Repository:

  • The packages will enter the archive after the Herd4 release. Until then, you can use the following repositories for you build dependencies:
    • deb http://people.ubuntu.com/~doko/python-dbg/ ./

Source packages building extensions

Pocket

Source:

Binaries

Who

Status

main

dbus-python

python-dbus

doko

DONE

main

deskbar-applet

deskbar-applet

main

egenix-mx-base

python-egenix-*

doko

DONE

main

eunuchs

python-eunuchs

main

exo

python-exo

main

gamin

python-gamin

main

gnome-menus

python-gmenu

main

gnome-orca

gnome-orca

main

gnome-python

python-gconf python-gnome2 python-gnomecanvas

main

gnome-python-desktop

python-gnome2-desktop

main

gnome-python-extras

python-gnome2-extras python-gtkhtml2

main

gst0.10-python

python-gst0.10

main

hplip

hplip hplip-dbg

main

kde-guidance

kde-guidance

main

launchpad-integration

python-launchpad-integration

main

libapache2-mod-python

libapache2-mod-python

main

libgpod

python-gpod

main

libxml2

python-libxml2

main

libxslt

python-libxslt1

main

newt

python-newt

doko

DONE

main

ocfs2-tools

ocfs2console

main

openoffice.org

python-uno

doko

main

pilot-link

python-pisock

doko

DONE

main

planner

planner

main

psycopg

python-psycopg

main

pyao

python-pyao

main

pycairo

python-cairo

main

pycurl

python-pycurl

doko

main

pygobject

python-gobject

dholbach

DONE

main

pygresql

python-pygresql

doko

main

pygtk

python-glade2 python-gtk2

main

pyogg

python-pyogg

main

pyopenssl

python-pyopenssl

doko

main

pyorbit

python-pyorbit

main

pyspi

python-at-spi

main

python-adns

python-adns

doko

main

python-apt

python-apt

doko

DONE

main

python-cddb

python-cddb

main

python-crypto

python-crypto

doko

DONE

main

python-cups

python-cups

main

python-gd

python-gd

main

python-geoip

python-geoip

main

python-imaging

python-imaging python-imaging-sane

doko

DONE

main

python-kde3

python-kde3

main

python-ldap

python-ldap

main

python-mysqldb

python-mysqldb

doko

main

python-numarray

python-numarray

doko

DONE

main

python-numeric

python-numeric

doko

DONE

main

python-pam

python-pam

doko

DONE

main

python-pqueue

python-pqueue

main

python-pylibacl

python-pylibacl

main

python-pysqlite2

python-pysqlite2

doko

main

python-pyxattr

python-pyxattr

main

python-qt3

python-qt3 python-qtext

main

python-qt4

python-qt4

main

python-sqlite

python-sqlite

main

python-xml

python-xml

doko

DONE

main

pyvorbis

python-pyvorbis

main

rdiff-backup

rdiff-backup

main

redland-bindings

python-librdf

main

sabayon

sabayon

main

samba

python-samba

main

sip4-qt3

python-sip4

main

subversion

python-subversion

doko

main

twisted

python-twisted-bin

doko

main

twisted-runner

python-twisted-runner

doko

main

update-manager

update-manager-core

main

virtkey

python-virtkey

main

vte

python-vte

main

zope3

python-zopeinterface

doko

Pocket

Source:

Binaries

Who

Status

multiverse

gnuradio

python-gnuradio python-usrp

multiverse

python-cdb

python-cdb

Pocket

Source:

Binaries

Who

Status

universe

adesklets

adesklets

universe

aubio

python-aubio

universe

beagle

python-beagle

universe

celementtree

python-celementtree

doko

universe

cheetah

python-cheetah

universe

clearsilver

python-clearsilver

universe

codespeak-lib

python-codespeak-lib

universe

comedilib

python-comedilib

universe

cx-bsdiff

python-bsdiff

universe

decompyle

decompyle

universe

democracyplayer

democracyplayer

universe

diacanvas2

python-diacanvas2

universe

duplicity

duplicity

universe

eikazo

eikazo

universe

elementtidy

python-elementtidy

universe

file

python-magic

doko

universe

fonttools

fonttools

universe

gadfly

python-kjbuckets

doko

universe

galago-gtk-python

galago-gtk-python

universe

galago-python

galago-python

universe

gdal

python-gdal

universe

gimmie

gimmie

universe

glom

glom

universe

gpib

python-gpib

universe

hamlib

python-libhamlib2

universe

hk-classes

python-hk-classes

universe

hocr

libhocr-python

universe

imdbpy

python-imdbpy

universe

imgseek

imgseek

universe

isomd5sum

python-pyisomd5sum

universe

jack

jack

universe

kdebindings

python-dcop

universe

lasso

python-lasso

universe

libavg

python-libavg

universe

libhdate

libhdate-python

universe

libhid

python-hid

universe

libieee1284

python-ieee1284

universe

libmetakit2.4.9.3

python-metakit

universe

libphidgets

python-phidgets

universe

libselinux

python-selinux

doko

DONE

universe

libsemanage

python-semanage

universe

libuser

python-libuser

universe

libvirt

python-libvirt

universe

linkchecker

linkchecker

universe

lxml

python-lxml

doko

universe

m2crypto

python-m2crypto

universe

mapserver

python-mapscript

universe

matplotlib

python-matplotlib

universe

memaid-pyqt

memaid-pyqt

universe

mercurial

mercurial

universe

ming

python-ming

universe

mirage

mirage

universe

mmpython

python-mmpython

universe

museek+

python-museek

universe

necpp

python-necpp

universe

nicotine

nicotine

universe

notify-python

python-notify

universe

omniorb4

omniidl4

universe

ontv

ontv

universe

opencv

python-opencv

universe

opensync

libopensync0-dbg python-opensync

universe

pcapy

python-pcapy

universe

plplot

python-plplot

universe

poker-network

python-poker2d

universe

psyco

python-psyco

universe

psycopg2

python-psycopg2

universe

pyalsaaudio

python-alsaaudio

universe

pyannodex

python-annodex

universe

pybluez

python-bluez

universe

pychm

python-chm

universe

pyenchant

python-enchant

universe

pyepl

python-pyepl

universe

pyfribidi

python-pyfribidi

universe

pygame

python-pygame

universe

pygdchart2

python-gdchart2

universe

pyinotify

python-pyinotify

universe

pykaraoke

python-pykaraoke

universe

pymad

python-pymad

universe

pyme

python-pyme

universe

pymol

pymol

universe

pynjb

python-pynjb

universe

pyode

python-pyode

universe

pyopenal

python-openal

universe

pyopengl

python-opengl

universe

pypanel

pypanel

universe

pypoker-eval

python-pypoker-eval

universe

pyprotocols

python-protocols

universe

pyqonsole

pyqonsole

universe

pyqwt

python-qwt4

universe

pyrite-publisher

pyrite-publisher

universe

pyslide

pyslide

universe

pyspeex

python-speex

universe

pystatgrab

python-statgrab

universe

pysvn

python-svn

doko

universe

pytables

python-tables

universe

python-4suite

python-4suite-rdf python-4suite-server python-4suite-xml

universe

python-apsw

python-apsw

universe

python-bibtex

python-bibtex

universe

python-biggles

python-biggles

universe

python-biopython

python-biopython

universe

python-clamav

python-clamav

universe

python-crack

python-crack

universe

python-extclass

python-extclass

doko

universe

python-fam

python-fam

universe

python-fuse

python-fuse

universe

python-gammu

python-gammu

universe

python-gdchart

python-gdchart

universe

python-imaging

python-imaging-tk

universe

python-japanese-codecs

python-japanese-codecs

REMOVE

universe

python-kinterbasdb

python-kinterbasdb

universe

python-korean-codecs

python-korean-codecs

REMOVE

universe

python-numpy

python-numpy

doko

DONE

universe

python-omniorb2

python-omniorb2

universe

python-osd

python-osd

universe

python-oss

python-oss

universe

python-pgsql

python-pgsql

universe

python-pysqlite1.1

python-pysqlite1.1

universe

python-qt3

python-qt3-gl

universe

python-qt4

python-qt4-gl python-qt4-sql

universe

python-scientific

python-netcdf

universe

python-scipy

python-scipy

universe

python-scipy-core

python-scipy-core

universe

python-smbpasswd

python-smbpasswd

universe

python-tclink

python-tclink

universe

python-tcpwrap

python-tcpwrap

universe

python-visual

python-visual

universe

python-xattr

python-xattr

universe

pyx

python-pyx

universe

pyxfce

python-xfce

universe

pyxine

python-pyxine

universe

pyxmms

python-xmms

universe

pyxmpp

python-pyxmpp

universe

qm

python-sigmask

doko

universe

quixote

python-quixote

universe

quixote1

python-quixote1

universe

reportlab-accel

python-reportlab-accel

doko

universe

revelation

revelation

universe

rpm

python-rpm

universe

rpy

python-rpy

universe

rrdtool

python-rrd

doko

universe

ruledispatch

python-dispatch

universe

scgi

python-scgi

universe

sexy-python

sexy-python

universe

smart

smartpm-core

universe

sonata

sonata

universe

soya

python-soya

universe

subterfugue

subterfugue

universe

syck

python-syck

universe

synopsis

synopsis

universe

tau

python-tau

universe

telepathy-blue

telepathy-blue

universe

tickcount

python-tickcount

universe

vtk

python-vtk

universe

wxwidgets2.6

python-wxgtk2.6

universe

xapian-bindings

python-xapian

universe

xen-3.0

python-xen3.0

universe

xmldiff

xmldiff

universe

xulrunner

python-xpcom

universe

yapgvb

python-yapgvb

universe

zeroc-ice-python

python-zeroc-ice

universe

zodb

python-zodb

universe

zope-textindexng2

zope-textindexng2-lib

universe

zope2.9

zope2.9