[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#39655] [PATCH core-updates] doc: Add 'Scheme-only Bootstrap' node.
From: |
Ludovic Courtès |
Subject: |
[bug#39655] [PATCH core-updates] doc: Add 'Scheme-only Bootstrap' node. |
Date: |
Wed, 19 Feb 2020 16:58:12 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Hi!
Jan Nieuwenhuizen <address@hidden> skribis:
> * doc/guix.texi (@detailmenu): Add Bootstrapping menu.
> (Scheme-only Bootstrap): New node.
> * doc/images/gcc-core-mesboot0-scheme-only-graph.dot: New image.
> * doc/local.mk (DOT_FILES): Add it.
Great! I wonder if we need a new section though. Do you think we could
just keep it all in a single bootstrapping section that would describe
the current state of affairs, possibly with a “Bootstrapping History”
section or similar that would describe the milestones that got us there?
In fact, part of what you write here could very much go straight to such
a “History” section. I think the terms “Full Source Bootstrap”,
“Scheme-Only Bootstrap”, etc. should only appear there, for clarity.
That way, the main bootstrapping section would simply describe the
current status in a standalone fashion.
Does that make sense?
> +The next step that Guix has taken towards a Full Source Bootstrap is to
> +replace the shell and all its utilities with implementations in Guile
> +Scheme. Gash (@pxref{Gash,,, gash, The Gash manual}) is a
> +POSIX-compatible shell that replaces Bash, and it comes with Gash Utils
> +which has minimalist replacements for Awk, the GNU Core Utilities, Grep,
> +Gzip, Sed, and Tar. The rest of the bootstrap binary seeds that were
> +removed are now built from source by adding a new set of
> +@c
> +packages@footnote{@c
> +gash-boot,
> +gash-utils-boot,
> +%bootstrap-mes-rewired,
> +gzip-mesboot,
I wouldn’t list them all here because (1) it’s hard to understand what
these names refer to, unless reading commencement.scm is your favorite
hobby ;-), and (2) it’s bound to become outdated.
WDYT?
> +As Gash and Gash Utils mature, and GNU packages become more
> +bootstrappable (e.g., new releases of GNU Sed will also ship in
> +@code{tar.gz} format), this set of added packages can hopefully be
> +reduced again.
> +
> +@c ./pre-inst-env guix graph -e '(@@ (gnu packages commencement)
> gcc-core-mesboot0)' | sed -re
> 's,((bootstrap-mescc-tools|bootstrap-mes|guile-bootstrap).*shape =) box,\1
> ellipse,' > doc/images/gcc-core-mesboot0-scheme-only-graph.dot
> +@image{images/gcc-core-mesboot0-scheme-only-graph,6in,,Dependency graph of
> gcc-core-mesboot0}
It would be nice to have a couple of lines commenting the graph, like:
The graph below shows the resulting dependency graph. At its root
there’s X and at the top there’s Y, etc.
Thank you, and apologies for suggesting more work! :-)
Ludo’.