1 |
On 2/20/21 8:17 PM, Zac Medico wrote: |
2 |
> On 2/13/21 4:53 PM, Zac Medico wrote: |
3 |
>> On 2/13/21 4:37 PM, Zac Medico wrote: |
4 |
>>> On 2/11/21 1:17 AM, Michał Górny wrote: |
5 |
>>>> On Wed, 2021-02-10 at 19:51 +0100, Lars Wendler wrote: |
6 |
>>>>> On Wed, 10 Feb 2021 19:57:48 +0200 Andreas K. Hüttel wrote: |
7 |
>>>>> |
8 |
>>>>>> Hi all, |
9 |
>>>>>> |
10 |
>>>>>> I'm announcing a new project here - "binhost" |
11 |
>>>>>> |
12 |
>>>>>> "The Gentoo Binhost project aims to provide readily installable, |
13 |
>>>>>> precompiled packages for a subset of configurations, via central |
14 |
>>>>>> binary package hosting. Currently we are still in the conceptual |
15 |
>>>>>> planning stage. " |
16 |
>>>>>> |
17 |
>>>>>> https://wiki.gentoo.org/wiki/Project:Binhost |
18 |
>>>>>> |
19 |
>>>>>> If you're interested in helping out, feel free to add yourself on the |
20 |
>>>>>> wiki page. |
21 |
>>>>>> |
22 |
>>>>>> Note that I see actually *building* the packages not as the central |
23 |
>>>>>> point of the project (that could be e.g. a side effect of a |
24 |
>>>>>> tinderbox). I'm more concerned about |
25 |
>>>>>> * what configurations should we use |
26 |
>>>>>> * what portage features are still needed or need improvements (e.g. |
27 |
>>>>>> binpkg signing and verification) |
28 |
>>>>>> * how should hosting look like |
29 |
>>>>>> * and how we can test this on a limited scale before it goes "into |
30 |
>>>>>> production" |
31 |
>>>>>> * ... |
32 |
>>>>>> |
33 |
>>>>>> Comments, ideas, flamebaits? :D |
34 |
>>>>>> |
35 |
>>>>>> Cheers, |
36 |
>>>>>> Andreas |
37 |
>>>>>> |
38 |
>>>>> |
39 |
>>>>> It would be great to improve portage speed with handling binpkgs. I |
40 |
>>>>> already have my own binhost for a couple of Gentoo systems and even |
41 |
>>>>> though these systems don't have to compile anything themselves, |
42 |
>>>>> installing ~100 to ~200 binpkgs takes way more than an hour of |
43 |
>>>>> installation time. Arch Linux' pacman only takes a fraction of this |
44 |
>>>>> time for the very same task. |
45 |
>>>>> I know that I compare apples with pears here but even reducing the |
46 |
>>>>> current portage time by 50% would be a huge improvement. |
47 |
>>>> |
48 |
>>>> Is that really a problem? For me, Portage takes about an hour just to |
49 |
>>>> do the dependency processing these days. In fact, building from sources |
50 |
>>>> is now faster than dependency calculations. |
51 |
>>> |
52 |
>>> The ratio of these times is dependent on the complexity of the |
53 |
>>> dependencies involved, and so is the answer to your question. |
54 |
>> |
55 |
>> Also, in the context of binary packages, dependencies calculations are |
56 |
>> generally simpler for binary packages because their USE conditionals and |
57 |
>> slot-operator := dependencies are frozen in a particular state. This |
58 |
>> dramatically reduces the search space involved in dependency calculation. |
59 |
> |
60 |
> IUSE_RUNTIME will obviously introduce conditionals in binary package |
61 |
> dependencies, but we should welcome these conditionals because they will |
62 |
> provide useful flexibility. |
63 |
> |
64 |
> I think IUSE_RUNTIME will be a very nice feature to have for project |
65 |
> binhost, since it will allow binary package dependencies to behave with |
66 |
> flexibility that more closely resembles the flexibility of ebuild |
67 |
> dependencies. |
68 |
|
69 |
We can borrow paludis's notion of pbins [1] to generate ebuilds which |
70 |
install pre-built content, and the generated ebuilds could have USE |
71 |
flags that behave similarly to IUSE_RUNTIME in the sense that changes to |
72 |
USE flags will result in different builds of pre-built content being |
73 |
installed. A content-hash distfiles layout [2] could serve as a |
74 |
convenient way to store separate builds of pre-built content for |
75 |
multiple combinations of USE flags, and a generated ebuild would index |
76 |
the build by USE flag combination. |
77 |
|
78 |
Also, for the generated ebuilds, we can generate USE flags to include |
79 |
separate SRC_URI downloads for pre-built content to support things like |
80 |
FEATURES=split-debug and FEATURES=install-sources. |
81 |
|
82 |
[1] https://paludis.exherbo.org/overview/pbins.html |
83 |
[2] https://bugs.gentoo.org/756778 |
84 |
-- |
85 |
Thanks, |
86 |
Zac |