Gentoo Archives: gentoo-user

From: Sam Bishop <sam@××××××.email>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Open Question: The feasibility of a complete portage binhost
Date: Thu, 22 Jan 2015 08:55:48
Message-Id: CAC9sXg=7+_2Ee67g2KAkHgdw817MoL2yjJQ57M9Wv8a+JKHzQg@mail.gmail.com
In Reply to: Re: [gentoo-user] Open Question: The feasibility of a complete portage binhost by Alec Ten Harmsel
1 On 21 January 2015 at 23:53, Alec Ten Harmsel <alec@××××××××××××××.com> wrote:
2 > I actually had kind of a cool idea while walking to the bus stop this
3 > morning; a JIT Portage server that builds packages on demand. This would
4 > require:
5 >
6 > * Writing a portage server
7 > * Patching portage to connect to said server
8 >
9
10 Or... Before integrating it into portage, it could be a wrapper, lets
11 call it 'premerge' for the sake of example.
12 Calling premerge www-client/firefox-35.0[pulseaudio] would unpack the
13 arguments, work out the relevant metadata, perhaps by parsing the
14 output of emerge -pv, and then fetch the binaries from the big storage
15 pool they live in, put them in the correct place for portage to find
16 them, and then call portage in such a way it can find the prebuilt
17 binary version we just provided it. If emerge itself is incapable of
18 handling such a large binary prebuilt collection of packages, then I'm
19 likely to explore this route for a while.
20
21 > Basically, `emerge <pkgname>` would send a message to the server "I need
22 > www-client/firefox-35.0[pulseaudio]". The server would return the
23 > tarball if already built, otherwise build it and then return it. This
24 > would be reasonably complex to implement in practice, but it would let
25 > everybody using the same binhost to run their own custom USE flags.
26 >
27 > Re more accurate numbers: dev-java/icedtea. Let's pretend building this
28 > takes ~5 minutes (this is faster than my desktop can do it in RAM with 6
29 > hyper-threaded cores). There are 13 USE flags that are configurable if
30 > you're using HotSpot; we'll ignore JamVM and CACAO. On a single server,
31 > this would take nearly a month (28.44 days, exactly).
32 >
33 > Alec
34 >