FTBFS in trusty (QEMU version parsing)

Bug #1498618 reported by dann frazier on 2015-09-22
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libguestfs (Ubuntu)
High
dann frazier
Trusty
Undecided
dann frazier

Bug Description

[Impact]
libguestfs fails to build from source in trusty. This is because libguestfs's configure checks for a version of qemu >=1, but the test doesn't properly deal with major versions >=2. When libguestfs was initially uploaded to the in-devel trusty release, qemu in trust was still a 1.x release, but qemu 2.x was uploaded before trusty's general release.

[Test Case]
Attempt to rebuild trusty's libguestfs in trusty. It currently fails with:

checking for /usr/bin/qemu-system-x86_64 version >= 1... no
configure: error: in `/home/dannf/libguestfs-1.24.5/debian/build-default':
configure: error: /usr/bin/qemu-system-x86_64 version must be >= 1.0.
See `config.log' for more details
dh_auto_configure: ../../configure --build=x86_64-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --libdir=${prefix}/lib/x86_64-linux-gnu --libexecdir=${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --disable-appliance --with-readline --disable-haskell --disable-php --enable-gtk-doc --with-qemu=qemu-system-x86_64 --enable-install-daemon --with-java=/usr/lib/jvm/default-java RUBY=ruby1.9.1 RAKE=rake1.9.1 PYTHON=python2.7 LUA=lua5.2 JNI_INSTALL_DIR=${libdir}/jni returned exit code 1
make[1]: *** [override_dh_auto_configure] Error 2
make[1]: Leaving directory `/home/dannf/libguestfs-1.24.5'
make: *** [build-arch] Error 2
dpkg-buildpackage: error: debian/rules build-arch gave error exit status 2

[Regression Risk]
The upstream fix simply allows the version test to match greater versions of qemu. This doesn't impact the build in any way, just allows it to continue.

Richard Jones (rjones-redhat) wrote :

This was fixed a (really) long time ago: https://github.com/libguestfs/libguestfs/commit/101d728e80cce73b882aac7af457013491d03311

This would also be a good time for Ubuntu to update libguestfs to a version that doesn't have known security issues (but is on the same stable branch). See my comment here: https://bugzilla.redhat.com/show_bug.cgi?id=1194472#c2

On Tue, Sep 22, 2015 at 12:52 PM, Richard Jones <email address hidden> wrote:
> This was fixed a (really) long time ago:
> https://github.com/libguestfs/libguestfs/commit/101d728e80cce73b882aac7af457013491d03311

Thanks for noticing/replying to this bug!

Yeah, I discovered and tested the above fix already - I just reported
this bug because having a tracking bug is a necessary part of the
stable release update (SRU) process:
  https://wiki.ubuntu.com/StableReleaseUpdates

> This would also be a good time for Ubuntu to update libguestfs to a
> version that doesn't have known security issues (but is on the same
> stable branch). See my comment here:
> https://bugzilla.redhat.com/show_bug.cgi?id=1194472#c2

In general, new upstream versions (even microreleases) are not
permitted in a stable release update. Rather, only targeted fixes for
specific bugs are permitted. There is an exception process to allow
for micro releases of certain packages, but it does not appear that
libguestfs currently has that approval:
  https://wiki.ubuntu.com/StableReleaseUpdates/MicroReleaseExceptions

For the MRU, the conditions are:

- upstream supports micro-version updates to stable releases

Yes. Upstream policy for stable commits is http://libguestfs.org/guestfs.3.html#libguestfs-version-numbers

- upstream has a sufficiently high level of regression testing for their stable releases

Yes. The 'make check-release' rule is run on every release (development and stable releases), and it includes a very large test suite run under a variety of conditions and on multiple architectures.

- regression tests are always run on the update before it is released (e.g. by being enabled in the package's build)

No - the Ubuntu package does not run the full test suite, although it could and probably should do.

dann frazier (dannf) on 2015-09-28
summary: - FTBFS in trusty
+ FTBFS in trusty (QEMU version parsing)
dann frazier (dannf) on 2015-09-29
Changed in libguestfs (Ubuntu Trusty):
status: New → In Progress
assignee: nobody → dann frazier (dannf)
Changed in libguestfs (Ubuntu):
status: Confirmed → Fix Released
Brian Murray (brian-murray) wrote :

@dannf - The microrelease process recently changed and is captured here.

https://wiki.ubuntu.com/StableReleaseUpdates#New_upstream_microreleases

Given that change should we consider updating to a new version of libguestfs?

On Thu, Oct 8, 2015 at 2:41 PM, Brian Murray <email address hidden> wrote:
> @dannf - The microrelease process recently changed and is captured here.
>
> https://wiki.ubuntu.com/StableReleaseUpdates#New_upstream_microreleases
>
> Given that change should we consider updating to a new version of
> libguestfs?

I've got no objection to that - and upstream is in favor of that as
well. However, I did notice that the new policy requires autopkgtests
(section 2.3), and that is not currently true of libguestfs.

  -dann

> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1498618
>
> Title:
> FTBFS in trusty (QEMU version parsing)
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/ubuntu/+source/libguestfs/+bug/1498618/+subscriptions
>
> Launchpad-Notification-Type: bug
> Launchpad-Bug: distribution=ubuntu; sourcepackage=libguestfs; component=universe; status=Fix Released; importance=High; <email address hidden>;
> Launchpad-Bug: distribution=ubuntu; distroseries=trusty; sourcepackage=libguestfs; component=universe; status=In Progress; importance=Undecided; <email address hidden>;
> Launchpad-Bug-Information-Type: Public
> Launchpad-Bug-Private: no
> Launchpad-Bug-Security-Vulnerability: no
> Launchpad-Bug-Commenters: brian-murray dannf rjones-redhat
> Launchpad-Bug-Reporter: dann frazier (dannf)
> Launchpad-Bug-Modifier: Brian Murray (brian-murray)
> Launchpad-Message-Rationale: Subscriber
> Launchpad-Message-For: dannf

Hello dann, or anyone else affected,

Accepted libguestfs into trusty-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/libguestfs/1:1.24.5-1ubuntu0.1 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 add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and 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 libguestfs (Ubuntu Trusty):
status: In Progress → Fix Committed
tags: added: verification-needed
dann frazier (dannf) wrote :

It builds on the architectures it had previously built for (+ some), so marking verified.

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

This bug was fixed in the package libguestfs - 1:1.24.5-1ubuntu0.1

---------------
libguestfs (1:1.24.5-1ubuntu0.1) trusty; urgency=medium

  * d/p/configure-Make-sure-grep-matches-qemu-2.x-version-st.patch:
      Fix FTBFS caused by QEMU 1.x->2.x update during trusty devel
      (LP: #1498618)
  * d/rules: Fix FTBFS by no longer force-overriding CFLAGS during
    dh_auto_test (LP: #1501075)
  * libguestfs-tools: Add missing dependency on curl (LP: #1368819)
  * Enable building on additional architectures:
    - d/{control,rules}: Enable builds on non-x86 architectures.
      This is sufficient for building on powerpc.
    - d/p/configure-Fix-tests-of-qemu-on-ARM.patch: Teach configure
      how to properly test qemu on ARM. This adds armhf support.
    - d/p/Fix-building-on-architectures-where-ocamlopt-is-not-.patch,
      d/p/More-fixes-for-situations-where-ocamlopt-is-not-avai.patch:
      Use ocamlc on architectures where ocamlopt is not available. This
      will unblock building on arm64 and ppc64el should systemtap-sdt-dev
      become installable there.

 -- dann frazier <email address hidden> Wed, 23 Sep 2015 16:48:41 -0600

Changed in libguestfs (Ubuntu Trusty):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for libguestfs 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 regressions.

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.