* Jakub Wilk <jw...@debian.org>, 2012-05-03, 21:41:
2) Do not skip the "Before you begin"[0] step. This is very important: if two
packages share a namespace, either both or none of them must use
python-support. Also, it's not enough just to convert them all to dh_python2:
you must make sure (using Breaks or Depends relationships) that you cannot
co-install an older python-support-based versions together with
dh_python2-based ones.
An alternative might be using this trick:
http://docs.python.org/library/pkgutil.html#pkgutil.extend_path
(Though a convenient place to insert the code might not exist in some
cases.)
This is what I did in my two packages:
http://anonscm.debian.org/viewvc/python-modules/packages/gamera/trunk/debian/patches/namespace-package.diff?revision=21262&view=markup
http://anonscm.debian.org/viewvc/python-modules/packages/sphinx/trunk/debian/patches/sphinxcontrib_namespace.diff?revision=20343&view=markup
I set up a page to track this kinds of issues in unstable[2] and
testing[3]. Please note that I analyse only package contents, not
relationships. The tracker is updated daily. (Any volunteers to
file bugs?)
(Ping?)
The pages moved to:
[2] http://people.debian.org/~jwilk/python/namespace/conflicts-unstable.txt
[3] http://people.debian.org/~jwilk/python/namespace/conflicts-testing.txt
Here's how it looks today:
enthought:
pymodules: [python-apptools]
site-pkgs: [python-enthoughtbase]
This is a false-positive, and a weird one. "python-apptools" ships only one
file in the "enthought" namespace:
/usr/share/pyshared/enthought/rst/sphinx_default/jquery.js
But there are no symlinks in /usr/lib/python2.X/ to that file, so don't know
how's that supposed to work.
repoze:
pymodules: [python-repoze.who, python-repoze.what-plugins,
python-repoze.who-plugins, python-repoze.what,
python-repoze.sphinx.autointerface]
site-pkgs: [python-repoze.lru, python-repoze.tm2]
True positive. If you install one package from the "pymodules" set and one from
the "site-pkgs" set, the former package doesn't work.
"python-repoze.who-plugins" is in the worst situation, as it transitively depends
on "python-repoze.lru".
twisted:
pymodules: [cpushare]
site-pkgs: [python-axiom, python-twisted-news, python-twisted-lore,
python-twisted-bin, calendarserver, ibid, python-twisted-runner-dbg,
python-twisted-names, python-twisted-bin-dbg, python-twisted-words,
python-cyclone, graphite-carbon, epoptes, python-twisted-core,
python-twisted-web2, python-twisted-web, python-nevow, python-twisted-mail,
python-twisted-runner, python-wokkel, python-twisted-conch]
"cpushare" ships (among other things) a twisted plugin that doesn't work. Not a
regression; twisted has never used python-support.
mysql:
pymodules: [python-mysql.connector]
site-pkgs: [mysql-utilities]
Work-around implemented in mysql-utilities.
google:
pymodules: [python-protobuf]
site-pkgs: [python-google-apputils]
True positive. If you install both "python-protobuf" and "python-google-apputils",
the former doesn't work.
pywcs:
pymodules: [python-pywcs]
site-pkgs: [python-astropy-legacy]
Not co-installable.
sphinxcontrib:
pymodules: [python-sphinxcontrib.issuetracker, python-sphinxcontrib.spelling]
site-pkgs: [python-sphinxcontrib.actdiag, python-sphinxcontrib-pecanwsme,
python-sphinxcontrib.seqdiag, python-sphinxcontrib-programoutput,
python-sphinxcontrib.blockdiag, python-sphinxcontrib.nwdiag,
python-sphinxcontrib-httpdomain, python-sphinxcontrib.phpdomain]
Work-around implemented in python-sphinx.
cherrypy:
pymodules: [python-cherrypy]
site-pkgs: [python-cherrypy3]
Not co-installable.
DD-list of the affected packages is attached.
--
Jakub Wilk
Bernhard Reiter <ock...@raz.or.at>
python-repoze.sphinx.autointerface (U)
Debian Cloud Team <cloud-packa...@lists.alioth.debian.org>
google-apputils-python
Debian Python Modules Team <python-modules-t...@lists.alioth.debian.org>
python-apptools
python-repoze.lru
python-repoze.sphinx.autointerface
python-repoze.tm2
python-repoze.what-plugins
python-repoze.who-plugins
Debian QA Group <packa...@qa.debian.org>
python-repoze.what
python-repoze.who
Debian Scientific Computing Team <pkg-scicomp-de...@lists.alioth.debian.org>
cpushare
Iustin Pop <ius...@debian.org>
protobuf
Jan Dittberner <ja...@debian.org>
python-repoze.tm2 (U)
Piotr Ożarowski <pi...@debian.org>
python-repoze.what-plugins (U)
python-repoze.who-plugins (U)
Robert S. Edmonds <edmo...@debian.org>
protobuf (U)
Sam Hocevar <sam+...@zoy.org>
cpushare (U)
Stefano Zacchiroli <z...@debian.org>
python-repoze.what-plugins (U)
python-repoze.who-plugins (U)
TANIGUCHI Takaki <tak...@debian.org>
python-repoze.lru (U)
Varun Hiremath <va...@debian.org>
python-apptools (U)
Vincent Bernat <ber...@debian.org>
google-apputils-python (U)