git-buildpackage ftbfs in saucy due to bugs in python-coverage's packaging

Bug #1215175 reported by Chris J Arges on 2013-08-21
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
git-buildpackage (Debian)
Fix Released
Unknown
git-buildpackage (Ubuntu)
High
Andrew Starr-Bochicchio
python-coverage (Ubuntu)
High
Unassigned

Bug Description

Summary:

The original FTBFS in git-buildpackage was due to a work-around in in debian/rules which exported DEB_VENDOR="Debian" so dch would act like as if it were being run under Debian
not Ubuntu. The tests were fixed upstream to correctly detect that they are being run on
Ubuntu, so this work-around was actually causing the problem. This is fixed in proposed and the patch has been forwarded to Debian.

After fixing this, git-buildpackage still was FTBFS exposing two bugs in the packaging of python-coverage.

1) A number of embedded JavaScript libraries are removed when " debian/rules build" is called, but on the LP buildds that is only called when building i386. When, for instance, amd64 is built "debian/rules build-arch" is called and the JavaScript files aren't deleted. So we end up with packages with different contents depending on the arch.

2) jquery.hotkeys.js and jquery.isonscreen.js were bundled in the new upstream release packaged by Ubuntu. They were added to the list of bundled libs removed in debian/rules but the patch allowing python-coverage to work with out bundled libs was not updated to include them.

Patch in comment #8 fixes both issues.

-----------
Original Bug:

Here is a link to the build failure:
https://launchpad.net/ubuntu/+source/git-buildpackage/0.6.2/+build/4782235/+files/buildlog_ubuntu-saucy-i386.git-buildpackage_0.6.2_FAILEDTOBUILD.txt.gz

In general it seems like tests assume dch will append the ubuntu version, but in the test suite they behave differently.

Chris J Arges (arges) on 2013-08-21
tags: added: ftbfs
Chris J Arges (arges) wrote :

This patch gets rid of the Ubuntu specific version stuff and allows it to build.

The attachment "fix-gbp.debdiff" seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]

tags: added: patch
Jeremy Bicha (jbicha) wrote :

Since git-buildpackage's upstream is Debian and we sync this package unmodified from Debian, please report this bug to Debian.

Thank you for taking the time to report this bug and helping to make Ubuntu better. The issue you are reporting is an upstream one and it would be nice if somebody having it could send the bug to the developers of the software by following the instructions at https://wiki.ubuntu.com/Debian/Bugs. If you have done so, please tell us the number of the upstream bug (or the link), so we can add a bugwatch that will inform us about its status. Thanks in advance.

Changed in git-buildpackage (Ubuntu):
importance: Undecided → High
status: New → Triaged
Changed in git-buildpackage (Ubuntu):
status: Triaged → In Progress
assignee: nobody → Andrew Starr-Bochicchio (andrewsomething)
Changed in git-buildpackage (Debian):
status: Unknown → New

Well, this particular bug is fixed in proposed, but now it's failing with a different problem.

https://launchpadlibrarian.net/150732571/buildlog_ubuntu-saucy-i386.git-buildpackage_0.6.3ubuntu1_FAILEDTOBUILD.txt.gz

error: /usr/lib/python2.7/dist-packages/coverage/htmlfiles/jquery.hotkeys.js: No such file or directory
make[1]: *** [override_dh_auto_test] Error 1
make[1]: Leaving directory `/build/buildd/git-buildpackage-0.6.3ubuntu1'
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2

Strangely, it build in a saucy pbuilder for me, but not on the LP buildd. python-coverage 3.6-0ubuntu5 is installed on the buildd.

$ dpkg -L python-coverage | grep hotkeys
/usr/share/pyshared/coverage/htmlfiles/jquery.hotkeys.js
/usr/lib/python2.7/dist-packages/coverage/htmlfiles/jquery.hotkeys.js

Anyone got an idea?

Andreas Moog (ampelbein) wrote :

The i386 package of python-coverage doesn't contain the jquery.hotkeys.js:

File Packages
/usr/lib/python2.7/dist-packages/coverage/htmlfiles/jquery.hotkeys.js python-coverage [not i386]

http://packages.ubuntu.com/saucy/i386/python-coverage/filelist

Uggg.... So jquery.hotkeys.js and a few other embedded JavaScript libraries are removed when " debian/rules build" is called, but on the LP buildds that is only going to be called when building i386. When, for instance, amd64 is built "debian/rules build-arch" is called and the JavaScript files aren't deleted. So we end up with packages with different contents depending on the arch.

Additionally, while jquery.hotkeys.js is removed from the package, the libjs-jquery-hotkeys package isn't added as a depends, recommends, or suggests. The patch that is supposed to let python-coverage use system libs instead of the bundled ones doesn't seem to even try and deal with the fact that jquery.hotkeys.js is removed. It only seems to deal with the removal of jquery itself and jquery.tablesorter.min.js

So this is very much a bug in python-coverage at this point.

Changed in python-coverage (Ubuntu):
importance: Undecided → High
status: New → In Progress
assignee: nobody → Andrew Starr-Bochicchio (andrewsomething)
Changed in git-buildpackage (Ubuntu):
status: In Progress → Fix Committed

python-coverage (3.6-0ubuntu6) saucy; urgency=low

  * 02.use-system-js-libraries.patch: Update to deal with the
    removal of jquery.isonscreen.js and jquery.hotkeys.js
  * Add libjs-jquery-hotkeys and libjs-jquery-isonscreen to Suggests
    (not Depends as they are not in main).
  * debian/rules: Make the override_dh_auto_build target depend on
    the remove-bundled-libraries target so the bundled JavaScript
    libraries are removed no matter which arch the package is being
    built on (LP: #1215175).

Changed in python-coverage (Ubuntu):
status: In Progress → Triaged
assignee: Andrew Starr-Bochicchio (andrewsomething) → nobody
summary: - git-buildpackage ftbfs in saucy
+ git-buildpackage ftbfs in saucy due to bugs in python-coverage's
+ packaging
Jeremy Bicha (jbicha) on 2013-09-20
Changed in git-buildpackage (Ubuntu):
status: Fix Committed → Triaged
description: updated
description: updated
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package python-coverage - 3.6-0ubuntu6

---------------
python-coverage (3.6-0ubuntu6) saucy; urgency=low

  * 02.use-system-js-libraries.patch: Update to deal with the
    removal of jquery.isonscreen.js and jquery.hotkeys.js
  * Add libjs-jquery-hotkeys and libjs-jquery-isonscreen to Suggests
    (not Depends as they are not in main).
  * debian/rules: Make the override_dh_auto_build target depend on
    the remove-bundled-libraries target so the bundled JavaScript
    libraries are removed no matter which arch the package is being
    built on (LP: #1215175).
 -- Andrew Starr-Bochicchio <email address hidden> Thu, 19 Sep 2013 16:47:07 -0400

Changed in python-coverage (Ubuntu):
status: Triaged → Fix Released
Changed in git-buildpackage (Ubuntu):
status: Triaged → Fix Released
Changed in git-buildpackage (Debian):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

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