doc: Add fosdem21 talk.

This commit is contained in:
Jan (janneke) Nieuwenhuizen 2021-01-06 11:27:42 +01:00
parent 2d43e41352
commit b5eb85c1b4
No known key found for this signature in database
GPG Key ID: F3C1A0D9C1D65273
190 changed files with 7148 additions and 2 deletions

View File

@ -1,4 +1,5 @@
# time grep -E '^([^#]|$)' autocue.org | sed -re 's/^[*]+.*/. . slide. ./' | head -264 | tr '\n' ' ' | espeak -s 110 -l 1
# grep -E '^([^#]|$)' autocue.org | sed -re 's/^[*]+.*/. . slide. ./' | head -264 | tr '\n' ' ' | espeak -s 110 -l 1 --stdin -w fosdem20.wav
# ffmpeg -i fosdem21.wav |& grep Duration:
#+TITLE: GNU Mes
* Introduction

BIN
doc/talks/fosdem21/Guix.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

81
doc/talks/fosdem21/NOTES Normal file
View File

@ -0,0 +1,81 @@
https://www.scivision.dev/beamer-latex-dual-display-pdf-notes/
* oproep: wereld moet het gaan begrijpen
* hardware boys
* politiek actiever worden om dit te vereisen: trusted computing base
* free software: moet mensenrecht worden
* need your help
Technical requirements: Please adhere to the following technical requirements for your FOSDEM 2021 presentation video:
resolution: 1280x720
frame rate: 25 fps
video codec: h264 video codec, main profile
video bitrate: <= 2Mbit/s
audio codec: aac audio codec
audio sample rate: 48 KHz mono
audio bitrate: 128 Kbit/s
media container: mp4
https://github.com/stikonas/live-bootstrap
On May 18, 2020, GCC moved away from ISO/IEC C++03 standard to ISO/IEC
C++11 standard needed to compile, bootstrap, the compiler itself.
Supported releases
GCC 4.9.4 released [2016-08-03]
June 12, 2014
The GNU project and the GCC developers are pleased to announce the release of GCC 4.7.4.
GCC 4.8.1 will be C++11 feature-complete [2013-04-01]
Support for C++11 ref-qualifiers was added to the GCC 4.8 branch, making G++ the first C++ compiler to implement all the major language features of the C++11 standard. This functionality will be available in GCC 4.8.1.
* hoe sturen we olietanker bij
* als je bootstrappen serieus wilt nemen, zullen we dit moeten
supporten
* voldongen feit, geen awareness
** megolomane visie **: all software must be bootstrappable
** niet-bootstrappable: geen controle over binaries, trust
*** Choices: *giving up*
**** finding great reasons for giving up
ik houd van yoghurt, melk is verzekerd, moet ik vasthouden aan yoghurt
* stel nou dat iemand mijn yoghurt, lawyers
* stel nou op n dag, mijn yoghurt is bedorven
* it just doesn't feel right
* i call upon you to understand what it means for You (you, me, the free
software world, humanity)
* ultieme vrijheid: als je niemand nodig hebt
* je hebt niks aan broncode, het moet omgezet
* 0001100101 machine code is abundant, maar geen garantie
* imagine this press release: intel,ppc,arm are all compromised
* wat gaat de wereld hiermee doen?
** gaan we een vrijere wereld cre-eren?
** do we just forget this idea, and keep trusting yoghurt
** bitcoin example
** sit back and place your bets on the apocolypse
** hardware
** less control or more control ... place your bets
** bootstrappability pandamic
** enormous gamble
** bitcoin?
** health care?

15
doc/talks/fosdem21/RECORD Normal file
View File

@ -0,0 +1,15 @@
guix environment --ad-hoc espeak xwininfo recordmydesktop
xwininfo
recordmydesktop --delay 3 --windowid 0x1e0000e -x 50 -y 130 --width 1280 --height 960 --no-cursor
recordmydesktop --delay 3 --fps 15 --windowid 0x1e0000e -x 375 -y 340 --width 480 --height 350 --no-cursor
# stop after 1 sec of silence
sox -t alsa default recording.wav silence 1 0.1 5% 1 1.0 5%
# stop after 20 sec of silence
sox -t alsa default recording.wav silence 1 0.1 5% 20 1.0 5%
ffmpeg -i recording-0.ogg -i recording-1.ogg -filter_complex '[0:0][1:0]concat=n=2:v=0:a=1[out]' -map '[out]' concat.ogg
ffmpeg $(for i in recordings/*.ogg; do echo "-i $i "; done) -filter_complex '[0:0][1:0][2:0][3:0]concat=n=47:v=0:a=1[out]' -map '[out]' fosdem21.ogg

Binary file not shown.

After

Width:  |  Height:  |  Size: 953 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 854 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 967 KiB

View File

@ -0,0 +1,331 @@
# grep -E '^([^#]|$|^[*] )' autocue.org | grep -v '^[*] ' | sed -re 's/^[*]+.*/. . slide. ./' | head -274 | tr '\n' ' ' | espeak -s 110 -l 1 --stdin -w fosdem21.wav
# ffmpeg -i fosdem21.wav |& grep Duration:
#+TITLE: GNU Mes
* Top
** GNU Mes
hello, i am janneke.
this talk is about GNU Mes and the ongoing effort to remove all
the binaries that we inject into our free software stack.
* Introduction
** Introduction
at the end of my talk i hope you have learned what bootstrapping is about.
** Full Source Bootstrap: Why?
richard stallman is helping us understand
that software freedom is a human right
if we loose one of these rights,
it becomes much harder to maintain our freedom.
every time you say free software instead of Open Source, for example,
you are already helping.
we need to care for our free software rights;
if we neglect bootstrappability or if we lose it,
we also loose freedom of our computing.
** Full Source Bootstrap: GNU Mes
to crack the chicken and egg problem that bootstrapping is,
i wrote GNU Mes.
MesCC is a C99 compiler written in a subset of Guile Scheme
and comes with Mes, a Scheme interpreter to run it.
** The Holy Grail
The Stage0 project is an amazing bootstrap story
it all starts with a 357-byte, well-audited binary, hex0,
and as some of you may have heard...
** Full Source Bootstrap: *WE DID IT!!!*
. . we . . did . . it . .
when i started this, five years ago my youngest daughter was a big messi
and fc barcelona fan. that inpsired me while i was working on mescc.
** Full Source Bootstrap: hex0 => M2-Planet => GNU Mes
GNU Mes can now be built by M2-Planet,
and thus bootstrapped from these initial 357 bytes
** A big problem, predicted 40y ago
in the eighties, ken thompson showed us in his Turing lecture, that we
were having a big problem in computing.
** Journey to the Source?
his message has mostly been ignored.
every day we are becoming more dependent on more and larger binaries
to create our free software systems.
* Reproducibility
** Carl Dong -- bitcoin build system security
the importance to stop this trend was evident to bitcoin developer Carl
Dong of Chaincode Labs.
i warmly recommend his talk he gave at the breaking bitcoin conference
in 2019, it will only take 18 minutes of your time.
** Reproducible-Builds.org
carl dong explains that bitcoin, driven by the wish to provide secure
bitcoin downloads, have implemented Gitian, a system that uses
reproducible builds.
** What is a Bootstrap?
let's say you wrote the first ever GNU CC compiler and you wrote it in
C; it is impossible to compile this C source code into an executable gcc
program.
** How to Bootstrap: An Old Recipe...
ah but that's like making yoghurt: use fresh milk and just add some
yoghurt leftover from yesterday.
** How to Bootstrap: Create your second GCC
using this insight, we can now create our second GCC!
** Pour milk
we take fresh, security-audited milk.
** Add yoghurt
we publish the recipe, so that others may verify the result.
** We're reproducible
and low and behold, your second compiler exactly matches ours!
as long as you follow our recipe.
** Add evil yoghurt
and use the exact same, FIRST compiler...
** We're reproducible
everyone is ...
** Evil yoghurt
just as bug-free and secure
** We're reproducibly malicous
as our shared, FIRST compiler was
** Reproducibility is not enough
reproducibility is no substitute for bootstrappability
** Reproducibility plus clean source code is not enough
and while bug-free source code remains important, we need something
else.
* Bootstrappability
** Guix /pronounced geeks/
enter GNU Guix.
in Guix, we implemented the Full Source Bootstrap.
** NLnet Foundation
so we are very excited that NlNet provided a grant to make that possible
** WE DID IT! We did what?
to make GNU Mes ready for M2 Planet,
we first removed all pre-processor statements,
then switched from SICP-like number-based cells
to pointer-based cells
an interesting operation, notably for the garbage collector
then, we rewrote all non-supported C constructs for M2 Planet
in a way that GCC also still likes them
notice how easy it sounds, now that it has been done
on, to integrate this new mes into guix
** Bottom of Guix package graph
on the wip-full-source-bootstrap branch, this is what the bottom of the
graph looks like
i think a generated graph like this is very cool,
an introduction works probably better when we remove some detail
** Full Source Bootstrap: Stage 0
Stage0 was a big inspiration to start working on mes, to address
bootstrappability.
the first stage creates the hex1 assembler from the initial hex0 seed.
it is the binary form of as ASCII-equivalent. therefore we can bless it
as source and have our full source bootstrap.
hex1 is just a bit richer than hex0, but not a language to write big
programs in.
** Full Source Bootstrap: Stage 1
the second stage builds the hex2 linker, the M1 Macro assembler and
M2-Planet.
** Full Source Bootstrap: Stage 2
the third stage builds mes and the mes c library
** Full Source Bootstrap: Stage mes
after mes we build a bootstrappable fork of tinycc, that we maintain
ourselves.
from mes onwards, we need a shell.
we use gash with gash-utils and cheat just a bit by running them on
bootstrap guile; the driver we need for guix anyway.
in the future we would like to run gash and gash utils on mes.
you will forgive us this little lie, any shell with utilities will do
fine here anyway.
** Full Source Bootstrap: Stage mesboot
from tcc it goes up via ancient binutils and glibc versions to gcc.
you may notice that most of the packages in this graph are unmaintained.
that is a problem.
anyway, this brings us to
** Long path: Full Source Bootstrap
a full GNU/Linux system that is bootstrapped from 357-bytes.
** Trusted Computing Base
anything else?
** Trusted Computing Base
when building a package on Guix, the trusted computing base includes
the build daemon and the linux kernel.
ludovic has built a package in the intial ramdisk, thereby removing the
build daemon from the trusted computing base.
an obvious next step is linux.
mes v0.22 now runs on the hurd, a micro kernel is another possibility to
reduce the trusted computing base.
last year GNU Guix has made it very easy to run the hurd in a vm,
a so-called childhurd.
** What's Next?
apart from the real big plans, there is lots of fun work ahead, let's
find some time and money for that.
* Freedom
** Free Software as a Human Right
at the start of this talk i showed this image with richard's view on
free software
** Freedom of Computing
have i strayed too far when i reinterpret this as freedom of computing?
if we have free software, and our binaries are compromised, do we really
have freedom of computing, can we enjoy this human right?
** Moving target: Are we losing GCC?
when gnu guix started, GCC could be bootstrapped by any C compiler.
four years later, when gnu mes started, gcc also needed C++,
ensuring bootstrappability would only require for GCC developers
to continue maintaining 4.6 or 4.7
after four years of work we can bootstrap gcc-4.7, our target is moving.
is it moving faster than we are?
** Contemplate: What is happening?
i call upon you to understand the problem of bootstrapping
to contemplate on where we are, and where we going
and to decide where you would really want to go
** Joy of Source
are we doing this only to counter the trusting trust attack?
i'm not sure, i think that building from source is the proper way to do
computing; and the trusting trust attack is only a symptom of confusing
a binary substitute with the compilation of source code.
** Choices: More control, or less control?
apparently, bitcoin users rather have more control over what their
computer does when it handles money.
so it seems to me that our choices are simple: raise awareness and slay
this dragon together, or sit back and place our bets on what the
apocalypse will look like.
i mean, why bother, i'm betting heavily on climate change.
* Thanks
i am very grateful for getting so much help and seeing this crazy
project grow!
** Want to join?
that's all folks!
*** You can help
* make Guix run on Mes
* write a bootstrappable syntax-case
* simplify MesCC and target GCC-4.6
* bootstrap NixOS, Debian
* port MesCC to the Hurd, FreeBSD
* spread the message
* retweet =@janneke_gnu= =janneke@octodon.social=
*** Connect
* irc freenode.net [[irc://bootstrappable@freenode.net][#bootstrappable]] [[irc://guix@freenode.net][#guix]]
* mail [[mailto:bug-mes@gnu.org][bug-mes@gnu.org]] [[mailto://guix-devel@gnu.org][guix-devel@gnu.org]]
* git [[https://git.savannah.gnu.org/git/mes.git][https://git.savannah.gnu.org/git/mes.git]]
* web [[http://bootstrappable.org][bootstrappable.org]]
* legalese
Copyright \copy 2020,2021 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
#+BEGIN_QUOTE
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts.
#+END_QUOTE

View File

@ -0,0 +1,27 @@
% GNU Mes --- Maxwell Equations of Software
% Copyright © 2017 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
%
% This file is part of GNU Mes.
%
% GNU Mes is free software; you can redistribute it and/or modify it
% under the terms of the GNU General Public License as published by
% the Free Software Foundation; either version 3 of the License, or (at
% your option) any later version.
%
% GNU Mes is distributed in the hope that it will be useful, but
% WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
\mode<presentation>
\usecolortheme{spruce}
\setbeamercolor*{structure}{fg=blue!25!white}
\setbeamercolor*{structure}{fg=MSUgreen!80!white}
\setbeamercolor{block title}{use=structure,fg=white,bg=structure.fg!75!black}
\mode
<all>

View File

@ -0,0 +1,36 @@
% GNU Mes --- Maxwell Equations of Software
% Copyright © 2017 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
%
% This file is part of GNU Mes.
%
% GNU Mes is free software; you can redistribute it and/or modify it
% under the terms of the GNU General Public License as published by
% the Free Software Foundation; either version 3 of the License, or (at
% your option) any later version.
%
% GNU Mes is distributed in the hope that it will be useful, but
% WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
\mode<presentation>
\setbeamertemplate{navigation symbols}{}
\newif\ifbeamer@secheader
\beamer@secheaderfalse
\DeclareOptionBeamer{secheader}{\beamer@secheadertrue}
\ProcessOptionsBeamer
\usecolortheme{X}
\useinnertheme[shadow]{rounded}
\useoutertheme{infolines}
\ifbeamer@secheader\else\setbeamertemplate{headline}[default]\fi
\mode
<all>

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 551 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 936 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

12
doc/talks/fosdem21/dot Normal file
View File

@ -0,0 +1,12 @@
dot -T png < stage-0.dot > stage-0.png
dot -T png < stage-0.dot > stage-0.png
dot -T png < stage-1.dot > stage-1.png
dot -T png < stage-2.dot > stage-2.png
dot -T png < stage-mes.dot > stage-mes.png
dot -T png < stage-mesboot.dot > stage-mesboot.png
dot -T png < stage-mesboot.dot > stage-mesboot.png
dot -T png < gcc-core-mesboot0-fsb.dot > gcc-core-mesboot0-fsb.png
dot -T png < gcc-core-mesboot0-fsb-unversioned.dot > gcc-core-mesboot0-fsb-unversioned.png
dot -T png < gcc-core-mesboot0-fsb-no-guile-unversioned.dot > gcc-core-mesboot0-fsb-no-guile-unversioned.png

BIN
doc/talks/fosdem21/egg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

BIN
doc/talks/fosdem21/egg.xcf Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 915 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 760 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 768 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 684 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 814 KiB

Binary file not shown.

View File

@ -0,0 +1,447 @@
#+TITLE: GNU Mes
#+TITLE: \smaller[2]{-- Full Source Bootstrap}
#+DATE:2021-02-07
#+EMAIL: janneke@gnu.org
#+AUTHOR: janneke@gnu.org
#+COPYRIGHT: janneke (Jan) Nieuwenhuizen <janneke@gn.org>
#+LICENSE: GNU Free Documentation License, version 1.3 or later.
#+OPTIONS: H:2 @:t ::t
#+OPTIONS: tex:t latex:t todo:t tasks:t
#+LATEX_HEADER:\institute{FOSDEM'21}
#+LATEX_HEADER:\def\ahref#1#2{\htmladdnormallink{#2}{#1}}
#+LATEX_CLASS: beamer
#+LATEX_CLASS_OPTIONS: [presentation]
#+LaTeX_CLASS_OPTIONS: [aspectratio=169]
#+LATEX_HEADER: \usepackage{relsize}
#+LATEX_HEADER: \usepackage{hyperref}
#+LATEX_HEADER: \mode<beamer>{\usetheme{X}}
#+KEYWORDS: GNU, Mes, Mes, Guix, bootstrappable, reproducible
#+BEAMER_THEME: X
#+BEAMER_FRAME_LEVEL: 2
#+COLUMNS: %45ITEM %10BEAMER_ENV(Env) %10BEAMER_ACT(Act) %4BEAMER_COL(Col) %8BEAMER_OPT(Opt)
# #+LATEX_HEADER:\usepackage{pgfpages}
# #+LATEX_HEADER:\setbeameroption{show notes}
# #+LATEX_HEADER:\setbeameroption{show notes on second screen=left}
* Introduction
** Introduction
:PROPERTIES:
:BEAMER_env: note
:END:
hello, i am janneke.
this talk is about GNU Mes and the ongoing effort to remove all
the binaries that we inject into our free software stack.
** Full Source Bootstrap: Why?
#+LATEX:{\hspace{-0.5cm}\begin{frame}[plain]
#+LATEX:{{\includegraphics[width=1.1\paperwidth,height=1.1\paperheight]{human-rights-rms.png}}}
#+LATEX:\end{frame}}
** Full Source Bootstrap: GNU Mes
*** GNU Mes
:PROPERTIES:
:BEAMER_COL: 0.6
:BEAMER_ENV: block
:END:
* A Scheme interpreter written in ~5,000LOC of simple C.
* A C compiler written in Scheme.
* Built on LISP: eval/apply, the *Maxwell Equations of Software*.
*** LOGO
:PROPERTIES:
:BEAMER_COL: 0.3
:BEAMER_ENV: quote
:END:
#+LATEX:\rightskip=2cm\includegraphics[width=0.7\textwidth]{mes.png}
** The Holy Grail: Stage0's hex0 => Mes
#+BEGIN_QUOTE
The holy grail of bootstrappability will be connecting mes to hex0.
-- Carl Dong, Chaincode Labs
#+END_QUOTE
** Full Source Bootstrap: *WE DID IT!!!*
#+LATEX:\begin{center}
#+LATEX:\includegraphics[width=0.4\textwidth]{fsb-logo-guile-guix-mes.png}
#+LATEX:\end{center}
** Full Source Bootstrap: hex0 => M2-Planet => GNU Mes
*** GNU Mes
:PROPERTIES:
:BEAMER_COL: 0.6
:BEAMER_ENV: block
:END:
* A Scheme interpreter written in ~5,000LOC of simple C, *or* M2.
* A C compiler written in Scheme.
* Built on LISP: eval/apply, the *Maxwell Equations of Software*.
*** LOGO
:PROPERTIES:
:BEAMER_COL: 0.3
:BEAMER_ENV: quote
:END:
#+LATEX:\rightskip=2cm\includegraphics[width=0.7\textwidth]{mes.png}
** A big problem, predicted 40y ago
#+LATEX:{\hspace{-1.2cm}\begin{frame}[plain]
#+LATEX:{{\vskip-2.4cm\includegraphics[width=1.1\paperwidth,height=1.1\paperheight]{ken-thompson.png}}}
#+LATEX:\end{frame}}
** Journey to the Source?
#+LATEX:\hspace{115mm}\tiny{???}\\[-6.0ex]
#+LATEX:\hspace{ 90mm}\tiny{Soft Landing Systems}\\[-0.5ex]
#+LATEX:\hspace{ 82mm}\tiny{0.90 .. 0.01}\\[-1.0ex]
#+LATEX:\hspace{ 74mm}\tiny{0.93rc5}\\[-1.1ex]
#+LATEX:\hspace{ 66mm}\tiny{0.93rc6}\\[-1.0ex]
#+LATEX:\hspace{ 60mm}\tiny{1.1 buzz}\\[-1.0ex]
#+LATEX:\hspace{ 54mm}\tiny{1.2 rex}\\[-1.0ex]
#+LATEX:\hspace{ 48mm}\tiny{1.3 bo}\\[-1.0ex]
#+LATEX:\hspace{ 42mm}\tiny{2.0 hamm}\\[-0.6ex]
#+LATEX:\hspace{ 37mm}\tiny{2.1 slink}\\[-1.1ex]
#+LATEX:\hspace{ 30mm}\scriptsize{2.2 potato}\\[-1.1ex]
#+LATEX:\hspace{ 24mm}\footnotesize{3.0 woody}\\[-1.1ex]
#+LATEX:\hspace{ 19mm}\small{3.1 sarge}\\[-1.0ex]
#+LATEX:\hspace{ 14mm}\normalsize{4 etch}\\[-1.1ex]
#+LATEX:\hspace{ 10mm}\large{5 lenny}\\[-1.2ex]
#+LATEX:\hspace{ 6mm}\Large{6 squeeze}\\[-1.2ex]
#+LATEX:\hspace{ 3mm}\LARGE{7 wheezy}\\[-1.2ex]
#+LATEX:\hspace{ 1mm}\huge{8 jessie}\\[-1.3ex]
#+LATEX:\hspace{ 0mm}\Huge{9 stretch}\\[-0.2ex]
#+LATEX:\hspace{ 0mm}\Huge{10 buster}
#+LATEX:\normalsize
#+BEGIN_QUOTE
As time goes on we will expire the binary packages for old releases.
Currently we have binaries for squeeze, lenny, etch, sarge, woody,
potato, slink, hamm and bo available, and only source code for the other
releases. -- \ahref{https://www.debian.org/distrib/archive}{www.debian.org/distrib/archive}
#+END_QUOTE
* Reproducibility
** Carl Dong -- bitcoin build system security
#+LATEX:{\hspace{-1.2cm}\begin{frame}[plain]
#+LATEX:{{\vskip-2.6cm\includegraphics[width=1.1\paperwidth,height=1.1\paperheight]{bitcoin-carl-dong.png}}}
#+LATEX:\end{frame}}
** Reproducible-Builds.org
#+LATEX:{\hspace{-1.2cm}\begin{frame}[plain]
#+LATEX:{{\vskip-2.6cm\includegraphics[width=1.1\paperwidth,height=1.1\paperheight]{reproducible-builds.png}}}
#+LATEX:\end{frame}}
** What is a Bootstrap?
*** Impossible task: pull yourself up on your boot straps
#+LATEX:\rightskip=2cm\includegraphics[width=0.2\textwidth]{boot-strap.png}
*** Software: to create your first: kernel, shell, C compiler, ...
#+LATEX:\includegraphics[width=0.12\textwidth]{gcc.png}
#+LATEX:{\fontsize{20}{10}\selectfont source\normalsize}
#+LATEX:{\fontsize{40}{20}\selectfont + ?? =}
#+LATEX:\includegraphics[width=0.12\textwidth]{gcc.png}
#+LATEX:{\fontsize{20}{10}\selectfont binary\normalsize}
** How to Bootstrap: An Old Recipe...
#+LATEX:\rightskip=2cm\includegraphics[width=0.3\textwidth]{yoghurt.png}\\
#+BEGIN_QUOTE
Recipe for yoghurt: Add yoghurt to milk -- Anonymous
#+END_QUOTE
** How to Bootstrap: Create your second GCC
*** IGNORE
:PROPERTIES:
:BEAMER_env: ignoreheading
:END:
Traditional recipe: like yoghurt
#+LATEX:\\[1cm]
#+LATEX:\includegraphics[width=0.15\textwidth]{gcc.png}
#+LATEX:{\fontsize{10}{5}\selectfont source\normalsize}
#+LATEX:{\fontsize{40}{20}\selectfont +}
#+LATEX:\includegraphics[width=0.15\textwidth]{gcc.png}
#+LATEX:{\fontsize{10}{5}\selectfont binary - 1\normalsize}
#+LATEX:{\fontsize{40}{10}\selectfont = \normalsize}
#+LATEX:\includegraphics[width=0.15\textwidth]{gcc.png}
#+LATEX:{\fontsize{10}{5}\selectfont binary\normalsize}
#+LATEX:\\[1cm]
*** IGNORE
:PROPERTIES:
:BEAMER_env: ignoreheading
:END:
... and done!
** Pour milk
#+LATEX:{\begin{frame}[plain]
#+LATEX:{\vskip-2.4cm{\hspace*{-2cm}\includegraphics[width=1.2\paperwidth,height=1.1\paperheight]{pour-milk.png}}}
#+LATEX:\end{frame}}
** Add yoghurt
#+LATEX:{\begin{frame}[plain]
#+LATEX:{\vskip-2.4cm{\hspace*{-2cm}\includegraphics[width=1.2\paperwidth,height=1.1\paperheight]{add-yoghurt.png}}}
#+LATEX:\end{frame}}
** We're reproducible
#+LATEX:{\hspace{-1.2cm}\begin{frame}[plain]
#+LATEX:{{\vskip-2.6cm\includegraphics[width=1.1\paperwidth,height=1.1\paperheight]{we-are-reproducible.png}}}
#+LATEX:\end{frame}}
** Add evil yoghurt
#+LATEX:{\begin{frame}[plain]
#+LATEX:{\vskip-2.4cm{\hspace*{-2cm}\includegraphics[width=1.2\paperwidth,height=1.1\paperheight]{add-evil-yoghurt.png}}}
#+LATEX:\end{frame}}
** We're reproducible
#+LATEX:{\hspace{-1.2cm}\begin{frame}[plain]
#+LATEX:{{\vskip-2.6cm\includegraphics[width=1.1\paperwidth,height=1.1\paperheight]{we-are-reproducible.png}}}
#+LATEX:\end{frame}}
** Evil yoghurt
#+LATEX:{\hspace{-1.2cm}\begin{frame}[plain]
#+LATEX:{\vskip-2.4cm{\hspace*{-2cm}\includegraphics[width=1.2\paperwidth,height=1.1\paperheight]{evil-yoghurt-rect-black.png}}}
#+LATEX:\end{frame}}
** We're reproducibly malicous
#+LATEX:{\hspace{-1.2cm}\begin{frame}[plain]
#+LATEX:{{\vskip-2.6cm\includegraphics[width=1.1\paperwidth,height=1.1\paperheight]{we-are-reproducibly-malicious.png}}}
#+LATEX:\end{frame}}
** Reproducibility is not enough
#+LATEX:{\hspace{-1.2cm}\begin{frame}[plain]
#+LATEX:{{\vskip-2.6cm\includegraphics[width=1.1\paperwidth,height=1.1\paperheight]{reproducibility-is-not-enough.png}}}
#+LATEX:\end{frame}}
** Reproducibility plus clean source code is not enough
#+LATEX:{\hspace{-1.2cm}\begin{frame}[plain]
#+LATEX:{{\vskip-2.6cm\includegraphics[width=1.1\paperwidth,height=1.1\paperheight]{reproducibility+clean-source-code.png}}}
#+LATEX:\end{frame}}
* Bootstrappability
** Guix /pronounced geeks/
#+LATEX:{\hspace{-1.2cm}\begin{frame}[plain]
#+LATEX:{{\vskip-2.6cm\includegraphics[width=1.1\paperwidth,height=1.1\paperheight]{guix-pronounced-geeks.png}}}
#+LATEX:\end{frame}}
** NLnet Foundation
#+LATEX:\begin{center}
#+LATEX:\includegraphics[width=0.3\paperwidth,height=0.5\paperheight]{nl-net.png}
#+LATEX:\end{center}
** WE DID IT! We did what?
*** Adapt Mes and Mes C Library for M2-Planet
* #define FOO => ...; #if BAR => ...; CAR (x) => x->car
* remove global and static array data
* foo.bar => foo->bar
* rewrite pointer arithmetic
* rewrite garbage collector
* mature M2-Planet
* ...
*** Integrate Full Source Bootstrap
* package M2-Planet
* remove (dependency on) bootstrap seeds
* ...
** Bottom of Guix package graph
#+LATEX:{\hspace{-0.55cm}\begin{frame}[plain]
#+LATEX:{{\vskip-1.9cm\includegraphics[width=1\paperwidth,height=1\paperheight]{gcc-core-mesboot0-fsb-no-guile-unversioned.png}}}
#+LATEX:\end{frame}}
** Full Source Bootstrap: Stage 0
#+LATEX:\rightskip=2cm\includegraphics[width=0.8\textwidth]{stage-0.png}
** Full Source Bootstrap: Stage 1
#+LATEX:\rightskip=2cm\includegraphics[width=0.80\textwidth]{stage-1.png}
** Full Source Bootstrap: Stage 2
#+LATEX:\vskip-2mm\rightskip=2cm\includegraphics[width=0.55\textwidth]{stage-2.png}
** Full Source Bootstrap: Stage mes
#+LATEX:\rightskip=2cm\includegraphics[width=0.70\textwidth]{stage-mes.png}
** Full Source Bootstrap: Stage mesboot
#+LATEX:\rightskip=2cm\includegraphics[width=0.80\textwidth]{stage-mesboot.png}
** Long path: Full Source Bootstrap
#+LATEX:\Large
*** GNU Mes
:PROPERTIES:
:BEAMER_COL: 0.75
:BEAMER_ENV: quote
:END:
#+LATEX:\normalfont
* *500+ MB:* no bootstrap
* *252 MB:* GNU Guix System v1.0
* *145 MB:* Reduced Binary Seed
+ master branch
+ +GCC+, +GLIBC+, +Binutils+
+ + MesCC-Tools, + Mes
* *57 MB:* Scheme-only
+ wip-bootstrap branch
+ +Awk+, +Bash+, +Bzip2+, +GNU Core Utilities+, +Grep+, +Gzip+,
+Make+, +Patch+, +Sed+, +Tar+, and +XZ+.
+ + Gash (source only!)
* *357 bytes:* Full Source
+ +MesCC-Tools+, +Mes+
+ + Stage0: 357 bytes (x86)
#+LATEX:\vskip 1cm
*** LOGO
:PROPERTIES:
:BEAMER_COL: 0.25
:BEAMER_ENV: quote
:END:
#+LATEX:\includegraphics[height=0.7cm]{logos/debian.png}
#+LATEX:\includegraphics[height=0.7cm]{logos/guix.png}\includegraphics[height=0.4cm]{logos/nixos.png}\\[0.4cm]
#+LATEX:\includegraphics[height=0.7cm]{logos/guix.png}\\[1cm]
#+LATEX:\includegraphics[height=0.7cm]{logos/guix.png}\\
#+LATEX:\vskip 4.2cm
#+LATEX:\normalsize
** Trusted Computing Base
#+LATEX:{\hspace{-1.2cm}\begin{frame}[plain]
#+LATEX:{{\vskip-2.6cm\includegraphics[width=1.1\paperwidth,height=1.1\paperheight]{bowl-empty-spoon.png}}}
#+LATEX:\end{frame}}
** Trusted Computing Base
* Source code
* Binary seeds
* Guix System
* Linux
* Guix's Childhurds (Hurd in VM)
** What's Next?
*** wip-full-source-bootstrap
- release mes-0.24
- update and merge
*** wip-arm-bootstrap
- finish the bootstrap: currently stuck at glibc-mesboot0 (2.2.5)
- release mes-0.23
- update and merge
*** RISC-V
- remove gcc-2.95 from the bootstrap
- port RISC-V extensions to gcc-4.6
* Freedom
** Free Software as a Human Right
#+LATEX:{\hspace{-0.5cm}\begin{frame}[plain]
#+LATEX:{{\includegraphics[width=1.1\paperwidth,height=1.1\paperheight]{human-rights-rms.png}}}
#+LATEX:\end{frame}}
** Freedom of Computing
*** Free Software == Freedom of Computing
* Inspect source => Free Software
* Binary matches source? => Reproducible builds
* Toolchain compromised? => Bootstrappable builds
* Hardware trustable? => DDC, free hardware
** Moving target: Are we losing GCC?
*** June 12, 2014
GCC 4.7.4, the final "bootstrappable", already a *huge* download
*** August 3rd, 2016
GCC 4.9.4 released, as of 4.8 requires C++03 to bootstrap
*** May 18, 2020
GCC moved away from C++03 and now needs to C++11 to bootstrap
** Contemplate: What is happening?
#+BEGIN_QUOTE
It just doesn't *feel* right
-- Vagrant Cascadian, Debian developer
#+END_QUOTE
** Joy of Source
#+LATEX:\large
#+BEGIN_QUOTE
Vulnerability to a *trusting trust attack* is a symptom of an
unauditable or missing bootstrap story. -- janneke
#+END_QUOTE
#+LATEX:\normalsize
** Choices: More control, or less control?
*** raise bootstrappable awareness
to take back control over our computing, or
*** keep doing what we're doing
and watch the erosion of our computing freedoms.
* Thanks
** Thanks
# *** Mortals :B_block:BMCOL:
# :PROPERTIES:
# :BEAMER_COL: 0.48
# :BEAMER_ENV: block
# :END:
* Carl Dong
* Danny Milosavljevic
* David Terry
* Jeremiah Orians
* Ludovic Courtès
* Matt Wette
* Pjotr Prins
* Rutger van Beusekom
* Timothy Sample
* Vagrant Cascadian
# *** All the Giants :B_block:BMCOL:
# :PROPERTIES:
# :BEAMER_COL: 0.48
# :xBEAMER_ACT: <2->
# :BEAMER_ENV: block
# :END:
# * ...
# *** Connect
# * irc freenode.net [[irc://bootstrappable@freenode.net][#bootstrappable]] [[irc://guix@freenode.net][#guix]]
# * mail [[mailto:bug-mes@gnu.org][bug-mes@gnu.org]] [[mailto://guix-devel@gnu.org][guix-devel@gnu.org]]
# * git [[https://git.savannah.gnu.org/git/mes.git][https://git.savannah.gnu.org/git/mes.git]]
# * web [[http://bootstrappable.org][bootstrappable.org]]
** Want to join?
*** You can help
* raise awareness
* make core GNU packages bootstrappable again
# + +XZ-only+ => *.GZ* tarballs (thank you: sed, coreutils!)
+ GCC (c++!), GNU Libc (python?!)
* reduced bootstrap NixOS, Debian
* port MesCC to the Hurd, FreeBSD
* retweet/toot =@janneke_gnu= =janneke@octodon.social=
*** Connect
* irc freenode.net [[irc://bootstrappable@freenode.net][#bootstrappable]] [[irc://guix@freenode.net][#guix]]
* mail [[mailto:bug-mes@gnu.org][bug-mes@gnu.org]] [[mailto://guix-devel@gnu.org][guix-devel@gnu.org]]
* git [[https://git.savannah.gnu.org/git/mes.git][https://git.savannah.gnu.org/git/mes.git]]
* web [[http://bootstrappable.org][bootstrappable.org]]
* legalese
:PROPERTIES:
:BEAMER_ENV: note
:COPYING: t
:END:
Copyright \copy 2017,2019,2020,2021 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
#+BEGIN_QUOTE
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
Version 1.3 or any later version published by the Free Software
Foundation; with no Invariant Sections, with no Front-Cover Texts,
and with no Back-Cover Texts.
#+END_QUOTE
By Debian - www.debian.org/logos/, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=3330975
By Canonical Ltd. - http://design.ubuntu.com/wp-content/uploads/logo-ubuntu_no%C2%AE-black_orange-hex.svg, Public Domain, https://commons.wikimedia.org/w/index.php?curid=18296544
By Source, Fair use, https://en.wikipedia.org/w/index.php?curid=60635229
By Original: Apple Inc.Vectorization: Totie - https://www.apple.com/macos/high-sierra/, Public Domain, https://commons.wikimedia.org/w/index.php?curid=59644704
By Original: Rob Janoff - https://www.apple.com/ac/globalnav/2.0/en_US/images/ac-globalnav/globalnav/apple/image_large.svg, Public Domain, https://commons.wikimedia.org/w/index.php?curid=10472152
By Source, Fair use, https://en.wikipedia.org/w/index.php?curid=26987122
By Source (WP:NFCC#4), Fair use, https://en.wikipedia.org/w/index.php?curid=38767733
By Source, Fair use, https://en.wikipedia.org/w/index.php?curid=13822991
By Microsoft - File:Windows Server 2012 logo.svg, Public Domain, https://commons.wikimedia.org/w/index.php?curid=45931123
By Source, Fair use, https://en.wikipedia.org/w/index.php?curid=28200444
By 2014, Christian Noguera, Valentin Pasquier, Richard Stallman CC-BY 3.0 license.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 KiB

View File

@ -0,0 +1,61 @@
digraph "Guix package" {
"gcc-cross-boot0@5.5.0" -> "libstdc++-boot0@4.9.4" [color = black];
"gcc-cross-boot0@5.5.0" -> "binutils-cross-boot0@2.31.1" [color = black];
"gcc-cross-boot0@5.5.0" -> "binutils-bootstrap@0" [color = black];
"gcc-cross-boot0@5.5.0" -> "bootstrap-binaries@0" [color = black];
"gcc-cross-boot0@5.5.0" -> "diffutils-boot0@3.6" [color = black];
"gcc-cross-boot0@5.5.0" -> "file-boot0@5.33" [color = black];
"gcc-cross-boot0@5.5.0" -> "findutils-boot0@4.6.0" [color = black];
"gcc-cross-boot0@5.5.0" -> "gcc-bootstrap@0" [color = black];
"gcc-cross-boot0@5.5.0" -> "glibc-bootstrap@0" [color = black];
"gcc-cross-boot0@5.5.0" -> "make-boot0@4.2.1" [color = black];
"gcc-cross-boot0@5.5.0" [label = "gcc-cross-boot0@5.5.0", shape = box, fontname = Helvetica];
"libstdc++-boot0@4.9.4" -> "binutils-bootstrap@0" [color = black];
"libstdc++-boot0@4.9.4" -> "bootstrap-binaries@0" [color = black];
"libstdc++-boot0@4.9.4" -> "diffutils-boot0@3.6" [color = black];
"libstdc++-boot0@4.9.4" -> "file-boot0@5.33" [color = black];
"libstdc++-boot0@4.9.4" -> "findutils-boot0@4.6.0" [color = black];
"libstdc++-boot0@4.9.4" -> "gcc-bootstrap@0" [color = black];
"libstdc++-boot0@4.9.4" -> "glibc-bootstrap@0" [color = black];
"libstdc++-boot0@4.9.4" -> "make-boot0@4.2.1" [color = black];
"libstdc++-boot0@4.9.4" [label = "libstdc++-boot0@4.9.4", shape = box, fontname = Helvetica];
"binutils-cross-boot0@2.31.1" -> "binutils-bootstrap@0" [color = black];
"binutils-cross-boot0@2.31.1" -> "bootstrap-binaries@0" [color = black];
"binutils-cross-boot0@2.31.1" -> "diffutils-boot0@3.6" [color = black];
"binutils-cross-boot0@2.31.1" -> "file-boot0@5.33" [color = black];
"binutils-cross-boot0@2.31.1" -> "findutils-boot0@4.6.0" [color = black];
"binutils-cross-boot0@2.31.1" -> "gcc-bootstrap@0" [color = black];
"binutils-cross-boot0@2.31.1" -> "glibc-bootstrap@0" [color = black];
"binutils-cross-boot0@2.31.1" -> "make-boot0@4.2.1" [color = black];
"binutils-cross-boot0@2.31.1" [label = "binutils-cross-boot0@2.31.1", shape = box, fontname = Helvetica];
"binutils-bootstrap@0" [label = "binutils-bootstrap@0", fontname = Helvetica];
"bootstrap-binaries@0" [label = "bootstrap-binaries@0", fontname = Helvetica];
"diffutils-boot0@3.6" -> "binutils-bootstrap@0" [color = black];
"diffutils-boot0@3.6" -> "bootstrap-binaries@0" [color = black];
"diffutils-boot0@3.6" -> "gcc-bootstrap@0" [color = black];
"diffutils-boot0@3.6" -> "glibc-bootstrap@0" [color = black];
"diffutils-boot0@3.6" -> "make-boot0@4.2.1" [color = black];
"diffutils-boot0@3.6" [label = "diffutils-boot0@3.6", shape = box, fontname = Helvetica];
"file-boot0@5.33" -> "binutils-bootstrap@0" [color = black];
"file-boot0@5.33" -> "bootstrap-binaries@0" [color = black];
"file-boot0@5.33" -> "gcc-bootstrap@0" [color = black];
"file-boot0@5.33" -> "glibc-bootstrap@0" [color = black];
"file-boot0@5.33" -> "make-boot0@4.2.1" [color = black];
"file-boot0@5.33" [label = "file-boot0@5.33", shape = box, fontname = Helvetica];
"findutils-boot0@4.6.0" -> "binutils-bootstrap@0" [color = black];
"findutils-boot0@4.6.0" -> "bootstrap-binaries@0" [color = black];
"findutils-boot0@4.6.0" -> "diffutils-boot0@3.6" [color = black];
"findutils-boot0@4.6.0" -> "gcc-bootstrap@0" [color = black];
"findutils-boot0@4.6.0" -> "glibc-bootstrap@0" [color = black];
"findutils-boot0@4.6.0" -> "make-boot0@4.2.1" [color = black];
"findutils-boot0@4.6.0" [label = "findutils-boot0@4.6.0", shape = box, fontname = Helvetica];
"gcc-bootstrap@0" -> "glibc-bootstrap@0" [color = black];
"gcc-bootstrap@0" [label = "gcc-bootstrap@0", fontname = Helvetica];
"glibc-bootstrap@0" [label = "glibc-bootstrap@0", fontname = Helvetica];
"make-boot0@4.2.1" -> "binutils-bootstrap@0" [color = black];
"make-boot0@4.2.1" -> "bootstrap-binaries@0" [color = black];
"make-boot0@4.2.1" -> "gcc-bootstrap@0" [color = black];
"make-boot0@4.2.1" -> "glibc-bootstrap@0" [color = black];
"make-boot0@4.2.1" [label = "make-boot0@4.2.1", shape = box, fontname = Helvetica];
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 359 KiB

View File

@ -0,0 +1,116 @@
digraph "Guix package" {
"139965588787520" [label = "gcc-core0", 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 = "binutils0", 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 = "bash0", 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 = "make0", 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 = "tcc0", 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", 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", 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", shape = ellipse, fontname = sans];
"139965588789600" -> "139965588790080" [color = peachpuff4];
"139965588790080" [label = "bootar", shape = box, fontname = sans];
"139965588790080" -> "139965749563136" [color = darkseagreen];
"139965749563136" [label = "%bootstrap-guile", shape = ellipse, fontname = sans];
"139965588789920" [label = "gash", shape = box, fontname = sans];
"139965588789920" -> "139965588790080" [color = magenta];
"139965588789920" -> "139965749563136" [color = magenta];
"139965588789760" [label = "gash-utils", shape = box, fontname = sans];
"139965588789760" -> "139965588790080" [color = magenta];
"139965588789760" -> "139965588789920" [color = magenta];
"139965588789760" -> "139965749563136" [color = magenta];
"139965588788640" [label = "bzip2", 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", 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", 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", 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 = "sed0", 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", 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];
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 475 KiB

View File

@ -0,0 +1,116 @@
digraph "Guix package" {
"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];
}

View File

@ -0,0 +1,116 @@
digraph "Guix package" {
"139965588787520" [label = "gcc-core0", 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 = "binutils0", 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 = "bash0", 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 = "make0", 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 = "tcc0", 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", 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", 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", shape = ellipse, fontname = sans];
"139965588789600" -> "139965588790080" [color = peachpuff4];
"139965588790080" [label = "bootar", shape = box, fontname = sans];
"139965588790080" -> "139965749563136" [color = darkseagreen];
"139965749563136" [label = "%bootstrap-guile", shape = ellipse, fontname = sans];
"139965588789920" [label = "gash", shape = box, fontname = sans];
"139965588789920" -> "139965588790080" [color = magenta];
"139965588789920" -> "139965749563136" [color = magenta];
"139965588789760" [label = "gash-utils", shape = box, fontname = sans];
"139965588789760" -> "139965588790080" [color = magenta];
"139965588789760" -> "139965588789920" [color = magenta];
"139965588789760" -> "139965749563136" [color = magenta];
"139965588788640" [label = "bzip2", 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", 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", 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", 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 = "sed0", 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", 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];
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 686 KiB

View File

@ -0,0 +1,116 @@
digraph "Guix package" {
"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];
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 733 KiB

View File

@ -0,0 +1,116 @@
digraph "Guix package" {
"gcc-core0" [label = "gcc-core0", shape = box, fontname = Helvetica];
"gcc-core0" -> "binutils0" [color = peachpuff4];
"gcc-core0" -> "bash0" [color = peachpuff4];
"gcc-core0" -> "bzip2" [color = peachpuff4];
"gcc-core0" -> "diffutils" [color = peachpuff4];
"gcc-core0" -> "gzip" [color = peachpuff4];
"gcc-core0" -> "patch" [color = peachpuff4];
"gcc-core0" -> "sed0" [color = peachpuff4];
"gcc-core0" -> "tcc" [color = peachpuff4];
"gcc-core0" -> "make0" [color = peachpuff4];
"gcc-core0" -> "gash" [color = peachpuff4];
"gcc-core0" -> "gash core utils" [color = peachpuff4];
# "gcc-core0" -> "139838140100384" [color = peachpuff4];
"gcc-core0" -> "bootstrap-guile" [color = peachpuff4];
"binutils0" [label = "binutils0", shape = box, fontname = Helvetica];
"binutils0" -> "bash0" [color = cyan3];
"binutils0" -> "bzip2" [color = cyan3];
"binutils0" -> "diffutils" [color = cyan3];
"binutils0" -> "gzip" [color = cyan3];
"binutils0" -> "patch" [color = cyan3];
"binutils0" -> "sed0" [color = cyan3];
"binutils0" -> "tcc" [color = cyan3];
"binutils0" -> "make0" [color = cyan3];
"binutils0" -> "gash" [color = cyan3];
"binutils0" -> "gash core utils" [color = cyan3];
# "binutils0" -> "139838140100384" [color = cyan3];
"binutils0" -> "bootstrap-guile" [color = cyan3];
"bash0" [label = "bash0", shape = box, fontname = Helvetica];
"bash0" -> "make0" [color = darkgoldenrod];
"bash0" -> "tcc0" [color = darkgoldenrod];
"bash0" -> "gash" [color = darkgoldenrod];
"bash0" -> "gash core utils" [color = darkgoldenrod];
# "bash0" -> "139838140100384" [color = darkgoldenrod];
"bash0" -> "bootstrap-guile" [color = darkgoldenrod];
"make0" [label = "make0", shape = box, fontname = Helvetica];
"make0" -> "tcc0" [color = blue];
"make0" -> "gash" [color = blue];
"make0" -> "gash core utils" [color = blue];
# "make0" -> "139838140100384" [color = blue];
"make0" -> "bootstrap-guile" [color = blue];
"tcc0" [label = "tcc0", shape = box, fontname = Helvetica];
"tcc0" -> "mes" [color = red];
"tcc0" -> "bootstrap-mescc-tools" [color = red];
"tcc0" -> "gash" [color = red];
"tcc0" -> "gash core utils" [color = red];
# "tcc0" -> "139838140100384" [color = red];
"tcc0" -> "bootstrap-guile" [color = red];
#"mes" [label = "mes", shape = box, fontname = Helvetica];
"mes" [label = "mes", shape = box, fontname = Helvetica];
"mes" -> "bootstrap-mes" [color = cyan3];
"mes" -> "bootstrap-mescc-tools" [color = cyan3];
"mes" -> "gash" [color = cyan3];
"mes" -> "gash core utils" [color = cyan3];
# "mes" -> "139838140100384" [color = cyan3];
"mes" -> "bootstrap-guile" [color = cyan3];
#"139837957673136" [label = "bootstrap-mes-rewired", shape = box, fontname = Helvetica];
#"139837957673136" [label = "bootstrap-mes", fontname = Helvetica];
#"bootstrap-mes" -> "139838140099152" [color = darkseagreen];
#"bootstrap-mes" -> "gash" [color = darkseagreen];
#"139838140099152" [label = "bootstrap-mes", shape = box, fontname = Helvetica];
#"139838140099152" [label = "bootstrap-mes", fontname = Helvetica];
"gash" [label = "gash", shape = box, fontname = Helvetica];
"gash" -> "bootstrap-guile" [color = red];
#"bootstrap-guile" [label = "bootstrap-guile+guild", shape = box, fontname = Helvetica];
"bootstrap-guile" [label = "bootstrap-guile", fontname = Helvetica];
# "bootstrap-guile" -> "139838140100384" [color = darkviolet];
# "139838140100384" [label = "bootstrap-guile", shape = box, fontname = Helvetica];
#"bootstrap-mescc-tools" [label = "bootstrap-mescc-tools", shape = box, fontname = Helvetica];
"bootstrap-mescc-tools" [label = "bootstrap-mescc-tools", fontname = Helvetica];
"gash core utils" [label = "gash-core-utils", shape = box, fontname = Helvetica];
"gash core utils" -> "bootstrap-guile" [color = red];
"gash core utils" -> "gash" [color = red];
"bzip2" [label = "bzip2", shape = box, fontname = Helvetica];
"bzip2" -> "make0" [color = red];
"bzip2" -> "tcc0" [color = red];
"bzip2" -> "gash" [color = red];
"bzip2" -> "gash core utils" [color = red];
# "bzip2" -> "139838140100384" [color = red];
"bzip2" -> "bootstrap-guile" [color = red];
"diffutils" [label = "diffutils", shape = box, fontname = Helvetica];
"diffutils" -> "make0" [color = blue];
"diffutils" -> "tcc0" [color = blue];
"diffutils" -> "gash" [color = blue];
"diffutils" -> "gash core utils" [color = blue];
# "diffutils" -> "139838140100384" [color = blue];
"diffutils" -> "bootstrap-guile" [color = blue];
"gzip" [label = "gzip", shape = box, fontname = Helvetica];
"gzip" -> "tcc0" [color = blue];
"gzip" -> "gash" [color = blue];
"gzip" -> "gash core utils" [color = blue];
# "gzip" -> "139838140100384" [color = blue];
"gzip" -> "bootstrap-guile" [color = blue];
"patch" [label = "patch", shape = box, fontname = Helvetica];
"patch" -> "make0" [color = blue];
"patch" -> "tcc0" [color = blue];
"patch" -> "gash" [color = blue];
"patch" -> "gash core utils" [color = blue];
# "patch" -> "139838140100384" [color = blue];
"patch" -> "bootstrap-guile" [color = blue];
"sed0" [label = "sed0", shape = box, fontname = Helvetica];
"sed0" -> "make0" [color = magenta];
"sed0" -> "tcc0" [color = magenta];
"sed0" -> "gash" [color = magenta];
"sed0" -> "gash core utils" [color = magenta];
# "sed0" -> "139838140100384" [color = magenta];
"sed0" -> "bootstrap-guile" [color = magenta];
"tcc" [label = "tcc", shape = box, fontname = Helvetica];
"tcc" -> "bzip2" [color = darkviolet];
"tcc" -> "make0" [color = darkviolet];
"tcc" -> "tcc0" [color = darkviolet];
"tcc" -> "gash" [color = darkviolet];
"tcc" -> "gash core utils" [color = darkviolet];
# "tcc" -> "139838140100384" [color = darkviolet];
"tcc" -> "bootstrap-guile" [color = darkviolet];
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 395 KiB

View File

@ -0,0 +1,116 @@
digraph "Guix package" {
"gcc-core0" [label = "gcc-core0@2.95.3", shape = box, fontname = Helvetica];
"gcc-core0" -> "binutils0" [color = peachpuff4];
"gcc-core0" -> "bash0" [color = peachpuff4];
"gcc-core0" -> "bzip2" [color = peachpuff4];
"gcc-core0" -> "diffutils" [color = peachpuff4];
"gcc-core0" -> "gzip" [color = peachpuff4];
"gcc-core0" -> "patch" [color = peachpuff4];
"gcc-core0" -> "sed0" [color = peachpuff4];
"gcc-core0" -> "tcc" [color = peachpuff4];
"gcc-core0" -> "make0" [color = peachpuff4];
"gcc-core0" -> "gash" [color = peachpuff4];
"gcc-core0" -> "gash core utils" [color = peachpuff4];
# "gcc-core0" -> "139838140100384" [color = peachpuff4];
"gcc-core0" -> "bootstrap-guile" [color = peachpuff4];
"binutils0" [label = "binutils0@2.14", shape = box, fontname = Helvetica];
"binutils0" -> "bash0" [color = cyan3];
"binutils0" -> "bzip2" [color = cyan3];
"binutils0" -> "diffutils" [color = cyan3];
"binutils0" -> "gzip" [color = cyan3];
"binutils0" -> "patch" [color = cyan3];
"binutils0" -> "sed0" [color = cyan3];
"binutils0" -> "tcc" [color = cyan3];
"binutils0" -> "make0" [color = cyan3];
"binutils0" -> "gash" [color = cyan3];
"binutils0" -> "gash core utils" [color = cyan3];
# "binutils0" -> "139838140100384" [color = cyan3];
"binutils0" -> "bootstrap-guile" [color = cyan3];
"bash0" [label = "bash0@2.05b", shape = box, fontname = Helvetica];
"bash0" -> "make0" [color = darkgoldenrod];
"bash0" -> "tcc0" [color = darkgoldenrod];
"bash0" -> "gash" [color = darkgoldenrod];
"bash0" -> "gash core utils" [color = darkgoldenrod];
# "bash0" -> "139838140100384" [color = darkgoldenrod];
"bash0" -> "bootstrap-guile" [color = darkgoldenrod];
"make0" [label = "make0@3.80", shape = box, fontname = Helvetica];
"make0" -> "tcc0" [color = blue];
"make0" -> "gash" [color = blue];
"make0" -> "gash core utils" [color = blue];
# "make0" -> "139838140100384" [color = blue];
"make0" -> "bootstrap-guile" [color = blue];
"tcc0" [label = "tcc0@0.9.26", shape = box, fontname = Helvetica];
"tcc0" -> "mes" [color = red];
"tcc0" -> "bootstrap-mescc-tools" [color = red];
"tcc0" -> "gash" [color = red];
"tcc0" -> "gash core utils" [color = red];
# "tcc0" -> "139838140100384" [color = red];
"tcc0" -> "bootstrap-guile" [color = red];
#"mes" [label = "mes@0.21-54-g85cadbb2c", shape = box, fontname = Helvetica];
"mes" [label = "mes@0.22", shape = box, fontname = Helvetica];
"mes" -> "bootstrap-mes@0.19" [color = cyan3];
"mes" -> "bootstrap-mescc-tools" [color = cyan3];
"mes" -> "gash" [color = cyan3];
"mes" -> "gash core utils" [color = cyan3];
# "mes" -> "139838140100384" [color = cyan3];
"mes" -> "bootstrap-guile" [color = cyan3];
#"139837957673136" [label = "bootstrap-mes-rewired@0.19", shape = box, fontname = Helvetica];
#"139837957673136" [label = "bootstrap-mes@0.19", fontname = Helvetica];
#"bootstrap-mes" -> "139838140099152" [color = darkseagreen];
#"bootstrap-mes" -> "gash" [color = darkseagreen];
#"139838140099152" [label = "bootstrap-mes@0", shape = box, fontname = Helvetica];
#"139838140099152" [label = "bootstrap-mes@0.19", fontname = Helvetica];
"gash" [label = "gash@0.2.0", shape = box, fontname = Helvetica];
"gash" -> "bootstrap-guile" [color = red];
#"bootstrap-guile" [label = "bootstrap-guile+guild@2.0", shape = box, fontname = Helvetica];
"bootstrap-guile" [label = "bootstrap-guile@2.0", fontname = Helvetica];
# "bootstrap-guile" -> "139838140100384" [color = darkviolet];
# "139838140100384" [label = "bootstrap-guile@2.0", shape = box, fontname = Helvetica];
#"bootstrap-mescc-tools" [label = "bootstrap-mescc-tools@0.5.2", shape = box, fontname = Helvetica];
"bootstrap-mescc-tools" [label = "bootstrap-mescc-tools@0.5.2", fontname = Helvetica];
"gash core utils" [label = "gash-core-utils@0.0", shape = box, fontname = Helvetica];
"gash core utils" -> "bootstrap-guile" [color = red];
"gash core utils" -> "gash" [color = red];
"bzip2" [label = "bzip2@1.0.6", shape = box, fontname = Helvetica];
"bzip2" -> "make0" [color = red];
"bzip2" -> "tcc0" [color = red];
"bzip2" -> "gash" [color = red];
"bzip2" -> "gash core utils" [color = red];
# "bzip2" -> "139838140100384" [color = red];
"bzip2" -> "bootstrap-guile" [color = red];
"diffutils" [label = "diffutils@2.7", shape = box, fontname = Helvetica];
"diffutils" -> "make0" [color = blue];
"diffutils" -> "tcc0" [color = blue];
"diffutils" -> "gash" [color = blue];
"diffutils" -> "gash core utils" [color = blue];
# "diffutils" -> "139838140100384" [color = blue];
"diffutils" -> "bootstrap-guile" [color = blue];
"gzip" [label = "gzip@1.2.4", shape = box, fontname = Helvetica];
"gzip" -> "tcc0" [color = blue];
"gzip" -> "gash" [color = blue];
"gzip" -> "gash core utils" [color = blue];
# "gzip" -> "139838140100384" [color = blue];
"gzip" -> "bootstrap-guile" [color = blue];
"patch" [label = "patch@2.5.9", shape = box, fontname = Helvetica];
"patch" -> "make0" [color = blue];
"patch" -> "tcc0" [color = blue];
"patch" -> "gash" [color = blue];
"patch" -> "gash core utils" [color = blue];
# "patch" -> "139838140100384" [color = blue];
"patch" -> "bootstrap-guile" [color = blue];
"sed0" [label = "sed0@1.18", shape = box, fontname = Helvetica];
"sed0" -> "make0" [color = magenta];
"sed0" -> "tcc0" [color = magenta];
"sed0" -> "gash" [color = magenta];
"sed0" -> "gash core utils" [color = magenta];
# "sed0" -> "139838140100384" [color = magenta];
"sed0" -> "bootstrap-guile" [color = magenta];
"tcc" [label = "tcc@0.9.27", shape = box, fontname = Helvetica];
"tcc" -> "bzip2" [color = darkviolet];
"tcc" -> "make0" [color = darkviolet];
"tcc" -> "tcc0" [color = darkviolet];
"tcc" -> "gash" [color = darkviolet];
"tcc" -> "gash core utils" [color = darkviolet];
# "tcc" -> "139838140100384" [color = darkviolet];
"tcc" -> "bootstrap-guile" [color = darkviolet];
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 427 KiB

View File

@ -0,0 +1,180 @@
digraph "Guix package" {
"gcc0" [label = "gcc0", shape = box, fontname = Helvetica];
"gcc0" -> "glibc0" [color = red];
"gcc0" -> "linux-libre-headers" [color = red];
"gcc0" -> "binutils0" [color = red];
"gcc0" -> "gawk0" [color = red];
"gcc0" -> "gcc-core0" [color = red];
"gcc0" -> "bash0" [color = red];
"gcc0" -> "bzip2" [color = red];
"gcc0" -> "diffutils" [color = red];
"gcc0" -> "gzip" [color = red];
"gcc0" -> "patch" [color = red];
"gcc0" -> "sed0" [color = red];
"gcc0" -> "make0" [color = red];
"gcc0" -> "gash" [color = red];
"gcc0" -> "gash-core-utils" [color = red];
"gcc0" -> "bootstrap-guile" [color = red];
#"gcc0" -> "guile-bootstrap+guild" [color = red];
"glibc0" [label = "glibc0", shape = box, fontname = Helvetica];
"glibc0" -> "mes-headers" [color = dimgrey];
"glibc0" -> "binutils0" [color = dimgrey];
"glibc0" -> "gawk0" [color = dimgrey];
"glibc0" -> "gcc-core0" [color = dimgrey];
"glibc0" -> "bash0" [color = dimgrey];
"glibc0" -> "bzip2" [color = dimgrey];
"glibc0" -> "diffutils" [color = dimgrey];
"glibc0" -> "gzip" [color = dimgrey];
"glibc0" -> "patch" [color = dimgrey];
"glibc0" -> "sed0" [color = dimgrey];
"glibc0" -> "make0" [color = dimgrey];
"glibc0" -> "gash" [color = dimgrey];
"glibc0" -> "gash-core-utils" [color = dimgrey];
"glibc0" -> "bootstrap-guile" [color = dimgrey];
#"glibc0" -> "guile-bootstrap+guild" [color = dimgrey];
"mes-headers" [label = "mes-headers", shape = box, fontname = Helvetica];
"mes-headers" -> "linux-libre-headers" [color = blue];
"mes-headers" -> "bash0" [color = blue];
"mes-headers" -> "bzip2" [color = blue];
"mes-headers" -> "diffutils" [color = blue];
"mes-headers" -> "gzip" [color = blue];
"mes-headers" -> "patch" [color = blue];
"mes-headers" -> "sed0" [color = blue];
"mes-headers" -> "tcc" [color = blue];
"mes-headers" -> "make0" [color = blue];
"mes-headers" -> "gash" [color = blue];
"mes-headers" -> "gash-core-utils" [color = blue];
"mes-headers" -> "bootstrap-guile" [color = blue];
#"mes-headers" -> "guile-bootstrap+guild" [color = blue];
#"linux-libre-headers" [label = "linux-libre-headers-bootstrap", shape = box, fontname = Helvetica];
"linux-libre-headers" [label = "bootstrap-linux-libre-headers", fontname = Helvetica];
"bash0" [label = "bash0", shape = box, fontname = Helvetica];
"bash0" -> "make0" [color = dimgrey];
"bash0" -> "tcc0" [color = dimgrey];
"bash0" -> "gash" [color = dimgrey];
"bash0" -> "gash-core-utils" [color = dimgrey];
"bash0" -> "bootstrap-guile" [color = dimgrey];
#"bash0" -> "guile-bootstrap+guild" [color = dimgrey];
"make0" [label = "make0", shape = box, fontname = Helvetica];
"make0" -> "tcc0" [color = red];
"make0" -> "gash" [color = red];
"make0" -> "gash-core-utils" [color = red];
"make0" -> "bootstrap-guile" [color = red];
#"make0" -> "guile-bootstrap+guild" [color = red];
"tcc0" [label = "tcc0", shape = box, fontname = Helvetica];
"tcc0" -> "mes" [color = darkgoldenrod];
"tcc0" -> "bootstrap-mescc-tools" [color = darkgoldenrod];
"tcc0" -> "gash" [color = darkgoldenrod];
"tcc0" -> "gash-core-utils" [color = darkgoldenrod];
"tcc0" -> "bootstrap-guile" [color = darkgoldenrod];
#"tcc0" -> "guile-bootstrap+guild" [color = darkgoldenrod];
"mes" [label = "mes", shape = box, fontname = Helvetica];
#"mes" -> "bootstrap-mes-rewired" [color = darkgoldenrod];
"mes" -> "bootstrap-mes" [color = darkgoldenrod];
"mes" -> "bootstrap-mescc-tools" [color = darkgoldenrod];
"mes" -> "gash" [color = darkgoldenrod];
"mes" -> "gash-core-utils" [color = darkgoldenrod];
"mes" -> "bootstrap-guile" [color = darkgoldenrod];
#"mes" -> "guile-bootstrap+guild" [color = darkgoldenrod];
#"bootstrap-mes-rewired" [label = "bootstrap-mes-rewired", shape = box, fontname = Helvetica];
#"bootstrap-mes-rewired" -> "bootstrap-mes" [color = dimgrey];
#"bootstrap-mes-rewired" -> "gash" [color = dimgrey];
#"bootstrap-mes" [label = "bootstrap-mes", shape = box, fontname = Helvetica];
"bootstrap-mes" [label = "bootstrap-mes", fontname = Helvetica];
"gash" [label = "gash", shape = box, fontname = Helvetica];
"gash" -> "bootstrap-guile" [color = darkviolet];
# "guile-bootstrap+guild" [label = "guile-bootstrap+guild", shape = box, fontname = Helvetica];
# "guile-bootstrap+guild" -> "bootstrap-guile" [color = blue];
#"bootstrap-guile" [label = "guile-bootstrap", shape = box, fontname = Helvetica];
"bootstrap-guile" [label = "guile-bootstrap", fontname = Helvetica];
#"bootstrap-mescc-tools" [label = "bootstrap-mescc-tools", shape = box, fontname = Helvetica];
"bootstrap-mescc-tools" [label = "bootstrap-mescc-tools", fontname = Helvetica];
"gash-core-utils" [label = "gash-core-utils", shape = box, fontname = Helvetica];
"gash-core-utils" -> "bootstrap-guile" [color = red];
"gash-core-utils" -> "gash" [color = red];
"bzip2" [label = "bzip2", shape = box, fontname = Helvetica];
"bzip2" -> "make0" [color = darkgoldenrod];
"bzip2" -> "tcc0" [color = darkgoldenrod];
"bzip2" -> "gash" [color = darkgoldenrod];
"bzip2" -> "gash-core-utils" [color = darkgoldenrod];
"bzip2" -> "bootstrap-guile" [color = darkgoldenrod];
#"bzip2" -> "guile-bootstrap+guild" [color = darkgoldenrod];
"diffutils" [label = "diffutils", shape = box, fontname = Helvetica];
"diffutils" -> "make0" [color = darkgoldenrod];
"diffutils" -> "tcc0" [color = darkgoldenrod];
"diffutils" -> "gash" [color = darkgoldenrod];
"diffutils" -> "gash-core-utils" [color = darkgoldenrod];
"diffutils" -> "bootstrap-guile" [color = darkgoldenrod];
#"diffutils" -> "guile-bootstrap+guild" [color = darkgoldenrod];
"gzip" [label = "gzip", shape = box, fontname = Helvetica];
"gzip" -> "tcc0" [color = darkseagreen];
"gzip" -> "gash" [color = darkseagreen];
"gzip" -> "gash-core-utils" [color = darkseagreen];
"gzip" -> "bootstrap-guile" [color = darkseagreen];
#"gzip" -> "guile-bootstrap+guild" [color = darkseagreen];
"patch" [label = "patch", shape = box, fontname = Helvetica];
"patch" -> "make0" [color = peachpuff4];
"patch" -> "tcc0" [color = peachpuff4];
"patch" -> "gash" [color = peachpuff4];
"patch" -> "gash-core-utils" [color = peachpuff4];
"patch" -> "bootstrap-guile" [color = peachpuff4];
#"patch" -> "guile-bootstrap+guild" [color = peachpuff4];
"sed0" [label = "sed0", shape = box, fontname = Helvetica];
"sed0" -> "make0" [color = peachpuff4];
"sed0" -> "tcc0" [color = peachpuff4];
"sed0" -> "gash" [color = peachpuff4];
"sed0" -> "gash-core-utils" [color = peachpuff4];
"sed0" -> "bootstrap-guile" [color = peachpuff4];
#"sed0" -> "guile-bootstrap+guild" [color = peachpuff4];
"tcc" [label = "tcc0", shape = box, fontname = Helvetica];
"tcc" -> "bzip2" [color = blue];
"tcc" -> "make0" [color = blue];
"tcc" -> "tcc0" [color = blue];
"tcc" -> "gash" [color = blue];
"tcc" -> "gash-core-utils" [color = blue];
"tcc" -> "bootstrap-guile" [color = blue];
#"tcc" -> "guile-bootstrap+guild" [color = blue];
"binutils0" [label = "binutils0", shape = box, fontname = Helvetica];
"binutils0" -> "bash0" [color = darkgoldenrod];
"binutils0" -> "bzip2" [color = darkgoldenrod];
"binutils0" -> "diffutils" [color = darkgoldenrod];
"binutils0" -> "gzip" [color = darkgoldenrod];
"binutils0" -> "patch" [color = darkgoldenrod];
"binutils0" -> "sed0" [color = darkgoldenrod];
"binutils0" -> "tcc" [color = darkgoldenrod];
"binutils0" -> "make0" [color = darkgoldenrod];
"binutils0" -> "gash" [color = darkgoldenrod];
"binutils0" -> "gash-core-utils" [color = darkgoldenrod];
"binutils0" -> "bootstrap-guile" [color = darkgoldenrod];
#"binutils0" -> "guile-bootstrap+guild" [color = darkgoldenrod];
"gawk0" [label = "gawk0", shape = box, fontname = Helvetica];
"gawk0" -> "bash0" [color = dimgrey];
"gawk0" -> "bzip2" [color = dimgrey];
"gawk0" -> "diffutils" [color = dimgrey];
"gawk0" -> "gzip" [color = dimgrey];
"gawk0" -> "patch" [color = dimgrey];
"gawk0" -> "sed0" [color = dimgrey];
"gawk0" -> "tcc" [color = dimgrey];
"gawk0" -> "make0" [color = dimgrey];
"gawk0" -> "gash" [color = dimgrey];
"gawk0" -> "gash-core-utils" [color = dimgrey];
"gawk0" -> "bootstrap-guile" [color = dimgrey];
#"gawk0" -> "guile-bootstrap+guild" [color = dimgrey];
"gcc-core0" [label = "gcc-core0", shape = box, fontname = Helvetica];
"gcc-core0" -> "binutils0" [color = red];
"gcc-core0" -> "bash0" [color = red];
"gcc-core0" -> "bzip2" [color = red];
"gcc-core0" -> "diffutils" [color = red];
"gcc-core0" -> "gzip" [color = red];
"gcc-core0" -> "patch" [color = red];
"gcc-core0" -> "sed0" [color = red];
"gcc-core0" -> "tcc" [color = red];
"gcc-core0" -> "make0" [color = red];
"gcc-core0" -> "gash" [color = red];
"gcc-core0" -> "gash-core-utils" [color = red];
"gcc-core0" -> "bootstrap-guile" [color = red];
#"gcc-core0" -> "guile-bootstrap+guild" [color = red];
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 786 KiB

View File

@ -0,0 +1,180 @@
digraph "Guix package" {
"gcc0" [label = "gcc0@2.95.3", shape = box, fontname = Helvetica];
"gcc0" -> "glibc0" [color = red];
"gcc0" -> "linux-libre-headers" [color = red];
"gcc0" -> "binutils0" [color = red];
"gcc0" -> "gawk0" [color = red];
"gcc0" -> "gcc-core0" [color = red];
"gcc0" -> "bash0" [color = red];
"gcc0" -> "bzip2" [color = red];
"gcc0" -> "diffutils" [color = red];
"gcc0" -> "gzip" [color = red];
"gcc0" -> "patch" [color = red];
"gcc0" -> "sed0" [color = red];
"gcc0" -> "make0" [color = red];
"gcc0" -> "gash" [color = red];
"gcc0" -> "gash-core-utils" [color = red];
"gcc0" -> "bootstrap-guile" [color = red];
#"gcc0" -> "guile-bootstrap+guild" [color = red];
"glibc0" [label = "glibc0@2.2.5", shape = box, fontname = Helvetica];
"glibc0" -> "mes-headers" [color = dimgrey];
"glibc0" -> "binutils0" [color = dimgrey];
"glibc0" -> "gawk0" [color = dimgrey];
"glibc0" -> "gcc-core0" [color = dimgrey];
"glibc0" -> "bash0" [color = dimgrey];
"glibc0" -> "bzip2" [color = dimgrey];
"glibc0" -> "diffutils" [color = dimgrey];
"glibc0" -> "gzip" [color = dimgrey];
"glibc0" -> "patch" [color = dimgrey];
"glibc0" -> "sed0" [color = dimgrey];
"glibc0" -> "make0" [color = dimgrey];
"glibc0" -> "gash" [color = dimgrey];
"glibc0" -> "gash-core-utils" [color = dimgrey];
"glibc0" -> "bootstrap-guile" [color = dimgrey];
#"glibc0" -> "guile-bootstrap+guild" [color = dimgrey];
"mes-headers" [label = "mes-headers@0.22", shape = box, fontname = Helvetica];
"mes-headers" -> "linux-libre-headers" [color = blue];
"mes-headers" -> "bash0" [color = blue];
"mes-headers" -> "bzip2" [color = blue];
"mes-headers" -> "diffutils" [color = blue];
"mes-headers" -> "gzip" [color = blue];
"mes-headers" -> "patch" [color = blue];
"mes-headers" -> "sed0" [color = blue];
"mes-headers" -> "tcc" [color = blue];
"mes-headers" -> "make0" [color = blue];
"mes-headers" -> "gash" [color = blue];
"mes-headers" -> "gash-core-utils" [color = blue];
"mes-headers" -> "bootstrap-guile" [color = blue];
#"mes-headers" -> "guile-bootstrap+guild" [color = blue];
#"linux-libre-headers" [label = "linux-libre-headers-bootstrap@0", shape = box, fontname = Helvetica];
"linux-libre-headers" [label = "bootstrap-linux-libre-headers@0", fontname = Helvetica];
"bash0" [label = "bash0@2.05b", shape = box, fontname = Helvetica];
"bash0" -> "make0" [color = dimgrey];
"bash0" -> "tcc0" [color = dimgrey];
"bash0" -> "gash" [color = dimgrey];
"bash0" -> "gash-core-utils" [color = dimgrey];
"bash0" -> "bootstrap-guile" [color = dimgrey];
#"bash0" -> "guile-bootstrap+guild" [color = dimgrey];
"make0" [label = "make0@3.80", shape = box, fontname = Helvetica];
"make0" -> "tcc0" [color = red];
"make0" -> "gash" [color = red];
"make0" -> "gash-core-utils" [color = red];
"make0" -> "bootstrap-guile" [color = red];
#"make0" -> "guile-bootstrap+guild" [color = red];
"tcc0" [label = "tcc0@0.9.26", shape = box, fontname = Helvetica];
"tcc0" -> "mes" [color = darkgoldenrod];
"tcc0" -> "bootstrap-mescc-tools" [color = darkgoldenrod];
"tcc0" -> "gash" [color = darkgoldenrod];
"tcc0" -> "gash-core-utils" [color = darkgoldenrod];
"tcc0" -> "bootstrap-guile" [color = darkgoldenrod];
#"tcc0" -> "guile-bootstrap+guild" [color = darkgoldenrod];
"mes" [label = "mes@0.22", shape = box, fontname = Helvetica];
#"mes" -> "bootstrap-mes-rewired" [color = darkgoldenrod];
"mes" -> "bootstrap-mes" [color = darkgoldenrod];
"mes" -> "bootstrap-mescc-tools" [color = darkgoldenrod];
"mes" -> "gash" [color = darkgoldenrod];
"mes" -> "gash-core-utils" [color = darkgoldenrod];
"mes" -> "bootstrap-guile" [color = darkgoldenrod];
#"mes" -> "guile-bootstrap+guild" [color = darkgoldenrod];
#"bootstrap-mes-rewired" [label = "bootstrap-mes-rewired@0.19", shape = box, fontname = Helvetica];
#"bootstrap-mes-rewired" -> "bootstrap-mes" [color = dimgrey];
#"bootstrap-mes-rewired" -> "gash" [color = dimgrey];
#"bootstrap-mes" [label = "bootstrap-mes@0", shape = box, fontname = Helvetica];
"bootstrap-mes" [label = "bootstrap-mes@0.19", fontname = Helvetica];
"gash" [label = "gash@0.2.0", shape = box, fontname = Helvetica];
"gash" -> "bootstrap-guile" [color = darkviolet];
# "guile-bootstrap+guild" [label = "guile-bootstrap+guild@2.0", shape = box, fontname = Helvetica];
# "guile-bootstrap+guild" -> "bootstrap-guile" [color = blue];
#"bootstrap-guile" [label = "guile-bootstrap@2.0", shape = box, fontname = Helvetica];
"bootstrap-guile" [label = "guile-bootstrap@2.0", fontname = Helvetica];
#"bootstrap-mescc-tools" [label = "bootstrap-mescc-tools@0.5.2", shape = box, fontname = Helvetica];
"bootstrap-mescc-tools" [label = "bootstrap-mescc-tools@0.5.2", fontname = Helvetica];
"gash-core-utils" [label = "gash-core-utils@0.0", shape = box, fontname = Helvetica];
"gash-core-utils" -> "bootstrap-guile" [color = red];
"gash-core-utils" -> "gash" [color = red];
"bzip2" [label = "bzip2@1.0.6", shape = box, fontname = Helvetica];
"bzip2" -> "make0" [color = darkgoldenrod];
"bzip2" -> "tcc0" [color = darkgoldenrod];
"bzip2" -> "gash" [color = darkgoldenrod];
"bzip2" -> "gash-core-utils" [color = darkgoldenrod];
"bzip2" -> "bootstrap-guile" [color = darkgoldenrod];
#"bzip2" -> "guile-bootstrap+guild" [color = darkgoldenrod];
"diffutils" [label = "diffutils@2.7", shape = box, fontname = Helvetica];
"diffutils" -> "make0" [color = darkgoldenrod];
"diffutils" -> "tcc0" [color = darkgoldenrod];
"diffutils" -> "gash" [color = darkgoldenrod];
"diffutils" -> "gash-core-utils" [color = darkgoldenrod];
"diffutils" -> "bootstrap-guile" [color = darkgoldenrod];
#"diffutils" -> "guile-bootstrap+guild" [color = darkgoldenrod];
"gzip" [label = "gzip@1.2.4", shape = box, fontname = Helvetica];
"gzip" -> "tcc0" [color = darkseagreen];
"gzip" -> "gash" [color = darkseagreen];
"gzip" -> "gash-core-utils" [color = darkseagreen];
"gzip" -> "bootstrap-guile" [color = darkseagreen];
#"gzip" -> "guile-bootstrap+guild" [color = darkseagreen];
"patch" [label = "patch@2.5.9", shape = box, fontname = Helvetica];
"patch" -> "make0" [color = peachpuff4];
"patch" -> "tcc0" [color = peachpuff4];
"patch" -> "gash" [color = peachpuff4];
"patch" -> "gash-core-utils" [color = peachpuff4];
"patch" -> "bootstrap-guile" [color = peachpuff4];
#"patch" -> "guile-bootstrap+guild" [color = peachpuff4];
"sed0" [label = "sed0@1.18", shape = box, fontname = Helvetica];
"sed0" -> "make0" [color = peachpuff4];
"sed0" -> "tcc0" [color = peachpuff4];
"sed0" -> "gash" [color = peachpuff4];
"sed0" -> "gash-core-utils" [color = peachpuff4];
"sed0" -> "bootstrap-guile" [color = peachpuff4];
#"sed0" -> "guile-bootstrap+guild" [color = peachpuff4];
"tcc" [label = "tcc0@0.9.27", shape = box, fontname = Helvetica];
"tcc" -> "bzip2" [color = blue];
"tcc" -> "make0" [color = blue];
"tcc" -> "tcc0" [color = blue];
"tcc" -> "gash" [color = blue];
"tcc" -> "gash-core-utils" [color = blue];
"tcc" -> "bootstrap-guile" [color = blue];
#"tcc" -> "guile-bootstrap+guild" [color = blue];
"binutils0" [label = "binutils0@2.14", shape = box, fontname = Helvetica];
"binutils0" -> "bash0" [color = darkgoldenrod];
"binutils0" -> "bzip2" [color = darkgoldenrod];
"binutils0" -> "diffutils" [color = darkgoldenrod];
"binutils0" -> "gzip" [color = darkgoldenrod];
"binutils0" -> "patch" [color = darkgoldenrod];
"binutils0" -> "sed0" [color = darkgoldenrod];
"binutils0" -> "tcc" [color = darkgoldenrod];
"binutils0" -> "make0" [color = darkgoldenrod];
"binutils0" -> "gash" [color = darkgoldenrod];
"binutils0" -> "gash-core-utils" [color = darkgoldenrod];
"binutils0" -> "bootstrap-guile" [color = darkgoldenrod];
#"binutils0" -> "guile-bootstrap+guild" [color = darkgoldenrod];
"gawk0" [label = "gawk0@3.0.0", shape = box, fontname = Helvetica];
"gawk0" -> "bash0" [color = dimgrey];
"gawk0" -> "bzip2" [color = dimgrey];
"gawk0" -> "diffutils" [color = dimgrey];
"gawk0" -> "gzip" [color = dimgrey];
"gawk0" -> "patch" [color = dimgrey];
"gawk0" -> "sed0" [color = dimgrey];
"gawk0" -> "tcc" [color = dimgrey];
"gawk0" -> "make0" [color = dimgrey];
"gawk0" -> "gash" [color = dimgrey];
"gawk0" -> "gash-core-utils" [color = dimgrey];
"gawk0" -> "bootstrap-guile" [color = dimgrey];
#"gawk0" -> "guile-bootstrap+guild" [color = dimgrey];
"gcc-core0" [label = "gcc-core0@2.95.3", shape = box, fontname = Helvetica];
"gcc-core0" -> "binutils0" [color = red];
"gcc-core0" -> "bash0" [color = red];
"gcc-core0" -> "bzip2" [color = red];
"gcc-core0" -> "diffutils" [color = red];
"gcc-core0" -> "gzip" [color = red];
"gcc-core0" -> "patch" [color = red];
"gcc-core0" -> "sed0" [color = red];
"gcc-core0" -> "tcc" [color = red];
"gcc-core0" -> "make0" [color = red];
"gcc-core0" -> "gash" [color = red];
"gcc-core0" -> "gash-core-utils" [color = red];
"gcc-core0" -> "bootstrap-guile" [color = red];
#"gcc-core0" -> "guile-bootstrap+guild" [color = red];
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 815 KiB

View File

@ -0,0 +1,94 @@
digraph "Guix bag" {
node[width=1,height=0.25];
edge [height=0.25];
dpi=75
# "/gnu/store/gz3agxnnlgkafw2c8jnvk2hqmlh85pkc-guile-bootstrap-2.0.drv" [fontcolor = red]
//HANDCRAFTED UNTIL HERE TO BE ABLE TO CUSTOMIZE
"/gnu/store/mywrsxmbsz9k87z755mnymmpdjv0jvf1-gcc0-2.95.3.drv" [label = "gcc0", shape = box, fontname = Helvetica];
"/gnu/store/mywrsxmbsz9k87z755mnymmpdjv0jvf1-gcc0-2.95.3.drv" -> "/gnu/store/fh33abhfvsdgdrg54m86yhmkihfp1g2j-binutils0-2.20.1a.drv" [color = darkgoldenrod];
"/gnu/store/mywrsxmbsz9k87z755mnymmpdjv0jvf1-gcc0-2.95.3.drv" -> "/gnu/store/52nz2cbswm4n91707gy8945h2s4jgvfb-gcc-core-2.95.3.drv" [color = darkgoldenrod];
"/gnu/store/mywrsxmbsz9k87z755mnymmpdjv0jvf1-gcc0-2.95.3.drv" -> "/gnu/store/rn88dllv6vh4mxwbr4v9wjmnl4ml3xs2-glibc0-2.2.5.drv" [color = darkgoldenrod];
"/gnu/store/mywrsxmbsz9k87z755mnymmpdjv0jvf1-gcc0-2.95.3.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkgoldenrod];
"/gnu/store/mywrsxmbsz9k87z755mnymmpdjv0jvf1-gcc0-2.95.3.drv" -> "/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-2.7.drv" [color = darkgoldenrod];
"/gnu/store/mywrsxmbsz9k87z755mnymmpdjv0jvf1-gcc0-2.95.3.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = darkgoldenrod];
"/gnu/store/mywrsxmbsz9k87z755mnymmpdjv0jvf1-gcc0-2.95.3.drv" -> "/gnu/store/vys62fkr9p3qfp9mc36456ffbpz24n60-make0-3.80.drv" [color = darkgoldenrod];
"/gnu/store/fh33abhfvsdgdrg54m86yhmkihfp1g2j-binutils0-2.20.1a.drv" [label = "binutils0", shape = box, fontname = Helvetica];
"/gnu/store/fh33abhfvsdgdrg54m86yhmkihfp1g2j-binutils0-2.20.1a.drv" -> "/gnu/store/7lcpxky7sn4c9c86ywri6y3x2d4681iv-tcc-0.9.27.drv" [color = peachpuff4];
"/gnu/store/fh33abhfvsdgdrg54m86yhmkihfp1g2j-binutils0-2.20.1a.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = peachpuff4];
"/gnu/store/fh33abhfvsdgdrg54m86yhmkihfp1g2j-binutils0-2.20.1a.drv" -> "/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-2.7.drv" [color = peachpuff4];
"/gnu/store/fh33abhfvsdgdrg54m86yhmkihfp1g2j-binutils0-2.20.1a.drv" -> "/gnu/store/vys62fkr9p3qfp9mc36456ffbpz24n60-make0-3.80.drv" [color = peachpuff4];
"/gnu/store/7lcpxky7sn4c9c86ywri6y3x2d4681iv-tcc-0.9.27.drv" [label = "tcc", shape = box, fontname = Helvetica];
"/gnu/store/7lcpxky7sn4c9c86ywri6y3x2d4681iv-tcc-0.9.27.drv" -> "/gnu/store/pa9s0y0dx6a60a72434syb1zfxgmqilr-mes-0.19.drv" [color = red];
"/gnu/store/7lcpxky7sn4c9c86ywri6y3x2d4681iv-tcc-0.9.27.drv" -> "/gnu/store/kd9ly1185dn9z1mbkn0wd2r3fcv1bkw5-tcc0-0.9.26-5.c7b3f59.drv" [color = red];
"/gnu/store/7lcpxky7sn4c9c86ywri6y3x2d4681iv-tcc-0.9.27.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = red];
"/gnu/store/pa9s0y0dx6a60a72434syb1zfxgmqilr-mes-0.19.drv" [label = "mes", shape = box, fontname = Helvetica];
"/gnu/store/pa9s0y0dx6a60a72434syb1zfxgmqilr-mes-0.19.drv" -> "/gnu/store/gd83makzwnb2aq1x0hylfsi8gaxln5js-bootstrap-mescc-tools-0.5.2.drv" [color = darkseagreen];
"/gnu/store/pa9s0y0dx6a60a72434syb1zfxgmqilr-mes-0.19.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkseagreen];
"/gnu/store/pa9s0y0dx6a60a72434syb1zfxgmqilr-mes-0.19.drv" -> "/gnu/store/629yzay882kh1yhpqddps2psfhpjrk2q-bootstrap-mes-0.19.drv" [color = darkseagreen];
# "/gnu/store/pa9s0y0dx6a60a72434syb1zfxgmqilr-mes-0.19.drv" -> "/gnu/store/gz3agxnnlgkafw2c8jnvk2hqmlh85pkc-guile-bootstrap-2.0.drv" [color = darkseagreen];
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [label = "bootstrap-binaries", shape = box, fontname = Helvetica];
# "/gnu/store/gz3agxnnlgkafw2c8jnvk2hqmlh85pkc-guile-bootstrap-2.0.drv" [label = "guile-bootstrap", shape = box, fontname = Helvetica];
"/gnu/store/kd9ly1185dn9z1mbkn0wd2r3fcv1bkw5-tcc0-0.9.26-5.c7b3f59.drv" [label = "tcc0", shape = box, fontname = Helvetica];
"/gnu/store/kd9ly1185dn9z1mbkn0wd2r3fcv1bkw5-tcc0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/pa9s0y0dx6a60a72434syb1zfxgmqilr-mes-0.19.drv" [color = dimgrey];
"/gnu/store/kd9ly1185dn9z1mbkn0wd2r3fcv1bkw5-tcc0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/gd83makzwnb2aq1x0hylfsi8gaxln5js-bootstrap-mescc-tools-0.5.2.drv" [color = dimgrey];
"/gnu/store/kd9ly1185dn9z1mbkn0wd2r3fcv1bkw5-tcc0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = dimgrey];
"/gnu/store/kd9ly1185dn9z1mbkn0wd2r3fcv1bkw5-tcc0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/629yzay882kh1yhpqddps2psfhpjrk2q-bootstrap-mes-0.19.drv" [color = dimgrey];
# "/gnu/store/kd9ly1185dn9z1mbkn0wd2r3fcv1bkw5-tcc0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/gz3agxnnlgkafw2c8jnvk2hqmlh85pkc-guile-bootstrap-2.0.drv" [color = dimgrey];
"/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-2.7.drv" [label = "diffutils", shape = box, fontname = Helvetica];
"/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-2.7.drv" -> "/gnu/store/pa9s0y0dx6a60a72434syb1zfxgmqilr-mes-0.19.drv" [color = blue];
"/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-2.7.drv" -> "/gnu/store/7lcpxky7sn4c9c86ywri6y3x2d4681iv-tcc-0.9.27.drv" [color = blue];
"/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-2.7.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = blue];
"/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-2.7.drv" -> "/gnu/store/vys62fkr9p3qfp9mc36456ffbpz24n60-make0-3.80.drv" [color = blue];
"/gnu/store/vys62fkr9p3qfp9mc36456ffbpz24n60-make0-3.80.drv" [label = "make0", shape = box, fontname = Helvetica];
"/gnu/store/vys62fkr9p3qfp9mc36456ffbpz24n60-make0-3.80.drv" -> "/gnu/store/7lcpxky7sn4c9c86ywri6y3x2d4681iv-tcc-0.9.27.drv" [color = blue];
"/gnu/store/vys62fkr9p3qfp9mc36456ffbpz24n60-make0-3.80.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = blue];
"/gnu/store/52nz2cbswm4n91707gy8945h2s4jgvfb-gcc-core-2.95.3.drv" [label = "gcc-core", shape = box, fontname = Helvetica];
"/gnu/store/52nz2cbswm4n91707gy8945h2s4jgvfb-gcc-core-2.95.3.drv" -> "/gnu/store/fh33abhfvsdgdrg54m86yhmkihfp1g2j-binutils0-2.20.1a.drv" [color = darkseagreen];
"/gnu/store/52nz2cbswm4n91707gy8945h2s4jgvfb-gcc-core-2.95.3.drv" -> "/gnu/store/7lcpxky7sn4c9c86ywri6y3x2d4681iv-tcc-0.9.27.drv" [color = darkseagreen];
"/gnu/store/52nz2cbswm4n91707gy8945h2s4jgvfb-gcc-core-2.95.3.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkseagreen];
"/gnu/store/52nz2cbswm4n91707gy8945h2s4jgvfb-gcc-core-2.95.3.drv" -> "/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-2.7.drv" [color = darkseagreen];
"/gnu/store/52nz2cbswm4n91707gy8945h2s4jgvfb-gcc-core-2.95.3.drv" -> "/gnu/store/vys62fkr9p3qfp9mc36456ffbpz24n60-make0-3.80.drv" [color = darkseagreen];
"/gnu/store/rn88dllv6vh4mxwbr4v9wjmnl4ml3xs2-glibc0-2.2.5.drv" [label = "glibc0", shape = box, fontname = Helvetica];
"/gnu/store/rn88dllv6vh4mxwbr4v9wjmnl4ml3xs2-glibc0-2.2.5.drv" -> "/gnu/store/fh33abhfvsdgdrg54m86yhmkihfp1g2j-binutils0-2.20.1a.drv" [color = blue];
"/gnu/store/rn88dllv6vh4mxwbr4v9wjmnl4ml3xs2-glibc0-2.2.5.drv" -> "/gnu/store/52nz2cbswm4n91707gy8945h2s4jgvfb-gcc-core-2.95.3.drv" [color = blue];
"/gnu/store/rn88dllv6vh4mxwbr4v9wjmnl4ml3xs2-glibc0-2.2.5.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = blue];
"/gnu/store/rn88dllv6vh4mxwbr4v9wjmnl4ml3xs2-glibc0-2.2.5.drv" -> "/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-2.7.drv" [color = blue];
"/gnu/store/rn88dllv6vh4mxwbr4v9wjmnl4ml3xs2-glibc0-2.2.5.drv" -> "/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-headers-0.19.drv" [color = blue];
"/gnu/store/rn88dllv6vh4mxwbr4v9wjmnl4ml3xs2-glibc0-2.2.5.drv" -> "/gnu/store/vys62fkr9p3qfp9mc36456ffbpz24n60-make0-3.80.drv" [color = blue];
"/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-headers-0.19.drv" [label = "mes-headers", shape = box, fontname = Helvetica];
"/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-headers-0.19.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = cyan3];
"/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-headers-0.19.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = cyan3];
#"/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [label = "linux-libre-headers-bootstrap", shape = box, fontname = Helvetica];
"/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [label = "bootstrap-linux-libre-headers", fontname = Helvetica];
// HANDCRAFTED FROM HERE TO MAKE THE STATIC BOOTSTRAP BINARIES VISIBLE
bash [fontname = Helvetica]
bzip2 [fontname = Helvetica]
coreutils [fontname = Helvetica]
gawk [fontname = Helvetica]
grep [fontname = Helvetica]
gzip [fontname = Helvetica]
patch [fontname = Helevtica]
sed [fontname = Helvetica]
tar [fontname = Helvetica]
xz [fontname = Helevtica]
"/gnu/store/gd83makzwnb2aq1x0hylfsi8gaxln5js-bootstrap-mescc-tools-0.5.2.drv" [label = "bootstrap-mescc-tools", fontname = Helvetica];
"/gnu/store/629yzay882kh1yhpqddps2psfhpjrk2q-bootstrap-mes-0.19.drv" [label = "bootstrap-mes", fontname = Helvetica];
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> bash
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> bzip2
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> coreutils
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> gawk
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> grep
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> gzip
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> patch
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> sed
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> tar
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> xz
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

View File

@ -0,0 +1,94 @@
digraph "Guix bag" {
node[width=1,height=0.25];
edge [height=0.25];
dpi=75
# "/gnu/store/gz3agxnnlgkafw2c8jnvk2hqmlh85pkc-guile-bootstrap-2.0.drv" [fontcolor = red]
//HANDCRAFTED UNTIL HERE TO BE ABLE TO CUSTOMIZE
"/gnu/store/mywrsxmbsz9k87z755mnymmpdjv0jvf1-gcc0-2.95.3.drv" [label = "gcc0", shape = box, fontname = Helvetica];
"/gnu/store/mywrsxmbsz9k87z755mnymmpdjv0jvf1-gcc0-2.95.3.drv" -> "/gnu/store/fh33abhfvsdgdrg54m86yhmkihfp1g2j-binutils0-2.20.1a.drv" [color = darkgoldenrod];
"/gnu/store/mywrsxmbsz9k87z755mnymmpdjv0jvf1-gcc0-2.95.3.drv" -> "/gnu/store/52nz2cbswm4n91707gy8945h2s4jgvfb-gcc-core-2.95.3.drv" [color = darkgoldenrod];
"/gnu/store/mywrsxmbsz9k87z755mnymmpdjv0jvf1-gcc0-2.95.3.drv" -> "/gnu/store/rn88dllv6vh4mxwbr4v9wjmnl4ml3xs2-glibc0-2.2.5.drv" [color = darkgoldenrod];
"/gnu/store/mywrsxmbsz9k87z755mnymmpdjv0jvf1-gcc0-2.95.3.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkgoldenrod];
"/gnu/store/mywrsxmbsz9k87z755mnymmpdjv0jvf1-gcc0-2.95.3.drv" -> "/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-2.7.drv" [color = darkgoldenrod];
"/gnu/store/mywrsxmbsz9k87z755mnymmpdjv0jvf1-gcc0-2.95.3.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = darkgoldenrod];
"/gnu/store/mywrsxmbsz9k87z755mnymmpdjv0jvf1-gcc0-2.95.3.drv" -> "/gnu/store/vys62fkr9p3qfp9mc36456ffbpz24n60-make0-3.80.drv" [color = darkgoldenrod];
"/gnu/store/fh33abhfvsdgdrg54m86yhmkihfp1g2j-binutils0-2.20.1a.drv" [label = "binutils0", shape = box, fontname = Helvetica];
"/gnu/store/fh33abhfvsdgdrg54m86yhmkihfp1g2j-binutils0-2.20.1a.drv" -> "/gnu/store/7lcpxky7sn4c9c86ywri6y3x2d4681iv-tcc-0.9.27.drv" [color = peachpuff4];
"/gnu/store/fh33abhfvsdgdrg54m86yhmkihfp1g2j-binutils0-2.20.1a.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = peachpuff4];
"/gnu/store/fh33abhfvsdgdrg54m86yhmkihfp1g2j-binutils0-2.20.1a.drv" -> "/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-2.7.drv" [color = peachpuff4];
"/gnu/store/fh33abhfvsdgdrg54m86yhmkihfp1g2j-binutils0-2.20.1a.drv" -> "/gnu/store/vys62fkr9p3qfp9mc36456ffbpz24n60-make0-3.80.drv" [color = peachpuff4];
"/gnu/store/7lcpxky7sn4c9c86ywri6y3x2d4681iv-tcc-0.9.27.drv" [label = "tcc", shape = box, fontname = Helvetica];
"/gnu/store/7lcpxky7sn4c9c86ywri6y3x2d4681iv-tcc-0.9.27.drv" -> "/gnu/store/pa9s0y0dx6a60a72434syb1zfxgmqilr-mes-0.19.drv" [color = red];
"/gnu/store/7lcpxky7sn4c9c86ywri6y3x2d4681iv-tcc-0.9.27.drv" -> "/gnu/store/kd9ly1185dn9z1mbkn0wd2r3fcv1bkw5-tcc0-0.9.26-5.c7b3f59.drv" [color = red];
"/gnu/store/7lcpxky7sn4c9c86ywri6y3x2d4681iv-tcc-0.9.27.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = red];
"/gnu/store/pa9s0y0dx6a60a72434syb1zfxgmqilr-mes-0.19.drv" [label = "mes", shape = box, fontname = Helvetica];
"/gnu/store/pa9s0y0dx6a60a72434syb1zfxgmqilr-mes-0.19.drv" -> "/gnu/store/gd83makzwnb2aq1x0hylfsi8gaxln5js-bootstrap-mescc-tools-0.5.2.drv" [color = darkseagreen];
"/gnu/store/pa9s0y0dx6a60a72434syb1zfxgmqilr-mes-0.19.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkseagreen];
"/gnu/store/pa9s0y0dx6a60a72434syb1zfxgmqilr-mes-0.19.drv" -> "/gnu/store/629yzay882kh1yhpqddps2psfhpjrk2q-bootstrap-mes-0.19.drv" [color = darkseagreen];
# "/gnu/store/pa9s0y0dx6a60a72434syb1zfxgmqilr-mes-0.19.drv" -> "/gnu/store/gz3agxnnlgkafw2c8jnvk2hqmlh85pkc-guile-bootstrap-2.0.drv" [color = darkseagreen];
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [label = "bootstrap-binaries", shape = box, fontname = Helvetica];
# "/gnu/store/gz3agxnnlgkafw2c8jnvk2hqmlh85pkc-guile-bootstrap-2.0.drv" [label = "guile-bootstrap", shape = box, fontname = Helvetica];
"/gnu/store/kd9ly1185dn9z1mbkn0wd2r3fcv1bkw5-tcc0-0.9.26-5.c7b3f59.drv" [label = "tcc0", shape = box, fontname = Helvetica];
"/gnu/store/kd9ly1185dn9z1mbkn0wd2r3fcv1bkw5-tcc0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/pa9s0y0dx6a60a72434syb1zfxgmqilr-mes-0.19.drv" [color = dimgrey];
"/gnu/store/kd9ly1185dn9z1mbkn0wd2r3fcv1bkw5-tcc0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/gd83makzwnb2aq1x0hylfsi8gaxln5js-bootstrap-mescc-tools-0.5.2.drv" [color = dimgrey];
"/gnu/store/kd9ly1185dn9z1mbkn0wd2r3fcv1bkw5-tcc0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = dimgrey];
"/gnu/store/kd9ly1185dn9z1mbkn0wd2r3fcv1bkw5-tcc0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/629yzay882kh1yhpqddps2psfhpjrk2q-bootstrap-mes-0.19.drv" [color = dimgrey];
# "/gnu/store/kd9ly1185dn9z1mbkn0wd2r3fcv1bkw5-tcc0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/gz3agxnnlgkafw2c8jnvk2hqmlh85pkc-guile-bootstrap-2.0.drv" [color = dimgrey];
"/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-2.7.drv" [label = "diffutils", shape = box, fontname = Helvetica];
"/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-2.7.drv" -> "/gnu/store/pa9s0y0dx6a60a72434syb1zfxgmqilr-mes-0.19.drv" [color = blue];
"/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-2.7.drv" -> "/gnu/store/7lcpxky7sn4c9c86ywri6y3x2d4681iv-tcc-0.9.27.drv" [color = blue];
"/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-2.7.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = blue];
"/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-2.7.drv" -> "/gnu/store/vys62fkr9p3qfp9mc36456ffbpz24n60-make0-3.80.drv" [color = blue];
"/gnu/store/vys62fkr9p3qfp9mc36456ffbpz24n60-make0-3.80.drv" [label = "make0", shape = box, fontname = Helvetica];
"/gnu/store/vys62fkr9p3qfp9mc36456ffbpz24n60-make0-3.80.drv" -> "/gnu/store/7lcpxky7sn4c9c86ywri6y3x2d4681iv-tcc-0.9.27.drv" [color = blue];
"/gnu/store/vys62fkr9p3qfp9mc36456ffbpz24n60-make0-3.80.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = blue];
"/gnu/store/52nz2cbswm4n91707gy8945h2s4jgvfb-gcc-core-2.95.3.drv" [label = "gcc-core", shape = box, fontname = Helvetica];
"/gnu/store/52nz2cbswm4n91707gy8945h2s4jgvfb-gcc-core-2.95.3.drv" -> "/gnu/store/fh33abhfvsdgdrg54m86yhmkihfp1g2j-binutils0-2.20.1a.drv" [color = darkseagreen];
"/gnu/store/52nz2cbswm4n91707gy8945h2s4jgvfb-gcc-core-2.95.3.drv" -> "/gnu/store/7lcpxky7sn4c9c86ywri6y3x2d4681iv-tcc-0.9.27.drv" [color = darkseagreen];
"/gnu/store/52nz2cbswm4n91707gy8945h2s4jgvfb-gcc-core-2.95.3.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkseagreen];
"/gnu/store/52nz2cbswm4n91707gy8945h2s4jgvfb-gcc-core-2.95.3.drv" -> "/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-2.7.drv" [color = darkseagreen];
"/gnu/store/52nz2cbswm4n91707gy8945h2s4jgvfb-gcc-core-2.95.3.drv" -> "/gnu/store/vys62fkr9p3qfp9mc36456ffbpz24n60-make0-3.80.drv" [color = darkseagreen];
"/gnu/store/rn88dllv6vh4mxwbr4v9wjmnl4ml3xs2-glibc0-2.2.5.drv" [label = "glibc0", shape = box, fontname = Helvetica];
"/gnu/store/rn88dllv6vh4mxwbr4v9wjmnl4ml3xs2-glibc0-2.2.5.drv" -> "/gnu/store/fh33abhfvsdgdrg54m86yhmkihfp1g2j-binutils0-2.20.1a.drv" [color = blue];
"/gnu/store/rn88dllv6vh4mxwbr4v9wjmnl4ml3xs2-glibc0-2.2.5.drv" -> "/gnu/store/52nz2cbswm4n91707gy8945h2s4jgvfb-gcc-core-2.95.3.drv" [color = blue];
"/gnu/store/rn88dllv6vh4mxwbr4v9wjmnl4ml3xs2-glibc0-2.2.5.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = blue];
"/gnu/store/rn88dllv6vh4mxwbr4v9wjmnl4ml3xs2-glibc0-2.2.5.drv" -> "/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-2.7.drv" [color = blue];
"/gnu/store/rn88dllv6vh4mxwbr4v9wjmnl4ml3xs2-glibc0-2.2.5.drv" -> "/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-headers-0.19.drv" [color = blue];
"/gnu/store/rn88dllv6vh4mxwbr4v9wjmnl4ml3xs2-glibc0-2.2.5.drv" -> "/gnu/store/vys62fkr9p3qfp9mc36456ffbpz24n60-make0-3.80.drv" [color = blue];
"/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-headers-0.19.drv" [label = "mes-headers", shape = box, fontname = Helvetica];
"/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-headers-0.19.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = cyan3];
"/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-headers-0.19.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = cyan3];
#"/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [label = "linux-libre-headers-bootstrap", shape = box, fontname = Helvetica];
"/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [label = "bootstrap-linux-libre-headers", fontname = Helvetica];
// HANDCRAFTED FROM HERE TO MAKE THE STATIC BOOTSTRAP BINARIES VISIBLE
bash [fontname = Helvetica]
bzip2 [fontname = Helvetica]
coreutils [fontname = Helvetica]
gawk [fontname = Helvetica]
grep [fontname = Helvetica]
gzip [fontname = Helvetica]
patch [fontname = Helevtica]
sed [fontname = Helvetica]
tar [fontname = Helvetica]
xz [fontname = Helevtica]
"/gnu/store/gd83makzwnb2aq1x0hylfsi8gaxln5js-bootstrap-mescc-tools-0.5.2.drv" [label = "bootstrap-mescc-tools", fontname = Helvetica];
"/gnu/store/629yzay882kh1yhpqddps2psfhpjrk2q-bootstrap-mes-0.19.drv" [label = "bootstrap-mes", fontname = Helvetica];
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> bash
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> bzip2
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> coreutils
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> gawk
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> grep
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> gzip
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> patch
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> sed
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> tar
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> xz
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

BIN
doc/talks/fosdem21/gcc.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -0,0 +1,13 @@
digraph "Guix package" {
"39920672" [label = "make-boot0@4.2.1", shape = box, fontname = Helvetica];
"39920672" -> "40227520" [color = black];
"39920672" -> "40227344" [color = black];
"39920672" -> "40227168" [color = black];
"39920672" -> "40226992" [color = black];
"40227520" [label = "glibc-bootstrap@0", fontname = Helvetica];
"40227344" [label = "gcc-bootstrap@0", fontname = Helvetica];
"40227344" -> "40227520" [color = black];
"40227168" [label = "binutils-bootstrap@0", fontname = Helvetica];
"40226992" [label = "bootstrap-binaries@0", fontname = Helvetica];
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

20
doc/talks/fosdem21/graphs Normal file
View File

@ -0,0 +1,20 @@
3906 ./pre-inst-env guix graph --system=i686-linux gcc-mesboot0
3907 ./pre-inst-env guix graph --system=i686-linux -e '(@@ (gnu packages commencement) gcc-mesboot0)'
3908 ./pre-inst-env guix graph --system=i686-linux -e '(@@ (gnu packages commencement) gcc-mesboot0)' > gcc-mesboot0-scheme-only.dot
3914 ./pre-inst-env guix graph --system=i686-linux -e '(@@ (gnu packages commencement) gcc-core-mesboot0)' > gcc-core-mesboot0-scheme-only.dot
3923 ./pre-inst-env guix graph --system=i686-linux -e '(@@ (gnu packages commencement) gcc-core-mesboot0)' > gcc-core-mesboot0-scheme-only.dotpk
4859 ~/src/guix/version-1.0/pre-inst-env guix graph -e '(@@ (gnu packages commencement) gnu-make-boot0)'
4860 guix graph hello > hello| dot -T png > hello.png
5855 ~/src/guix/version-1.0/pre-inst-env guix graph -e '(@@ (gnu packages commencement) gnu-make-boot0)' > gnu-make-boot0.dot
5859 ~/src/guix/version-1.0/pre-inst-env guix graph -e '(@@ (gnu packages commencement) gnu-make-boot0)' > gnu-make-boot0.dot
5862 ~/src/guix/version-1.0/pre-inst-env guix graph -e '(@@ (gnu packages commencement) gcc-final)' > gcc-final.dot
5865 ~/src/guix/version-1.0/pre-inst-env guix graph -e '(@@ (gnu packages commencement) gcc-boot-0)' > gcc-boot-0.dot
5866 ~/src/guix/version-1.0/pre-inst-env guix graph -e '(@@ (gnu packages commencement) gcc-boot0)' > gcc-boot0.dot
5925 guix graph hello > hello| dot -T png > hello.png
5928 guix graph hello | dot -T png > hello.png
5930 guix graph mes | dot -T png > mes.png
5932 guix graph make | dot -T png > make.png
10007 git grep 'guix graph'
10008 history | grep guix graph
10009 history | grep 'guix graph'
10010 history | grep 'guix graph' > graphs

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

View File

@ -0,0 +1 @@
guix environment --ad-hoc espeak graphviz texlive-bin texlive texlive-latex-base texlive-latex-graphics texlive-latex-geometry texlive-beamer sox ffmpeg vorbis-tools

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

View File

@ -0,0 +1,86 @@
#+TITLE: GNU Mes
#+TITLE: \smaller[2]{-- Scheme-only bootstrap}
#+DATE:2020-02-02
#+EMAIL: janneke@gnu.org
#+AUTHOR: janneke@gnu.org
#+OPTIONS: ^:nil
#+COPYRIGHT: janneke (Jan) Nieuwenhuizen <janneke@gn.org>
#+LICENSE: GNU Free Documentation License, version 1.3 or later.
#+LATEX_HEADER:\institute{FOSDEM'20}
#+LATEX_HEADER:\def\ahref#1#2{\htmladdnormallink{#2}{#1}}
#+OPTIONS: H:2
#+LATEX_CLASS: beamer
#+LATEX_CLASS_OPTIONS: [presentation]
#+LATEX_HEADER: \usepackage{relsize}
#+LATEX_HEADER: \usepackage{hyperref}
#+LATEX_HEADER: \mode<beamer>{\usetheme{X}}
#+LATEX_HEADER: \newcommand<>{\fullscreen}[1]{
#+LATEX_HEADER: \begin{textblock*}{0cm}(-1cm,-3.78cm)
#+LATEX_HEADER: \includegraphics[width=\paperwidth]{#1}
#+LATEX_HEADER: \end{textblock*}
#+LATEX_HEADER: }
#+BEAMER_THEME: X
#+BEAMER_FRAME_LEVEL: 2
#+COLUMNS: %45ITEM %10BEAMER_ENV(Env) %10BEAMER_ACT(Act) %4BEAMER_COL(Col) %8BEAMER_OPT(Opt)
Ken Thompson UNIX, UTF-8, Golang
Reflections on trusting trust
1984 turing award acceptance speach
because toolchains are built by previous versions of themselves
you can poison an entire line of them
just by poisoning one generation
and it would propagate down to future generations
even if the source code was clean
so, what can we do about a toolchain that consists of countless trusted
binaries?
reproducible + bootstrappable
=> Minimize trusted binary seeds
=> Maintain auditable bootstrap path
* Scheme-only bootstrap: Introduction.
** Scheme-only bootstrap: GNU Mes
*** GNU Mes
:PROPERTIES:
:BEAMER_COL: 0.6
:BEAMER_ENV: block
:END:
* A Scheme interpreter written in ~5,000LOC of simple C.
* A C compiler written in Scheme.
* Built on Lisp: eval/apply, the *Maxwell Equations of Software*.
*** LOGO
:PROPERTIES:
:BEAMER_COL: 0.3
:BEAMER_ENV: quote
:END:
#+LATEX:\rightskip=2cm\includegraphics[width=0.7\textwidth]{mes.png}
** Reproducible-Builds.org
#+LATEX:{\begin{frame}[plain]
#+LATEX:{\hskip-10cm\vskip-2.5cm\includegraphics[width=1.1\paperwidth,height=1.1\paperheight]{reproducible-builds.png}}
#+LATEX:\end{frame}}
** Reproducible-Builds.org
#+LATEX:{\begin{frame}[plain]
#+LATEX:{\vskip-2.5cm\includegraphics[width=1.1\paperwidth,height=1.1\paperheight]{reproducible-builds.png}}
#+LATEX:\end{frame}}
** Reproducible-Builds.org
#+LATEX:{\begin{frame}[plain]
#+LATEX:{\vskip-2.5cm{\hspace{-1.5cm}\includegraphics[width=1.1\paperwidth,height=1.1\paperheight]{reproducible-builds.png}}}
#+LATEX:\end{frame}}
** How to Bootstrap: An Old Recipe...
#+LATEX:\rightskip=2cm\includegraphics[width=0.3\textwidth]{yoghurt.png}\\
#+BEGIN_QUOTE
Recipe for yoghurt: Add yoghurt to milk -- Anonymous
#+END_QUOTE

View File

@ -0,0 +1,163 @@
#+TITLE: Bootstrapping Intro
#+TITLE: \smaller[2]{-- Current status}
#+DATE:2020-01-30
#+EMAIL: janneke@gnu.org
#+AUTHOR: janneke@gnu.org
#+COPYRIGHT: janneke (Jan Nieuwenhuizen) <janneke@gn.org>
#+LICENSE: GNU Free Documentation License, version 1.3 or later.
#+OPTIONS: H:2 @:t ::t
#+OPTIONS: tex:t latex:t todo:t tasks:t
#+LATEX_HEADER:\institute{GNU Guix Days @FOSDEM'20}
#+LATEX_HEADER:\def\ahref#1#2{\htmladdnormallink{#2}{#1}}
#+LATEX_CLASS: beamer
#+LATEX_CLASS_OPTIONS: [presentation]
#+LATEX_HEADER: \usepackage{relsize}
#+LATEX_HEADER: \usepackage{hyperref}
#+LATEX_HEADER: \mode<beamer>{\usetheme{X}}
#+KEYWORDS: GNU, Mes, Mes, Guix, bootstrappable, reproducible
#+BEAMER_THEME: X
#+BEAMER_FRAME_LEVEL: 2
#+COLUMNS: %45ITEM %10BEAMER_ENV(Env) %10BEAMER_ACT(Act) %4BEAMER_COL(Col) %8BEAMER_OPT(Opt)
* Bootstrapping Guix v1.0
** Guix v1.0: The First Package
#+LATEX:\includegraphics[width=1.0\textwidth]{gnu-make-boot0.png}
** Guix Graph
#+BEGIN_SRC sh
$ guix graph make
$ guix graph make | dot -T png > make.png
$ guix graph -e '(@@ (gnu packages commencement) gnu-make-boot0)'
#+END_SRC
** Guix v1.0: The First GCC
#+LATEX:\includegraphics[width=1.3\textwidth]{gcc-boot0-black.png}
** Guix bootstrap tarballs
#+BEGIN_SRC sh
$ guix build bootstrap-tarballs
#+END_SRC
** Guix v1.0 bootstrap binary seed
#+BEGIN_SRC sh
$ du -schx $(readlink $(guix build bootstrap-tarballs)/*)
2.1M /gnu/store/9623n4bq6iq5c8cwwdq99qb7d0xj93ym-binutils-static-stripped-tarball-2.28.1/binutils-static-stripped-2.28.1-x86_64-linux.tar.xz
18M /gnu/store/437xwygmmwwpkddcyy1qvjcv4hak89pb-gcc-stripped-tarball-5.5.0/gcc-stripped-5.5.0-x86_64-linux.tar.xz
1.8M /gnu/store/55ccx18a0d1x5y6a575jf1yr0ywizvdg-glibc-stripped-tarball-2.26.105-g0890d5379c/glibc-stripped-2.26.105-g0890d5379c-x86_64-linux.tar.xz
5.7M /gnu/store/bqf0ajclbvnbm0a46819f30804y3ilx0-guile-static-stripped-tarball-2.2.3/guile-static-stripped-2.2.3-x86_64-linux.tar.xz
5.8M /gnu/store/j8yzjmh9sy4gbdfwjrhw46zca43aah6x-static-binaries-tarball-0/static-binaries-0-x86_64-linux.tar.xz
33M total
$ for i in $(readlink $(guix build bootstrap-tarballs)/*);\
do sudo tar xf $i; done
$ du -schx *
130M bin
13M include
54M lib
51M libexec
5.2M share
252M total
#+END_SRC
** Reduce binary seeds to bare minimum
#+BEGIN_QUOTE
These big chunks of binary code are practically non-auditable which
breaks the source to binary transparency that we get in the rest of
the package dependency graph.
#+END_QUOTE
#+BEGIN_QUOTE
Every unauditable binary leaves us vulnerable to compiler backdoors as
described by Ken Thompson in the 1984 paper *Reflections on Trusting
Trust*.
#+END_QUOTE
#+BEGIN_QUOTE
Thus, our goal is to reduce the set of bootstrap binaries to the bare
minimum. -- Ludovic Courtès (GNU Guix documentation, December 2017)
#+END_QUOTE
** Guix Reduced Binary Seed
#+BEGIN_SRC sh
$ du -schx $(readlink $(guix build bootstrap-tarballs)/*)
5.7M /gnu/store/9f8gi8raqfx9j3l9d00qrrc0jg3r1kyj-guile-static-stripped-tarball-2.2.6/guile-static-stripped-2.2.6-x86_64-linux.tar.xz
80K /gnu/store/b6rjl52hibhmvyw4dg8678pwryhla0h2-linux-libre-headers-stripped-tarball-4.19.56/linux-libre-headers-stripped-4.19.56-x86_64-linux.tar.xz
12K /gnu/store/d7zlxsjcnqilmvqwx7scija9x9bjw8cw-mescc-tools-static-stripped-tarball-0.5.2-0.bb062b0/mescc-tools-static-stripped-0.5.2-0.bb062b0-x86_64-linux.tar.xz
428K /gnu/store/n7zc4kpi8ny6jlfaikkzxlwhc5fvr1vr-mes-minimal-stripped-tarball-0.19/mes-minimal-stripped-0.19-x86_64-linux.tar.xz
6.0M /gnu/store/nv4djwlrljfqmynqr2cqvfwz0ydx7kxb-static-binaries-tarball-0/static-binaries-0-x86_64-linux.tar.xz
13M total
$ for i in $(readlink $(guix build bootstrap-tarballs)/*);\
do sudo tar xf $i; done
Password:
$ du -schx *
93M bin
700K include
38M lib
14M share
145M total
#+END_SRC
** Guix Scheme-only bootstrap
#+BEGIN_SRC sh
$ du -schx $(readlink $(~/src/guix/wip-bootstrap/pre-inst-env guix build bootstrap-tarballs)/*)
5.7M /gnu/store/1mq2pcd2h7g54xpi2jrgj6ibbi4lgi3c-guile-static-stripped-tarball-2.2.6/guile-static-stripped-2.2.6-x86_64-linux.tar.xz
80K /gnu/store/bl1r2bpk6fam8r2gjvr5mvr48i3dm2hn-linux-libre-headers-stripped-tarball-4.19.56/linux-libre-headers-stripped-4.19.56-x86_64-linux.tar.xz
12K /gnu/store/w0dlz486dhb8aiq8pxm5akllz628fqin-mescc-tools-static-stripped-tarball-0.5.2-0.bb062b0/mescc-tools-static-stripped-0.5.2-0.bb062b0-x86_64-linux.tar.xz
428K /gnu/store/15j6l18q44ymlrh1cfp4s4hc9835xic5-mes-minimal-stripped-tarball-0.19/mes-minimal-stripped-0.19-x86_64-linux.tar.xz
6.2M total
$ for i in $(readlink $(~/src/guix/wip-bootstrap/pre-inst-env guix build bootstrap-tarballs)/*);\
do sudo tar xf $i; done
$ du -schx *
4.9M bin
700K include
38M lib
14M share
57M total
#+END_SRC
** Scheme-only bootstrap: Gash Core Utils
#+BEGIN_SRC sh
awk cp gash mv sleep uname
basename cut grep pwd sort uniq
bash diff gzip reboot tar wc
cat dirname head rm test which
chmod expr ln rmdir touch
cmp false ls sed tr
compress find mkdir sh true
#+END_SRC
* Aim for the Stars: Full Source Bootstrap
** Full Source Bootstrap
#+LATEX:\includegraphics[width=0.6\textwidth]{fsb-logo-guile-guix-mes.png}
** Full Source Bootstrap: Stage 0
#+LATEX:\rightskip=2cm\includegraphics[width=0.8\textwidth]{stage-0.png}
** Full Source Bootstrap: Stage 1
#+LATEX:\rightskip=2cm\includegraphics[width=0.85\textwidth]{stage-1.png}
** Full Source Bootstrap: Stage 2
#+LATEX:\rightskip=2cm\includegraphics[width=0.75\textwidth]{stage-2.png}
** Full Source Bootstrap: Stage mes
#+LATEX:\rightskip=2cm\includegraphics[width=0.75\textwidth]{stage-mes.png}
** Full Source Bootstrap: Stage mesboot
#+LATEX:\rightskip=2cm\includegraphics[width=1.0\textwidth]{stage-mesboot.png}
* legalese
:PROPERTIES:
:BEAMER_ENV: note
:COPYING: t
:END:
Copyright \copy 2019, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
#+BEGIN_QUOTE
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
Version 1.3 or any later version published by the Free Software
Foundation; with no Invariant Sections, with no Front-Cover Texts,
and with no Back-Cover Texts.
#+END_QUOTE

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 KiB

View File

@ -0,0 +1,32 @@
* < 1 week *Trivial*
** Trusting trust attack can compromise entire system
** System language, essential applications
| Program | Depndency | Seed |
|---------+-----------+------|
| Gcc | GCC-1 | |
| Guile | C | |
|---------+-----------+------|
* < 1 year *Doable*
** Trusting trust attack can lead to data loss
** Emerging application programming languages
| Program | Dependency | Seed |
|---------+------------+-----------|
| rust | rust-1 | mrustc(?) |
| | | |
| | | |
|---------+------------+-----------|
* >= 1 year *Impossible*
** OK to ignore Trusting trust attack
** Experimental languages, toy languages
| Program | Dependency | Seed |
|---------+------------+------|
| C | | |
| | | |
| | | |
|---------+------------+------|

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Some files were not shown because too many files have changed in this diff Show More