guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

11/11: DRAFT doc: Add the "Full Source Bootstrap".


From: guix-commits
Subject: 11/11: DRAFT doc: Add the "Full Source Bootstrap".
Date: Sun, 3 Jan 2021 17:37:07 -0500 (EST)

janneke pushed a commit to branch wip-full-source-bootstrap
in repository guix.

commit dcaed7ab85b9470ed54c992d44ba6159e2d18799
Author: Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
AuthorDate: Sat Jan 2 10:47:15 2021 +0100

    DRAFT doc: Add the "Full Source Bootstrap".
    
    XXX TODO:
       * wip-full-source-bootstrap
         - release mes-0.24, update
         - possibly release m2-planet-1.8.0, update
         - rebase wip-full-source-bootstrap onto core-updates
         - integrate
       * wip-arm-bootstrap
         - finish; currently stuck on gawk-mesboot0
         - release mes-0.23
         - devise strategy for integrating wip-full-source-bootstrap and
           wip-arm-bootstrap
    
    * doc/guix.texi (Reduced Binary Seed Bootstrap): Update and rename to...
    (Full Source Bootstrap): ...this.
    * doc/images/gcc-core-mesboot0-graph.dot: Regenerate.
---
 doc/guix.texi                          |  77 ++++++------
 doc/images/gcc-core-mesboot0-graph.dot | 224 +++++++++++++++++----------------
 2 files changed, 153 insertions(+), 148 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 1081ed2..0b3bed2 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -35,7 +35,7 @@ Copyright @copyright{} 2016, 2017, 2018 Chris Marusich@*
 Copyright @copyright{} 2016, 2017, 2018, 2019, 2020 Efraim Flashner@*
 Copyright @copyright{} 2016 John Darrington@*
 Copyright @copyright{} 2016, 2017 Nikita Gillmann@*
-Copyright @copyright{} 2016, 2017, 2018, 2019, 2020 Jan Nieuwenhuizen@*
+Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Jan Nieuwenhuizen@*
 Copyright @copyright{} 2016, 2017, 2018, 2019, 2020 Julien Lepiller@*
 Copyright @copyright{} 2016 Alex ter Weele@*
 Copyright @copyright{} 2016, 2017, 2018, 2019 Christopher Baines@*
@@ -366,7 +366,7 @@ Installing Debugging Files
 
 Bootstrapping
 
-* Reduced Binary Seed Bootstrap::  A Bootstrap worthy of GNU.
+* Full Source Bootstrap::  A Bootstrap worthy of GNU.
 * Preparing to Use the Bootstrap Binaries:: Building that what matters most.
 
 @end detailmenu
@@ -32915,12 +32915,12 @@ re-create them if needed (@pxref{Preparing to Use the 
Bootstrap
 Binaries}).
 
 @menu
-* Reduced Binary Seed Bootstrap::  A Bootstrap worthy of GNU.
+* Full Source Bootstrap::  A Bootstrap worthy of GNU.
 * Preparing to Use the Bootstrap Binaries:: Building that what matters most.
 @end menu
 
-@node Reduced Binary Seed Bootstrap
-@section The Reduced Binary Seed Bootstrap
+@node Full Source Bootstrap
+@section The Full Source Bootstrap
 
 Guix---like other GNU/Linux distributions---is traditionally bootstrapped from
 a set of bootstrap binaries: Bourne shell, command-line tools provided by GNU
@@ -32935,28 +32935,43 @@ about 250MB (@pxref{Bootstrappable Builds,,, mes, GNU 
Mes}).  Auditing
 or even inspecting these is next to impossible.
 
 For @code{i686-linux} and @code{x86_64-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{bootstrap-mescc-tools} (a tiny assembler and
-linker) and @code{bootstrap-mes} (a small Scheme Interpreter and a C compiler
-written in Scheme and the Mes C Library, built for TinyCC and for GCC).
-
-Using these new binary seeds 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 145MB in Guix v1.1.
-
-The next step that Guix has taken is to replace the shell and all its
+``Full Source'' bootstrap.  This bootstrap is rooted in @file{hex0-seed}
+from the @url{https://savannah.gnu.org/projects/stage0, Stage0} package.
+The source code of this initial hex0 program is a file called
+@c XXX TODO: udpate to savannah url, once accepted there
+@url{https://github.com/oriansj/bootstrap-seeds/blob/master/POSIX/x86/hex0_x86.hex0,@file{hex0_x86.hex0}}
+and is written in the @code{hex0} language.
+
+Hex0 is self hosting, which means that it can build itself:
+
+@example
+./hex0-seed hex0_x86.hex0 hex0
+@end example
+
+Hex0 it is the ASCII-equivalent of the binary program and can be
+produced by doing something much like:
+
+@example
+sed 's/[;#].*$//g' hex0_x86.hex0 | xxd -r -p > hex0
+chmod +x hex0
+@end example
+
+It is because of this ASCII-binary equivalence that we can bless this
+initial 357-byte binary as source, and hence `Full Source Bootstrap''.
+
+The bootstrap then continues: @code{hex0} builds @code{hex1} and then on
+to @code{M0}, @code{hex2}, @code{M1}, @code{mescc-tools} and finally
+@code{M2-Planet}.  Then, using @code{mescc-tools}, @code{M2-Planet} we
+build Mes (@pxref{Top, GNU Mes Reference Manual,, mes, GNU Mes}, a
+Scheme interpreter and C compiler in Scheme).  Frome here on starts
+the more traditional @code{C}-based bootstrap of the GNU System.
+
+Another step that Guix has taken is to replace the shell and all its
 utilities with implementations in Guile Scheme, the @emph{Scheme-only
 bootstrap}.  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.
+Gzip, Sed, and Tar.
 
 Building the GNU System from source is currently only possibly by adding
 some historical GNU packages as intermediate steps@footnote{Packages
@@ -32972,22 +32987,10 @@ The graph below shows the resulting dependency graph 
for
 @code{gcc-core-mesboot0}, the bootstrap compiler used for the
 traditional bootstrap of the rest of the Guix System.
 
-@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-graph.dot
+@c ./pre-inst-env guix graph -e '(@@ (gnu packages commencement) 
gcc-core-mesboot0)' | sed -re 's,((bootstrap-seeds|guile-bootstrap).*shape =) 
box,\1 ellipse,' > doc/images/gcc-core-mesboot0-graph.dot
 @image{images/gcc-core-mesboot0-graph,6in,,Dependency graph of 
gcc-core-mesboot0}
 
-The only significant binary bootstrap seeds that remain@footnote{
-Ignoring the 68KB @code{mescc-tools}; that will be removed later,
-together with @code{mes}.} are a Scheme intepreter and a Scheme
-compiler: GNU Mes and GNU Guile@footnote{Not shown in this graph are the
-static binaries for @file{bash}, @code{tar}, and @code{xz} that are used
-to get Guile running.}.
-
-This further reduction has brought down the size of the binary seed to
-about 60MB for @code{i686-linux} and @code{x86_64-linux}.
-
-Work is ongoing to remove all binary blobs from our free software
-bootstrap stack, working towards a Full Source Bootstrap.  Also ongoing
-is work to bring these bootstraps to the @code{arm-linux} and
+Work is ongoing to to bring these bootstraps to the @code{arm-linux} and
 @code{aarch64-linux} architectures and to the Hurd.
 
 If you are interested, join us on @samp{#bootstrappable} on the Freenode
diff --git a/doc/images/gcc-core-mesboot0-graph.dot 
b/doc/images/gcc-core-mesboot0-graph.dot
index 191582e..0a48875 100644
--- a/doc/images/gcc-core-mesboot0-graph.dot
+++ b/doc/images/gcc-core-mesboot0-graph.dot
@@ -1,114 +1,116 @@
 digraph "Guix package" {
-  "139781154519456" [label = "gcc-core-mesboot0@2.95.3", shape = box, fontname 
= Helvetica];
-  "139781154519456" -> "139781154519632" [color = darkgoldenrod];
-  "139781154519456" -> "139781154520688" [color = darkgoldenrod];
-  "139781154519456" -> "139781034971312" [color = darkgoldenrod];
-  "139781154519456" -> "139781154520160" [color = darkgoldenrod];
-  "139781154519456" -> "139781034971664" [color = darkgoldenrod];
-  "139781154519456" -> "139781154519984" [color = darkgoldenrod];
-  "139781154519456" -> "139781154519808" [color = darkgoldenrod];
-  "139781154519456" -> "139781154520512" [color = darkgoldenrod];
-  "139781154519456" -> "139781034971488" [color = darkgoldenrod];
-  "139781154519456" -> "139781034972896" [color = darkgoldenrod];
-  "139781154519456" -> "139781034972368" [color = darkgoldenrod];
-  "139781154519456" -> "139781034973072" [color = darkgoldenrod];
-  "139781154519456" -> "139781131267872" [color = darkgoldenrod];
-  "139781154519632" [label = "binutils-mesboot0@2.14", shape = box, fontname = 
Helvetica];
-  "139781154519632" -> "139781154520688" [color = peachpuff4];
-  "139781154519632" -> "139781034971312" [color = peachpuff4];
-  "139781154519632" -> "139781154520160" [color = peachpuff4];
-  "139781154519632" -> "139781034971664" [color = peachpuff4];
-  "139781154519632" -> "139781154519984" [color = peachpuff4];
-  "139781154519632" -> "139781154519808" [color = peachpuff4];
-  "139781154519632" -> "139781154520512" [color = peachpuff4];
-  "139781154519632" -> "139781034971488" [color = peachpuff4];
-  "139781154519632" -> "139781034972896" [color = peachpuff4];
-  "139781154519632" -> "139781034972368" [color = peachpuff4];
-  "139781154519632" -> "139781034973072" [color = peachpuff4];
-  "139781154519632" -> "139781131267872" [color = peachpuff4];
-  "139781154520688" [label = "bash-mesboot0@2.05b", shape = box, fontname = 
Helvetica];
-  "139781154520688" -> "139781034971488" [color = magenta];
-  "139781154520688" -> "139781034971840" [color = magenta];
-  "139781154520688" -> "139781034972896" [color = magenta];
-  "139781154520688" -> "139781034972368" [color = magenta];
-  "139781154520688" -> "139781034973072" [color = magenta];
-  "139781154520688" -> "139781131267872" [color = magenta];
-  "139781034971488" [label = "make-mesboot0@3.80", shape = box, fontname = 
Helvetica];
-  "139781034971488" -> "139781034971840" [color = dimgrey];
-  "139781034971488" -> "139781034972896" [color = dimgrey];
-  "139781034971488" -> "139781034972368" [color = dimgrey];
-  "139781034971488" -> "139781034973072" [color = dimgrey];
-  "139781034971488" -> "139781131267872" [color = dimgrey];
-  "139781034971840" [label = "tcc-boot0@0.9.26-1103-g6e62e0e", shape = box, 
fontname = Helvetica];
-  "139781034971840" -> "139781034972016" [color = magenta];
-  "139781034971840" -> "139781131266816" [color = magenta];
-  "139781034971840" -> "139781034972896" [color = magenta];
-  "139781034971840" -> "139781034972368" [color = magenta];
-  "139781034971840" -> "139781034973072" [color = magenta];
-  "139781034971840" -> "139781131267872" [color = magenta];
-  "139781034972016" [label = "mes-boot@0.22", shape = box, fontname = 
Helvetica];
-  "139781034972016" -> "139781034972192" [color = cyan3];
-  "139781034972016" -> "139781131266816" [color = cyan3];
-  "139781034972016" -> "139781034972896" [color = cyan3];
-  "139781034972016" -> "139781034972368" [color = cyan3];
-  "139781034972016" -> "139781034973072" [color = cyan3];
-  "139781034972016" -> "139781131267872" [color = cyan3];
-  "139781034972192" [label = "bootstrap-mes-rewired@0.19", shape = ellipse, 
fontname = Helvetica];
-  "139781034972192" -> "139781131266640" [color = darkseagreen];
-  "139781034972192" -> "139781034972896" [color = darkseagreen];
-  "139781131266640" [label = "bootstrap-mes@0", shape = ellipse, fontname = 
Helvetica];
-  "139781034972896" [label = "gash-boot@0.2.0", shape = box, fontname = 
Helvetica];
-  "139781034972896" -> "139781034973072" [color = darkviolet];
-  "139781034972896" -> "139781131267872" [color = darkviolet];
-  "139781034973072" [label = "bootar@1", shape = box, fontname = Helvetica];
-  "139781034973072" -> "139781131267872" [color = darkviolet];
-  "139781131267872" [label = "guile-bootstrap@2.0", shape = ellipse, fontname 
= Helvetica];
-  "139781131266816" [label = "bootstrap-mescc-tools@0.5.2", shape = ellipse, 
fontname = Helvetica];
-  "139781034972368" [label = "gash-utils-boot@0.1.0", shape = box, fontname = 
Helvetica];
-  "139781034972368" -> "139781034973072" [color = darkseagreen];
-  "139781034972368" -> "139781034972896" [color = darkseagreen];
-  "139781034972368" -> "139781131267872" [color = darkseagreen];
-  "139781034971312" [label = "bzip2-mesboot@1.0.8", shape = box, fontname = 
Helvetica];
-  "139781034971312" -> "139781034971488" [color = cyan3];
-  "139781034971312" -> "139781034971840" [color = cyan3];
-  "139781034971312" -> "139781034972896" [color = cyan3];
-  "139781034971312" -> "139781034972368" [color = cyan3];
-  "139781034971312" -> "139781034973072" [color = cyan3];
-  "139781034971312" -> "139781131267872" [color = cyan3];
-  "139781154520160" [label = "diffutils-mesboot@2.7", shape = box, fontname = 
Helvetica];
-  "139781154520160" -> "139781034971488" [color = red];
-  "139781154520160" -> "139781034971840" [color = red];
-  "139781154520160" -> "139781034972896" [color = red];
-  "139781154520160" -> "139781034972368" [color = red];
-  "139781154520160" -> "139781034973072" [color = red];
-  "139781154520160" -> "139781131267872" [color = red];
-  "139781034971664" [label = "gzip-mesboot@1.2.4", shape = box, fontname = 
Helvetica];
-  "139781034971664" -> "139781034971840" [color = red];
-  "139781034971664" -> "139781034972896" [color = red];
-  "139781034971664" -> "139781034972368" [color = red];
-  "139781034971664" -> "139781034973072" [color = red];
-  "139781034971664" -> "139781131267872" [color = red];
-  "139781154519984" [label = "patch-mesboot@2.5.9", shape = box, fontname = 
Helvetica];
-  "139781154519984" -> "139781034971488" [color = blue];
-  "139781154519984" -> "139781034971840" [color = blue];
-  "139781154519984" -> "139781034972896" [color = blue];
-  "139781154519984" -> "139781034972368" [color = blue];
-  "139781154519984" -> "139781034973072" [color = blue];
-  "139781154519984" -> "139781131267872" [color = blue];
-  "139781154519808" [label = "sed-mesboot0@1.18", shape = box, fontname = 
Helvetica];
-  "139781154519808" -> "139781034971488" [color = red];
-  "139781154519808" -> "139781034971840" [color = red];
-  "139781154519808" -> "139781034972896" [color = red];
-  "139781154519808" -> "139781034972368" [color = red];
-  "139781154519808" -> "139781034973072" [color = red];
-  "139781154519808" -> "139781131267872" [color = red];
-  "139781154520512" [label = "tcc-boot@0.9.27", shape = box, fontname = 
Helvetica];
-  "139781154520512" -> "139781034971312" [color = darkviolet];
-  "139781154520512" -> "139781034971488" [color = darkviolet];
-  "139781154520512" -> "139781034971840" [color = darkviolet];
-  "139781154520512" -> "139781034972896" [color = darkviolet];
-  "139781154520512" -> "139781034972368" [color = darkviolet];
-  "139781154520512" -> "139781034973072" [color = darkviolet];
-  "139781154520512" -> "139781131267872" [color = darkviolet];
+  "139965588787520" [label = "gcc-core-mesboot0@2.95.3", shape = box, fontname 
= sans];
+  "139965588787520" -> "139965588787680" [color = darkviolet];
+  "139965588787520" -> "139965588788480" [color = darkviolet];
+  "139965588787520" -> "139965588788640" [color = darkviolet];
+  "139965588787520" -> "139965588788160" [color = darkviolet];
+  "139965588787520" -> "139965588788960" [color = darkviolet];
+  "139965588787520" -> "139965588788000" [color = darkviolet];
+  "139965588787520" -> "139965588787840" [color = darkviolet];
+  "139965588787520" -> "139965588788320" [color = darkviolet];
+  "139965588787520" -> "139965588788800" [color = darkviolet];
+  "139965588787520" -> "139965588789920" [color = darkviolet];
+  "139965588787520" -> "139965588789760" [color = darkviolet];
+  "139965588787520" -> "139965588790080" [color = darkviolet];
+  "139965588787520" -> "139965749563136" [color = darkviolet];
+  "139965588787680" [label = "binutils-mesboot0@2.14", shape = box, fontname = 
sans];
+  "139965588787680" -> "139965588788480" [color = dimgrey];
+  "139965588787680" -> "139965588788640" [color = dimgrey];
+  "139965588787680" -> "139965588788160" [color = dimgrey];
+  "139965588787680" -> "139965588788960" [color = dimgrey];
+  "139965588787680" -> "139965588788000" [color = dimgrey];
+  "139965588787680" -> "139965588787840" [color = dimgrey];
+  "139965588787680" -> "139965588788320" [color = dimgrey];
+  "139965588787680" -> "139965588788800" [color = dimgrey];
+  "139965588787680" -> "139965588789920" [color = dimgrey];
+  "139965588787680" -> "139965588789760" [color = dimgrey];
+  "139965588787680" -> "139965588790080" [color = dimgrey];
+  "139965588787680" -> "139965749563136" [color = dimgrey];
+  "139965588788480" [label = "bash-mesboot0@2.05b", shape = box, fontname = 
sans];
+  "139965588788480" -> "139965588788800" [color = dimgrey];
+  "139965588788480" -> "139965588789120" [color = dimgrey];
+  "139965588788480" -> "139965588789920" [color = dimgrey];
+  "139965588788480" -> "139965588789760" [color = dimgrey];
+  "139965588788480" -> "139965588790080" [color = dimgrey];
+  "139965588788480" -> "139965749563136" [color = dimgrey];
+  "139965588788800" [label = "make-mesboot0@3.80", shape = box, fontname = 
sans];
+  "139965588788800" -> "139965588789120" [color = peachpuff4];
+  "139965588788800" -> "139965588789920" [color = peachpuff4];
+  "139965588788800" -> "139965588789760" [color = peachpuff4];
+  "139965588788800" -> "139965588790080" [color = peachpuff4];
+  "139965588788800" -> "139965749563136" [color = peachpuff4];
+  "139965588789120" [label = "tcc-boot0@0.9.26-1136-g5bba73cc", shape = box, 
fontname = sans];
+  "139965588789120" -> "139965588789280" [color = dimgrey];
+  "139965588789120" -> "139965588789440" [color = dimgrey];
+  "139965588789120" -> "139965588789920" [color = dimgrey];
+  "139965588789120" -> "139965588789760" [color = dimgrey];
+  "139965588789120" -> "139965588790080" [color = dimgrey];
+  "139965588789120" -> "139965749563136" [color = dimgrey];
+  "139965588789280" [label = "mes-boot@0.22-305-g2ab4c5c67", shape = box, 
fontname = sans];
+  "139965588789280" -> "139965588789440" [color = red];
+  "139965588789280" -> "139965588789920" [color = red];
+  "139965588789280" -> "139965588789760" [color = red];
+  "139965588789280" -> "139965588790080" [color = red];
+  "139965588789280" -> "139965749563136" [color = red];
+  "139965588789440" [label = "m2-planet-boot@1.7.0-31-g358b6cf", shape = box, 
fontname = sans];
+  "139965588789440" -> "139965588789600" [color = cyan3];
+  "139965588789440" -> "139965588789920" [color = cyan3];
+  "139965588789440" -> "139965588789760" [color = cyan3];
+  "139965588789440" -> "139965588790080" [color = cyan3];
+  "139965588789440" -> "139965749563136" [color = cyan3];
+  "139965588789600" [label = "bootstrap-seeds@1.0.0", shape = ellipse, 
fontname = sans];
+  "139965588789600" -> "139965588790080" [color = peachpuff4];
+  "139965588790080" [label = "bootar@1a", shape = box, fontname = sans];
+  "139965588790080" -> "139965749563136" [color = darkseagreen];
+  "139965749563136" [label = "guile-bootstrap@2.0", shape = ellipse, fontname 
= sans];
+  "139965588789920" [label = "gash-boot@0.2.0", shape = box, fontname = sans];
+  "139965588789920" -> "139965588790080" [color = magenta];
+  "139965588789920" -> "139965749563136" [color = magenta];
+  "139965588789760" [label = "gash-utils-boot@0.1.0", shape = box, fontname = 
sans];
+  "139965588789760" -> "139965588790080" [color = magenta];
+  "139965588789760" -> "139965588789920" [color = magenta];
+  "139965588789760" -> "139965749563136" [color = magenta];
+  "139965588788640" [label = "bzip2-mesboot@1.0.8", shape = box, fontname = 
sans];
+  "139965588788640" -> "139965588788800" [color = dimgrey];
+  "139965588788640" -> "139965588789120" [color = dimgrey];
+  "139965588788640" -> "139965588789920" [color = dimgrey];
+  "139965588788640" -> "139965588789760" [color = dimgrey];
+  "139965588788640" -> "139965588790080" [color = dimgrey];
+  "139965588788640" -> "139965749563136" [color = dimgrey];
+  "139965588788160" [label = "diffutils-mesboot@2.7", shape = box, fontname = 
sans];
+  "139965588788160" -> "139965588788800" [color = cyan3];
+  "139965588788160" -> "139965588789120" [color = cyan3];
+  "139965588788160" -> "139965588789920" [color = cyan3];
+  "139965588788160" -> "139965588789760" [color = cyan3];
+  "139965588788160" -> "139965588790080" [color = cyan3];
+  "139965588788160" -> "139965749563136" [color = cyan3];
+  "139965588788960" [label = "gzip-mesboot@1.2.4", shape = box, fontname = 
sans];
+  "139965588788960" -> "139965588789120" [color = cyan3];
+  "139965588788960" -> "139965588789920" [color = cyan3];
+  "139965588788960" -> "139965588789760" [color = cyan3];
+  "139965588788960" -> "139965588790080" [color = cyan3];
+  "139965588788960" -> "139965749563136" [color = cyan3];
+  "139965588788000" [label = "patch-mesboot@2.5.9", shape = box, fontname = 
sans];
+  "139965588788000" -> "139965588788800" [color = dimgrey];
+  "139965588788000" -> "139965588789120" [color = dimgrey];
+  "139965588788000" -> "139965588789920" [color = dimgrey];
+  "139965588788000" -> "139965588789760" [color = dimgrey];
+  "139965588788000" -> "139965588790080" [color = dimgrey];
+  "139965588788000" -> "139965749563136" [color = dimgrey];
+  "139965588787840" [label = "sed-mesboot0@1.18", shape = box, fontname = 
sans];
+  "139965588787840" -> "139965588788800" [color = peachpuff4];
+  "139965588787840" -> "139965588789120" [color = peachpuff4];
+  "139965588787840" -> "139965588789920" [color = peachpuff4];
+  "139965588787840" -> "139965588789760" [color = peachpuff4];
+  "139965588787840" -> "139965588790080" [color = peachpuff4];
+  "139965588787840" -> "139965749563136" [color = peachpuff4];
+  "139965588788320" [label = "tcc-boot@0.9.27", shape = box, fontname = sans];
+  "139965588788320" -> "139965588788640" [color = dimgrey];
+  "139965588788320" -> "139965588788800" [color = dimgrey];
+  "139965588788320" -> "139965588789120" [color = dimgrey];
+  "139965588788320" -> "139965588789920" [color = dimgrey];
+  "139965588788320" -> "139965588789760" [color = dimgrey];
+  "139965588788320" -> "139965588790080" [color = dimgrey];
+  "139965588788320" -> "139965749563136" [color = dimgrey];
 
 }



reply via email to

[Prev in Thread] Current Thread [Next in Thread]