If RBD module build is disabled, we need to obsolete it to ensure a
clean upgrade from previous builds. This is done by adding an Obsoletes
from the qemu-common sub-RPM.
This fixes the upgrade path on i686 (rhbz #1688117)
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
The global list of module requires is not amenable to conditional
builds, requiring the entire set of requires to be duplicated.
Refactor it so that individual pieces can be disabled.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
The exact bug this was initially added to workaround was fixed
in 2.12, so @crobinso dropped the patch. However, the phantom
key turns out to still cause problems in another case, so until
that is fixed, we need to put this back. See
https://bugzilla.redhat.com/show_bug.cgi?id=1658676 for full
details on the outstanding bug.
qemu configure will give us all targets if we don't specify a
whitelist, so drop the target lists to simplify the spec. This
also makes it clear that we were missing some linux-user targets,
so enable them
The binfmt masks are slightly different but I think they are
functionally equivalent. The script handles arch collision
automatically which lets us drop a lot of the %ifarch stuff
- rdma-core, xen, spice, numactl are available in more places
- drop presumably obsolete aarch64 ld flag droppage
- centralize arch dep checks in one place
We previously disabled the hardened build macros because they broke
static linking. This is now resolved, so we can use them as is, which in
turn ensures ksmctl gets linked correctly.
While doing this it is not neccessary to pass -pie in ldflags, as we are
already giving the --enable-pie configure option. This lets us move
setting of linker/compiler flags into the common run_configure
function, rather than duplicating them for static & dynamic builds
Finally, even though QEMU sets _FORTIFY_SOURCE itself, there's no reason
to strip it from the RPM provided build flags - it is harmless for it to
appear twice on compiler args. This ensures ksmctl.c gets fortified.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
The /usr/bin/python binary has started spewing text to stderr, even when
not connected to a tty, which breaks QEMU test suite.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
There are multiple problems with the license tag
- A bunch of QEMU code is GPLv2-only, not GPLv2-or-later
- Fedora licensing guidelines say that if "GPLv2" is
listed, it is redundant to list "GPLv2+" / "LGPLv2+",
since those licenses are forced to be equiv to "GPLv2"
in the combined work
- QEMU also includes code / files under MIT and CC-BY
license
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>