Gentoo Archives: gentoo-catalyst

From: "W. Trevor King" <wking@×××××××.us>
To: Catalyst <gentoo-catalyst@l.g.o>
Cc: "W. Trevor King" <wking@×××××××.us>
Subject: [gentoo-catalyst] [PATCH v4] doc/HOWTO.txt: Fix stage descriptions, and add extra context
Date: Sat, 21 Dec 2013 04:39:14
Message-Id: 69cf58e88de190d7308dd8f0c5523fd62c127eda.1387600437.git.wking@tremily.us
In Reply to: [gentoo-catalyst] [PATCH v3] doc/HOWTO.txt: Fix stage descriptions by "W. Trevor King"
1 From: "W. Trevor King" <wking@×××××××.us>
2
3 Thanks to Zero_Chaos, dwfreed, and jmbsvicetto for clarification and
4 review on #gentoo-releng.
5 ---
6 Changes from v3:
7
8 * Don't mention "bootstrap" or "toolchain" in the seed stage3 → stage1
9 table action. jmbsvicetto points out that bootstrap may be confused
10 with the bootstrap.sh script used for stage1 → stage2, and that
11 there are non-toolchain packages in packages.build. Why there are
12 non-toolchain packages in packages.build is beyond my comprehension,
13 but it's good to match reality ;).
14 * Add a few explanantory paragraphs going into detail about exactly
15 what's going on and how it's technically happening. This should be
16 enough so that an experienced PMS-tree user can get a feel for which
17 packages will be build in which stage without having to look at the
18 targets/stage*/*.sh scripts at all.
19
20 doc/HOWTO.txt | 34 +++++++++++++++++++++++++++++-----
21 1 file changed, 29 insertions(+), 5 deletions(-)
22
23 diff --git a/doc/HOWTO.txt b/doc/HOWTO.txt
24 index 5717f80..1573d59 100644
25 --- a/doc/HOWTO.txt
26 +++ b/doc/HOWTO.txt
27 @@ -136,11 +136,35 @@ compiled toolchain, which is where Gentoo's stages come in. The “base
28 system” contains the necessary build tools and supporting
29 infrastructure to get things going. The stages are:
30
31 -1. System must be bootstrapped and the base system must be compiled
32 - (a new toolchain built with external seed tools).
33 -2. Stage1 + bootstrapped (a new toolchain build with stage1 tools).
34 -3. Stage2 + base system compiled (the base system built with stage2 tools).
35 -4. Stage3 + non-base packages.
36 +[options="header",frame="topbot",grid="none"]
37 +|=======================================================================================
38 +| Source | Action | Result
39 +| seed stage3 | Build packages listed in your profile's `packages.build` | stage1
40 +| stage1 | Rebuild the toolchain with the package tree's `bootstrap.sh` | stage2
41 +| stage2 | Compile the base `@system` packages | stage3
42 +| stage3 | Compile additional `@world` packages | stage4
43 +|=======================================================================================
44 +
45 +For stage1, Catalyst builds the stuff your profile says you need to
46 +get started, using the tools in the seed stage3. It uses Portage's
47 +ability to merge packages into an alternatively-rooted filesystem
48 +(`/tmp/stage1root`, using `ROOT` in `make.conf`). This ensures that
49 +only freshly-built packages end up in stage1.
50 +
51 +A fresh stage1 has newly-compiled versions of everything you need to
52 +build a full system, but all of the stage1 binaries were built with
53 +tools from the seed stage3. For stage2, Catalyst rebuilds a number of
54 +critial packages (GCC, binutils, ...) using the `bootstrap.sh` script
55 +distributed with the package tree. Rebuilding the packages using the
56 +packages themselves (instead of the seed stage3 tools) gives an extra
57 +layer of separation from any crazy output that the seed tooling may
58 +have generated.
59 +
60 +Once we have a stage2, stages3 is a standard `emerge` of the base
61 +system. The `@system` set of packages is defined by `packages` files
62 +in your cascading profile. See
63 +http://dev.gentoo.org/~ulm/pms/5/pms.html#x1-520005.2.6[the Package
64 +Manager Specification] for details.
65
66 For more details on the differences between the stages, look at the
67 target helper scripts (e.g. `targets/stage1/*.sh`).
68 --
69 1.8.4

Replies

Subject Author
[gentoo-catalyst] [PATCH v5] doc/HOWTO.txt: Fix stage descriptions, and add extra context "W. Trevor King" <wking@×××××××.us>