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 |