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 a9eb5a2a28
commit 3d00c639f7
8 changed files with 175 additions and 29 deletions

View File

@ -2,11 +2,6 @@
<!-- All builds are fine with 8GB disk --> <!-- All builds are fine with 8GB disk -->
<overwrite> <overwrite>
<conditions> <conditions>
<arch>i586</arch>
<arch>x86_64</arch>
<arch>ppc64</arch>
<arch>ppc64le</arch>
<arch>s390x</arch>
<package>qemu</package> <package>qemu</package>
<package>qemu-linux-user</package> <package>qemu-linux-user</package>
<package>qemu-testsuite</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> 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 legacy_qemu_kvm 0
%define force_fit_virtio_pxe_rom 1 %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}" == "" %if "%{?distribution}" == ""
%define distro private-build %define distro private-build
%else %else
%define distro %{distribution} %define distro %{distribution}
%endif %endif
%ifarch %ix86 x86_64 %ifarch %{build_rom_arch}
# choice of building all from source or using provided binary x86 blobs # 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 ) %if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
%define build_x86_firmware_from_source 1 %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) # SeaBIOS / SeaVGABIOS - path: roms/seabios (patch range 1100-1199)
Patch1100: seabios-use-python2-explicitly-as-needed.patch Patch1100: seabios-use-python2-explicitly-as-needed.patch
Patch1101: seabios-switch-to-python3-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) # ipxe - path: roms/ipxe (patch range 1200-1299)
Patch1200: ipxe-stable-buildid.patch 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) # sgabios - path: roms/sgabios (patch range 1300-1399)
Patch1300: sgabios-stable-buildid.patch Patch1300: sgabios-stable-buildid.patch
Patch1301: sgabios-fix-cross-build.patch
# SLOF - path: roms/SLOF (patch range 1400-1499) (Currently no patches) # SLOF - path: roms/SLOF (patch range 1400-1499) (Currently no patches)
@ -238,7 +247,13 @@ BuildRequires: SDL2-devel
%endif %endif
BuildRequires: alsa-devel BuildRequires: alsa-devel
%if %{build_x86_firmware_from_source} %if %{build_x86_firmware_from_source}
BuildRequires: acpica
BuildRequires: binutils-devel 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 %endif
BuildRequires: bluez-devel BuildRequires: bluez-devel
BuildRequires: brlapi-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 This package contains the QEMU guest agent. It is installed in the linux guest
to provide information and control at the guest OS level. to provide information and control at the guest OS level.
%ifarch %ix86 x86_64 %ifarch %{build_rom_arch}
%package seabios %package seabios
Summary: x86 Legacy BIOS for QEMU Summary: x86 Legacy BIOS for QEMU
Group: System/Emulators/PC Group: System/Emulators/PC
@ -992,6 +1007,7 @@ pushd roms/seabios
%if 0%{?suse_version} > 1320 %if 0%{?suse_version} > 1320
%patch1101 -p1 %patch1101 -p1
%endif %endif
%patch1102 -p1
popd popd
pushd roms/ipxe pushd roms/ipxe
@ -1007,6 +1023,7 @@ popd
pushd roms/sgabios pushd roms/sgabios
%patch1300 -p1 %patch1300 -p1
%patch1301 -p1
popd popd
pushd roms/SLOF pushd roms/SLOF
@ -1256,14 +1273,29 @@ done
%endif %endif
%if %{build_x86_firmware_from_source} %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 make %{?_smp_mflags} -C roms pxerom
%ifarch x86_64
%ifnarch %ix86
make %{?_smp_mflags} -C roms efirom make %{?_smp_mflags} -C roms efirom
%endif %endif
make -C roms sgabios
make -C roms sgabios \
HOSTCC=cc
%if %{force_fit_virtio_pxe_rom} %if %{force_fit_virtio_pxe_rom}
pushd roms/ipxe pushd roms/ipxe
@ -1350,7 +1382,7 @@ make check-block V=1
touch -r config-host.mak pc-bios touch -r config-host.mak pc-bios
make install DESTDIR=%{buildroot} make install DESTDIR=%{buildroot}
%ifnarch %ix86 x86_64 %ifnarch %{build_rom_arch}
for f in %{x86_extra_built_firmware_list} \ for f in %{x86_extra_built_firmware_list} \
%{x86_64_only_extra_built_firmware_list}; do %{x86_64_only_extra_built_firmware_list}; do
unlink %{buildroot}%_datadir/%name/$f unlink %{buildroot}%_datadir/%name/$f
@ -1695,7 +1727,7 @@ fi
%files lang -f %name.lang %files lang -f %name.lang
%defattr(-, root, root) %defattr(-, root, root)
%ifarch %ix86 x86_64 %ifarch %{build_rom_arch}
%files seabios %files seabios
%defattr(-, root, root) %defattr(-, root, root)
%dir %_datadir/%name %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> 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 legacy_qemu_kvm 0
%define force_fit_virtio_pxe_rom 1 %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}" == "" %if "%{?distribution}" == ""
%define distro private-build %define distro private-build
%else %else
%define distro %{distribution} %define distro %{distribution}
%endif %endif
%ifarch %ix86 x86_64 %ifarch %{build_rom_arch}
# choice of building all from source or using provided binary x86 blobs # 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 ) %if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
%define build_x86_firmware_from_source 1 %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) # SeaBIOS / SeaVGABIOS - path: roms/seabios (patch range 1100-1199)
Patch1100: seabios-use-python2-explicitly-as-needed.patch Patch1100: seabios-use-python2-explicitly-as-needed.patch
Patch1101: seabios-switch-to-python3-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) # ipxe - path: roms/ipxe (patch range 1200-1299)
Patch1200: ipxe-stable-buildid.patch 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) # sgabios - path: roms/sgabios (patch range 1300-1399)
Patch1300: sgabios-stable-buildid.patch Patch1300: sgabios-stable-buildid.patch
Patch1301: sgabios-fix-cross-build.patch
# SLOF - path: roms/SLOF (patch range 1400-1499) (Currently no patches) # SLOF - path: roms/SLOF (patch range 1400-1499) (Currently no patches)
@ -238,7 +247,13 @@ BuildRequires: SDL2-devel
%endif %endif
BuildRequires: alsa-devel BuildRequires: alsa-devel
%if %{build_x86_firmware_from_source} %if %{build_x86_firmware_from_source}
BuildRequires: acpica
BuildRequires: binutils-devel 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 %endif
BuildRequires: bluez-devel BuildRequires: bluez-devel
BuildRequires: brlapi-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 This package contains the QEMU guest agent. It is installed in the linux guest
to provide information and control at the guest OS level. to provide information and control at the guest OS level.
%ifarch %ix86 x86_64 %ifarch %{build_rom_arch}
%package seabios %package seabios
Summary: x86 Legacy BIOS for QEMU Summary: x86 Legacy BIOS for QEMU
Group: System/Emulators/PC Group: System/Emulators/PC
@ -992,6 +1007,7 @@ pushd roms/seabios
%if 0%{?suse_version} > 1320 %if 0%{?suse_version} > 1320
%patch1101 -p1 %patch1101 -p1
%endif %endif
%patch1102 -p1
popd popd
pushd roms/ipxe pushd roms/ipxe
@ -1007,6 +1023,7 @@ popd
pushd roms/sgabios pushd roms/sgabios
%patch1300 -p1 %patch1300 -p1
%patch1301 -p1
popd popd
pushd roms/SLOF pushd roms/SLOF
@ -1256,14 +1273,29 @@ done
%endif %endif
%if %{build_x86_firmware_from_source} %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 make %{?_smp_mflags} -C roms pxerom
%ifarch x86_64
%ifnarch %ix86
make %{?_smp_mflags} -C roms efirom make %{?_smp_mflags} -C roms efirom
%endif %endif
make -C roms sgabios
make -C roms sgabios \
HOSTCC=cc
%if %{force_fit_virtio_pxe_rom} %if %{force_fit_virtio_pxe_rom}
pushd roms/ipxe pushd roms/ipxe
@ -1350,7 +1382,7 @@ make check-block V=1
touch -r config-host.mak pc-bios touch -r config-host.mak pc-bios
make install DESTDIR=%{buildroot} make install DESTDIR=%{buildroot}
%ifnarch %ix86 x86_64 %ifnarch %{build_rom_arch}
for f in %{x86_extra_built_firmware_list} \ for f in %{x86_extra_built_firmware_list} \
%{x86_64_only_extra_built_firmware_list}; do %{x86_64_only_extra_built_firmware_list}; do
unlink %{buildroot}%_datadir/%name/$f unlink %{buildroot}%_datadir/%name/$f
@ -1695,7 +1727,7 @@ fi
%files lang -f %name.lang %files lang -f %name.lang
%defattr(-, root, root) %defattr(-, root, root)
%ifarch %ix86 x86_64 %ifarch %{build_rom_arch}
%files seabios %files seabios
%defattr(-, root, root) %defattr(-, root, root)
%dir %_datadir/%name %dir %_datadir/%name

View File

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