rebuilderd icon indicating copy to clipboard operation
rebuilderd copied to clipboard

Archlinux split packages are rebuilt once for each split

Open fergus-dall opened this issue 4 years ago • 1 comments

Some PKGBUILD files produce multiple packages. Rebuilderd is not currently aware of this relationship between the split packages and schedules each one for an independent rebuild, each of which builds all the packages only to ignore all but one of them. Instead a single build should be run, followed by checking all the packages produced.

This is especially an issue for gcc, which takes a long time to build and produces 8 different packages: gcc, gcc-libs, gcc-fortran, gcc-objc, gcc-ada, gcc-go, lib32-gcc-libs, and gcc-d. The whole of gcc is therefore built 8 times when rebuilding archlinux core and any time gcc is updated.

fergus-dall avatar Dec 27 '20 09:12 fergus-dall

We're working on this! :) The latest release introduced the pkgbase, but the relationship is currently still nullable (until rebuildctl pkgs sync migrated everything). The next release is going to migrate this field to NOT NULL and the queue table is going to reference the pkgbase instead. I'd prefer to wait until https://github.com/archlinux/archlinux-repro/pull/86 is released though. :)

kpcyrd avatar Dec 27 '20 14:12 kpcyrd