From: "W. Trevor King" <wking@tremily.us>
To: Catalyst <gentoo-catalyst@lists.gentoo.org>
Cc: "W. Trevor King" <wking@tremily.us>
Subject: [gentoo-catalyst] [PATCH v6] doc/HOWTO.txt: Fix stage descriptions, and add extra context
Date: Fri, 20 Dec 2013 21:15:19 -0800 [thread overview]
Message-ID: <2aa25f5a4b3808d93195967a7c82c64c8b5ea5b6.1387602958.git.wking@tremily.us> (raw)
In-Reply-To: <912044f862302c1a55275f8cc269a3b3132cf033.1387601926.git.wking@tremily.us>
From: "W. Trevor King" <wking@tremily.us>
Thanks to Zero_Chaos, dwfreed, and jmbsvicetto for clarification and
review on #gentoo-releng.
---
Oops, I accidentally re-pushed the v4 patch as v5. Here's the new
patch for real. Changes since v4:
* List glibc in the packages.build excerpt
* Mention that stage3 is an `emerge -e`, so stuff from stage2 is
getting rebuilt.
doc/HOWTO.txt | 35 ++++++++++++++++++++++++++++++-----
1 file changed, 30 insertions(+), 5 deletions(-)
diff --git a/doc/HOWTO.txt b/doc/HOWTO.txt
index 5717f80..8fe63c1 100644
--- a/doc/HOWTO.txt
+++ b/doc/HOWTO.txt
@@ -136,11 +136,36 @@ compiled toolchain, which is where Gentoo's stages come in. The “base
system” contains the necessary build tools and supporting
infrastructure to get things going. The stages are:
-1. System must be bootstrapped and the base system must be compiled
- (a new toolchain built with external seed tools).
-2. Stage1 + bootstrapped (a new toolchain build with stage1 tools).
-3. Stage2 + base system compiled (the base system built with stage2 tools).
-4. Stage3 + non-base packages.
+[options="header",frame="topbot",grid="none"]
+|=======================================================================================
+| Source | Action | Result
+| seed stage3 | Build packages listed in your profile's `packages.build` | stage1
+| stage1 | Rebuild the toolchain with the package tree's `bootstrap.sh` | stage2
+| stage2 | Compile the base `@system` packages | stage3
+| stage3 | Compile additional `@world` packages | stage4
+|=======================================================================================
+
+For stage1, Catalyst builds the stuff your profile says you need to
+get started, using the tools in the seed stage3. It uses Portage's
+ability to merge packages into an alternatively-rooted filesystem
+(`/tmp/stage1root`, using `ROOT` in `make.conf`). This ensures that
+only freshly-built packages end up in stage1.
+
+A fresh stage1 has newly-compiled versions of everything you need to
+build a full system, but all of the stage1 binaries were built with
+tools from the seed stage3. For stage2, Catalyst rebuilds a number of
+critial packages (GCC, glibc, binutils, ...) using the `bootstrap.sh`
+script distributed with the package tree. Rebuilding the packages
+using the packages themselves (instead of the seed stage3 tools) gives
+an extra layer of separation from any crazy output that the seed
+tooling may have generated.
+
+Once we have a stage2, Catalyst builds all of the base system packages
+for stage3, rebuilding any that were already built in stage2 (`emerge
+-e @system`). The `@system` set of packages is defined by `packages`
+files in your cascading profile. See
+http://dev.gentoo.org/~ulm/pms/5/pms.html#x1-520005.2.6[the Package
+Manager Specification] for details.
For more details on the differences between the stages, look at the
target helper scripts (e.g. `targets/stage1/*.sh`).
--
1.8.4
next prev parent reply other threads:[~2013-12-21 5:15 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-19 23:48 [gentoo-catalyst] [PATCH] doc/HOWTO.txt: Fix stage descriptions W. Trevor King
2013-12-20 1:33 ` Rick "Zero_Chaos" Farina
2013-12-20 2:51 ` Rick "Zero_Chaos" Farina
2013-12-20 3:13 ` [gentoo-catalyst] [PATCH v2] " W. Trevor King
2013-12-20 4:17 ` [gentoo-catalyst] [PATCH v3] " W. Trevor King
2013-12-20 4:27 ` Rick "Zero_Chaos" Farina
2013-12-31 17:05 ` Jorge Manuel B. S. Vicetto
2013-12-21 0:02 ` Brian Dolbec
2013-12-21 4:39 ` [gentoo-catalyst] [PATCH v4] doc/HOWTO.txt: Fix stage descriptions, and add extra context W. Trevor King
2013-12-21 5:00 ` [gentoo-catalyst] [PATCH v5] " W. Trevor King
2013-12-21 5:15 ` W. Trevor King [this message]
2013-12-31 17:08 ` [gentoo-catalyst] [PATCH v6] " Jorge Manuel B. S. Vicetto
2013-12-31 17:15 ` W. Trevor King
2013-12-31 21:56 ` Rick "Zero_Chaos" Farina
2014-01-06 3:52 ` [gentoo-catalyst] " W. Trevor King
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2aa25f5a4b3808d93195967a7c82c64c8b5ea5b6.1387602958.git.wking@tremily.us \
--to=wking@tremily.us \
--cc=gentoo-catalyst@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox