Gentoo Archives: gentoo-alt

From: Michael Haubenwallner <haubi@g.o>
To: gentoo-alt@l.g.o
Subject: Re: [gentoo-alt] prefix: Keeping old version of portage tree
Date: Wed, 16 Jul 2014 11:03:42
Message-Id: 53C65BE3.4050400@gentoo.org
In Reply to: [gentoo-alt] prefix: Keeping old version of portage tree by Anders Bo Rasmussen
1 Hi Anders, sorry for being verbose, but:
2
3 On 07/15/2014 08:19 PM, Anders Bo Rasmussen wrote:
4 > Hi again.
5 >
6 > Today I did some more experiments with Gentoo Prefix and I must say
7 > that I think it looks very good. Basically I just compiled some
8 > different programs ending with gvim, testing that it ran on servers
9 > with different Linux distributions and as different users - and it all
10 > worked :)
11
12 Thanks! Actually, that's the goal of Gentoo Prefix. ;)
13
14 > What I want to use Gentoo Prefix for is to make a toolchain for
15 > compiling a software project (and at the same time also make a lot of
16 > programs available on different servers).
17
18 Seems you have very similar needs than ourself here, except that we do have
19 to provide more packages than available in the Gentoo Prefix portage tree,
20 on more platforms than RHEL and SLES. However, to provide a quite stable
21 development environment, we did have to fork the Gentoo Prefix tree, to be
22 able to maintain the stable keywords we have added, without the need to
23 follow each Gentoo package upgrade.
24
25 This fork was done in late 2009, and here we're currently in a process of
26 upgrading to the current Prefix tree - without breaking the existing one.
27
28 Additionally, we had to create my own profiles (versioned "2010.0"), to avoid
29 the need to set USE flags and the like on the target instances. For each
30 target platform there is a "stable", an "unstable" as well as a "buildbot"
31 profile with appropriate ACCEPT_KEYWORDS settings, plus the special keyword
32 called "~buildbot", accepted by the buildbot-profiles for each platform.
33
34 Each project-development machine now has both a "stable" and an "unstable"
35 instance of our 2010.0 Prefix distro with the appropriate profile selected.
36 Software-project developers now use the "stable" instance for testing their
37 releases as well as distributing to the customer's machine, while they use
38 the "unstable" instance for using newer features, testing bugfixes in the
39 Prefix distro and the like.
40
41 Also, for each target platform there's at least one machine having the
42 buildbot-slave doing fresh bootstraps once a week, as well as updating
43 that bootstrapped instances triggered by various commit hooks, especially
44 in our local overlay.
45
46 > My basic idea is to have a script that makes a new version of my Gentoo
47 > Prefix installation each time I run it, so it could be placed e.g. at
48 > /<somewhere_global_available>/gentoo-<date>. This script or small set
49 > of scripts should contain which packages to emerge, changes to
50 > make.conf, package.use and other changes that is needed to make an
51 > installation. And of course the scripts will be in a VCS. The software
52 > project will just point to the version it currently uses at
53 > /<somewhere_global_available>/gentoo-<date>. This way old versions of
54 > the software project can be compiled without problems, as all the
55 > tools will be the same version.
56
57 Here, we do have a cron job, once a week creating a snapshot of both the
58 merged tree (Prefix+overlay) and the distfiles from all ebuilds with at
59 least one stable keyword, as well as the setup script that knows how to
60 utilize these snapshot tarballs. Every once in a while (at least once a
61 year), we do set date-based VCS tags on the Prefix tree and the overlay,
62 matching the last snapshot content, and define this snapshot as release.
63
64 > What concerns me is that I think I should only update the Portage Tree
65 > when I need it. With the method described above I'll get a new version
66 > of the Portage Tree each time. That means that I'll not get the same
67 > installation if I run my script with 2 weeks in between, which I don't
68 > like, as I then can't fix small problems without changing everything.
69
70 This now released setup script (plus the two tarballs) then is used for
71 fresh distro installs on new target machines, where a subsequent emerge
72 sync+update is optional.
73
74 > Any ideas on how I somehow gets the same portage tree or another way
75 > to solve this problem?
76 > And I guess I should also store the source files somewhere and not get
77 > them downloaded, so I don't risk an old version is suddenly not
78 > available anymore - is there a way to do that?
79
80 Along with the forked Prefix tree we also do maintain a "master mirror",
81 providing LAN-access to the merged tree as well as the distfiles, while
82 the setup script mentioned above knows how to setup SYNC&GENTOO_MIRRORS.
83
84 But: As each of these additional scripts are bound to the existence of
85 that local overlay, they cannot be made public without modification.
86 While we would love to have public variants of them - allowing to manage
87 private distros with optional private overlays, we cannot promise anything
88 about splitting them into public scripts and private configs.
89
90 HTH,
91 /haubi/

Replies

Subject Author
Re: [gentoo-alt] prefix: Keeping old version of portage tree Anders Bo Rasmussen <abr@×××××××.com>