Handling build-depends-indep for non-x86 source packages (was: Bug#921458: qemu-system-common: dependancy on gcc-s390x-linux-gnu fails on non-x86 hosts)
- Date: Thu, 07 Feb 2019 18:49:01 +0000
- From: Alex Bennée <alex.bennee@xxxxxxxxxx>
- Subject: Handling build-depends-indep for non-x86 source packages (was: Bug#921458: qemu-system-common: dependancy on gcc-s390x-linux-gnu fails on non-x86 hosts)
The following bug has come up and we would like some input from the
multiarch and cross developers on how best to handle this case.
In an ideal world all cross compilers would be available on all release
architectures but I think it will be a while before we get there. My own
efforts to get just all the cross binutils cleanly building on arm64
have stalled somewhat so in the meantime is there anything we can do to
keep build-dependencies working on all arches?
See bellow for more context:
Michael Tokarev <mjt@xxxxxxxxxx> writes:
> 06.02.2019 13:58, Alex Bennée wrote:
>>> What should the dependencies look like?
>> I'm not sure - it does seem weird that we are treating what is in effect
>> an s390x architecture blob as architecture independent. I guess QEMU is
>> good at generating weird exception cases.
> Actually _all_ firmware blobs are shipped as indep packages. We don't want
> to enable whole mips or arm or sparc or ppc multiarch on x86 just to install
> or run qemu on host.
>> How did we ship s390x blobs on non-x86 release architectures before
>> this change?
> For s390x we didn't, at all, there was a bug open for missing s390x fw,
> users of qemu-system-s390x were getting firmware from upstream site.
> For some other stuff, like qemu-specific x86 firmware (needed on all
> arches as well, just like s390x or ppc blobs), we used an ugly hack
> to embed sources for said firmware in other package's debian/foo.tar.gz
> files. For yet another, we created separate package which builds
> arch-all blobs (openbios, seabios, etc).
> I really like to stop this mess, and now it is possible finally because
> cross-compilers are available.
> There was another way to deal with this - one package which qemu-team
> maintains builds a cross-compiler from gcc source first and uses that
> compiler to build actual firmware blobs. I don't think this is a good
> I especially used build-depends-indep for all these cross-compilers,
> in order for qemu arch-specific packages to remain buildable on non-
> x86 architectures. Is this wrong somehow? If this is wrong, I think
> we should bring this on some mailinglist, so that maybe multiarch
> or cross-gcc people will share their opinion?
> Thank you!