Re: Speedup when using qemu to cross-build packages.
On Thu, Sep 08, 2022 at 12:35:38PM +0200, Christof Warlich wrote:
> To me, the major problem is that cross-building seems to be not even a
> citizen to package maintainers: When cross-building only the most basic
> packages, i.e.
You see, cross building is a lot like a port. And a port needs porters.
My take on this is that we shouldn't bother package maintainers before
we have around thre regular porters. I recognize that this is not
universally accepted, but my opinion carries a little more weight here
as I'v done most of the porting work. ;)
> those being reported by "debootstrap --print-debs", less than a third
> build sucessfully,
> the rest fail for various reasons, many of them (e.g. bash, glibc,
> apparmor, ...) even fail
> already to install their required build dependencies!
Already refuted by Johannes. Beyond that, most of those packages cross
build just fine given the right build profiles. As for vim, there is a
patch in the bts that goes a long way.
> Thus, if even most of the maintainers don't care, it very much looks to
> me like
> almost everyone already gave up on this. And considering that Debian has
> 20.000 source packages, it certainly would be almost impossible for that
> to be fixed by
> a single individual.
I suppose that for a long time, I've been that single individual.
Nowadays, more and more people help out with cross building
occasionally. That's great, but still short of the capacity we need
here. That said, there has been progress. Of your 20000 source packages,
only 16000 build architecture-dependent packages. Of those 16000 source
packages, almost 10000 have satisfiable cross build dependencies. How
many of those actually are cross buildable is difficult to estimate, but
I guess we're around 6000 now. Probably more. When I started doing this,
you could cross build around 100 packages given a very complex build
invocation. To me, this doesn't quite sound like giving up. We're just
waiting for you to join the force!
> Considering all this, qemu-user really seems to be a rather attractive
> solution: It's
> slow, but it works! And if it could significantly be sped up, maybe even
> close to a
> native build, we may seriously ask whether cross-compiling is still
> needed at all!
Please go ahead. You seem to be set. If it works for you, then great.
Chances are though that you mailed us, because it didn't work the way
you wanted it to work.
> And if there would ever be a collective effort to get crossbuilding going in
> general, I'd be happy to contribute wherever I can.
Please do join the collective. The process is relatively easy:
* You pick a package of your choice. Probably one that affects you.
* You check https://crossqa.debian.net/src/yourpackage. It tells you
about the current status, prior work (i.e. correctly tagged bugs) and
has links to other related qa pages.
* You fix the package.
* You send your patch to the maintainer. Do create a usertagged bug.
It'll automatically show up on crossqa. Also X-Debbugs-Cc this list
on your first few patches. You get a review for free.
* If you struggle at any of these steps, mail this list for help with
your existing analysis. Probably including a build log.