Gentoo Archives: gentoo-commits

From: Matthias Maier <tamiko@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/qemu/
Date: Wed, 03 May 2017 01:19:52
Message-Id: 1493773300.68e1a062cc4ff32417d9dd14f57471df4be36c3c.tamiko@gentoo
1 commit: 68e1a062cc4ff32417d9dd14f57471df4be36c3c
2 Author: Matthias Maier <tamiko <AT> gentoo <DOT> org>
3 AuthorDate: Wed May 3 01:01:40 2017 +0000
4 Commit: Matthias Maier <tamiko <AT> gentoo <DOT> org>
5 CommitDate: Wed May 3 01:01:40 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=68e1a062
7
8 app-emulation/qemu: add an elog warning for firmware bump
9
10 See bug #560050 and bug #529862
11
12 Package-Manager: Portage-2.3.5, Repoman-2.3.2
13
14 app-emulation/qemu/qemu-2.9.0-r50.ebuild | 36 +++++++++++++++++++++++++++-----
15 1 file changed, 31 insertions(+), 5 deletions(-)
16
17 diff --git a/app-emulation/qemu/qemu-2.9.0-r50.ebuild b/app-emulation/qemu/qemu-2.9.0-r50.ebuild
18 index 671050e6a2e..7704be239de 100644
19 --- a/app-emulation/qemu/qemu-2.9.0-r50.ebuild
20 +++ b/app-emulation/qemu/qemu-2.9.0-r50.ebuild
21 @@ -8,6 +8,8 @@ PYTHON_REQ_USE="ncurses,readline"
22
23 PLOCALES="bg de_DE fr_FR hu it tr zh_CN"
24
25 +FIRMWARE_ABI_VERSION="2.9.0-r50"
26 +
27 inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \
28 user udev fcaps readme.gentoo-r1 pax-utils l10n
29
30 @@ -150,12 +152,13 @@ SOFTMMU_TOOLS_DEPEND="
31 xfs? ( sys-fs/xfsprogs[static-libs(+)] )"
32
33 X86_FIRMWARE_DEPEND="
34 - >=sys-firmware/ipxe-1.0.0_p20130624
35 pin-upstream-blobs? (
36 - ~sys-firmware/seabios-1.10.1
37 + ~sys-firmware/ipxe-1.0.0_p20160620
38 + ~sys-firmware/seabios-1.10.1[binary]
39 ~sys-firmware/sgabios-0.1_pre8
40 )
41 !pin-upstream-blobs? (
42 + sys-firmware/ipxe
43 sys-firmware/seabios
44 sys-firmware/sgabios
45 )"
46 @@ -722,15 +725,38 @@ src_install() {
47 readme.gentoo_create_doc
48 }
49
50 -pkg_postinst() {
51 - DISABLE_AUTOFORMATTING=true
52 - readme.gentoo_print_elog
53 +firmware_abi_change() {
54 + local pv
55 + for pv in ${REPLACING_VERSIONS}; do
56 + if ! version_is_at_least ${FIRMWARE_ABI_VERSION} ${pv}; then
57 + return 0
58 + fi
59 + done
60 + return 1
61 +}
62
63 +pkg_postinst() {
64 if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
65 udev_reload
66 fi
67
68 fcaps cap_net_admin /usr/libexec/qemu-bridge-helper
69 +
70 + DISABLE_AUTOFORMATTING=true
71 + readme.gentoo_print_elog
72 +
73 + if use pin-upstream-blobs && firmware_abi_change; then
74 + ewarn "This version of qemu pins new versions of firmware blobs:"
75 + ewarn " $(best_version sys-firmware/ipxe)"
76 + ewarn " $(best_version sys-firmware/seabios)"
77 + ewarn " $(best_version sys-firmware/sgabios)"
78 + ewarn "This might break resume of hibernated guests (started with a different"
79 + ewarn "firmware version) and live migration to/from qemu versions with different"
80 + ewarn "firmware. Please (cold) restart all running guests. For functional"
81 + ewarn "guest migration ensure that all"
82 + ewarn "hosts run at least"
83 + ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}."
84 + fi
85 }
86
87 pkg_info() {