From a243722c5b8d50b4f0e3f9717ca71aa43dfc56a3 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Mon, 17 Sep 2018 18:48:19 +0200 Subject: [PATCH] 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. --- doc/guix.texi | 70 +++++++++++++++ doc/images/gcc-mesboot-bag-graph.dot | 124 +++++++++++++++++++++++++++ doc/local.mk | 1 + 3 files changed, 195 insertions(+) create mode 100644 doc/images/gcc-mesboot-bag-graph.dot diff --git a/doc/guix.texi b/doc/guix.texi index b925485be5..55c1ac3102 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -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 diff --git a/doc/images/gcc-mesboot-bag-graph.dot b/doc/images/gcc-mesboot-bag-graph.dot new file mode 100644 index 0000000000..b8c1dc6ad1 --- /dev/null +++ b/doc/images/gcc-mesboot-bag-graph.dot @@ -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]; + +} diff --git a/doc/local.mk b/doc/local.mk index 0b7904329a..f6129708c3 100644 --- a/doc/local.mk +++ b/doc/local.mk @@ -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