1 |
Here's a message I sent to Achim privately about the "profiles" issue. Achim |
2 |
says he likes this compromise, so we will probably be going with something |
3 |
similar to this. This email is a little bit easier to understand than our |
4 |
last few "deep" Portage conversations, go give it a read. |
5 |
|
6 |
-Daniel |
7 |
|
8 |
On Sun, Apr 15, 2001 at 08:15:52PM +0200, Achim Gottinger wrote: |
9 |
|
10 |
> Hope you did not get confused about our portage.mask conversation. My last |
11 |
> alternative was just an attempt to make a compromise that merges your idea of |
12 |
> the packages file with mine of a package mask. My first wish to use packages |
13 |
> as a replacement for current-packages whould have messed up yours. And I |
14 |
> think using the packages file as a profile for the packages that should be |
15 |
> installed is a good idea and it is not so good to missuse it for version |
16 |
> specific things. At my work by BMW I was partly involed in the buerocracy |
17 |
> processes that where neccesary to update a single package. For such |
18 |
> environments it is a must to have the full controll over each package. So |
19 |
> once we sell gentoo we have to face those problems. I think it is more |
20 |
> efficient to implement such meachnisms now, because ebuild will become more |
21 |
> complex, likewise the changes. I thought we have a few developers out there |
22 |
> who are working for isp's and I'm wondering why no one participates on our |
23 |
> discussion. |
24 |
|
25 |
I think we may be talking over a lot of peoples' heads right now simply because |
26 |
we are the people most familiar with the internal workings of Portage :) |
27 |
|
28 |
You mentioned that /usr/portage/profiles/[profile]/packages shouldn't be used |
29 |
for version-specific things. I agree to a certain extent -- I think we should |
30 |
avoid putting version-specific things in there if at all possible. |
31 |
|
32 |
I think I have a simpler compromise. If what I'm about to suggest is what you |
33 |
were trying to say all along, I apologize for misunderstanding you :) |
34 |
|
35 |
Let's do this. In /usr/portage/profiles, we will have various |
36 |
*version-specific* profile directories. For example, instead of having |
37 |
profiles/default, we'll have profiles/default-1.0_rc4. When we release a new |
38 |
version of Portage, we will release a new set of profiles (but keep the older |
39 |
profiles). This will allow us to use specific dependencies in |
40 |
profiles/default-1.0_rc5/packages without forcing 1.0_rc4 systems to upgrade to |
41 |
1.0_rc5 packages, for example. This will allow us to use the "packages" file |
42 |
in a way much more like a "current-packages" file. However, it will also allow |
43 |
us to be purposely vague if necessary (to allow for flexibility in our profiles |
44 |
geared towards advanced users). |
45 |
|
46 |
Under this arrangement, we'd have a selection of profiles for 1.0_rc5 as follows: |
47 |
|
48 |
profiles/default-1.0_rc5 |
49 |
profiles/desktop-1.0_rc5 |
50 |
profiles/server-1.0_rc5 |
51 |
profiles/current |
52 |
|
53 |
The first three are self-explanatory. The "current" profile will be the |
54 |
"bleeding edge CVS" system -- in Debian-speak, the "unstable" branch, and in |
55 |
FreeBSD-speak, the "current" branch. |
56 |
|
57 |
If someone currently is using the "desktop-1.0_rc5" profile but wants to switch |
58 |
to the "current" profile, he'd do this: |
59 |
|
60 |
# cd /etc |
61 |
# rm make.profile |
62 |
# ln -s /usr/portage/profiles/current make.profile |
63 |
# emerge --system |
64 |
|
65 |
When we release Gentoo Linux 1.0_rc6, we will keep the 1.0_rc5 profiles for |
66 |
compatibility. If someone wants to auto-upgrade their system from 1.0_rc5 to 1.0_rc6, |
67 |
they can do this: |
68 |
|
69 |
# cd /etc |
70 |
# rm make.profile (this was pointing to "default-1.0_rc5") |
71 |
# ln -s /usr/portage/profiles/default-1.0_rc6 make.profile |
72 |
# emerge --system |
73 |
|
74 |
We will still have package.mask to mask out "bad" packages globally. |
75 |
|
76 |
This system should work for everyone. People who want to be totally up-to-date |
77 |
can use "current". People who want a more stable system can use |
78 |
"default-1.0_rc5" -- and it eliminates the need for cvs branches which would |
79 |
cause a fork in our Portage namespace (bad for productivity). |
80 |
|
81 |
What do you think? :) |
82 |
|
83 |
-- |
84 |
Daniel Robbins <drobbins@g.o> |
85 |
President/CEO http://www.gentoo.org |
86 |
Gentoo Technologies, Inc. |