[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Help needed with dh_python2 and dh_python3



Hi Michael (2012.07.24_10:15:51_+0200)
> I have a package that installs a few Python scripts and utility modules
> which are compatible with both, python2 and python3. The build system
> does not use distutils, it just copies the files into
> /usr/share/pyshared/<module>/.

That's probably not ideal. pyshared is almost an internal implementation
detail of dh_python2 (although, one that's documented in the Python
Policy [0]). Upstream build systems should not be installing there. They
should install into the usual dist-packages directories, and dh_python2
will de-duplicate between python versions.

dh_python2 supports .pyinstall files, to achieve the same thing.

[0]: http://www.debian.org/doc/packaging-manuals/python-policy/ch-python.html#s-paths

As to installing for python3, you should install to
/usr/lib/python3/dist-packages in that binary package.

> Now, I figured it would be as easy as
> 
> * adding a build-dependency on python and python3
> * adding X-Python-Versino and X-Python3-Version tags
> * adding ${python:Depends} and ${python3:Depends} to the respective
>   binary packages dependencies
> * invoking the dh sequencer with the option --with=python2,python3

You also need to make sure the python modules go into the python-
package, and the python3 modules go into the python3- package.

With distutils, this means overriding dh_auto_*.

> Anybody got a clue as to what I'm doing wrong here? Do I need to add an
> extra binary python3-foo package?

Yes.

SR

-- 
Stefano Rivera
  http://tumbleweed.org.za/
  H: +27 21 461 1230 C: +27 72 419 8559


Reply to: