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