diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/guix.texi | 205 | ||||
-rw-r--r-- | doc/images/gcc-core-mesboot0-graph.dot | 187 |
2 files changed, 170 insertions, 222 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 6ff525d0ff..c59f0ccb4c 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -36,7 +36,7 @@ Copyright @copyright{} 2016, 2017, 2018, 2021 Chris Marusich@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022 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, 2021, 2022 Jan Nieuwenhuizen@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Julien Lepiller@* Copyright @copyright{} 2016 Alex ter Weele@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Christopher Baines@* @@ -435,7 +435,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 @@ -9367,6 +9367,15 @@ directory, the parameter @code{#:javascript-files} can be used to specify a list of file names to feed to the minifier. @end defvar +@defvar mozilla-build-system +This variable is exported by @code{(guix build-system mozilla)}. It +sets the @code{--target} and @code{--host} configuration flags to what +software developed by Mozilla expects -- due to historical reasons, +Mozilla software expects @code{--host} to be the system that is +cross-compiled from and @code{--target} to be the system that is +cross-compiled to, contrary to the standard Autotools conventions. +@end defvar + @defvar ocaml-build-system This variable is exported by @code{(guix build-system ocaml)}. It implements a build procedure for @uref{https://ocaml.org, OCaml} packages, which consists @@ -22458,10 +22467,9 @@ Defaults to @samp{#f}. @deftypevr {@code{cups-configuration} parameter} comma-separated-string-list browse-dns-sd-sub-types Specifies a list of DNS-SD sub-types to advertise for each shared printer. -For example, @samp{"_cups" "_print"} will tell network clients that both -CUPS sharing and IPP Everywhere are supported. -Defaults to @samp{"_cups"}. +The default @samp{(list "_cups" "_print" "_universal")} tells clients +that CUPS sharing, IPP Everywhere, AirPrint, and Mopria are supported. @end deftypevr @deftypevr {@code{cups-configuration} parameter} browse-local-protocols browse-local-protocols @@ -22482,22 +22490,6 @@ Specifies whether shared printers are advertised. Defaults to @samp{#f}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} string classification -Specifies the security classification of the server. Any valid banner -name can be used, including @samp{"classified"}, @samp{"confidential"}, -@samp{"secret"}, @samp{"topsecret"}, and @samp{"unclassified"}, or the -banner can be omitted to disable secure printing functions. - -Defaults to @samp{""}. -@end deftypevr - -@deftypevr {@code{cups-configuration} parameter} boolean classify-override? -Specifies whether users may override the classification (cover page) of -individual print jobs using the @code{job-sheets} option. - -Defaults to @samp{#f}. -@end deftypevr - @deftypevr {@code{cups-configuration} parameter} default-auth-type default-auth-type Specifies the default type of authentication to use. @@ -22633,17 +22625,6 @@ domain sockets. The Listen directive is similar to the Port directive but allows you to restrict access to specific interfaces or networks. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} non-negative-integer listen-back-log -Specifies the number of pending connections that will be allowed. This -normally only affects very busy servers that have reached the MaxClients -limit, but can also be triggered by large numbers of simultaneous -connections. When the limit is reached, the operating system will -refuse additional connections until the scheduler can accept the pending -ones. - -Defaults to @samp{128}. -@end deftypevr - @deftypevr {@code{cups-configuration} parameter} location-access-control-list location-access-controls Specifies a set of additional access controls. @@ -22749,14 +22730,14 @@ Defaults to @samp{500}. @deftypevr {@code{cups-configuration} parameter} non-negative-integer max-jobs-per-printer Specifies the maximum number of simultaneous jobs that are allowed per -printer. A value of 0 allows up to MaxJobs jobs per printer. +printer. A value of 0 allows up to @code{max-jobs} per printer. Defaults to @samp{0}. @end deftypevr @deftypevr {@code{cups-configuration} parameter} non-negative-integer max-jobs-per-user Specifies the maximum number of simultaneous jobs that are allowed per -user. A value of 0 allows up to MaxJobs jobs per user. +user. A value of 0 allows up to @code{max-jobs} per user. Defaults to @samp{0}. @end deftypevr @@ -22775,51 +22756,42 @@ bytes. The value 0 disables log rotation. Defaults to @samp{1048576}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} non-negative-integer multiple-operation-timeout -Specifies the maximum amount of time to allow between files in a -multiple file print job, in seconds. +@deftypevr {@code{cups-configuration} parameter} non-negative-integer max-subscriptions +Specifies the maximum number of simultaneous event subscriptions that are +allowed. Set to @samp{0} to allow an unlimited number of subscriptions. -Defaults to @samp{900}. +Defaults to @samp{0}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} string page-log-format -Specifies the format of PageLog lines. Sequences beginning with percent -(@samp{%}) characters are replaced with the corresponding information, -while all other characters are copied literally. The following percent -sequences are recognized: - -@table @samp -@item %% -insert a single percent character - -@item %@{name@} -insert the value of the specified IPP attribute - -@item %C -insert the number of copies for the current page +@deftypevr {@code{cups-configuration} parameter} non-negative-integer max-subscriptions-per-job +Specifies the maximum number of simultaneous event subscriptions that are +allowed per job. A value of @samp{0} allows up to @code{max-subscriptions} +per job. -@item %P -insert the current page number +Defaults to @samp{0}. +@end deftypevr -@item %T -insert the current date and time in common log format +@deftypevr {@code{cups-configuration} parameter} non-negative-integer max-subscriptions-per-printer +Specifies the maximum number of simultaneous event subscriptions that are +allowed per printer. A value of @samp{0} allows up to @code{max-subscriptions} +per printer. -@item %j -insert the job ID +Defaults to @samp{0}. +@end deftypevr -@item %p -insert the printer name +@deftypevr {@code{cups-configuration} parameter} non-negative-integer max-subscriptions-per-user +Specifies the maximum number of simultaneous event subscriptions that are +allowed per user. A value of @samp{0} allows up to @code{max-subscriptions} +per user. -@item %u -insert the username -@end table +Defaults to @samp{0}. +@end deftypevr -A value of the empty string disables page logging. The string @code{%p -%u %j %T %P %C %@{job-billing@} %@{job-originating-host-name@} -%@{job-name@} %@{media@} %@{sides@}} creates a page log with the -standard items. +@deftypevr {@code{cups-configuration} parameter} non-negative-integer multiple-operation-timeout +Specifies the maximum amount of time to allow between files in a +multiple file print job, in seconds. -Defaults to @samp{""}. +Defaults to @samp{900}. @end deftypevr @deftypevr {@code{cups-configuration} parameter} environment-variables environment-variables @@ -22907,6 +22879,17 @@ history is preserved until the MaxJobs limit is reached. Defaults to @samp{#t}. @end deftypevr +@deftypevr {@code{cups-configuration} parameter} comma-separated-string-list-or-#f ready-paper-sizes +Specifies a list of potential paper sizes that are reported as ready, +that is: loaded. The actual list will contain only the sizes that each +printer supports. + +The default value of @code{#f} is a special case: CUPS will use +@samp{(list \"Letter\" \"Legal\" \"Tabloid\" \"4x6\" \"Env10\")} +if the default paper size is \"Letter\", and +@samp{(list \"A3\" \"A4\" \"A5\" \"A6\" \"EnvDL\")} otherwise. +@end deftypevr + @deftypevr {@code{cups-configuration} parameter} non-negative-integer reload-timeout Specifies the amount of time to wait for job completion before restarting the scheduler. @@ -22914,13 +22897,6 @@ restarting the scheduler. Defaults to @samp{30}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} string rip-cache -Specifies the maximum amount of memory to use when converting documents -into bitmaps for a printer. - -Defaults to @samp{"128m"}. -@end deftypevr - @deftypevr {@code{cups-configuration} parameter} string server-admin Specifies the email address of the server administrator. @@ -43960,12 +43936,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 @@ -43980,28 +43956,47 @@ 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 +@dfn{full-source bootstrap}. This bootstrap is rooted in +@file{hex0-seed} from the @url{https://savannah.gnu.org/projects/stage0, +Stage0} package. The hex0 program is minimalist assembler: it reads +space-separated hexadecimal digits (nibbles) from a file, possibly +including comments, and emits on standard output the bytes corresponding +to those hexadecimal numbers. 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 possible by adding some historical GNU packages as intermediate steps@footnote{Packages @@ -44017,22 +44012,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 interpreter 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 Libera.Chat diff --git a/doc/images/gcc-core-mesboot0-graph.dot b/doc/images/gcc-core-mesboot0-graph.dot index 191582ed4c..ef4e3a441e 100644 --- a/doc/images/gcc-core-mesboot0-graph.dot +++ b/doc/images/gcc-core-mesboot0-graph.dot @@ -1,114 +1,79 @@ 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]; + "139803511371136" [label = "gcc-core-mesboot0@2.95.3", shape = box, fontname = sans]; + "139803511371136" -> "139803511371312" [color = red]; + "139803511371136" -> "139803511372016" [color = red]; + "139803511371136" -> "139803511371488" [color = red]; + "139803511371136" -> "139803511371664" [color = red]; + "139803511371136" -> "139803511371840" [color = red]; + "139803511371136" -> "139803507105792" [color = red]; + "139803511371136" -> "139803511373600" [color = red]; + "139803511371136" -> "139803507105968" [color = red]; + "139803511371136" -> "139803749199472" [color = red]; + "139803511371312" [label = "binutils-mesboot0@2.20.1a", shape = box, fontname = sans]; + "139803511371312" -> "139803511372016" [color = dimgrey]; + "139803511371312" -> "139803511371488" [color = dimgrey]; + "139803511371312" -> "139803511371664" [color = dimgrey]; + "139803511371312" -> "139803511371840" [color = dimgrey]; + "139803511371312" -> "139803507105792" [color = dimgrey]; + "139803511371312" -> "139803511373600" [color = dimgrey]; + "139803511371312" -> "139803507105968" [color = dimgrey]; + "139803511371312" -> "139803749199472" [color = dimgrey]; + "139803511372016" [label = "gzip-mesboot@1.2.4", shape = box, fontname = sans]; + "139803511372016" -> "139803511372192" [color = magenta]; + "139803511372016" -> "139803507105792" [color = magenta]; + "139803511372016" -> "139803511373600" [color = magenta]; + "139803511372016" -> "139803507105968" [color = magenta]; + "139803511372016" -> "139803749199472" [color = magenta]; + "139803511372192" [label = "tcc-boot0@0.9.26-1136-g5bba73cc", shape = box, fontname = sans]; + "139803511372192" -> "139803511372368" [color = magenta]; + "139803511372192" -> "139803511372544" [color = magenta]; + "139803511372192" -> "139803507105792" [color = magenta]; + "139803511372192" -> "139803511373600" [color = magenta]; + "139803511372192" -> "139803507105968" [color = magenta]; + "139803511372192" -> "139803749199472" [color = magenta]; + "139803511372368" [label = "mes-boot@0.24", shape = box, fontname = sans]; + "139803511372368" -> "139803511372544" [color = darkviolet]; + "139803511372368" -> "139803507105792" [color = darkviolet]; + "139803511372368" -> "139803511373600" [color = darkviolet]; + "139803511372368" -> "139803507105968" [color = darkviolet]; + "139803511372368" -> "139803749199472" [color = darkviolet]; + "139803511372544" [label = "stage0-posix@1.4", shape = box, fontname = sans]; + "139803511372544" -> "139803511373072" [color = peachpuff4]; + "139803511372544" -> "139803507105792" [color = peachpuff4]; + "139803511372544" -> "139803511373600" [color = peachpuff4]; + "139803511372544" -> "139803507105968" [color = peachpuff4]; + "139803511372544" -> "139803749199472" [color = peachpuff4]; + "139803511373072" [label = "bootstrap-seeds@1.0.0", shape = ellipse, fontname = sans]; + "139803511373072" -> "139803507105968" [color = cyan3]; + "139803507105968" [label = "bootar@1b", shape = box, fontname = sans]; + "139803507105968" -> "139803749199472" [color = dimgrey]; + "139803749199472" [label = "guile-bootstrap@2.0", shape = ellipse, fontname = sans]; + "139803507105792" [label = "gash-boot@0.3.0", shape = box, fontname = sans]; + "139803507105792" -> "139803507105968" [color = darkviolet]; + "139803507105792" -> "139803749199472" [color = darkviolet]; + "139803511373600" [label = "gash-utils-boot@0.2.0", shape = box, fontname = sans]; + "139803511373600" -> "139803507105968" [color = red]; + "139803511373600" -> "139803507105792" [color = red]; + "139803511373600" -> "139803749199472" [color = red]; + "139803511371488" [label = "patch-mesboot@2.5.9", shape = box, fontname = sans]; + "139803511371488" -> "139803511371840" [color = darkseagreen]; + "139803511371488" -> "139803511372192" [color = darkseagreen]; + "139803511371488" -> "139803507105792" [color = darkseagreen]; + "139803511371488" -> "139803511373600" [color = darkseagreen]; + "139803511371488" -> "139803507105968" [color = darkseagreen]; + "139803511371488" -> "139803749199472" [color = darkseagreen]; + "139803511371840" [label = "make-mesboot0@3.80", shape = box, fontname = sans]; + "139803511371840" -> "139803511372192" [color = blue]; + "139803511371840" -> "139803507105792" [color = blue]; + "139803511371840" -> "139803511373600" [color = blue]; + "139803511371840" -> "139803507105968" [color = blue]; + "139803511371840" -> "139803749199472" [color = blue]; + "139803511371664" [label = "tcc-boot@0.9.27", shape = box, fontname = sans]; + "139803511371664" -> "139803511371840" [color = peachpuff4]; + "139803511371664" -> "139803511372192" [color = peachpuff4]; + "139803511371664" -> "139803507105792" [color = peachpuff4]; + "139803511371664" -> "139803511373600" [color = peachpuff4]; + "139803511371664" -> "139803507105968" [color = peachpuff4]; + "139803511371664" -> "139803749199472" [color = peachpuff4]; } |