rebuilderd
rebuilderd copied to clipboard
Archlinux split packages are rebuilt once for each split
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.
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. :)