On Fri, Jul 8, 2016 at 10:39 AM, Daniel P. Berrange <berrange(a)redhat.com> wrote:
On Fri, Jul 08, 2016 at 10:34:26AM +0100, Peter Robinson wrote:
> On Fri, Jul 8, 2016 at 10:25 AM, Daniel P. Berrange <berrange(a)redhat.com>
wrote:
> > On Fri, Jul 08, 2016 at 10:11:09AM +0100, Richard W.M. Jones wrote:
> >>
> >> [Hi Peter, might be easier to discuss this with everyone on the
> >> mailing list rather than in fragmentary IRC conversations.]
> >>
> >> At the moment anything that depends on libvirt-daemon-qemu will
> >> try to pull in qemu-system-x86 which fails (on aarch64, possibly
> >> on ppc64* too) because of:
> >>
> >> Error: Package: 2:qemu-system-x86-2.6.0-4.fc25.aarch64 (build)
> >> Requires: edk2-ovmf
> >>
> >> eg:
http://arm.koji.fedoraproject.org/koji/taskinfo?taskID=3617462
> >>
> >> edk2-ovmf is a noarch package, but we don't build it on aarch64
> >> because the spec file (edk2.spec) has %ifarch x86_64 around it,
> >> presumably because it cannot be cross-compiled:
> >>
> >> %ifarch x86_64
> >> %package ovmf
> >> Summary: Open Virtual Machine Firmware
> >> License: BSD and OpenSSL
> >> Provides: OVMF
> >> BuildArch: noarch
> >> %description ovmf
> >> EFI Development Kit II
> >> Open Virtual Machine Firmware (x64)
> >> %endif
> >>
> >> So how to fix ...
> >>
> >> I'm unclear why qemu-system-x86 hard-Requires edk2-ovmf, since x86 VMs
> >> usually use SeaBIOS. Booting them with UEFI is not very common. I
> >> guess this should be a Suggests/Recommends kind of dependency.
> >>
> >> Alternately is there some way to pull the noarch package into arm.koji
> >> even though it was built on a primary architecture?
> >
> > This must surely be possible, as ipxe is in the exact same situation
> > where it is marked to only build on x86
>
> Not sure how ipxe builds but it's output is noarch rpms which get
> imported. This is not the case with edk2
Yes & no. One output RPM is x86_64, but the others are noarch, and it is
the noarch ones that we need to satisfy QEMU deps.
edk2-aarch64.noarch
edk2-ovmf.noarch
edk2-tools.x86_64
edk2-tools-doc.noarch
edk2-tools-python.noarch
Are you saying that aarch builder will only import things if *all*
sub-RPMs are noarch ? If so that's a bit of a problem. It should be
able to import noarch sub-RPMs and ignore arch dependant sub-RPMs
Yes, it only imports packages that are completely noarch, else it
builds the package. There is no means to do partial build/partial
import of a package, it's one or the other. Why would we want to do
partial of anything, there would be need to be a complex mapping of
how it handles each package in each case and we've never had (nor do
we want) a reason to do this prior to now.
Peter