Gentoo Archives: gentoo-dev

From: Daniel Robbins <drobbins@g.o>
To: gentoo-dev@g.o
Subject: [gentoo-dev] [drobbins: Re: portage 1.5]
Date: Sun, 15 Apr 2001 13:40:16
Message-Id: 20010415134016.A14856@cvs.gentoo.org
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.