Gentoo Archives: gentoo-dev

From: Zac Medico <zmedico@g.o>
To: gentoo-dev@l.g.o, "Michał Górny" <mgorny@g.o>, "Andreas K. Hüttel" <dilfridge@g.o>, Sam James <sam@g.o>
Cc: binhost@g.o
Subject: Re: [gentoo-dev] New project: binhost
Date: Tue, 23 Feb 2021 19:47:04
Message-Id: 06162931-355c-1253-98fe-5e89ccd5619f@gentoo.org
In Reply to: Re: [gentoo-dev] New project: binhost by Zac Medico
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

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
Re: [gentoo-dev] New project: binhost Zac Medico <zmedico@g.o>