Merge ~sergiodj/ubuntu/+source/qemu:fix-binary-indep-build-ubuntu into ubuntu/+source/qemu:ubuntu/devel

Proposed by Sergio Durigan Junior
Status: Merged
Merged at revision: 5a0f678b866bf8e333a4e75075ca1f2fb63d8672
Proposed branch: ~sergiodj/ubuntu/+source/qemu:fix-binary-indep-build-ubuntu
Merge into: ubuntu/+source/qemu:ubuntu/devel
Diff against target: 65 lines (+19/-10)
2 files modified
debian/changelog (+8/-0)
debian/rules (+11/-10)
Reviewer Review Type Date Requested Status
Canonical Server Core Reviewers Pending
Canonical Server Reporter Pending
Review via email: mp+452691@code.launchpad.net

Description of the change

This MP fixes a problem that's currently affecting qemu on mantic-proposed and making it not build qemu-system-data.

The problem happens because we don't have a separate "all" architecture (like Debian does; instead, we perform the indep build on amd64 alongside the regular binary build), and for this reason we have to make sure that everything properly runs on both binary-{arch,indep} targets. However, due to a premature optimization done in Debian, both targets depend on a single one called binary-helper which gets called only once during the build.

The fix is to undo this optimization. I will propose the same change to Debian, because arguably this is a generic bug in how the rules were written.

PPA: https://launchpad.net/~sergiodj/+archive/ubuntu/qemu/+packages

PPA build for amd64, showing qemu-system-data: https://launchpad.net/~sergiodj/+archive/ubuntu/qemu/+build/26751163

To post a comment you must log in.
Revision history for this message
Sergio Durigan Junior (sergiodj) wrote :

I asked for Steve's review, and he said:

"no :) please upload and I'll review there"

Doing so.

Uploaded:

$ dput qemu_8.0.4+dfsg-1ubuntu3_source.changes
Trying to upload package to ubuntu
Checking signature on .changes
gpg: /home/sergio/work/qemu/qemu_8.0.4+dfsg-1ubuntu3_source.changes: Valid signature from 106DA1C8C3CBBF14
Checking signature on .dsc
gpg: /home/sergio/work/qemu/qemu_8.0.4+dfsg-1ubuntu3.dsc: Valid signature from 106DA1C8C3CBBF14
Uploading to ubuntu (via ftp to upload.ubuntu.com):
  Uploading qemu_8.0.4+dfsg-1ubuntu3.dsc: done.
  Uploading qemu_8.0.4+dfsg-1ubuntu3.debian.tar.xz: done.
  Uploading qemu_8.0.4+dfsg-1ubuntu3_source.buildinfo: done.
  Uploading qemu_8.0.4+dfsg-1ubuntu3_source.changes: done.
Successfully uploaded packages.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/debian/changelog b/debian/changelog
2index 78d413d..a668570 100644
3--- a/debian/changelog
4+++ b/debian/changelog
5@@ -1,3 +1,11 @@
6+qemu (1:8.0.4+dfsg-1ubuntu3) mantic; urgency=medium
7+
8+ * d/rules: Get rid of binary-helper target; explicitly invoke its
9+ commands under binary-{arch,indep}. This makes the build succeed
10+ again in Ubuntu, where binary-helper wasn't being properly invoked.
11+
12+ -- Sergio Durigan Junior <sergio.durigan@canonical.com> Tue, 03 Oct 2023 18:13:20 -0400
13+
14 qemu (1:8.0.4+dfsg-1ubuntu2) mantic; urgency=medium
15
16 * d/rules: Incorporate the following changes from Debian unstable, in
17diff --git a/debian/rules b/debian/rules
18index 67fd7d6..bf79d1e 100755
19--- a/debian/rules
20+++ b/debian/rules
21@@ -497,8 +497,11 @@ ifeq (${enable-linux-user},y)
22 echo "built-using=$$srcs" >> debian/qemu-user-static.substvars ; \
23 fi
24 endif
25-binary-arch: install-arch binary-helper
26-binary-arch: a=-a
27+binary-arch: install-arch
28+ dh_installdeb -a
29+ dh_gencontrol -a
30+ dh_md5sums -a
31+ dh_builddeb -a
32
33 ##############################################
34 ### firmware, qemu-user-data package
35@@ -701,24 +704,22 @@ install-indep: pre-install-indep $(addprefix install-, ${sysdata-components})
36 dh_lintian -i
37 dh_compress -i
38 dh_fixperms -i
39-binary-indep: install-indep binary-helper
40-binary-indep: a=-i
41+binary-indep: install-indep
42+ dh_installdeb -i
43+ dh_gencontrol -i
44+ dh_md5sums -i
45+ dh_builddeb -i
46
47 build: build-arch build-indep
48 install: install-arch install-indep
49 binary: binary-arch binary-indep
50-binary-helper:
51- dh_installdeb $a
52- dh_gencontrol $a
53- dh_md5sums $a
54- dh_builddeb $a
55
56 clean: debian/control
57 dh_clean \
58 b/ \
59 configs/devices/x86_64-softmmu/microvm.mak \
60
61-.PHONY: build install binary binary-helper clean
62+.PHONY: build install binary clean
63
64 ifneq (,$(wildcard debian/control-in))
65 # only include rules for debian/control if debian/control-in is present

Subscribers

People subscribed via source and target branches