doc: Describe the Reduced Binary Seed bootstrap.

* doc/guix.texi (Reduced Binary Seed Bootstrap): New node.
* doc/images/gcc-mesboot-bag-graph.dot: New file.
* doc/local.mk (DOT_FILES): Add it.
This commit is contained in:
Jan Nieuwenhuizen 2018-09-17 18:48:19 +02:00
parent d536c39e54
commit a243722c5b
No known key found for this signature in database
GPG Key ID: F3C1A0D9C1D65273
3 changed files with 195 additions and 0 deletions

View File

@ -210,6 +210,7 @@ GNU Distribution
* Package Modules:: Packages from the programmer's viewpoint.
* Packaging Guidelines:: Growing the distribution.
* Bootstrapping:: GNU/Linux built from scratch.
* Reduced Binary Seed Bootstrap:: A Bootstrap worthy of GNU.
* Porting:: Targeting another platform or kernel.
System Installation
@ -8694,6 +8695,7 @@ For information on porting to other architectures or kernels,
* Package Modules:: Packages from the programmer's viewpoint.
* Packaging Guidelines:: Growing the distribution.
* Bootstrapping:: GNU/Linux built from scratch.
* Reduced Binary Seed Bootstrap:: A Bootstrap worthy of GNU.
* Porting:: Targeting another platform or kernel.
@end menu
@ -23552,6 +23554,9 @@ Binutils, libc, and the other packages mentioned above---the
These bootstrap binaries are ``taken for granted'', though we can also
re-create them if needed (more on that later).
For @code{i686-linux} the Guix bootstrap process is more elaborate,
@pxref{Reduced Binary Seed Bootstrap}.
@unnumberedsubsec Preparing to Use the Bootstrap Binaries
@c As of Emacs 24.3, Info-mode displays the image, but since it's a
@ -23705,6 +23710,71 @@ bootstrap GCC with a sequence of assemblers, interpreters, and compilers
of increasing complexity, which could be built from source starting from
a simple and auditable assembler. Your help is welcome!
@node Reduced Binary Seed Bootstrap
@section The Reduced Binary Seed Bootstrap
Guix---like other GNU/Linux distributions---is traditionally bootstrapped from
a set of bootstrap binaries: Bourne shell, command-line tools provided by GNU
Coreutils, Awk, Findutils, `sed', and `grep' and Guile, GCC, Binutils, and the
GNU C Library (@pxref{Bootstrapping}). Usually, these bootstrap binaries are
``taken for granted.''
Taking these binaries for granted means that we consider them to be a correct
and trustworthy `seed' for building the complete system. Therein lies a
problem: the current combined size of these bootstrap binaries is about 250MB
(@pxref{Bootstrappable Builds,,, mes, Mes Reference Manual}). Auditing or
even inspecting these is next to impossible.
For @code{i686-linux}, Guix now features a ``Reduced Binary Seed'' bootstrap
@footnote{We would like to say: ``Full Source Bootstrap'' and while we are
working towards that goal it would be hyperbole to use that term for what we
do now.}.
The Reduced Binary Seed bootstrap removes the most critical tools---from a
trust perspective---from the bootstrap binaries: GCC, Binutils and the GNU C
Library are replaced by: @code{mescc-tools-seed} (a tiny assembler and linker)
@code{mes-seed} (a small Scheme Interpreter and a C compiler writen in Scheme)
and @code{tinycc-seed} (the Mes C Library, built for TinyCC). Using these new
binary seeds and a new set of
@c
packages@footnote{@c
mescc-tools-boot,
nyacc-boot,
mes-boot,
tcc-boot0,
tcc-boot,
make-mesboot0,
diffutils-mesboot,
binutils-mesboot0,
gcc-core-mesboot,
mesboot-headers,
glibc-mesboot0,
gcc-mesboot0,
binutils-mesboot,
make-mesboot,
gcc-mesboot1,
gcc-mesboot1-wrapper,
glibc-headers-mesboot,
glibc-mesboot,
gcc-mesboot,
and
gcc-mesboot-wrapper.
}
@c
the ``missing'' Binutils, GCC, and the GNU C Library are built from source.
From here on the more traditional bootstrap process resumes. This approach
has reduced the bootstrap binaries in size to about 130MB. Work is ongoing to
reduce this further. If you are interested, join us on @code{#bootstrappable}
on the Freenode IRC network.
@c ./pre-inst-env guix graph --type=bag -e '(begin (use-modules (guix packages)) (%current-system "i686-linux") (@@ (gnu packages commencement) gcc-mesboot))' > doc/images/gcc-mesboot-bag-graph.dot
@c dot -T png doc/images/gcc-mesboot-bag-graph.dot > doc/images/gcc-mesboot-bag-graph.png
Below is the generated dependency graph for @code{gcc-mesboot}, the bootstrap
compiler used to build the rest of GuixSD.
@image{images/gcc-mesboot-bag-graph,6in,,Dependency graph of the gcc-mesboot}
@node Porting
@section Porting to a New Platform

View File

@ -0,0 +1,124 @@
digraph "Guix bag" {
"/gnu/store/kp05qzqscbbq070h42saa7v2814fym56-gcc-mesboot-4.9.4.drv" [label = "gcc-mesboot@4.9.4", shape = box, fontname = Helvetica];
"/gnu/store/kp05qzqscbbq070h42saa7v2814fym56-gcc-mesboot-4.9.4.drv" -> "/gnu/store/pn2330dk3mi0bzih60d4nd9k1q1bbhp3-binutils-mesboot-2.20.1a.drv" [color = cyan3];
"/gnu/store/kp05qzqscbbq070h42saa7v2814fym56-gcc-mesboot-4.9.4.drv" -> "/gnu/store/m714lzfw5f1nlbj8p9igigpawrjklzc5-gcc-mesboot1-wrapper-4.7.4.drv" [color = cyan3];
"/gnu/store/kp05qzqscbbq070h42saa7v2814fym56-gcc-mesboot-4.9.4.drv" -> "/gnu/store/y3axw4m9rh9a4z34mjxy7cn9gqsml3l9-gcc-mesboot1-4.7.4.drv" [color = cyan3];
"/gnu/store/kp05qzqscbbq070h42saa7v2814fym56-gcc-mesboot-4.9.4.drv" -> "/gnu/store/idk50v7k1n62f6zwr4v174c8svnaskmc-glibc-mesboot-2.16.0.drv" [color = cyan3];
"/gnu/store/kp05qzqscbbq070h42saa7v2814fym56-gcc-mesboot-4.9.4.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = cyan3];
"/gnu/store/kp05qzqscbbq070h42saa7v2814fym56-gcc-mesboot-4.9.4.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = cyan3];
"/gnu/store/kp05qzqscbbq070h42saa7v2814fym56-gcc-mesboot-4.9.4.drv" -> "/gnu/store/ysbncdfxdgb8n9f1d1xaadkzlpyrri5r-diffutils-mesboot-2.7.drv" [color = cyan3];
"/gnu/store/kp05qzqscbbq070h42saa7v2814fym56-gcc-mesboot-4.9.4.drv" -> "/gnu/store/7izlib8w4yjmjwqiv24bddcc5p12ircv-linux-libre-headers-bootstrap-0.drv" [color = cyan3];
"/gnu/store/kp05qzqscbbq070h42saa7v2814fym56-gcc-mesboot-4.9.4.drv" -> "/gnu/store/nh28zik1l0b0y5sl9b3j3xff0gv8pf3z-make-mesboot-3.82.drv" [color = cyan3];
"/gnu/store/pn2330dk3mi0bzih60d4nd9k1q1bbhp3-binutils-mesboot-2.20.1a.drv" [label = "binutils-mesboot@2.20.1a", shape = box, fontname = Helvetica];
"/gnu/store/pn2330dk3mi0bzih60d4nd9k1q1bbhp3-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/d9ik7gv1iqmcrpg8iw49195wzr2yhxam-binutils-mesboot0-2.20.1a.drv" [color = darkseagreen];
"/gnu/store/pn2330dk3mi0bzih60d4nd9k1q1bbhp3-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/9y9g13gxcq2ilrk27ic2ga4sm6glxyvf-glibc-mesboot0-2.2.5.drv" [color = darkseagreen];
"/gnu/store/pn2330dk3mi0bzih60d4nd9k1q1bbhp3-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/qnn5zfx4jxx45rdlw7r7qivqml3a35kj-gcc-mesboot0-2.95.3.drv" [color = darkseagreen];
"/gnu/store/pn2330dk3mi0bzih60d4nd9k1q1bbhp3-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = darkseagreen];
"/gnu/store/pn2330dk3mi0bzih60d4nd9k1q1bbhp3-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = darkseagreen];
"/gnu/store/pn2330dk3mi0bzih60d4nd9k1q1bbhp3-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/ysbncdfxdgb8n9f1d1xaadkzlpyrri5r-diffutils-mesboot-2.7.drv" [color = darkseagreen];
"/gnu/store/pn2330dk3mi0bzih60d4nd9k1q1bbhp3-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/7izlib8w4yjmjwqiv24bddcc5p12ircv-linux-libre-headers-bootstrap-0.drv" [color = darkseagreen];
"/gnu/store/pn2330dk3mi0bzih60d4nd9k1q1bbhp3-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/n4if7b9krvdj6mzm6ziphhvpggxz7y4h-make-mesboot0-3.80.drv" [color = darkseagreen];
"/gnu/store/d9ik7gv1iqmcrpg8iw49195wzr2yhxam-binutils-mesboot0-2.20.1a.drv" [label = "binutils-mesboot0@2.20.1a", shape = box, fontname = Helvetica];
"/gnu/store/d9ik7gv1iqmcrpg8iw49195wzr2yhxam-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/mxph96gajplchgml487c17x9mqp22zci-tcc-boot-0.9.27.drv" [color = blue];
"/gnu/store/d9ik7gv1iqmcrpg8iw49195wzr2yhxam-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = blue];
"/gnu/store/d9ik7gv1iqmcrpg8iw49195wzr2yhxam-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = blue];
"/gnu/store/d9ik7gv1iqmcrpg8iw49195wzr2yhxam-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/ysbncdfxdgb8n9f1d1xaadkzlpyrri5r-diffutils-mesboot-2.7.drv" [color = blue];
"/gnu/store/d9ik7gv1iqmcrpg8iw49195wzr2yhxam-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/n4if7b9krvdj6mzm6ziphhvpggxz7y4h-make-mesboot0-3.80.drv" [color = blue];
"/gnu/store/mxph96gajplchgml487c17x9mqp22zci-tcc-boot-0.9.27.drv" [label = "tcc-boot@0.9.27", shape = box, fontname = Helvetica];
"/gnu/store/mxph96gajplchgml487c17x9mqp22zci-tcc-boot-0.9.27.drv" -> "/gnu/store/6jim8kmyfzqh4k6klsln723na6f8mny8-mes-boot-0.17.1.drv" [color = blue];
"/gnu/store/mxph96gajplchgml487c17x9mqp22zci-tcc-boot-0.9.27.drv" -> "/gnu/store/wgcwpbgcx6rc6qkzap8r1jmm1lqd94xn-tcc-boot0-0.9.26-2.b7aa906.drv" [color = blue];
"/gnu/store/mxph96gajplchgml487c17x9mqp22zci-tcc-boot-0.9.27.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = blue];
"/gnu/store/6jim8kmyfzqh4k6klsln723na6f8mny8-mes-boot-0.17.1.drv" [label = "mes-boot@0.17.1", shape = box, fontname = Helvetica];
"/gnu/store/6jim8kmyfzqh4k6klsln723na6f8mny8-mes-boot-0.17.1.drv" -> "/gnu/store/351v0qka337idkx47agnbxb7f741ywhv-mescc-tools-boot-0.4-1.f02b8f4.drv" [color = darkgoldenrod];
"/gnu/store/6jim8kmyfzqh4k6klsln723na6f8mny8-mes-boot-0.17.1.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = darkgoldenrod];
"/gnu/store/6jim8kmyfzqh4k6klsln723na6f8mny8-mes-boot-0.17.1.drv" -> "/gnu/store/1dz9ddx84s4lgpcayy71kd01w493ab8f-guile-bootstrap-2.0.drv" [color = darkgoldenrod];
"/gnu/store/351v0qka337idkx47agnbxb7f741ywhv-mescc-tools-boot-0.4-1.f02b8f4.drv" [label = "mescc-tools-boot@0.4-1.f02b8f4", shape = box, fontname = Helvetica];
"/gnu/store/351v0qka337idkx47agnbxb7f741ywhv-mescc-tools-boot-0.4-1.f02b8f4.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = dimgrey];
"/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [label = "bootstrap-binaries@0", shape = box, fontname = Helvetica];
"/gnu/store/1dz9ddx84s4lgpcayy71kd01w493ab8f-guile-bootstrap-2.0.drv" [label = "guile-bootstrap@2.0", shape = box, fontname = Helvetica];
"/gnu/store/wgcwpbgcx6rc6qkzap8r1jmm1lqd94xn-tcc-boot0-0.9.26-2.b7aa906.drv" [label = "tcc-boot0@0.9.26-2.b7aa906", shape = box, fontname = Helvetica];
"/gnu/store/wgcwpbgcx6rc6qkzap8r1jmm1lqd94xn-tcc-boot0-0.9.26-2.b7aa906.drv" -> "/gnu/store/6jim8kmyfzqh4k6klsln723na6f8mny8-mes-boot-0.17.1.drv" [color = peachpuff4];
"/gnu/store/wgcwpbgcx6rc6qkzap8r1jmm1lqd94xn-tcc-boot0-0.9.26-2.b7aa906.drv" -> "/gnu/store/351v0qka337idkx47agnbxb7f741ywhv-mescc-tools-boot-0.4-1.f02b8f4.drv" [color = peachpuff4];
"/gnu/store/wgcwpbgcx6rc6qkzap8r1jmm1lqd94xn-tcc-boot0-0.9.26-2.b7aa906.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = peachpuff4];
"/gnu/store/wgcwpbgcx6rc6qkzap8r1jmm1lqd94xn-tcc-boot0-0.9.26-2.b7aa906.drv" -> "/gnu/store/1dz9ddx84s4lgpcayy71kd01w493ab8f-guile-bootstrap-2.0.drv" [color = peachpuff4];
"/gnu/store/ysbncdfxdgb8n9f1d1xaadkzlpyrri5r-diffutils-mesboot-2.7.drv" [label = "diffutils-mesboot@2.7", shape = box, fontname = Helvetica];
"/gnu/store/ysbncdfxdgb8n9f1d1xaadkzlpyrri5r-diffutils-mesboot-2.7.drv" -> "/gnu/store/6jim8kmyfzqh4k6klsln723na6f8mny8-mes-boot-0.17.1.drv" [color = red];
"/gnu/store/ysbncdfxdgb8n9f1d1xaadkzlpyrri5r-diffutils-mesboot-2.7.drv" -> "/gnu/store/mxph96gajplchgml487c17x9mqp22zci-tcc-boot-0.9.27.drv" [color = red];
"/gnu/store/ysbncdfxdgb8n9f1d1xaadkzlpyrri5r-diffutils-mesboot-2.7.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = red];
"/gnu/store/ysbncdfxdgb8n9f1d1xaadkzlpyrri5r-diffutils-mesboot-2.7.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = red];
"/gnu/store/ysbncdfxdgb8n9f1d1xaadkzlpyrri5r-diffutils-mesboot-2.7.drv" -> "/gnu/store/n4if7b9krvdj6mzm6ziphhvpggxz7y4h-make-mesboot0-3.80.drv" [color = red];
"/gnu/store/n4if7b9krvdj6mzm6ziphhvpggxz7y4h-make-mesboot0-3.80.drv" [label = "make-mesboot0@3.80", shape = box, fontname = Helvetica];
"/gnu/store/n4if7b9krvdj6mzm6ziphhvpggxz7y4h-make-mesboot0-3.80.drv" -> "/gnu/store/mxph96gajplchgml487c17x9mqp22zci-tcc-boot-0.9.27.drv" [color = darkviolet];
"/gnu/store/n4if7b9krvdj6mzm6ziphhvpggxz7y4h-make-mesboot0-3.80.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = darkviolet];
"/gnu/store/n4if7b9krvdj6mzm6ziphhvpggxz7y4h-make-mesboot0-3.80.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = darkviolet];
"/gnu/store/9y9g13gxcq2ilrk27ic2ga4sm6glxyvf-glibc-mesboot0-2.2.5.drv" [label = "glibc-mesboot0@2.2.5", shape = box, fontname = Helvetica];
"/gnu/store/9y9g13gxcq2ilrk27ic2ga4sm6glxyvf-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/d9ik7gv1iqmcrpg8iw49195wzr2yhxam-binutils-mesboot0-2.20.1a.drv" [color = darkviolet];
"/gnu/store/9y9g13gxcq2ilrk27ic2ga4sm6glxyvf-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/98vyp5jvzwimxqz55kqb6qh6slzixrys-gcc-core-mesboot-2.95.3.drv" [color = darkviolet];
"/gnu/store/9y9g13gxcq2ilrk27ic2ga4sm6glxyvf-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = darkviolet];
"/gnu/store/9y9g13gxcq2ilrk27ic2ga4sm6glxyvf-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = darkviolet];
"/gnu/store/9y9g13gxcq2ilrk27ic2ga4sm6glxyvf-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/ysbncdfxdgb8n9f1d1xaadkzlpyrri5r-diffutils-mesboot-2.7.drv" [color = darkviolet];
"/gnu/store/9y9g13gxcq2ilrk27ic2ga4sm6glxyvf-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/mfs8zc6658csv4i51qpb443di9mwbhs6-mesboot-headers-0.17.1.drv" [color = darkviolet];
"/gnu/store/9y9g13gxcq2ilrk27ic2ga4sm6glxyvf-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/n4if7b9krvdj6mzm6ziphhvpggxz7y4h-make-mesboot0-3.80.drv" [color = darkviolet];
"/gnu/store/98vyp5jvzwimxqz55kqb6qh6slzixrys-gcc-core-mesboot-2.95.3.drv" [label = "gcc-core-mesboot@2.95.3", shape = box, fontname = Helvetica];
"/gnu/store/98vyp5jvzwimxqz55kqb6qh6slzixrys-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/d9ik7gv1iqmcrpg8iw49195wzr2yhxam-binutils-mesboot0-2.20.1a.drv" [color = blue];
"/gnu/store/98vyp5jvzwimxqz55kqb6qh6slzixrys-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/mxph96gajplchgml487c17x9mqp22zci-tcc-boot-0.9.27.drv" [color = blue];
"/gnu/store/98vyp5jvzwimxqz55kqb6qh6slzixrys-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = blue];
"/gnu/store/98vyp5jvzwimxqz55kqb6qh6slzixrys-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = blue];
"/gnu/store/98vyp5jvzwimxqz55kqb6qh6slzixrys-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/ysbncdfxdgb8n9f1d1xaadkzlpyrri5r-diffutils-mesboot-2.7.drv" [color = blue];
"/gnu/store/98vyp5jvzwimxqz55kqb6qh6slzixrys-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/n4if7b9krvdj6mzm6ziphhvpggxz7y4h-make-mesboot0-3.80.drv" [color = blue];
"/gnu/store/mfs8zc6658csv4i51qpb443di9mwbhs6-mesboot-headers-0.17.1.drv" [label = "mesboot-headers@0.17.1", shape = box, fontname = Helvetica];
"/gnu/store/mfs8zc6658csv4i51qpb443di9mwbhs6-mesboot-headers-0.17.1.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = cyan3];
"/gnu/store/mfs8zc6658csv4i51qpb443di9mwbhs6-mesboot-headers-0.17.1.drv" -> "/gnu/store/7izlib8w4yjmjwqiv24bddcc5p12ircv-linux-libre-headers-bootstrap-0.drv" [color = cyan3];
"/gnu/store/7izlib8w4yjmjwqiv24bddcc5p12ircv-linux-libre-headers-bootstrap-0.drv" [label = "linux-libre-headers-bootstrap@0", shape = box, fontname = Helvetica];
"/gnu/store/qnn5zfx4jxx45rdlw7r7qivqml3a35kj-gcc-mesboot0-2.95.3.drv" [label = "gcc-mesboot0@2.95.3", shape = box, fontname = Helvetica];
"/gnu/store/qnn5zfx4jxx45rdlw7r7qivqml3a35kj-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/d9ik7gv1iqmcrpg8iw49195wzr2yhxam-binutils-mesboot0-2.20.1a.drv" [color = red];
"/gnu/store/qnn5zfx4jxx45rdlw7r7qivqml3a35kj-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/98vyp5jvzwimxqz55kqb6qh6slzixrys-gcc-core-mesboot-2.95.3.drv" [color = red];
"/gnu/store/qnn5zfx4jxx45rdlw7r7qivqml3a35kj-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/9y9g13gxcq2ilrk27ic2ga4sm6glxyvf-glibc-mesboot0-2.2.5.drv" [color = red];
"/gnu/store/qnn5zfx4jxx45rdlw7r7qivqml3a35kj-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = red];
"/gnu/store/qnn5zfx4jxx45rdlw7r7qivqml3a35kj-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = red];
"/gnu/store/qnn5zfx4jxx45rdlw7r7qivqml3a35kj-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/ysbncdfxdgb8n9f1d1xaadkzlpyrri5r-diffutils-mesboot-2.7.drv" [color = red];
"/gnu/store/qnn5zfx4jxx45rdlw7r7qivqml3a35kj-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/7izlib8w4yjmjwqiv24bddcc5p12ircv-linux-libre-headers-bootstrap-0.drv" [color = red];
"/gnu/store/qnn5zfx4jxx45rdlw7r7qivqml3a35kj-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/n4if7b9krvdj6mzm6ziphhvpggxz7y4h-make-mesboot0-3.80.drv" [color = red];
"/gnu/store/m714lzfw5f1nlbj8p9igigpawrjklzc5-gcc-mesboot1-wrapper-4.7.4.drv" [label = "gcc-mesboot1-wrapper@4.7.4", shape = box, fontname = Helvetica];
"/gnu/store/m714lzfw5f1nlbj8p9igigpawrjklzc5-gcc-mesboot1-wrapper-4.7.4.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = cyan3];
"/gnu/store/m714lzfw5f1nlbj8p9igigpawrjklzc5-gcc-mesboot1-wrapper-4.7.4.drv" -> "/gnu/store/idk50v7k1n62f6zwr4v174c8svnaskmc-glibc-mesboot-2.16.0.drv" [color = cyan3];
"/gnu/store/m714lzfw5f1nlbj8p9igigpawrjklzc5-gcc-mesboot1-wrapper-4.7.4.drv" -> "/gnu/store/y3axw4m9rh9a4z34mjxy7cn9gqsml3l9-gcc-mesboot1-4.7.4.drv" [color = cyan3];
"/gnu/store/idk50v7k1n62f6zwr4v174c8svnaskmc-glibc-mesboot-2.16.0.drv" [label = "glibc-mesboot@2.16.0", shape = box, fontname = Helvetica];
"/gnu/store/idk50v7k1n62f6zwr4v174c8svnaskmc-glibc-mesboot-2.16.0.drv" -> "/gnu/store/pn2330dk3mi0bzih60d4nd9k1q1bbhp3-binutils-mesboot-2.20.1a.drv" [color = darkseagreen];
"/gnu/store/idk50v7k1n62f6zwr4v174c8svnaskmc-glibc-mesboot-2.16.0.drv" -> "/gnu/store/9y9g13gxcq2ilrk27ic2ga4sm6glxyvf-glibc-mesboot0-2.2.5.drv" [color = darkseagreen];
"/gnu/store/idk50v7k1n62f6zwr4v174c8svnaskmc-glibc-mesboot-2.16.0.drv" -> "/gnu/store/172h59jyafvvn9m7ia5kp04xyy962cpd-glibc-headers-mesboot-2.16.0.drv" [color = darkseagreen];
"/gnu/store/idk50v7k1n62f6zwr4v174c8svnaskmc-glibc-mesboot-2.16.0.drv" -> "/gnu/store/y3axw4m9rh9a4z34mjxy7cn9gqsml3l9-gcc-mesboot1-4.7.4.drv" [color = darkseagreen];
"/gnu/store/idk50v7k1n62f6zwr4v174c8svnaskmc-glibc-mesboot-2.16.0.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = darkseagreen];
"/gnu/store/idk50v7k1n62f6zwr4v174c8svnaskmc-glibc-mesboot-2.16.0.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = darkseagreen];
"/gnu/store/idk50v7k1n62f6zwr4v174c8svnaskmc-glibc-mesboot-2.16.0.drv" -> "/gnu/store/ysbncdfxdgb8n9f1d1xaadkzlpyrri5r-diffutils-mesboot-2.7.drv" [color = darkseagreen];
"/gnu/store/idk50v7k1n62f6zwr4v174c8svnaskmc-glibc-mesboot-2.16.0.drv" -> "/gnu/store/7izlib8w4yjmjwqiv24bddcc5p12ircv-linux-libre-headers-bootstrap-0.drv" [color = darkseagreen];
"/gnu/store/idk50v7k1n62f6zwr4v174c8svnaskmc-glibc-mesboot-2.16.0.drv" -> "/gnu/store/nh28zik1l0b0y5sl9b3j3xff0gv8pf3z-make-mesboot-3.82.drv" [color = darkseagreen];
"/gnu/store/172h59jyafvvn9m7ia5kp04xyy962cpd-glibc-headers-mesboot-2.16.0.drv" [label = "glibc-headers-mesboot@2.16.0", shape = box, fontname = Helvetica];
"/gnu/store/172h59jyafvvn9m7ia5kp04xyy962cpd-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/pn2330dk3mi0bzih60d4nd9k1q1bbhp3-binutils-mesboot-2.20.1a.drv" [color = red];
"/gnu/store/172h59jyafvvn9m7ia5kp04xyy962cpd-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/9y9g13gxcq2ilrk27ic2ga4sm6glxyvf-glibc-mesboot0-2.2.5.drv" [color = red];
"/gnu/store/172h59jyafvvn9m7ia5kp04xyy962cpd-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/y3axw4m9rh9a4z34mjxy7cn9gqsml3l9-gcc-mesboot1-4.7.4.drv" [color = red];
"/gnu/store/172h59jyafvvn9m7ia5kp04xyy962cpd-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/mfs8zc6658csv4i51qpb443di9mwbhs6-mesboot-headers-0.17.1.drv" [color = red];
"/gnu/store/172h59jyafvvn9m7ia5kp04xyy962cpd-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = red];
"/gnu/store/172h59jyafvvn9m7ia5kp04xyy962cpd-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = red];
"/gnu/store/172h59jyafvvn9m7ia5kp04xyy962cpd-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/ysbncdfxdgb8n9f1d1xaadkzlpyrri5r-diffutils-mesboot-2.7.drv" [color = red];
"/gnu/store/172h59jyafvvn9m7ia5kp04xyy962cpd-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/7izlib8w4yjmjwqiv24bddcc5p12ircv-linux-libre-headers-bootstrap-0.drv" [color = red];
"/gnu/store/172h59jyafvvn9m7ia5kp04xyy962cpd-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/nh28zik1l0b0y5sl9b3j3xff0gv8pf3z-make-mesboot-3.82.drv" [color = red];
"/gnu/store/y3axw4m9rh9a4z34mjxy7cn9gqsml3l9-gcc-mesboot1-4.7.4.drv" [label = "gcc-mesboot1@4.7.4", shape = box, fontname = Helvetica];
"/gnu/store/y3axw4m9rh9a4z34mjxy7cn9gqsml3l9-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/pn2330dk3mi0bzih60d4nd9k1q1bbhp3-binutils-mesboot-2.20.1a.drv" [color = peachpuff4];
"/gnu/store/y3axw4m9rh9a4z34mjxy7cn9gqsml3l9-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/qnn5zfx4jxx45rdlw7r7qivqml3a35kj-gcc-mesboot0-2.95.3.drv" [color = peachpuff4];
"/gnu/store/y3axw4m9rh9a4z34mjxy7cn9gqsml3l9-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/9y9g13gxcq2ilrk27ic2ga4sm6glxyvf-glibc-mesboot0-2.2.5.drv" [color = peachpuff4];
"/gnu/store/y3axw4m9rh9a4z34mjxy7cn9gqsml3l9-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = peachpuff4];
"/gnu/store/y3axw4m9rh9a4z34mjxy7cn9gqsml3l9-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = peachpuff4];
"/gnu/store/y3axw4m9rh9a4z34mjxy7cn9gqsml3l9-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/ysbncdfxdgb8n9f1d1xaadkzlpyrri5r-diffutils-mesboot-2.7.drv" [color = peachpuff4];
"/gnu/store/y3axw4m9rh9a4z34mjxy7cn9gqsml3l9-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/7izlib8w4yjmjwqiv24bddcc5p12ircv-linux-libre-headers-bootstrap-0.drv" [color = peachpuff4];
"/gnu/store/y3axw4m9rh9a4z34mjxy7cn9gqsml3l9-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/nh28zik1l0b0y5sl9b3j3xff0gv8pf3z-make-mesboot-3.82.drv" [color = peachpuff4];
"/gnu/store/nh28zik1l0b0y5sl9b3j3xff0gv8pf3z-make-mesboot-3.82.drv" [label = "make-mesboot@3.82", shape = box, fontname = Helvetica];
"/gnu/store/nh28zik1l0b0y5sl9b3j3xff0gv8pf3z-make-mesboot-3.82.drv" -> "/gnu/store/d9ik7gv1iqmcrpg8iw49195wzr2yhxam-binutils-mesboot0-2.20.1a.drv" [color = darkviolet];
"/gnu/store/nh28zik1l0b0y5sl9b3j3xff0gv8pf3z-make-mesboot-3.82.drv" -> "/gnu/store/9y9g13gxcq2ilrk27ic2ga4sm6glxyvf-glibc-mesboot0-2.2.5.drv" [color = darkviolet];
"/gnu/store/nh28zik1l0b0y5sl9b3j3xff0gv8pf3z-make-mesboot-3.82.drv" -> "/gnu/store/qnn5zfx4jxx45rdlw7r7qivqml3a35kj-gcc-mesboot0-2.95.3.drv" [color = darkviolet];
"/gnu/store/nh28zik1l0b0y5sl9b3j3xff0gv8pf3z-make-mesboot-3.82.drv" -> "/gnu/store/n4if7b9krvdj6mzm6ziphhvpggxz7y4h-make-mesboot0-3.80.drv" [color = darkviolet];
"/gnu/store/nh28zik1l0b0y5sl9b3j3xff0gv8pf3z-make-mesboot-3.82.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = darkviolet];
"/gnu/store/nh28zik1l0b0y5sl9b3j3xff0gv8pf3z-make-mesboot-3.82.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = darkviolet];
"/gnu/store/nh28zik1l0b0y5sl9b3j3xff0gv8pf3z-make-mesboot-3.82.drv" -> "/gnu/store/7izlib8w4yjmjwqiv24bddcc5p12ircv-linux-libre-headers-bootstrap-0.drv" [color = darkviolet];
}

View File

@ -33,6 +33,7 @@ DOT_FILES = \
%D%/images/bootstrap-packages.dot \
%D%/images/coreutils-graph.dot \
%D%/images/coreutils-bag-graph.dot \
%D%/images/gcc-mesboot-bag-graph.dot \
%D%/images/service-graph.dot \
%D%/images/shepherd-graph.dot