Gentoo Archives: gentoo-server

From: "Sancho2k.net Lists" <lists@××××××××.net>
To: gentoo-server@l.g.o
Subject: Re: [gentoo-server] Re: Gentoo build server
Date: Tue, 09 Mar 2004 03:44:25
Message-Id: 404D3D92.9080507@sancho2k.net
In Reply to: Re: [gentoo-server] Re: Gentoo build server by Joby Walker
1 Joby Walker wrote:
2
3 > It is a defunction in portage and the methodology of the package. There
4 > are a couple bug report monitoring this. The portage developers promise
5 > that eventually base layout will be package safe.
6 >
7 >> ---How to handle the baselayout defunction--
8 >
9 >
10 > Actually it is easier than you suspect. As long as you don't create a
11 > baselayout package, when you "emerge -k world" or "emerge -g world"
12 > portage will use all of the binary packages you have created and will
13 > build baselayout normally. If you run "emerge -pk ...", portage will
14 > label tell you whether each piece of software is going to be installed
15 > via binary or ebuild.
16
17 This is basically the way we are working now.
18
19 What we've been able to do so far, (thanks for the input on this part)
20 is to set up a build server where packages are built and distributed
21 from. We now share out the tbz2s with apache2 and have PORTAGE_BINHOST
22 set on "client" machines.
23
24 This setup seems to be working pretty good on existing installations.
25 For new installs, it's a little less smooth than I had imagined.
26
27 If experience serves, the ability to use -g reliably is absent in the
28 version of sys-apps/portage that comes on our boot media. That means
29 that after extracting the system from a stage tarball, we have to emerge
30 sync and then emerge -u portage to get us to the point that we can pull
31 any more packages over with emerge -gk. Once sys-apps/portage is up to
32 date, we can emerge -gk several more packages (about 1/3 to 1/2 of what
33 emerge system -vp shows.) When we get somewhere around bash, wget stops
34 working because it is linked against openssl-0.9.7 and only
35 openssl-0.9.6 libraries are installed on the system (strange...). So we
36 have to manually copy openssl package into packages/All, update openssl,
37 and then continue. We can get pretty much through the rest of an emerge
38 system after this.
39
40 The reason I relate this is that I would like to get input on whether
41 our process can be streamlined past this point. Our goals are as follows:
42
43 1. Centralize build source
44 2. Rapid deployment (installation and packages)
45 3. Control software/system versions
46
47 The intention is to set up a local rsync mirror on the LAN and use this
48 as the source of updating portage across all systems. Then even if
49 someone gets a wild hair and decides to emerge sync out of the blue,
50 they have the latest portage available per our discretion. Then our
51 build server and all "clients" will update thier Portage trees from this
52 mirror. All packages will be compiled and built on the build server and
53 possibly burned in prior to rollout on the production servers. This
54 seems to fit the need of #1 and #3. #2 is proving to be a bit more
55 difficult, as described above. Maybe if we used a more recent livecd
56 (currently 1.4.? from 09/03) it would have a more current portage and
57 allow us to take the system from untarring stage3 directly to emerge
58 sync and system in less time.
59
60 >>> 2) Not running 'emerge sync' from each server is actually harmful to the
61 >>> server. You might be able to use 'emerge regen' to mitigate most of
62 >>> this, but I haven't investigated it that fully (since I switched from
63 >>> NFS /usr/portage to a BINHOST).
64
65 Taking this advice to heart. I now see that trying to share /usr/portage
66 across all hosts via NFS was foolish as Portage was not designed to
67 operate like that.
68
69 > An "emerge sync" runs a lot of maintenance on the /var/db/pkg and
70 > /var/cache/edb directories. As packages are relabeled or recategorized,
71 > "emerge sync" re-orgs your /var caches to reflect the new structure. If
72 > this maintenance doesn't happen you will start getting dependancy errors
73 > when trying to install a package. This happened to me with Perl.
74
75 I've heard recommendations to run fixpackages at times. What is the
76 exact purpose of that? It appears to handle moving packages to different
77 categories as Portage changes. Is it recommended to run this often, or
78 after a new emerge sync, for example?
79
80 Another thing we're investigating is the need to use emerge with the -D
81 and -U options to make sure that all packages and dependencies on the
82 build server are always kept current. At this point, it sounds like a
83 fine idea to me. Are there compelling reasons why this might not be a
84 good idea?
85
86 Suggestions on how to accomplish our goals and streamline this process
87 are happily taken.
88
89 Thanks for the input thusfar, it's very appreciated.
90
91 DS

Replies

Subject Author
Re: [gentoo-server] Re: Gentoo build server Joby Walker <zorloc@××××××××.org>