1 |
On Wed, 2005-12-14 at 09:51 -0600, Mikey wrote: |
2 |
> On Wednesday 14 December 2005 09:03, Chris Gianelloni spammed: |
3 |
> |
4 |
> > Using a seed with only python 2.4 is the proper solution. If you do not |
5 |
> > have such a seed, build a stage4 tarball with only python in it with |
6 |
> > your new snapshot. You can use a 2005.1-r1 stage3 as your seed. Have |
7 |
> > the stage4 run python-updater in your fsscript. You can then use this |
8 |
> > updated stage4 as your seed for building stage1. |
9 |
> |
10 |
> Python will be automatically upgraded at stage3, which means that catalyst |
11 |
> is creating a stage3 with both versions of python. Actually both versions |
12 |
> of anything that might be slotted during that build of the stage3 target. |
13 |
> Call me anal but that seems to be a rather poor state to leave it in. |
14 |
> Regardless, the functionality provided by the stage4 fsscript is a |
15 |
> workaround... |
16 |
|
17 |
OK. I'm going to list the proper process for creating "clean" stages. |
18 |
|
19 |
> Perhaps I am wanting catalyst to do something that it is not intended to |
20 |
> do, maybe you can clarify for me. |
21 |
> |
22 |
> I want to be able to create clean, pristine, generic x86 stage1s with the |
23 |
> current toolchain to use as my seed for subsequent builds. From mistakes I |
24 |
> have been making and what you have been telling me, I am going to assume |
25 |
> the following is the correct way to do this? |
26 |
|
27 |
It isn't. I'll answer in-line. |
28 |
|
29 |
> Create a stage1 seed to use for future stage2s |
30 |
|
31 |
Yes and no. You will want to create a stage1, but not in any way that |
32 |
you have described. |
33 |
|
34 |
> 1) Use an unaltered stage1-x86-2005.0-r1.tar.bz2 from gentoo with a generic |
35 |
> spec file, no changes in anything, only specify the source and snapshot, to |
36 |
> create a stage2. This will create a stage2 with the current gcc, binutils, |
37 |
> glibc, etc... |
38 |
|
39 |
This is unnecessary. |
40 |
|
41 |
> 2) Use the resulting stage2, with no customizations, to create a stage3. |
42 |
|
43 |
Again, unnecessary. |
44 |
|
45 |
> 3) Use the resulting stage3 to create a new stage1, which would now contain |
46 |
> the updated toolchain. |
47 |
|
48 |
Instead of wasting all the time of building your own stage3 just to |
49 |
build a stage1, use stage3-x86-2005.1-r1.tar.bz2 and build your stage1 |
50 |
from this. Building a stage1 will *always* be up-to-date to what is in |
51 |
your snapshot. No files from the stage3 are actually put into the |
52 |
stage1 tarball, so it can be older than your snapshot. This is how we |
53 |
build newer Gentoo releases. |
54 |
|
55 |
> Use my new stage1 to create my customized stage2/3s |
56 |
|
57 |
Correct. |
58 |
|
59 |
> 1) Use the stage1 seed created above, create spec file for stage2 with my |
60 |
> cflags, chost, cxxflags, and (where do use flags fit in)? |
61 |
|
62 |
You cannot set USE flags for your lower stages. You will need to create |
63 |
a profile. The USE flags *must* match what is in the profile. |
64 |
|
65 |
> 2) Use the new stage2 to create a stage3, I am assuming the cflags, chost, |
66 |
> cxxflags, and use flags will migrate from the stage2 via the |
67 |
> catalyst-generated make.conf and need no alteration? |
68 |
|
69 |
Correct. These come from the seed stage for stages 1 and 3 (under _rc9 |
70 |
and up). |
71 |
|
72 |
> I am a little confused about where my USE preferences need to be applied and |
73 |
> how they migrate from stage2 -> stage3 -> stage4. Would they go in the |
74 |
> stage2 spec file with stage2/use, or a env script, or would I need to hand |
75 |
> edit the stage2 make.conf before using it? Afterwards, will I ever need to |
76 |
> change the USE flags again for that particular release? |
77 |
|
78 |
Well, stage2/use is invalid and ignored. Also, stage3/use is invalid |
79 |
and ignored. You do not change the USE in stages 1 through 3. Period. |
80 |
To make changes to these stages, you need to make a new profile with |
81 |
your changes. This could either be done via editing your portage tree |
82 |
before making the snapshot, or as portdir_overlay in each spec file. No |
83 |
hand-editing is ever required. |
84 |
|
85 |
-- |
86 |
Chris Gianelloni |
87 |
Release Engineering - Strategic Lead |
88 |
x86 Architecture Team |
89 |
Games - Developer |
90 |
Gentoo Linux |