On 2/10/21 10:51 AM, Lars Wendler wrote: > On Wed, 10 Feb 2021 19:57:48 +0200 Andreas K. Hüttel wrote: > >> Hi all, >> >> I'm announcing a new project here - "binhost" >> >> "The Gentoo Binhost project aims to provide readily installable, >> precompiled packages for a subset of configurations, via central >> binary package hosting. Currently we are still in the conceptual >> planning stage. " >> >> https://wiki.gentoo.org/wiki/Project:Binhost >> >> If you're interested in helping out, feel free to add yourself on the >> wiki page. >> >> Note that I see actually *building* the packages not as the central >> point of the project (that could be e.g. a side effect of a >> tinderbox). I'm more concerned about >> * what configurations should we use >> * what portage features are still needed or need improvements (e.g. >> binpkg signing and verification) >> * how should hosting look like >> * and how we can test this on a limited scale before it goes "into >> production" >> * ... >> >> Comments, ideas, flamebaits? :D >> >> Cheers, >> Andreas >> > > It would be great to improve portage speed with handling binpkgs. I > already have my own binhost for a couple of Gentoo systems and even > though these systems don't have to compile anything themselves, > installing ~100 to ~200 binpkgs takes way more than an hour of > installation time. Arch Linux' pacman only takes a fraction of this > time for the very same task. > I know that I compare apples with pears here but even reducing the > current portage time by 50% would be a huge improvement.
In order to maximize throughput, we have FEATURES="parallel-install" that for example allows one package's files to be merged while a pkg_{pre,post}{inst,rm} phase is running for an unrelated package that is in the merge queue. There's also FEATURES="-ebuild-locks" which allows privileged pkg_{pre,post}{inst,rm} phases to run concurrently with privileged phases of unrelated packages in the merge queue. Ultimately, pkg_{pre,post}{inst,rm} phases could be the limiting factor here. I portage, we should eliminate calls to these phases when DEFINED_PHASES metadata indicated that they're not defined. Also, FEATURES=preserve-libs introduces considerable overhead because it regenerates LinkageMapELF data structures for every merge. It would be much more efficient if it could incrementally update these data structures. -- Thanks, Zac
signature.asc
Description: OpenPGP digital signature