Accepting request 678204 from home:Guillaume_G:branches:Virtualization

- Package and cross-build rom files for aarch64 from 
  SLE15/Leap15.0 to fix boo#1125964
- Add patch to fix seabios cross-compilation:
  * seabios-fix_cross_compilation.patch
- Add patch to fix sgabios cross-compilation:
  * sgabios-fix-cross-build.patch
- Fix _constraints to include all architectures for disk size
  (fix aarch64)

OBS-URL: https://build.opensuse.org/request/show/678204
OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=456
This commit is contained in:
Bruce Rogers 2019-02-22 14:07:03 +00:00 committed by Git OBS Bridge
parent efa06d90e0
commit c4d339c498
8 changed files with 175 additions and 29 deletions

View File

@ -2,11 +2,6 @@
<!-- All builds are fine with 8GB disk -->
<overwrite>
<conditions>
<arch>i586</arch>
<arch>x86_64</arch>
<arch>ppc64</arch>
<arch>ppc64le</arch>
<arch>s390x</arch>
<package>qemu</package>
<package>qemu-linux-user</package>
<package>qemu-testsuite</package>

View File

@ -1,3 +1,19 @@
-------------------------------------------------------------------
Fri Feb 22 08:52:45 UTC 2019 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Package and cross-build rom files for aarch64 from
SLE15/Leap15.0 to fix boo#1125964
- Add patch to fix seabios cross-compilation:
* seabios-fix_cross_compilation.patch
- Add patch to fix sgabios cross-compilation:
* sgabios-fix-cross-build.patch
-------------------------------------------------------------------
Thu Feb 21 14:07:37 UTC 2019 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Fix _constraints to include all architectures for disk size
(fix aarch64)
-------------------------------------------------------------------
Fri Feb 15 22:49:24 UTC 2019 - Bruce Rogers <brogers@suse.com>

View File

@ -23,13 +23,20 @@
%define legacy_qemu_kvm 0
%define force_fit_virtio_pxe_rom 1
%if 0%{?suse_version} > 1315
# cross-x86_64-gcc7 is available from SLE15/Leap15.0
%define build_rom_arch %ix86 x86_64 aarch64
%else
%define build_rom_arch %ix86 x86_64
%endif
%if "%{?distribution}" == ""
%define distro private-build
%else
%define distro %{distribution}
%endif
%ifarch %ix86 x86_64
%ifarch %{build_rom_arch}
# choice of building all from source or using provided binary x86 blobs
%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
%define build_x86_firmware_from_source 1
@ -202,6 +209,7 @@ Patch0060: 0060-target-i386-sev-Do-not-pin-the-ram-.patch
# SeaBIOS / SeaVGABIOS - path: roms/seabios (patch range 1100-1199)
Patch1100: seabios-use-python2-explicitly-as-needed.patch
Patch1101: seabios-switch-to-python3-as-needed.patch
Patch1102: seabios-fix_cross_compilation.patch
# ipxe - path: roms/ipxe (patch range 1200-1299)
Patch1200: ipxe-stable-buildid.patch
@ -213,6 +221,7 @@ Patch1205: ipxe-build-Disable-gcc-address-of-packed-member-warning.patch
# sgabios - path: roms/sgabios (patch range 1300-1399)
Patch1300: sgabios-stable-buildid.patch
Patch1301: sgabios-fix-cross-build.patch
# SLOF - path: roms/SLOF (patch range 1400-1499) (Currently no patches)
@ -238,7 +247,13 @@ BuildRequires: SDL2-devel
%endif
BuildRequires: alsa-devel
%if %{build_x86_firmware_from_source}
BuildRequires: acpica
BuildRequires: binutils-devel
%ifnarch %{ix86} x86_64
# We must cross-compile on non-x86*
BuildRequires: cross-x86_64-binutils
BuildRequires: cross-x86_64-gcc7
%endif
%endif
BuildRequires: bluez-devel
BuildRequires: brlapi-devel
@ -854,7 +869,7 @@ Supplements: modalias(pci:v00005853d00000001sv*sd*bc*sc*i*)
This package contains the QEMU guest agent. It is installed in the linux guest
to provide information and control at the guest OS level.
%ifarch %ix86 x86_64
%ifarch %{build_rom_arch}
%package seabios
Summary: x86 Legacy BIOS for QEMU
Group: System/Emulators/PC
@ -992,6 +1007,7 @@ pushd roms/seabios
%if 0%{?suse_version} > 1320
%patch1101 -p1
%endif
%patch1102 -p1
popd
pushd roms/ipxe
@ -1007,6 +1023,7 @@ popd
pushd roms/sgabios
%patch1300 -p1
%patch1301 -p1
popd
pushd roms/SLOF
@ -1256,14 +1273,29 @@ done
%endif
%if %{build_x86_firmware_from_source}
make %{?_smp_mflags} -C roms bios
%ifnarch %{ix86} x86_64
export CC=x86_64-suse-linux-gcc
export LD=x86_64-suse-linux-ld
%endif
make %{?_smp_mflags} -C roms bios \
%ifnarch %ix86 x86_64
HOSTCC=cc \
%endif
make %{?_smp_mflags} -C roms seavgabios \
%ifnarch %ix86 x86_64
HOSTCC=cc \
%endif
make %{?_smp_mflags} -C roms seavgabios
make %{?_smp_mflags} -C roms pxerom
%ifarch x86_64
%ifnarch %ix86
make %{?_smp_mflags} -C roms efirom
%endif
make -C roms sgabios
make -C roms sgabios \
HOSTCC=cc
%if %{force_fit_virtio_pxe_rom}
pushd roms/ipxe
@ -1350,7 +1382,7 @@ make check-block V=1
touch -r config-host.mak pc-bios
make install DESTDIR=%{buildroot}
%ifnarch %ix86 x86_64
%ifnarch %{build_rom_arch}
for f in %{x86_extra_built_firmware_list} \
%{x86_64_only_extra_built_firmware_list}; do
unlink %{buildroot}%_datadir/%name/$f
@ -1695,7 +1727,7 @@ fi
%files lang -f %name.lang
%defattr(-, root, root)
%ifarch %ix86 x86_64
%ifarch %{build_rom_arch}
%files seabios
%defattr(-, root, root)
%dir %_datadir/%name

View File

@ -1,3 +1,19 @@
-------------------------------------------------------------------
Fri Feb 22 08:52:45 UTC 2019 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Package and cross-build rom files for aarch64 from
SLE15/Leap15.0 to fix boo#1125964
- Add patch to fix seabios cross-compilation:
* seabios-fix_cross_compilation.patch
- Add patch to fix sgabios cross-compilation:
* sgabios-fix-cross-build.patch
-------------------------------------------------------------------
Thu Feb 21 14:07:37 UTC 2019 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Fix _constraints to include all architectures for disk size
(fix aarch64)
-------------------------------------------------------------------
Fri Feb 15 22:49:24 UTC 2019 - Bruce Rogers <brogers@suse.com>

View File

@ -23,13 +23,20 @@
%define legacy_qemu_kvm 0
%define force_fit_virtio_pxe_rom 1
%if 0%{?suse_version} > 1315
# cross-x86_64-gcc7 is available from SLE15/Leap15.0
%define build_rom_arch %ix86 x86_64 aarch64
%else
%define build_rom_arch %ix86 x86_64
%endif
%if "%{?distribution}" == ""
%define distro private-build
%else
%define distro %{distribution}
%endif
%ifarch %ix86 x86_64
%ifarch %{build_rom_arch}
# choice of building all from source or using provided binary x86 blobs
%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
%define build_x86_firmware_from_source 1
@ -202,6 +209,7 @@ Patch0060: 0060-target-i386-sev-Do-not-pin-the-ram-.patch
# SeaBIOS / SeaVGABIOS - path: roms/seabios (patch range 1100-1199)
Patch1100: seabios-use-python2-explicitly-as-needed.patch
Patch1101: seabios-switch-to-python3-as-needed.patch
Patch1102: seabios-fix_cross_compilation.patch
# ipxe - path: roms/ipxe (patch range 1200-1299)
Patch1200: ipxe-stable-buildid.patch
@ -213,6 +221,7 @@ Patch1205: ipxe-build-Disable-gcc-address-of-packed-member-warning.patch
# sgabios - path: roms/sgabios (patch range 1300-1399)
Patch1300: sgabios-stable-buildid.patch
Patch1301: sgabios-fix-cross-build.patch
# SLOF - path: roms/SLOF (patch range 1400-1499) (Currently no patches)
@ -238,7 +247,13 @@ BuildRequires: SDL2-devel
%endif
BuildRequires: alsa-devel
%if %{build_x86_firmware_from_source}
BuildRequires: acpica
BuildRequires: binutils-devel
%ifnarch %{ix86} x86_64
# We must cross-compile on non-x86*
BuildRequires: cross-x86_64-binutils
BuildRequires: cross-x86_64-gcc7
%endif
%endif
BuildRequires: bluez-devel
BuildRequires: brlapi-devel
@ -854,7 +869,7 @@ Supplements: modalias(pci:v00005853d00000001sv*sd*bc*sc*i*)
This package contains the QEMU guest agent. It is installed in the linux guest
to provide information and control at the guest OS level.
%ifarch %ix86 x86_64
%ifarch %{build_rom_arch}
%package seabios
Summary: x86 Legacy BIOS for QEMU
Group: System/Emulators/PC
@ -992,6 +1007,7 @@ pushd roms/seabios
%if 0%{?suse_version} > 1320
%patch1101 -p1
%endif
%patch1102 -p1
popd
pushd roms/ipxe
@ -1007,6 +1023,7 @@ popd
pushd roms/sgabios
%patch1300 -p1
%patch1301 -p1
popd
pushd roms/SLOF
@ -1256,14 +1273,29 @@ done
%endif
%if %{build_x86_firmware_from_source}
make %{?_smp_mflags} -C roms bios
%ifnarch %{ix86} x86_64
export CC=x86_64-suse-linux-gcc
export LD=x86_64-suse-linux-ld
%endif
make %{?_smp_mflags} -C roms bios \
%ifnarch %ix86 x86_64
HOSTCC=cc \
%endif
make %{?_smp_mflags} -C roms seavgabios \
%ifnarch %ix86 x86_64
HOSTCC=cc \
%endif
make %{?_smp_mflags} -C roms seavgabios
make %{?_smp_mflags} -C roms pxerom
%ifarch x86_64
%ifnarch %ix86
make %{?_smp_mflags} -C roms efirom
%endif
make -C roms sgabios
make -C roms sgabios \
HOSTCC=cc
%if %{force_fit_virtio_pxe_rom}
pushd roms/ipxe
@ -1350,7 +1382,7 @@ make check-block V=1
touch -r config-host.mak pc-bios
make install DESTDIR=%{buildroot}
%ifnarch %ix86 x86_64
%ifnarch %{build_rom_arch}
for f in %{x86_extra_built_firmware_list} \
%{x86_64_only_extra_built_firmware_list}; do
unlink %{buildroot}%_datadir/%name/$f
@ -1695,7 +1727,7 @@ fi
%files lang -f %name.lang
%defattr(-, root, root)
%ifarch %ix86 x86_64
%ifarch %{build_rom_arch}
%files seabios
%defattr(-, root, root)
%dir %_datadir/%name

View File

@ -23,13 +23,20 @@
%define legacy_qemu_kvm 0
%define force_fit_virtio_pxe_rom 1
%if 0%{?suse_version} > 1315
# cross-x86_64-gcc7 is available from SLE15/Leap15.0
%define build_rom_arch %ix86 x86_64 aarch64
%else
%define build_rom_arch %ix86 x86_64
%endif
%if "%{?distribution}" == ""
%define distro private-build
%else
%define distro %{distribution}
%endif
%ifarch %ix86 x86_64
%ifarch %{build_rom_arch}
# choice of building all from source or using provided binary x86 blobs
%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
%define build_x86_firmware_from_source 1
@ -140,6 +147,7 @@ PATCH_FILES
# SeaBIOS / SeaVGABIOS - path: roms/seabios (patch range 1100-1199)
Patch1100: seabios-use-python2-explicitly-as-needed.patch
Patch1101: seabios-switch-to-python3-as-needed.patch
Patch1102: seabios-fix_cross_compilation.patch
# ipxe - path: roms/ipxe (patch range 1200-1299)
Patch1200: ipxe-stable-buildid.patch
@ -151,6 +159,7 @@ Patch1205: ipxe-build-Disable-gcc-address-of-packed-member-warning.patch
# sgabios - path: roms/sgabios (patch range 1300-1399)
Patch1300: sgabios-stable-buildid.patch
Patch1301: sgabios-fix-cross-build.patch
# SLOF - path: roms/SLOF (patch range 1400-1499) (Currently no patches)
@ -176,7 +185,13 @@ BuildRequires: SDL2-devel
%endif
BuildRequires: alsa-devel
%if %{build_x86_firmware_from_source}
BuildRequires: acpica
BuildRequires: binutils-devel
%ifnarch %{ix86} x86_64
# We must cross-compile on non-x86*
BuildRequires: cross-x86_64-binutils
BuildRequires: cross-x86_64-gcc7
%endif
%endif
BuildRequires: bluez-devel
BuildRequires: brlapi-devel
@ -792,7 +807,7 @@ Supplements: modalias(pci:v00005853d00000001sv*sd*bc*sc*i*)
This package contains the QEMU guest agent. It is installed in the linux guest
to provide information and control at the guest OS level.
%ifarch %ix86 x86_64
%ifarch %{build_rom_arch}
%package seabios
Summary: x86 Legacy BIOS for QEMU
Group: System/Emulators/PC
@ -871,6 +886,7 @@ pushd roms/seabios
%if 0%{?suse_version} > 1320
%patch1101 -p1
%endif
%patch1102 -p1
popd
pushd roms/ipxe
@ -886,6 +902,7 @@ popd
pushd roms/sgabios
%patch1300 -p1
%patch1301 -p1
popd
pushd roms/SLOF
@ -1135,14 +1152,30 @@ done
%endif
%if %{build_x86_firmware_from_source}
make %{?_smp_mflags} -C roms bios
%ifnarch %{ix86} x86_64
export CC=x86_64-suse-linux-gcc
export LD=x86_64-suse-linux-ld
%endif
make %{?_smp_mflags} -C roms bios \
%ifnarch %ix86 x86_64
HOSTCC=cc \
%endif
make %{?_smp_mflags} -C roms seavgabios \
%ifnarch %ix86 x86_64
HOSTCC=cc \
%endif
make %{?_smp_mflags} -C roms seavgabios
make %{?_smp_mflags} -C roms pxerom
%ifarch x86_64
%ifnarch %ix86
make %{?_smp_mflags} -C roms efirom
%endif
make -C roms sgabios
make -C roms sgabios \
HOSTCC=cc
%if %{force_fit_virtio_pxe_rom}
pushd roms/ipxe
@ -1229,7 +1262,7 @@ make check-block V=1
touch -r config-host.mak pc-bios
make install DESTDIR=%{buildroot}
%ifnarch %ix86 x86_64
%ifnarch %{build_rom_arch}
for f in %{x86_extra_built_firmware_list} \
%{x86_64_only_extra_built_firmware_list}; do
unlink %{buildroot}%_datadir/%name/$f
@ -1574,7 +1607,7 @@ fi
%files lang -f %name.lang
%defattr(-, root, root)
%ifarch %ix86 x86_64
%ifarch %{build_rom_arch}
%files seabios
%defattr(-, root, root)
%dir %_datadir/%name

View File

@ -0,0 +1,11 @@
--- a/Makefile 2019-02-20 17:45:15.458665862 +0100
+++ b/Makefile 2019-02-20 17:45:01.578593929 +0100
@@ -13,7 +13,7 @@ export CONFIG_SHELL := sh
export KCONFIG_AUTOHEADER := autoconf.h
export KCONFIG_CONFIG := $(CURDIR)/.config
export LC_ALL := C
-CROSS_PREFIX=
+CROSS_PREFIX=$(CROSS_COMPILE)
ifneq ($(CROSS_PREFIX),)
CC=$(CROSS_PREFIX)gcc
endif

View File

@ -0,0 +1,11 @@
--- a/Makefile 2019-02-22 09:46:54.768180093 +0100
+++ b/Makefile 2019-02-22 09:47:05.544250815 +0100
@@ -55,7 +55,7 @@ sgabios.elf: .depend $(OBJS) $(LDSCRIPT)
$(LD) $(LDFLAGS) $(OBJS) -o $@
csum8: csum8.c
- $(CC) -Wall -O2 -o $@ $<
+ $(HOSTCC) -Wall -O2 -o $@ $<
sgabios.o: buildinfo