Bug#555211: installs files to /usr/local for Python >= 2.6

Piotr Ożarowski piotr at debian.org
Sun Nov 8 23:06:20 UTC 2009


Package: gst0.10-python
Version: 0.10.17-1
Severity: important
User: debian-python at lists.debian.org
Usertags: python2.6 python-version

Hi,

Starting from Python 2.6, the installation paths for distutils have
changed. Instead of /usr/lib/pythonX.Y/site-packages, the default has
now changed to /usr/local.

python-support and python-central (since 0.6.11+nmu1) will recognize it
and move the files to the right location. Unfortunately python-central does
that only for packages which declare Python-Version header and python-gst0.10-dbg
binary package doesn't do that.

You can either add "XB-Python-Version: ${python:Versions}" to all binary
packages that ship Python modules (.py files) or extensions (.so, including
*_d.so) in debian/control or convert your package to python-support (which I
strongly recommend).

converting package to to python-support
=======================================

Note: all packages that use the same namespace have to use also the same helper
tool so f.e. if your package provides foo/bar/baz.{py,so} files (i.e.
foo.bar.baz module) - all other packages that use "foo" namespace[1] have to
use the same helper tool. If at least one package stops you from converting to
python-support or you'll have problems with the conversion, feel free to ask
for help on debian-python mailing list or #debian-python IRC channel.

  a) replace python-central with python-support in debian/control
  b) sed -i -e 's/DEB_PYTHON_SYSTEM=pycentral/DEB_PYTHON_SYSTEM=pysupport/' debian/rules
  c) sed -i -e 's/dh_pycentral/dh_pysupport/' debian/rules
  d) Lenny's python-central doesn't remove old files at upgrades, so if your
     package is already in Lenny, you'll need to remove them in preinst maintainer
     script. Example:

	#!/bin/sh
	# TODO: remove this file after releasing Squeeze
	set -e
	if [ "$1" = upgrade ] && dpkg --compare-versions "$2" lt 0.10.17-2
	then
		pycentral pkgremove python-gst0.10-dbg
	fi
	#DEBHELPER#

      Note that sometimes[2] `pycentral pkgremove` is not enough and you'll also
      have to use:
		rm -rf /usr/lib/python2.4/site-packages/foo
		rm -rf /usr/lib/python2.5/site-packages/foo
      Please make sure no other package is using this namespace before you do that, though
      (if your package is the only one using foo namespace, and you're not sure
      if you need these rm commands, I recommend to add them)

  z) by using /usr/share/doc/debhelper/examples/rules.tiny you can skip b) and c)
     (you'll need to build depend on debhelper >=7.4.3, though)

[1] you can check that with: `apt-file search -x '(packages|pyshared)/foo' -l`
[2] f.e. if list of files provided by your package is not stable






More information about the Pkg-gstreamer-maintainers mailing list