When using submitubuntu, should build depend on libglib2.0-bin

Reported by Andrew Starr-Bochicchio on 2012-06-26
54
This bug affects 10 people
Affects Status Importance Assigned to Milestone
Quickly
Undecided
Unassigned
quickly (Ubuntu)
Medium
Unassigned
Precise
Medium
Unassigned

Bug Description

IMPACT:

When using submitubuntu or package --extras, a snippet is added to debian/rules that calls glib-compile-schemas, but there is no build dependency on libglib2.0-bin. This can cause the produced package to fail to build from source in a clean chroot. See the DETAILED EXAMPLE section below for more details.

We are currently running the Ubuntu App Showdown contest, and we're at the stage were all participants are starting to submit their apps. Many, if not all, are affected by this bug, which severely affects the submission step.

TEST CASE:

To reproduce this bug, run this set of commands:

$ quickly create ubuntu-application foo
$ cd foo
$ quickly package --extras
$ cat debian/control | grep -A 5 "Build"

To verify that the bug can be reproduced, libglib2.0-bin should *not* be listed in the 'Build-Depends' list in the output.

Once the bug is fixed, libglib2.0-bin should be listed in the 'Build-Depends' list in the output.

REGRESSION POTENTIAL:

The code change is minimal, as it affects only the 'package --extras' and 'submitubuntu' paths and simply adds a build dependency to debian/control. Therefore the regression potential is low.

The change can be reviewed at:
http://bazaar.launchpad.net/~quickly-committers/quickly/trunk/revision/674

DETAILED EXAMPLE:

https://launchpadlibrarian.net/108711786/buildlog_ubuntu-precise-i386.indicator-launcher_12.06.24_FAILEDTOBUILD.txt.gz

andrew@andrew-laptop:~/Desktop$ quickly create ubuntu-application foo
Creating project directory foo
Creating bzr repository and committing
Launching your newly created project!
/usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py:391: Warning: g_object_set_property: construct property "type" for object `Window' can't be set after construction
  Gtk.Window.__init__(self, type=type, **kwds)
/usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py:391: Warning: g_object_set_property: construct property "type" for object `FooWindow' can't be set after construction
  Gtk.Window.__init__(self, type=type, **kwds)
Congrats, your new project is setup! cd /home/andrew/Desktop/foo/ to start hacking.
andrew@andrew-laptop:~/Desktop$ cd foo/
andrew@andrew-laptop:~/Desktop/foo$ quickly package --extras
.......Ubuntu packaging created in debian/
.............................................................................................................................................................................................................................
Command returned some WARNINGS:
----------------------------------
** (setup.py:2505): WARNING **: Error sending credentials: Error sending message: Operation not permitted
----------------------------------
Ubuntu package has been successfully created in ../foo_0.1_all.deb
andrew@andrew-laptop:~/Desktop/foo$ cat debian/rules | grep "glib"
 if [ -d debian/foo/opt/extras.ubuntu.com/foo/share/glib-2.0/schemas ]; then glib-compile-schemas debian/foo/opt/extras.ubuntu.com/foo/share/glib-2.0/schemas; fi
andrew@andrew-laptop:~/Desktop/foo$ cat debian/control | grep -A 5 "Build"
Build-Depends: cdbs (>= 0.4.43),
 debhelper (>= 6),
 python (>= 2.6.6-3~),
 python-distutils-extra (>= 2.10)
Maintainer: UNKNOWN <UNKNOWN>
Standards-Version: 3.8.3

tags: added: regression-release
tags: added: regression-update
removed: regression-release
description: updated
tags: added: arb
Steve Langasek (vorlon) on 2012-06-26
Changed in quickly (Ubuntu):
importance: Undecided → Medium
status: New → Triaged
Changed in quickly (Ubuntu Precise):
status: New → Triaged
importance: Undecided → Medium
David Pan (napdivad) wrote :

I tried purging quickly and all related libraries and then reinstall, but it didn't work... Here is another failed build log:
https://launchpadlibrarian.net/108939074/buildlog_ubuntu-precise-i386.indicator-launcher_12.06.29_FAILEDTOBUILD.txt.gz

if [ -d debian/indicator-launcher/opt/extras.ubuntu.com/indicator-launcher/share/glib-2.0/schemas ]; then glib-compile-schemas debian/indicator-launcher/opt/extras.ubuntu.com/indicator-launcher/share/glib-2.0/schemas; fi
/bin/sh: 1: glib-compile-schemas: not found
make[1]: *** [override_dh_install] Error 127
make[1]: Leaving directory `/build/buildd/indicator-launcher-12.06.29'
make: *** [binary] Error 2
dpkg-buildpackage: error: /usr/bin/fakeroot debian/rules binary gave error exit status 2

That's the same error. It hasn't been fixed yet. The "Triaged" status of this bug simply means that all the information needed to fix the bug is available. It just needs a developer to do it.

David Pan (napdivad) wrote :

Workaround at http://askubuntu.com/a/157432/37171 thanks to andrewsomething and thejambi!

David Planella (dpm) wrote :

This bug is currently blocking the submission of applications for the Ubuntu App Showdown. Could the importance be set to High or Critical?

Michael Terry (mterry) on 2012-07-05
Changed in quickly (Ubuntu):
status: Triaged → Fix Committed
Changed in quickly:
status: New → Fix Committed
Michael Terry (mterry) wrote :

Just uploaded a fixed package to precise-proposed. It hasn't been accepted into that archive yet, but will soon.

David Planella (dpm) on 2012-07-06
description: updated

Hello Andrew, or anyone else affected,

Accepted quickly into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/quickly/12.04-0ubuntu3 in a few hours and then in the -proposed repository. Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you please change the bug tag from verification-needed to verification-done. If it does not, change the tag to verification-failed. In either case details of your testing will help us make a better decision. Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in quickly (Ubuntu Precise):
status: Triaged → Fix Committed
tags: added: verification-needed
David Planella (dpm) wrote :
Download full text (3.2 KiB)

Not sure it's related to this fix, but after trying to run the test case I'm getting Unicode errors:

dpm@avenc:/tmp$ LC_ALL=C apt-cache policy quickly-ubuntu-template | grep Installed
  Installed: 12.04-0ubuntu3
dpm@avenc:/tmp$ quickly create ubuntu-application foo
Creating project directory foo
Creating bzr repository and committing
Launching your newly created project!
/usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py:391: Warning: g_object_set_property: construct property "type" for object `Window' can't be set after construction
  Gtk.Window.__init__(self, type=type, **kwds)
/usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py:391: Warning: g_object_set_property: construct property "type" for object `FooWindow' can't be set after construction
  Gtk.Window.__init__(self, type=type, **kwds)
Congrats, your new project is setup! cd /tmp/foo/ to start hacking.
dpm@avenc:/tmp$ cd foo
dpm@avenc:/tmp/foo$ quickly package --extras
...
Command returned some WARNINGS:
----------------------------------
WARNING: syntax errors in foo/__init__.py: encoding declaration in Unicode string (__init__.py, line 0)
WARNING: syntax errors in foo/AboutFooDialog.py: encoding declaration in Unicode string (AboutFooDialog.py, line 0)
WARNING: syntax errors in foo_lib/__init__.py: encoding declaration in Unicode string (__init__.py, line 0)
WARNING: syntax errors in foo_lib/Builder.py: encoding declaration in Unicode string (Builder.py, line 0)
WARNING: syntax errors in foo_lib/AboutDialog.py: encoding declaration in Unicode string (AboutDialog.py, line 0)
WARNING: syntax errors in foo_lib/Window.py: encoding declaration in Unicode string (Window.py, line 0)
WARNING: syntax errors in foo_lib/fooconfig.py: encoding declaration in Unicode string (fooconfig.py, line 0)
WARNING: syntax errors in bin/foo: encoding declaration in Unicode string (foo, line 0)
WARNING: syntax errors in foo_lib/helpers.py: encoding declaration in Unicode string (helpers.py, line 0)
WARNING: syntax errors in foo_lib/PreferencesDialog.py: encoding declaration in Unicode string (PreferencesDialog.py, line 0)
WARNING: syntax errors in foo/PreferencesFooDialog.py: encoding declaration in Unicode string (PreferencesFooDialog.py, line 0)
WARNING: syntax errors in foo/FooWindow.py: encoding declaration in Unicode string (FooWindow.py, line 0)
----------------------------------
Do you want to continue (this is not safe!)? y/[n]: y
Traceback (most recent call last):
  File "/usr/share/quickly/templates/ubuntu-application/package.py", line 83, in <module>
    if packaging.updatepackaging(no_changelog=True, installopt=for_extras) != 0:
  File "/usr/share/quickly/templates/ubuntu-application/internal/packaging.py", line 322, in updatepackaging
    update_rules()
  File "/usr/share/quickly/templates/ubuntu-application/internal/packaging.py", line 260, in update_rules
    " debhelper (>= 6), libglib2.0-bin,")
  File "/usr/lib/python2.7/dist-packages/quickly/templatetools.py", line 137, in update_file_content
    raise CantUpdateFile(_("%s was not found in the file %s.") % (start_marker, ftarget_file_name.name))
quickly.templatetools.CantUpdateFile: debhelper (>= 6), was not found in the file /tmp/foo/...

Read more...

tags: added: verification-failed
removed: verification-needed
David Planella (dpm) wrote :

Sorry for the noise, and please ignore my previous comment. I had python-distutils-extra installed from precise-proposed, which seems to create some mayhem with Quickly. After downgrading p-d-e, I can confirm that the bug in Quickly is fixed:

dpm@avenc:/tmp$ quickly create ubuntu-application foo
Creating project directory foo
Creating bzr repository and committing
Launching your newly created project!
/usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py:391: Warning: g_object_set_property: construct property "type" for object `Window' can't be set after construction
  Gtk.Window.__init__(self, type=type, **kwds)
/usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py:391: Warning: g_object_set_property: construct property "type" for object `FooWindow' can't be set after construction
  Gtk.Window.__init__(self, type=type, **kwds)
Congrats, your new project is setup! cd /tmp/foo/ to start hacking.
dpm@avenc:/tmp$ cd foo
dpm@avenc:/tmp/foo$ quickly package --extras
.......Ubuntu packaging created in debian/
.....................................................................................................................................................................................................................
Command returned some WARNINGS:
----------------------------------
** (setup.py:22257): WARNING **: S'ha produït un error en enviar les credencials: S'ha produït un error en enviar el missatge: L’operació no és permesa
** (setup.py:22257): WARNING **: Couldn't register with accessibility bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
----------------------------------
Ubuntu package has been successfully created in ../foo_0.1_all.deb
dpm@avenc:/tmp/foo$ cat debian/control | grep -A 5 "Build"
Build-Depends: cdbs (>= 0.4.43),
 debhelper (>= 6), libglib2.0-bin, python (>= 2.6.6-3~),
 python-distutils-extra (>= 2.10)
Maintainer: UNKNOWN <UNKNOWN>
Standards-Version: 3.8.3
XS-Python-Version: current

tags: added: verification-done
removed: verification-failed
Didier Roche (didrocks) wrote :

Latest python-distutils-extra broke it.

tags: added: verification-failed
removed: verification-done
Didier Roche (didrocks) wrote :
Brian Murray (brian-murray) wrote :

Hello Andrew, or anyone else affected,

Accepted quickly into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/quickly/12.04-0ubuntu4 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please change the bug tag from verification-needed to verification-done. If it does not, change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

tags: removed: verification-failed
tags: added: verification-needed
tags: added: verification-done
removed: verification-needed
Chris Halse Rogers (raof) wrote :

Why is this fix-committed in Quantal? This is ready to move to precise-updates, but we need to ensure that it doesn't regress when people update to Quantal.

Steve Langasek (vorlon) wrote :

mterry, I see that you marked this 'fix committed' both for upstream and for quantal, and there doesn't seem to have been an upload to quantal since the upload to precise-proposed. Is there a new quickly upload pending?

Scott Kitterman (kitterman) wrote :

Switching back to verification needed since it needs verification it's fixed in quantal. The actual fix doesn't need reverification.

tags: added: verification-needed
removed: verification-done
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package quickly - 12.08-0ubuntu1

---------------
quickly (12.08-0ubuntu1) quantal; urgency=low

  * New upstream release
    - Build-Depend on libglib2.0-bin when building for extras (LP: #1022514,
      LP: #1018038)
    - Support Exec desktop keys with arguments to the executable for extras
      (LP: #1021675)
    - Support © symbol in license command
    - Fix appindicator support (LP: #1023618)
    - Add get_current_name() to quickly API
 -- Michael Terry <email address hidden> Thu, 02 Aug 2012 10:10:09 -0400

Changed in quickly (Ubuntu):
status: Fix Committed → Fix Released
tags: added: verification-done
removed: verification-needed

The verification of this Stable Release Update has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package quickly - 12.04-0ubuntu4

---------------
quickly (12.04-0ubuntu4) precise-proposed; urgency=low

  * debian/patches/fix-extras.patch:
    - fix a regression with latest python-distutils-extra from -proposed.
      Now support both (LP: #1022514)
    - fix Exec= key matching when it has args. (LP: #1021675)

quickly (12.04-0ubuntu3) precise-proposed; urgency=low

  * debian/patches/fix-extras.patch:
    - Add libglib2.0-bin to the Build-Depends line when using submitubuntu
      or package --extras. This is needed for glib-compile-schemas.
      LP: #1018038
 -- Didier Roche <email address hidden> Mon, 09 Jul 2012 11:57:20 +0200

Changed in quickly (Ubuntu Precise):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers