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

Re: changes in python packaging

Hi Jay,

On Sun, Sep 15, 2013 at 09:42:24AM -0400, Jay Berkenbilt wrote:
> I'm having problems with one of my packages that includes a python
> module.  The package is vips.  I am not a python person, so this may be
> simple.

> The last time I built the package, there were several module binary
> files that got installed appropriately.  For example:

> % dpkg --listfiles python-vipscc| grep vmaskmodule.a
> /usr/lib/python2.6/dist-packages/vipsCC/vmaskmodule.a
> /usr/lib/python2.7/dist-packages/vipsCC/vmaskmodule.a

Well, to start off, this doesn't look correct at all.  Python modules are
never .a files; these appear to be spurious static builds of the modules
because you're using a non-pythonic build system that assumes it's
appropriate to build both shared and static versions of "libraries".  But
these are not libraries, they're DSOs; you should not ship these .a files in
your package.

> Now when I rebuild the package with no changes at all, I get something
> like this:

> % dpkg --contents python-vipscc_7.34.2-1_amd64.deb| grep vmaskmodule.a
> -rw-r--r-- root/root   1127858 2013-09-15 09:33 ./usr/share/pyshared/vipsCC/vmaskmodule.a
> lrwxrwxrwx root/root         0 2013-09-15 09:33 ./usr/lib/python2.7/dist-packages/vipsCC/vmaskmodule.a -> ../../../../share/pyshared/vipsCC/vmaskmodule.a

> Okay, this example shows a newer version of the package, but when I
> rebuild the exact same version as before, I get the same result.

This looks like a change in the python helpers, yes, probably to handle
moving/symlinking of files other than .py or .so that some python modules
include and expect to be present in their directory.  So this is a change
from whitelist handling of files with a .py extension, to blacklist handling
of files with a .so extension.  The .a files are ending up in the "wrong"
place because dh_python isn't treating them specially... because they're not
special for python, they're extraneous files to be deleted.

In sum, this is a preexisting bug in python-vips that is just manifesting
differently with the new version of dh_python2.

Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slangasek@ubuntu.com                                     vorlon@debian.org

Attachment: signature.asc
Description: Digital signature

Reply to: