update to 2.4.0~rc1 break update-manager setup.py (and possible others)

Bug #449734 reported by Michael Vogt
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
python2.6 (Ubuntu)
Fix Released
High
Unassigned

Bug Description

Binary package hint: python2.6

With the recent update to python2.6 2.4.0~rc1 update-manager FTBFS:
dh_install: update-manager-core missing files (debian/tmp/usr/lib/python*/dist-packages/UpdateManager/fdsend.so), aborting

Set setup.py file looks like this:
setup(name='update-manager',
...
      ext_modules=[Extension('UpdateManager/fdsend',
                             ['UpdateManager/fdsend/fdsend.c'])],
...

WIth 2.6.4~rc1 the logs read:
copying build/lib.linux-x86_64-2.6/fdsend.so -> /tmp/buildd/update-manager-0.126.1/debian/tmp/usr/lib/python2.6/dist-packages

With 2.6.3:
copying build/lib.linux-x86_64-2.6/UpdateManager/fdsend.so -> /home/egon/devel/update-manager/checkout/build-area/update-manager-0.126.1/debian/tmp/usr/lib/python2.6/dist-packages/UpdateManager

So it looks like python is eating a prefix.

Revision history for this message
Michael Vogt (mvo) wrote :

Attached is a with 2.6.3-0ubuntu2 and a log from building with 2.6.4~rc1.

The only changes between before and after:

Log started: 2009-10-12 20:01:25
Preparing to replace python2.6-dev 2.6.3-0ubuntu2 (using .../python2.6-dev_2.6.4~rc1-0ubuntu1_amd64.deb) ...^M
Unpacking replacement python2.6-dev ...^M
Preparing to replace libpython2.6 2.6.3-0ubuntu2 (using .../libpython2.6_2.6.4~rc1-0ubuntu1_amd64.deb) ...^M
Unpacking replacement libpython2.6 ...^M
Preparing to replace python2.6 2.6.3-0ubuntu2 (using .../python2.6_2.6.4~rc1-0ubuntu1_amd64.deb) ...^M
Unpacking replacement python2.6 ...^M
Preparing to replace python2.6-minimal 2.6.3-0ubuntu2 (using .../python2.6-minimal_2.6.4~rc1-0ubuntu1_amd64.deb) ...^M
Unpacking replacement python2.6-minimal ...^M
Processing triggers for man-db ...^M
Processing triggers for desktop-file-utils ...^M
Setting up python2.6-minimal (2.6.4~rc1-0ubuntu1) ...^M
^M
Setting up python2.6 (2.6.4~rc1-0ubuntu1) ...^M
^M
Setting up libpython2.6 (2.6.4~rc1-0ubuntu1) ...^M
^M
Setting up python2.6-dev (2.6.4~rc1-0ubuntu1) ...^M
Processing triggers for libc-bin ...^M
ldconfig deferred processing now taking place^M
Log ended: 2009-10-12 20:01:41

Revision history for this message
Michael Vogt (mvo) wrote :

Attached is a with 2.6.3-0ubuntu2 and a log from building with 2.6.4~rc1.

The only changes between before and after:

Log started: 2009-10-12 20:01:25
Preparing to replace python2.6-dev 2.6.3-0ubuntu2 (using .../python2.6-dev_2.6.4~rc1-0ubuntu1_amd64.deb) ...^M
Unpacking replacement python2.6-dev ...^M
Preparing to replace libpython2.6 2.6.3-0ubuntu2 (using .../libpython2.6_2.6.4~rc1-0ubuntu1_amd64.deb) ...^M
Unpacking replacement libpython2.6 ...^M
Preparing to replace python2.6 2.6.3-0ubuntu2 (using .../python2.6_2.6.4~rc1-0ubuntu1_amd64.deb) ...^M
Unpacking replacement python2.6 ...^M
Preparing to replace python2.6-minimal 2.6.3-0ubuntu2 (using .../python2.6-minimal_2.6.4~rc1-0ubuntu1_amd64.deb) ...^M
Unpacking replacement python2.6-minimal ...^M
Processing triggers for man-db ...^M
Processing triggers for desktop-file-utils ...^M
Setting up python2.6-minimal (2.6.4~rc1-0ubuntu1) ...^M
^M
Setting up python2.6 (2.6.4~rc1-0ubuntu1) ...^M
^M
Setting up libpython2.6 (2.6.4~rc1-0ubuntu1) ...^M
^M
Setting up python2.6-dev (2.6.4~rc1-0ubuntu1) ...^M
Processing triggers for libc-bin ...^M
ldconfig deferred processing now taking place^M
Log ended: 2009-10-12 20:01:41

Revision history for this message
Michael Vogt (mvo) wrote :
Changed in python2.6 (Ubuntu):
importance: Undecided → High
Revision history for this message
James Westby (james-w) wrote :

http://bugs.python.org/issue7064

is why this change was made.

Reading that, it was done because setuptools assumes that the method
is always called with the full dotted name, when it was just being called
with the last part of it.

However, update-manager isn't using a dotted module path anyway, it's
passing a path.

http://docs.python.org/distutils/setupscript.html#extension-names-and-packages

shows that you would be expected to use

      ext_modules=[Extension('UpdateManager.fdsend',
                             ['UpdateManager/fdsend/fdsend.c'])],

(note . not / in the first line)

Does this in fact work?

Bringing this issue to the attention of the developers on the above
bug might be a good idea (I don't have credentials).

Thanks,

James

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package python2.6 - 2.6.4~rc1-0ubuntu2

---------------
python2.6 (2.6.4~rc1-0ubuntu2) karmic; urgency=low

  * Update from the 2.6 release branch.
    - Issue #7115: Fixed the extension module builds that is failing when
      using paths in the extension name instead of dotted names. LP: #449734.
    - Issue #6894: Fixed the issue urllib2 doesn't respect "no_proxy"
      environment.

 -- Matthias Klose <email address hidden> Tue, 13 Oct 2009 08:23:31 +0200

Changed in python2.6 (Ubuntu):
status: New → Fix Released
Revision history for this message
Michael Vogt (mvo) wrote :

Many thanks for this quick fix. I realized that my setup.py is wrong so I fixed it in my package too.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.