Gentoo Archives: gentoo-dev

From: Zac Medico <zmedico@g.o>
To: Alec Warner <antarus@g.o>, Gentoo Dev <gentoo-dev@l.g.o>, Zac Medico <zmedico@g.o>
Subject: Re: [gentoo-dev] Managing updates on many identical Gentoo systems
Date: Thu, 18 Jan 2018 23:01:57
Message-Id: af85e0d8-62bf-dce0-2360-070c897f8b86@gentoo.org
In Reply to: Re: [gentoo-dev] Managing updates on many identical Gentoo systems by Alec Warner
1 On 01/18/2018 08:13 AM, Alec Warner wrote:
2 > On Thu, Jan 18, 2018 at 6:46 AM, Anthony G. Basile <blueness@g.o
3 > <mailto:blueness@g.o>> wrote:
4 >
5 > Hi everyone,
6 >
7 > I'm trying to design an update system for many identical Gentoo systems.
8 >  Using a binhost is obvious, but there are still problems with this
9 > approach.
10 >
11 > Unless there's some magic I don't know about (and this is why I'm
12 > sending this email) each machine still needs to have the portage tree
13 > installed locally (1.5 GB) or somehow mounted by a network filesystem
14 > (which is not practical if the machines are not on a local network).
15 >
16 >
17 > +Zac
18 >
19 > I don't believe this is true; with the correct binhost configuration
20 > portage should:
21 >
22 > 1) Contact the binhost to get a dump of packages available on it.
23 > 2) Use that dump to create a 'virtual portage tree' (bindb).
24 > 3) Use the bindb for package discovery (is foo available) and dependency
25 > calculation.
26
27 It's already possible if you use PORTAGE_BINHOST and create a dummy
28 profile to satisfy portage. I've filed this bug to create a convenient
29 option for this:
30
31 https://bugs.gentoo.org/644990
32
33 >
34 > Furthermore, each machine would have to run emerge locally to do the
35 > calculation of what packages need updating.
36 >
37 >
38 > The good news is that with a bindb; the package tree itself is much
39 > smaller. ::gentoo is 23000 packages.
40 > But you bindb is only as large as you build binpkgs for and publish
41 > them. So say stage3 + some other stuff.
42 > Around 500 packages perhaps.
43
44 Doing the calculation on the client side is fine, since binary package
45 calculations are much simpler than source-based ebuild calculations.
46 --
47 Thanks,
48 Zac