guix-commits
[Top][All Lists]
Advanced

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

01/03: talks: Add preliminary PackagingCon talk.


From: Ludovic Courtès
Subject: 01/03: talks: Add preliminary PackagingCon talk.
Date: Wed, 10 Nov 2021 12:47:20 -0500 (EST)

civodul pushed a commit to branch master
in repository maintenance.

commit 55f9081d0412408db984cd1dae59d89f28c03a5f
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Fri Oct 29 18:17:29 2021 +0200

    talks: Add preliminary PackagingCon talk.
    
    * talks/packaging-con-2021/grail: New directory.
---
 .../grail/images/Guix-horizontal-print.pdf         |   1 +
 .../images/bootstrap-graph-further-reduced.dot     | 462 +++++++++++++++++++++
 .../grail/images/bootstrap-graph-reduced.dot       |   1 +
 .../grail/images/bootstrap-graph.dot               |   1 +
 .../grail/images/bootstrappable.pdf                |   1 +
 .../grail/images/inria-white-2019.pdf              |   1 +
 talks/packaging-con-2021/grail/images/parcel.jpg   | Bin 0 -> 429299 bytes
 .../grail/images/reflections-on-trusting-trust.png |   1 +
 .../grail/images/reproducible-builds.pdf           |   1 +
 .../grail/images/strawhorse-attack.pdf             | Bin 0 -> 96220 bytes
 talks/packaging-con-2021/grail/rules.ini           |   9 +
 talks/packaging-con-2021/grail/talk.tex            | 404 ++++++++++++++++++
 12 files changed, 882 insertions(+)

diff --git a/talks/packaging-con-2021/grail/images/Guix-horizontal-print.pdf 
b/talks/packaging-con-2021/grail/images/Guix-horizontal-print.pdf
new file mode 120000
index 0000000..36698cb
--- /dev/null
+++ b/talks/packaging-con-2021/grail/images/Guix-horizontal-print.pdf
@@ -0,0 +1 @@
+../../../ust4hpc-2021/images/Guix-horizontal-print.pdf
\ No newline at end of file
diff --git 
a/talks/packaging-con-2021/grail/images/bootstrap-graph-further-reduced.dot 
b/talks/packaging-con-2021/grail/images/bootstrap-graph-further-reduced.dot
new file mode 100644
index 0000000..f0e90e1
--- /dev/null
+++ b/talks/packaging-con-2021/grail/images/bootstrap-graph-further-reduced.dot
@@ -0,0 +1,462 @@
+digraph "Guix package" {
+  "139865243951632" [label = "make-boot0@4.3", shape = box, fontname = sans];
+  "139865243951632" -> "139865243951808" [color = dimgrey];
+  "139865243951632" -> "139865243951984" [color = dimgrey];
+  "139865243951632" -> "139865243952160" [color = dimgrey];
+  "139865243951632" -> "139865243952512" [color = dimgrey];
+  "139865243951632" -> "139865243952864" [color = dimgrey];
+  "139865243951632" -> "139865243953216" [color = dimgrey];
+  "139865243951632" -> "139865243954272" [color = dimgrey];
+  "139865243951632" -> "139865243954624" [color = dimgrey];
+  "139865243951632" -> "139865243914416" [color = dimgrey];
+  "139865243951632" -> "139865243954800" [color = dimgrey];
+  "139865243951632" -> "139865243954448" [color = dimgrey];
+  "139865243951632" -> "139865243914592" [color = dimgrey];
+  "139865243951632" -> "139865243916704" [color = dimgrey];
+  "139865243951632" -> "139865243916176" [color = dimgrey];
+  "139865243951632" -> "139865243917056" [color = dimgrey];
+  "139865243951632" -> "139865243916000" [color = dimgrey];
+  "139865243951808" [label = "coreutils-mesboot@8.32", shape = box, fontname = 
sans];
+  "139865243951808" -> "139865243951984" [color = peachpuff4];
+  "139865243951808" -> "139865243952160" [color = peachpuff4];
+  "139865243951808" -> "139865243952512" [color = peachpuff4];
+  "139865243951808" -> "139865243952864" [color = peachpuff4];
+  "139865243951808" -> "139865243953216" [color = peachpuff4];
+  "139865243951808" -> "139865243954272" [color = peachpuff4];
+  "139865243951808" -> "139865243954976" [color = peachpuff4];
+  "139865243951808" -> "139865243954624" [color = peachpuff4];
+  "139865243951808" -> "139865243914416" [color = peachpuff4];
+  "139865243951808" -> "139865243954800" [color = peachpuff4];
+  "139865243951808" -> "139865243954448" [color = peachpuff4];
+  "139865243951808" -> "139865243914592" [color = peachpuff4];
+  "139865243951808" -> "139865424551360" [color = peachpuff4];
+  "139865243951808" -> "139865243916704" [color = peachpuff4];
+  "139865243951808" -> "139865243916176" [color = peachpuff4];
+  "139865243951808" -> "139865243917056" [color = peachpuff4];
+  "139865243951808" -> "139865243916000" [color = peachpuff4];
+  "139865243951984" [label = "gcc-mesboot-wrapper@4.9.4", shape = box, 
fontname = sans];
+  "139865243951984" -> "139865243954272" [color = darkseagreen];
+  "139865243951984" -> "139865243954976" [color = darkseagreen];
+  "139865243951984" -> "139865243952512" [color = darkseagreen];
+  "139865243951984" -> "139865243952160" [color = darkseagreen];
+  "139865243954272" [label = "bash-mesboot@4.4", shape = box, fontname = sans];
+  "139865243954272" -> "139865243914768" [color = red];
+  "139865243954272" -> "139865424551360" [color = red];
+  "139865243954272" -> "139865243914944" [color = red];
+  "139865243954272" -> "139865243915648" [color = red];
+  "139865243954272" -> "139865243915120" [color = red];
+  "139865243954272" -> "139865243916528" [color = red];
+  "139865243954272" -> "139865243916704" [color = red];
+  "139865243954272" -> "139865243916176" [color = red];
+  "139865243954272" -> "139865243917056" [color = red];
+  "139865243954272" -> "139865243916000" [color = red];
+  "139865243954272" -> "139865243915824" [color = red];
+  "139865243954272" -> "139865243916880" [color = red];
+  "139865243954272" -> "139865243917936" [color = red];
+  "139865243954272" -> "139865243917760" [color = red];
+  "139865243954272" -> "139865243918112" [color = red];
+  "139865243954272" -> "139865424551712" [color = red];
+  "139865243914768" [label = "gcc-mesboot0@2.95.3", shape = box, fontname = 
sans];
+  "139865243914768" -> "139865243914944" [color = darkgoldenrod];
+  "139865243914768" -> "139865424551360" [color = darkgoldenrod];
+  "139865243914768" -> "139865243915648" [color = darkgoldenrod];
+  "139865243914768" -> "139865243915120" [color = darkgoldenrod];
+  "139865243914768" -> "139865243915472" [color = darkgoldenrod];
+  "139865243914768" -> "139865243916528" [color = darkgoldenrod];
+  "139865243914768" -> "139865243916704" [color = darkgoldenrod];
+  "139865243914768" -> "139865243916176" [color = darkgoldenrod];
+  "139865243914768" -> "139865243917056" [color = darkgoldenrod];
+  "139865243914768" -> "139865243916000" [color = darkgoldenrod];
+  "139865243914768" -> "139865243915824" [color = darkgoldenrod];
+  "139865243914768" -> "139865243916880" [color = darkgoldenrod];
+  "139865243914768" -> "139865243917936" [color = darkgoldenrod];
+  "139865243914768" -> "139865243917760" [color = darkgoldenrod];
+  "139865243914768" -> "139865243918112" [color = darkgoldenrod];
+  "139865243914768" -> "139865424551712" [color = darkgoldenrod];
+  "139865243914944" [label = "glibc-mesboot0@2.2.5", shape = box, fontname = 
sans];
+  "139865243914944" -> "139865243915296" [color = darkgoldenrod];
+  "139865243914944" -> "139865243915648" [color = darkgoldenrod];
+  "139865243914944" -> "139865243915120" [color = darkgoldenrod];
+  "139865243914944" -> "139865243915472" [color = darkgoldenrod];
+  "139865243914944" -> "139865243916528" [color = darkgoldenrod];
+  "139865243914944" -> "139865243916704" [color = darkgoldenrod];
+  "139865243914944" -> "139865243916176" [color = darkgoldenrod];
+  "139865243914944" -> "139865243917056" [color = darkgoldenrod];
+  "139865243914944" -> "139865243916000" [color = darkgoldenrod];
+  "139865243914944" -> "139865243915824" [color = darkgoldenrod];
+  "139865243914944" -> "139865243916880" [color = darkgoldenrod];
+  "139865243914944" -> "139865243917936" [color = darkgoldenrod];
+  "139865243914944" -> "139865243917760" [color = darkgoldenrod];
+  "139865243914944" -> "139865243918112" [color = darkgoldenrod];
+  "139865243914944" -> "139865424551712" [color = darkgoldenrod];
+  "139865243915296" [label = "mesboot-headers@0.22", shape = box, fontname = 
sans];
+  "139865243915296" -> "139865424551360" [color = magenta];
+  "139865243915296" -> "139865243916528" [color = magenta];
+  "139865243915296" -> "139865243916704" [color = magenta];
+  "139865243915296" -> "139865243916176" [color = magenta];
+  "139865243915296" -> "139865243917056" [color = magenta];
+  "139865243915296" -> "139865243916000" [color = magenta];
+  "139865243915296" -> "139865243915824" [color = magenta];
+  "139865243915296" -> "139865243916352" [color = magenta];
+  "139865243915296" -> "139865243916880" [color = magenta];
+  "139865243915296" -> "139865243917936" [color = magenta];
+  "139865243915296" -> "139865243917760" [color = magenta];
+  "139865243915296" -> "139865243918112" [color = magenta];
+  "139865243915296" -> "139865424551712" [color = magenta];
+  "139865424551360" [label = "linux-libre-headers-bootstrap@0", shape = box, 
fontname = sans];
+  "139865243916528" [label = "bash-mesboot0@2.05b", shape = box, fontname = 
sans];
+  "139865243916528" -> "139865243916880" [color = darkviolet];
+  "139865243916528" -> "139865243917232" [color = darkviolet];
+  "139865243916528" -> "139865243917936" [color = darkviolet];
+  "139865243916528" -> "139865243917760" [color = darkviolet];
+  "139865243916528" -> "139865243918112" [color = darkviolet];
+  "139865243916528" -> "139865424551712" [color = darkviolet];
+  "139865243916880" [label = "make-mesboot0@3.80", shape = box, fontname = 
sans];
+  "139865243916880" -> "139865243917232" [color = dimgrey];
+  "139865243916880" -> "139865243917936" [color = dimgrey];
+  "139865243916880" -> "139865243917760" [color = dimgrey];
+  "139865243916880" -> "139865243918112" [color = dimgrey];
+  "139865243916880" -> "139865424551712" [color = dimgrey];
+  "139865243917232" [label = "tcc-boot0@0.9.26-1103-g6e62e0e", shape = box, 
fontname = sans];
+  "139865243917232" -> "139865243917408" [color = darkviolet];
+  "139865243917232" -> "139865424550656" [color = darkviolet];
+  "139865243917232" -> "139865243917936" [color = darkviolet];
+  "139865243917232" -> "139865243917760" [color = darkviolet];
+  "139865243917232" -> "139865243918112" [color = darkviolet];
+  "139865243917232" -> "139865424551712" [color = darkviolet];
+  "139865243917408" [label = "mes-boot@0.22", shape = box, fontname = sans];
+  "139865243917408" -> "139865243917584" [color = dimgrey];
+  "139865243917408" -> "139865424550656" [color = dimgrey];
+  "139865243917408" -> "139865243917936" [color = dimgrey];
+  "139865243917408" -> "139865243917760" [color = dimgrey];
+  "139865243917408" -> "139865243918112" [color = dimgrey];
+  "139865243917408" -> "139865424551712" [color = dimgrey];
+  "139865243917584" [label = "bootstrap-mes-rewired@0.19", shape = box, 
fontname = sans];
+  "139865243917584" -> "139865424550480" [color = peachpuff4];
+  "139865243917584" -> "139865243917936" [color = peachpuff4];
+  "139865424550480" [label = "bootstrap-mes@0", shape = box, fontname = sans];
+  "139865243917936" [label = "gash-boot@0.2.0", shape = box, fontname = sans];
+  "139865243917936" -> "139865243918112" [color = red];
+  "139865243917936" -> "139865424551712" [color = red];
+  "139865243918112" [label = "bootar@1a", shape = box, fontname = sans];
+  "139865243918112" -> "139865424551712" [color = magenta];
+  "139865424551712" [label = "guile-bootstrap@2.0", shape = box, fontname = 
sans];
+  "139865424550656" [label = "bootstrap-mescc-tools@0.5.2", shape = box, 
fontname = sans];
+  "139865243917760" [label = "gash-utils-boot@0.1.0", shape = box, fontname = 
sans];
+  "139865243917760" -> "139865243918112" [color = magenta];
+  "139865243917760" -> "139865243917936" [color = magenta];
+  "139865243917760" -> "139865424551712" [color = magenta];
+  "139865243916704" [label = "bzip2-mesboot@1.0.8", shape = box, fontname = 
sans];
+  "139865243916704" -> "139865243916880" [color = blue];
+  "139865243916704" -> "139865243917232" [color = blue];
+  "139865243916704" -> "139865243917936" [color = blue];
+  "139865243916704" -> "139865243917760" [color = blue];
+  "139865243916704" -> "139865243918112" [color = blue];
+  "139865243916704" -> "139865424551712" [color = blue];
+  "139865243916176" [label = "diffutils-mesboot@2.7", shape = box, fontname = 
sans];
+  "139865243916176" -> "139865243916880" [color = peachpuff4];
+  "139865243916176" -> "139865243917232" [color = peachpuff4];
+  "139865243916176" -> "139865243917936" [color = peachpuff4];
+  "139865243916176" -> "139865243917760" [color = peachpuff4];
+  "139865243916176" -> "139865243918112" [color = peachpuff4];
+  "139865243916176" -> "139865424551712" [color = peachpuff4];
+  "139865243917056" [label = "gzip-mesboot@1.2.4", shape = box, fontname = 
sans];
+  "139865243917056" -> "139865243917232" [color = magenta];
+  "139865243917056" -> "139865243917936" [color = magenta];
+  "139865243917056" -> "139865243917760" [color = magenta];
+  "139865243917056" -> "139865243918112" [color = magenta];
+  "139865243917056" -> "139865424551712" [color = magenta];
+  "139865243916000" [label = "patch-mesboot@2.5.9", shape = box, fontname = 
sans];
+  "139865243916000" -> "139865243916880" [color = magenta];
+  "139865243916000" -> "139865243917232" [color = magenta];
+  "139865243916000" -> "139865243917936" [color = magenta];
+  "139865243916000" -> "139865243917760" [color = magenta];
+  "139865243916000" -> "139865243918112" [color = magenta];
+  "139865243916000" -> "139865424551712" [color = magenta];
+  "139865243915824" [label = "sed-mesboot0@1.18", shape = box, fontname = 
sans];
+  "139865243915824" -> "139865243916880" [color = darkviolet];
+  "139865243915824" -> "139865243917232" [color = darkviolet];
+  "139865243915824" -> "139865243917936" [color = darkviolet];
+  "139865243915824" -> "139865243917760" [color = darkviolet];
+  "139865243915824" -> "139865243918112" [color = darkviolet];
+  "139865243915824" -> "139865424551712" [color = darkviolet];
+  "139865243916352" [label = "tcc-boot@0.9.27", shape = box, fontname = sans];
+  "139865243916352" -> "139865243916704" [color = blue];
+  "139865243916352" -> "139865243916880" [color = blue];
+  "139865243916352" -> "139865243917232" [color = blue];
+  "139865243916352" -> "139865243917936" [color = blue];
+  "139865243916352" -> "139865243917760" [color = blue];
+  "139865243916352" -> "139865243918112" [color = blue];
+  "139865243916352" -> "139865424551712" [color = blue];
+  "139865243915648" [label = "binutils-mesboot0@2.14", shape = box, fontname = 
sans];
+  "139865243915648" -> "139865243916528" [color = blue];
+  "139865243915648" -> "139865243916704" [color = blue];
+  "139865243915648" -> "139865243916176" [color = blue];
+  "139865243915648" -> "139865243917056" [color = blue];
+  "139865243915648" -> "139865243916000" [color = blue];
+  "139865243915648" -> "139865243915824" [color = blue];
+  "139865243915648" -> "139865243916352" [color = blue];
+  "139865243915648" -> "139865243916880" [color = blue];
+  "139865243915648" -> "139865243917936" [color = blue];
+  "139865243915648" -> "139865243917760" [color = blue];
+  "139865243915648" -> "139865243918112" [color = blue];
+  "139865243915648" -> "139865424551712" [color = blue];
+  "139865243915120" [label = "gawk-mesboot0@3.0.0", shape = box, fontname = 
sans];
+  "139865243915120" -> "139865243916528" [color = magenta];
+  "139865243915120" -> "139865243916704" [color = magenta];
+  "139865243915120" -> "139865243916176" [color = magenta];
+  "139865243915120" -> "139865243917056" [color = magenta];
+  "139865243915120" -> "139865243916000" [color = magenta];
+  "139865243915120" -> "139865243915824" [color = magenta];
+  "139865243915120" -> "139865243916352" [color = magenta];
+  "139865243915120" -> "139865243916880" [color = magenta];
+  "139865243915120" -> "139865243917936" [color = magenta];
+  "139865243915120" -> "139865243917760" [color = magenta];
+  "139865243915120" -> "139865243918112" [color = magenta];
+  "139865243915120" -> "139865424551712" [color = magenta];
+  "139865243915472" [label = "gcc-core-mesboot0@2.95.3", shape = box, fontname 
= sans];
+  "139865243915472" -> "139865243915648" [color = darkgoldenrod];
+  "139865243915472" -> "139865243916528" [color = darkgoldenrod];
+  "139865243915472" -> "139865243916704" [color = darkgoldenrod];
+  "139865243915472" -> "139865243916176" [color = darkgoldenrod];
+  "139865243915472" -> "139865243917056" [color = darkgoldenrod];
+  "139865243915472" -> "139865243916000" [color = darkgoldenrod];
+  "139865243915472" -> "139865243915824" [color = darkgoldenrod];
+  "139865243915472" -> "139865243916352" [color = darkgoldenrod];
+  "139865243915472" -> "139865243916880" [color = darkgoldenrod];
+  "139865243915472" -> "139865243917936" [color = darkgoldenrod];
+  "139865243915472" -> "139865243917760" [color = darkgoldenrod];
+  "139865243915472" -> "139865243918112" [color = darkgoldenrod];
+  "139865243915472" -> "139865424551712" [color = darkgoldenrod];
+  "139865243954976" [label = "coreutils-mesboot0@5.0", shape = box, fontname = 
sans];
+  "139865243954976" -> "139865243914768" [color = darkgoldenrod];
+  "139865243954976" -> "139865424551360" [color = darkgoldenrod];
+  "139865243954976" -> "139865243914944" [color = darkgoldenrod];
+  "139865243954976" -> "139865243915648" [color = darkgoldenrod];
+  "139865243954976" -> "139865243915120" [color = darkgoldenrod];
+  "139865243954976" -> "139865243916528" [color = darkgoldenrod];
+  "139865243954976" -> "139865243916704" [color = darkgoldenrod];
+  "139865243954976" -> "139865243916176" [color = darkgoldenrod];
+  "139865243954976" -> "139865243917056" [color = darkgoldenrod];
+  "139865243954976" -> "139865243916000" [color = darkgoldenrod];
+  "139865243954976" -> "139865243915824" [color = darkgoldenrod];
+  "139865243954976" -> "139865243916880" [color = darkgoldenrod];
+  "139865243954976" -> "139865243917936" [color = darkgoldenrod];
+  "139865243954976" -> "139865243917760" [color = darkgoldenrod];
+  "139865243954976" -> "139865243918112" [color = darkgoldenrod];
+  "139865243954976" -> "139865424551712" [color = darkgoldenrod];
+  "139865243952512" [label = "glibc-mesboot@2.16.0", shape = box, fontname = 
sans];
+  "139865243952512" -> "139865243952688" [color = red];
+  "139865243952512" -> "139865243952864" [color = red];
+  "139865243952512" -> "139865243953216" [color = red];
+  "139865243952512" -> "139865243953392" [color = red];
+  "139865243952512" -> "139865243954272" [color = red];
+  "139865243952512" -> "139865243954976" [color = red];
+  "139865243952512" -> "139865243954624" [color = red];
+  "139865243952512" -> "139865243914416" [color = red];
+  "139865243952512" -> "139865243954800" [color = red];
+  "139865243952512" -> "139865243954448" [color = red];
+  "139865243952512" -> "139865243914592" [color = red];
+  "139865243952512" -> "139865424551360" [color = red];
+  "139865243952512" -> "139865243914944" [color = red];
+  "139865243952512" -> "139865243916704" [color = red];
+  "139865243952512" -> "139865243916176" [color = red];
+  "139865243952512" -> "139865243917056" [color = red];
+  "139865243952512" -> "139865243916000" [color = red];
+  "139865243952688" [label = "glibc-headers-mesboot@2.16.0", shape = box, 
fontname = sans];
+  "139865243952688" -> "139865243915296" [color = darkseagreen];
+  "139865243952688" -> "139865243952864" [color = darkseagreen];
+  "139865243952688" -> "139865243953216" [color = darkseagreen];
+  "139865243952688" -> "139865243953392" [color = darkseagreen];
+  "139865243952688" -> "139865243954272" [color = darkseagreen];
+  "139865243952688" -> "139865243954976" [color = darkseagreen];
+  "139865243952688" -> "139865243954624" [color = darkseagreen];
+  "139865243952688" -> "139865243914416" [color = darkseagreen];
+  "139865243952688" -> "139865243954800" [color = darkseagreen];
+  "139865243952688" -> "139865243954448" [color = darkseagreen];
+  "139865243952688" -> "139865243914592" [color = darkseagreen];
+  "139865243952688" -> "139865424551360" [color = darkseagreen];
+  "139865243952688" -> "139865243914944" [color = darkseagreen];
+  "139865243952688" -> "139865243916704" [color = darkseagreen];
+  "139865243952688" -> "139865243916176" [color = darkseagreen];
+  "139865243952688" -> "139865243917056" [color = darkseagreen];
+  "139865243952688" -> "139865243916000" [color = darkseagreen];
+  "139865243952864" [label = "binutils-mesboot@2.20.1a", shape = box, fontname 
= sans];
+  "139865243952864" -> "139865243953216" [color = cyan3];
+  "139865243952864" -> "139865243953392" [color = cyan3];
+  "139865243952864" -> "139865243954272" [color = cyan3];
+  "139865243952864" -> "139865243914240" [color = cyan3];
+  "139865243952864" -> "139865243954976" [color = cyan3];
+  "139865243952864" -> "139865243954624" [color = cyan3];
+  "139865243952864" -> "139865243914416" [color = cyan3];
+  "139865243952864" -> "139865243954800" [color = cyan3];
+  "139865243952864" -> "139865243954448" [color = cyan3];
+  "139865243952864" -> "139865243914592" [color = cyan3];
+  "139865243952864" -> "139865424551360" [color = cyan3];
+  "139865243952864" -> "139865243914944" [color = cyan3];
+  "139865243952864" -> "139865243916704" [color = cyan3];
+  "139865243952864" -> "139865243916176" [color = cyan3];
+  "139865243952864" -> "139865243917056" [color = cyan3];
+  "139865243952864" -> "139865243916000" [color = cyan3];
+  "139865243953216" [label = "xz-mesboot@5.0.0", shape = box, fontname = sans];
+  "139865243953216" -> "139865243953392" [color = dimgrey];
+  "139865243953216" -> "139865243954272" [color = dimgrey];
+  "139865243953216" -> "139865243914240" [color = dimgrey];
+  "139865243953216" -> "139865243954976" [color = dimgrey];
+  "139865243953216" -> "139865243954624" [color = dimgrey];
+  "139865243953216" -> "139865243914416" [color = dimgrey];
+  "139865243953216" -> "139865243954800" [color = dimgrey];
+  "139865243953216" -> "139865243954448" [color = dimgrey];
+  "139865243953216" -> "139865243914592" [color = dimgrey];
+  "139865243953216" -> "139865424551360" [color = dimgrey];
+  "139865243953216" -> "139865243914944" [color = dimgrey];
+  "139865243953216" -> "139865243916704" [color = dimgrey];
+  "139865243953216" -> "139865243916176" [color = dimgrey];
+  "139865243953216" -> "139865243917056" [color = dimgrey];
+  "139865243953216" -> "139865243916000" [color = dimgrey];
+  "139865243953392" [label = "gcc-mesboot1@4.6.4", shape = box, fontname = 
sans];
+  "139865243953392" -> "139865243954272" [color = red];
+  "139865243953392" -> "139865243914240" [color = red];
+  "139865243953392" -> "139865243954976" [color = red];
+  "139865243953392" -> "139865243954624" [color = red];
+  "139865243953392" -> "139865243914416" [color = red];
+  "139865243953392" -> "139865243954800" [color = red];
+  "139865243953392" -> "139865243954448" [color = red];
+  "139865243953392" -> "139865243914592" [color = red];
+  "139865243953392" -> "139865243914768" [color = red];
+  "139865243953392" -> "139865424551360" [color = red];
+  "139865243953392" -> "139865243914944" [color = red];
+  "139865243953392" -> "139865243916704" [color = red];
+  "139865243953392" -> "139865243916176" [color = red];
+  "139865243953392" -> "139865243917056" [color = red];
+  "139865243953392" -> "139865243916000" [color = red];
+  "139865243914240" [label = "binutils-mesboot1@2.14", shape = box, fontname = 
sans];
+  "139865243914240" -> "139865243914768" [color = peachpuff4];
+  "139865243914240" -> "139865424551360" [color = peachpuff4];
+  "139865243914240" -> "139865243914944" [color = peachpuff4];
+  "139865243914240" -> "139865243915648" [color = peachpuff4];
+  "139865243914240" -> "139865243915120" [color = peachpuff4];
+  "139865243914240" -> "139865243916528" [color = peachpuff4];
+  "139865243914240" -> "139865243916704" [color = peachpuff4];
+  "139865243914240" -> "139865243916176" [color = peachpuff4];
+  "139865243914240" -> "139865243917056" [color = peachpuff4];
+  "139865243914240" -> "139865243916000" [color = peachpuff4];
+  "139865243914240" -> "139865243915824" [color = peachpuff4];
+  "139865243914240" -> "139865243916880" [color = peachpuff4];
+  "139865243914240" -> "139865243917936" [color = peachpuff4];
+  "139865243914240" -> "139865243917760" [color = peachpuff4];
+  "139865243914240" -> "139865243918112" [color = peachpuff4];
+  "139865243914240" -> "139865424551712" [color = peachpuff4];
+  "139865243954624" [label = "gawk-mesboot@3.1.8", shape = box, fontname = 
sans];
+  "139865243954624" -> "139865243914768" [color = cyan3];
+  "139865243954624" -> "139865424551360" [color = cyan3];
+  "139865243954624" -> "139865243914944" [color = cyan3];
+  "139865243954624" -> "139865243915648" [color = cyan3];
+  "139865243954624" -> "139865243915120" [color = cyan3];
+  "139865243954624" -> "139865243916528" [color = cyan3];
+  "139865243954624" -> "139865243916704" [color = cyan3];
+  "139865243954624" -> "139865243916176" [color = cyan3];
+  "139865243954624" -> "139865243917056" [color = cyan3];
+  "139865243954624" -> "139865243916000" [color = cyan3];
+  "139865243954624" -> "139865243915824" [color = cyan3];
+  "139865243954624" -> "139865243916880" [color = cyan3];
+  "139865243954624" -> "139865243917936" [color = cyan3];
+  "139865243954624" -> "139865243917760" [color = cyan3];
+  "139865243954624" -> "139865243918112" [color = cyan3];
+  "139865243954624" -> "139865424551712" [color = cyan3];
+  "139865243954624" -> "139865243915296" [color = cyan3];
+  "139865243914416" [label = "grep-mesboot@2.0", shape = box, fontname = sans];
+  "139865243914416" -> "139865243914768" [color = darkgoldenrod];
+  "139865243914416" -> "139865424551360" [color = darkgoldenrod];
+  "139865243914416" -> "139865243914944" [color = darkgoldenrod];
+  "139865243914416" -> "139865243915648" [color = darkgoldenrod];
+  "139865243914416" -> "139865243915120" [color = darkgoldenrod];
+  "139865243914416" -> "139865243916528" [color = darkgoldenrod];
+  "139865243914416" -> "139865243916704" [color = darkgoldenrod];
+  "139865243914416" -> "139865243916176" [color = darkgoldenrod];
+  "139865243914416" -> "139865243917056" [color = darkgoldenrod];
+  "139865243914416" -> "139865243916000" [color = darkgoldenrod];
+  "139865243914416" -> "139865243915824" [color = darkgoldenrod];
+  "139865243914416" -> "139865243916880" [color = darkgoldenrod];
+  "139865243914416" -> "139865243917936" [color = darkgoldenrod];
+  "139865243914416" -> "139865243917760" [color = darkgoldenrod];
+  "139865243914416" -> "139865243918112" [color = darkgoldenrod];
+  "139865243914416" -> "139865424551712" [color = darkgoldenrod];
+  "139865243954800" [label = "make-mesboot@3.82", shape = box, fontname = 
sans];
+  "139865243954800" -> "139865243914768" [color = magenta];
+  "139865243954800" -> "139865424551360" [color = magenta];
+  "139865243954800" -> "139865243914944" [color = magenta];
+  "139865243954800" -> "139865243915648" [color = magenta];
+  "139865243954800" -> "139865243915120" [color = magenta];
+  "139865243954800" -> "139865243916528" [color = magenta];
+  "139865243954800" -> "139865243916704" [color = magenta];
+  "139865243954800" -> "139865243916176" [color = magenta];
+  "139865243954800" -> "139865243917056" [color = magenta];
+  "139865243954800" -> "139865243916000" [color = magenta];
+  "139865243954800" -> "139865243915824" [color = magenta];
+  "139865243954800" -> "139865243916880" [color = magenta];
+  "139865243954800" -> "139865243917936" [color = magenta];
+  "139865243954800" -> "139865243917760" [color = magenta];
+  "139865243954800" -> "139865243918112" [color = magenta];
+  "139865243954800" -> "139865424551712" [color = magenta];
+  "139865243954448" [label = "sed-mesboot@4.0.6", shape = box, fontname = 
sans];
+  "139865243954448" -> "139865243914768" [color = peachpuff4];
+  "139865243954448" -> "139865424551360" [color = peachpuff4];
+  "139865243954448" -> "139865243914944" [color = peachpuff4];
+  "139865243954448" -> "139865243915648" [color = peachpuff4];
+  "139865243954448" -> "139865243915120" [color = peachpuff4];
+  "139865243954448" -> "139865243916528" [color = peachpuff4];
+  "139865243954448" -> "139865243916704" [color = peachpuff4];
+  "139865243954448" -> "139865243916176" [color = peachpuff4];
+  "139865243954448" -> "139865243917056" [color = peachpuff4];
+  "139865243954448" -> "139865243916000" [color = peachpuff4];
+  "139865243954448" -> "139865243915824" [color = peachpuff4];
+  "139865243954448" -> "139865243916880" [color = peachpuff4];
+  "139865243954448" -> "139865243917936" [color = peachpuff4];
+  "139865243954448" -> "139865243917760" [color = peachpuff4];
+  "139865243954448" -> "139865243918112" [color = peachpuff4];
+  "139865243954448" -> "139865424551712" [color = peachpuff4];
+  "139865243914592" [label = "tar-mesboot@1.22", shape = box, fontname = sans];
+  "139865243914592" -> "139865243914768" [color = cyan3];
+  "139865243914592" -> "139865424551360" [color = cyan3];
+  "139865243914592" -> "139865243914944" [color = cyan3];
+  "139865243914592" -> "139865243915648" [color = cyan3];
+  "139865243914592" -> "139865243915120" [color = cyan3];
+  "139865243914592" -> "139865243916528" [color = cyan3];
+  "139865243914592" -> "139865243916704" [color = cyan3];
+  "139865243914592" -> "139865243916176" [color = cyan3];
+  "139865243914592" -> "139865243917056" [color = cyan3];
+  "139865243914592" -> "139865243916000" [color = cyan3];
+  "139865243914592" -> "139865243915824" [color = cyan3];
+  "139865243914592" -> "139865243916880" [color = cyan3];
+  "139865243914592" -> "139865243917936" [color = cyan3];
+  "139865243914592" -> "139865243917760" [color = cyan3];
+  "139865243914592" -> "139865243918112" [color = cyan3];
+  "139865243914592" -> "139865424551712" [color = cyan3];
+  "139865243952160" [label = "gcc-mesboot@4.9.4", shape = box, fontname = 
sans];
+  "139865243952160" -> "139865243952336" [color = darkviolet];
+  "139865243952160" -> "139865243953392" [color = darkviolet];
+  "139865243952160" -> "139865243952688" [color = darkviolet];
+  "139865243952160" -> "139865243952512" [color = darkviolet];
+  "139865243952160" -> "139865243952864" [color = darkviolet];
+  "139865243952160" -> "139865243953216" [color = darkviolet];
+  "139865243952160" -> "139865243953392" [color = darkviolet];
+  "139865243952160" -> "139865243954272" [color = darkviolet];
+  "139865243952160" -> "139865243954976" [color = darkviolet];
+  "139865243952160" -> "139865243954624" [color = darkviolet];
+  "139865243952160" -> "139865243914416" [color = darkviolet];
+  "139865243952160" -> "139865243954800" [color = darkviolet];
+  "139865243952160" -> "139865243954448" [color = darkviolet];
+  "139865243952160" -> "139865243914592" [color = darkviolet];
+  "139865243952160" -> "139865424551360" [color = darkviolet];
+  "139865243952160" -> "139865243916704" [color = darkviolet];
+  "139865243952160" -> "139865243916176" [color = darkviolet];
+  "139865243952160" -> "139865243917056" [color = darkviolet];
+  "139865243952160" -> "139865243916000" [color = darkviolet];
+  "139865243952336" [label = "gcc-mesboot1-wrapper@4.6.4", shape = box, 
fontname = sans];
+  "139865243952336" -> "139865243954272" [color = darkseagreen];
+  "139865243952336" -> "139865243954976" [color = darkseagreen];
+  "139865243952336" -> "139865243952512" [color = darkseagreen];
+  "139865243952336" -> "139865243953392" [color = darkseagreen];
+
+}
diff --git a/talks/packaging-con-2021/grail/images/bootstrap-graph-reduced.dot 
b/talks/packaging-con-2021/grail/images/bootstrap-graph-reduced.dot
new file mode 120000
index 0000000..d0cf419
--- /dev/null
+++ b/talks/packaging-con-2021/grail/images/bootstrap-graph-reduced.dot
@@ -0,0 +1 @@
+../../../fosdem-2020/containers/images/bootstrap-graph-reduced.dot
\ No newline at end of file
diff --git a/talks/packaging-con-2021/grail/images/bootstrap-graph.dot 
b/talks/packaging-con-2021/grail/images/bootstrap-graph.dot
new file mode 120000
index 0000000..6c98a03
--- /dev/null
+++ b/talks/packaging-con-2021/grail/images/bootstrap-graph.dot
@@ -0,0 +1 @@
+../../../fosdem-2020/containers/images/bootstrap-graph.dot
\ No newline at end of file
diff --git a/talks/packaging-con-2021/grail/images/bootstrappable.pdf 
b/talks/packaging-con-2021/grail/images/bootstrappable.pdf
new file mode 120000
index 0000000..b6f0536
--- /dev/null
+++ b/talks/packaging-con-2021/grail/images/bootstrappable.pdf
@@ -0,0 +1 @@
+../../../ust4hpc-2021/images/bootstrappable.pdf
\ No newline at end of file
diff --git a/talks/packaging-con-2021/grail/images/inria-white-2019.pdf 
b/talks/packaging-con-2021/grail/images/inria-white-2019.pdf
new file mode 120000
index 0000000..4b04b21
--- /dev/null
+++ b/talks/packaging-con-2021/grail/images/inria-white-2019.pdf
@@ -0,0 +1 @@
+../../../ust4hpc-2021/images/inria-white-2019.pdf
\ No newline at end of file
diff --git a/talks/packaging-con-2021/grail/images/parcel.jpg 
b/talks/packaging-con-2021/grail/images/parcel.jpg
new file mode 100644
index 0000000..1bd6b42
Binary files /dev/null and b/talks/packaging-con-2021/grail/images/parcel.jpg 
differ
diff --git 
a/talks/packaging-con-2021/grail/images/reflections-on-trusting-trust.png 
b/talks/packaging-con-2021/grail/images/reflections-on-trusting-trust.png
new file mode 120000
index 0000000..cd5d62a
--- /dev/null
+++ b/talks/packaging-con-2021/grail/images/reflections-on-trusting-trust.png
@@ -0,0 +1 @@
+../../../fosdem-2020/containers/images/reflections-on-trusting-trust.png
\ No newline at end of file
diff --git a/talks/packaging-con-2021/grail/images/reproducible-builds.pdf 
b/talks/packaging-con-2021/grail/images/reproducible-builds.pdf
new file mode 120000
index 0000000..d32ed25
--- /dev/null
+++ b/talks/packaging-con-2021/grail/images/reproducible-builds.pdf
@@ -0,0 +1 @@
+../../../ust4hpc-2021/images/reproducible-builds.pdf
\ No newline at end of file
diff --git a/talks/packaging-con-2021/grail/images/strawhorse-attack.pdf 
b/talks/packaging-con-2021/grail/images/strawhorse-attack.pdf
new file mode 100644
index 0000000..773f4a1
Binary files /dev/null and 
b/talks/packaging-con-2021/grail/images/strawhorse-attack.pdf differ
diff --git a/talks/packaging-con-2021/grail/rules.ini 
b/talks/packaging-con-2021/grail/rules.ini
new file mode 100644
index 0000000..5a74423
--- /dev/null
+++ b/talks/packaging-con-2021/grail/rules.ini
@@ -0,0 +1,9 @@
+;; Rules for Rubber.
+
+[dot-pdf]
+target = (.*)\.pdf
+source = \1.dot
+rule = shell
+cost = 0
+command = dot -Tpdf -Gratio=.78 -o $target $source
+message = rendering $source into $target
diff --git a/talks/packaging-con-2021/grail/talk.tex 
b/talks/packaging-con-2021/grail/talk.tex
new file mode 100644
index 0000000..a18fdc7
--- /dev/null
+++ b/talks/packaging-con-2021/grail/talk.tex
@@ -0,0 +1,404 @@
+% The comment below tells Rubber to compile the .dot files.
+%
+% rubber: module graphics
+% rubber: rules rules.ini
+
+% Make sure URLs are broken on hyphens.
+% See <https://tex.stackexchange.com/questions/3033/forcing-linebreaks-in-url>.
+\RequirePackage[hyphens]{url}
+
+\documentclass[aspectratio=169]{beamer}
+
+\usetheme{default}
+
+\usefonttheme{structurebold}
+
+% Nice sans-serif font.
+\usepackage[sfdefault,lining]{FiraSans} %% option 'sfdefault' activates Fira 
Sans as the default text font
+\renewcommand*\oldstylenums[1]{{\firaoldstyle #1}}
+
+% Nice monospace font.
+\usepackage{inconsolata}
+%% \renewcommand*\familydefault{\ttdefault} %% Only if the base font of the 
document is to be typewriter style
+\usepackage[T1]{fontenc}
+
+\usepackage[utf8]{inputenc}
+\PassOptionsToPackage{hyphens}{url}\usepackage{hyperref,xspace,multicol}
+
+\usecolortheme{seagull}         % white on black
+\usepackage[absolute,overlay]{textpos}
+\usepackage{tikz}
+\usetikzlibrary{arrows,shapes,trees,shadows,positioning}
+\usepackage{fancyvrb}           % for '\Verb'
+\usepackage{xifthen}            % for '\isempty'
+
+% Remember the position of every picture.
+\tikzstyle{every picture}+=[remember picture]
+
+\tikzset{onslide/.code args={<#1>#2}{%
+  \only<#1>{\pgfkeysalso{#2}} % \pgfkeysalso doesn't change the path
+}}
+
+% Colors.
+\definecolor{guixred1}{RGB}{226,0,38}  % red P
+\definecolor{guixorange1}{RGB}{243,154,38}  % guixorange P
+\definecolor{guixyellow}{RGB}{254,205,27}  % guixyellow P
+\definecolor{guixred2}{RGB}{230,68,57}  % red S
+\definecolor{guixred3}{RGB}{115,34,27}  % dark red
+\definecolor{guixorange2}{RGB}{236,117,40}  % guixorange S
+\definecolor{guixtaupe}{RGB}{134,113,127} % guixtaupe S
+\definecolor{guixgrey}{RGB}{91,94,111} % guixgrey S
+\definecolor{guixdarkgrey}{RGB}{46,47,55} % guixdarkgrey S
+\definecolor{guixblue1}{RGB}{38,109,131} % guixblue S
+\definecolor{guixblue2}{RGB}{10,50,80} % guixblue S
+\definecolor{guixgreen1}{RGB}{133,146,66} % guixgreen S
+\definecolor{guixgreen2}{RGB}{157,193,7} % guixgreen S
+
+\definecolor{rescienceyellow}{RGB}{254,246,91}
+
+\setbeamerfont{title}{size=\huge}
+\setbeamerfont{frametitle}{size=\huge}
+\setbeamerfont{normal text}{size=\Large}
+
+% White-on-black color theme.
+\setbeamercolor{structure}{fg=guixorange1,bg=black}
+\setbeamercolor{title}{fg=white,bg=black}
+\setbeamercolor{date}{fg=guixorange1,bg=black}
+\setbeamercolor{frametitle}{fg=white,bg=black}
+\setbeamercolor{titlelike}{fg=white,bg=black}
+\setbeamercolor{normal text}{fg=white,bg=black}
+\setbeamercolor{alerted text}{fg=guixyellow,bg=black}
+\setbeamercolor{section in toc}{fg=white,bg=black}
+\setbeamercolor{section in toc shaded}{fg=white,bg=black}
+\setbeamercolor{subsection in toc}{fg=guixorange1,bg=black}
+\setbeamercolor{subsection in toc shaded}{fg=white,bg=black}
+\setbeamercolor{subsubsection in toc}{fg=guixorange1,bg=black}
+\setbeamercolor{subsubsection in toc shaded}{fg=white,bg=black}
+\setbeamercolor{frametitle in toc}{fg=white,bg=black}
+\setbeamercolor{local structure}{fg=guixorange1,bg=black}
+
+\newcommand{\highlight}[1]{\alert{\textbf{#1}}}
+
+\title{The Packaging Grail}
+
+\author{Ludovic Courtès}
+\date{10 November 2021}
+
+\setbeamertemplate{navigation symbols}{} % remove the navigation bar
+
+\AtBeginSection[]{
+  \begin{frame}
+    \frametitle{}
+    \tableofcontents[currentsection]
+  \end{frame} 
+}
+
+
+\newcommand{\screenshot}[2][width=\paperwidth]{
+  \begin{frame}[plain]
+    \begin{tikzpicture}[remember picture, overlay]
+      \node [at=(current page.center), inner sep=0pt]
+        {\includegraphics[{#1}]{#2}};
+    \end{tikzpicture}
+  \end{frame}
+}
+
+
+\begin{document}
+
+\setbeamercolor{normal text}{fg=black,bg=white}
+\begin{frame}[plain, fragile]
+  \begin{tikzpicture}[overlay]
+    \node [at=(current page.center), opacity=.3, inner sep=10mm] {
+      % 
https://thumbs.dreamstime.com/z/parcel-illustration-drawing-engraving-ink-line-art-vector-what-made-pencil-paper-then-was-digitalized-143335396.jpg
+      \includegraphics[width=.9\textwidth]{images/parcel}
+    };
+    \node [at=(current page.center), fill=guixorange2, opacity=.4,
+      text width=1.3\textwidth, text height=\textheight] {
+    };
+    \node [at=(current page.center), fill=black, opacity=.15,
+      text width=1.3\textwidth, text height=\textheight] {};
+  \end{tikzpicture}
+
+  \vspace{35mm}
+  \Huge{\textbf{The Packaging Grail}}
+  \\[15mm]
+  \large{Ludovic Courtès}
+  \\[2mm]
+  \textbf{PackagingCon \oldstylenums{2021}}
+
+  \vfill{}
+  \hfill{\includegraphics[width=0.2\paperwidth]{images/inria-white-2019}}
+  \vspace{15mm}
+\end{frame}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Part 1: Guix's grail
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\setbeamercolor{normal text}{fg=black,bg=white}
+\begin{frame}[fragile]
+  \begin{tikzpicture}[overlay]
+    \node(logo) [at=(current page.center), inner sep=0pt]
+      {\includegraphics[width=.8\textwidth]{images/Guix-horizontal-print}};
+  \end{tikzpicture}
+\end{frame}
+
+\setbeamercolor{normal text}{bg=white}
+\begin{frame}[plain, fragile]
+  \begin{tikzpicture}[overlay]
+    \node [at=(current page.center)] {
+      \includegraphics[width=.7\paperwidth]{images/reproducible-builds}
+    };
+    \node [at=(current page.south), anchor=south, text=guixgrey] {
+      \url{https://reproducible-builds.org}
+    };
+  \end{tikzpicture}
+\end{frame}
+\setbeamercolor{normal text}{bg=black}
+
+% TODO: Add snap bitcoin miner
+
+\setbeamercolor{normal text}{bg=guixblue2}
+\begin{frame}[fragile]
+  \begin{semiverbatim}
+$ \alert{guix challenge} --substitute-urls="https://ci.guix.gnu.org 
https://example.org";
+\alert{/gnu/store/\dots{}-openssl-1.0.2d contents differ}:
+  local hash: 0725l22\dots{}
+  http://ci.guix.gnu.org/\dots{}-openssl-1.0.2d: 0725l22\dots{}
+  http://example.org/\dots{}-openssl-1.0.2d: 1zy4fma\dots{}
+\alert{/gnu/store/\dots{}-git-2.5.0 contents differ}:
+  local hash: 00p3bmr\dots{}
+  http://ci.guix.gnu.org/\dots{}-git-2.5.0: 069nb85\dots{}
+  http://example.org/\dots{}-git-2.5.0: 0mdqa9w\dots{}
+\alert{/gnu/store/\dots{}-pius-2.1.1 contents differ}:
+  local hash: 0k4v3m9\dots{}
+  http://ci.guix.gnu.org/\dots{}-pius-2.1.1: 0k4v3m9\dots{}
+  http://example.org/\dots{}-pius-2.1.1: 1cy25x1\dots{}
+  \end{semiverbatim}
+\end{frame}
+\setbeamercolor{normal text}{bg=black}
+
+\setbeamercolor{normal text}{bg=guixdarkgrey}
+
+
+\begin{frame}[plain]
+  \LARGE{
+    $\texttt{emacs} = f(\texttt{gtk+}, \texttt{gcc}, \texttt{make}, 
\texttt{coreutils})$
+    \\[1.1cm]
+    \uncover<2->{$\texttt{gtk+} = g(\texttt{glib}, \texttt{gcc}, 
\texttt{make}, \texttt{coreutils})$}
+    \\[1.1cm]
+    \uncover<3->{$\texttt{gcc} = h(\texttt{make}, \texttt{coreutils}, 
\texttt{gcc}_0)$}
+    \\[1.1cm]
+    \uncover<3->{\textrm{...}}
+  }
+
+  \uncover<1>{\large{where $f =$ \texttt{./configure \&\& make \&\& make 
install}}}
+
+  %% \begin{tikzpicture}[overlay]
+  %%   \node<4->[fill=guixorange1, text=black, text opacity=1, opacity=.7,
+  %%         rounded corners=2mm, inner sep=5mm] at (5, 1) {
+  %%           \textbf{\Large{the complete DAG is captured}}
+  %%         };
+  %% \end{tikzpicture}
+\end{frame}
+%% \begin{frame}[fragile]
+%%   \begin{tikzpicture}[overlay]
+%%     \node [at=(current page.north west), anchor=north west,
+%%       outer sep=4mm, text=white, text width=13mm]{
+%%       \texttt{configure},
+%%       \texttt{src/hello.c},
+%%       GCC,\\
+%%       Binutils,
+%%       etc.
+%%     };
+%%     \node [at=(current page.center), outer sep=3mm, font=\rmfamily]{
+%%       {\fontfamily{roman}\fontsize{45}{45}{$f(x,y,z)$}}
+%%     };
+%%   \end{tikzpicture}
+%% \end{frame}
+\setbeamercolor{normal text}{bg=black}
+
+\begin{frame}[fragile]
+  %% \frametitle{Bit-Reproducible Builds$^*$}
+  %% \framesubtitle{$^*$ almost!}
+
+  \begin{semiverbatim}
+    \Large{
+\$ guix build hello
+\uncover<2->{/gnu/store/\tikz[baseline]{\node[anchor=base](nixhash){\alert<2>{h2g4sf72\textrm{...}}};}-hello-2.10}
+
+\uncover<3->{\$ \alert<3>{guix gc --references 
/gnu/store/\textrm{...}-hello-2.10}
+/gnu/store/\textrm{...}-glibc-2.29
+/gnu/store/\textrm{...}-gcc-7.4.0-lib
+/gnu/store/\textrm{...}-hello-2.10
+}}
+  \end{semiverbatim}
+
+  \begin{tikzpicture}[overlay]
+    \node<1>(labelnixhash) [fill=white, text=black, inner sep=0.5cm,
+       rounded corners] at (current page.center) {%
+      \Large{\textbf{isolated build}: chroot, separate name spaces, etc.}
+    };
+
+    \node<2>(labelnixhash) [fill=white, text=black] at (4cm, 2cm) {%
+      hash of \textbf{all} the dependencies};
+    \path[->]<2>(labelnixhash.north) edge [bend left, in=180, out=-45] 
(nixhash.south);
+
+    \draw<4-> (-10pt, 105pt) [very thick, color=guixorange2, rounded 
corners=8pt]
+      arc (10:-50:-50pt and 110pt);
+    \node<4->[fill=white, text=black, text opacity=1, opacity=.7,
+          rounded corners=2mm, inner sep=5mm]
+      at (7, 2) {\textbf{\Large{(nearly) bit-identical for everyone}}};
+  \end{tikzpicture}
+
+\end{frame}
+
+\setbeamercolor{normal text}{bg=white}
+\begin{frame}[plain, fragile]
+  \begin{tikzpicture}[overlay]
+    \node [at=(current page.center)] {
+      \includegraphics[width=.9\paperwidth]{images/bootstrappable}
+    };
+    \node [at=(current page.south), anchor=south, text=guixgrey] {
+      \url{https://bootstrappable.org}
+    };
+  \end{tikzpicture}
+\end{frame}
+
+\setbeamercolor{normal text}{fg=black,bg=white}
+\begin{frame}[fragile]
+  \vspace{2.5cm}
+  \begin{tikzpicture}[remember picture, overlay]
+    \node [at=(current page.center), inner sep=0pt,
+    drop shadow={opacity=0.5}, draw, color=guixgrey, line width=1pt]
+    
{\includegraphics[height=0.9\paperheight]{images/reflections-on-trusting-trust}};
+  \end{tikzpicture}
+\end{frame}
+
+\begin{frame}[fragile]
+  \vspace{2.5cm}
+  \begin{tikzpicture}[remember picture, overlay]
+    \node [at=(current page.center), inner sep=0pt, rotate=8,
+    drop shadow={opacity=0.5}, draw, color=guixgrey, line width=1pt]
+    {\includegraphics[width=0.9\paperwidth]{images/strawhorse-attack}};
+    % TODO: SolarWinds
+  \end{tikzpicture}
+\end{frame}
+
+\setbeamercolor{normal text}{bg=white}
+\begin{frame}[plain]
+  \begin{tikzpicture}[remember picture, overlay]
+    \node [at=(current page.center), inner sep=0pt]
+      {\includegraphics[height=\paperheight]{images/bootstrap-graph}};
+    \node<2-> [at=(current page.center), anchor=north, inner sep=20pt, 
text=guixgrey]
+      {\Large{\textbf{250 MiB of binary blobs}}};
+  \end{tikzpicture}
+\end{frame}
+
+\begin{frame}[plain]
+  \begin{tikzpicture}[remember picture, overlay]
+    \node [at=(current page.center), inner sep=0pt]
+      {\includegraphics[height=\paperheight]{images/bootstrap-graph-reduced}};
+    \node<2-> [at=(current page.center), fill=guixorange1, rounded 
corners=10pt,
+               inner sep=10pt, opacity=.8, text opacity=1]
+      {\Large{\textbf{250 MiB $\rightarrow$ 130 MiB of binary blobs}}};
+    \node<2-> [at=(current page.south), anchor=south,
+               inner sep=2mm, outer sep=3mm, rounded corners,
+               fill=white, opacity=.7, text opacity=1, text=black]
+      
{\url{https://guix.gnu.org/en/blog/2019/guix-reduces-bootstrap-seed-by-50/}};
+  \end{tikzpicture}
+\end{frame}
+
+\begin{frame}[plain]
+  \begin{tikzpicture}[remember picture, overlay]
+    \node [at=(current page.center), inner sep=0pt]
+      
{\includegraphics[height=.8\paperheight]{images/bootstrap-graph-further-reduced}};
+    \node<2-> [at=(current page.center), fill=guixorange1, rounded 
corners=10pt,
+               inner sep=10pt, opacity=.8, text opacity=1]
+      {\Large{\textbf{130 MiB $\rightarrow$ 60 MiB of binary blobs}}};
+    \node<2-> [at=(current page.south), anchor=south,
+               inner sep=2mm, outer sep=3mm, rounded corners,
+               fill=white, opacity=.7, text opacity=1, text=black]
+      
{\url{https://guix.gnu.org/en/blog/2020/guix-further-reduces-bootstrap-seed-to-25/}};
+  \end{tikzpicture}
+\end{frame}
+
+\setbeamercolor{normal text}{fg=white,bg=black}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Part 2: The mess we're in
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\setbeamercolor{normal text}{fg=white,bg=black}
+
+% pytorch (image with logo; first white background, then red one)
+% link to https://hpc.guix.info/blog/2021/09/whats-in-a-package/
+% dependency graph
+% pip install screenshot ("went to my colleague next door: they use pip")
+% unzip -l ...
+
+\begin{frame}[plain, fragile]
+  \Huge{curated → ``community (mis)managed''}
+\end{frame}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Part 3: The way forward
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
+\begin{frame}{}
+  \begin{textblock}{12}(2, 6)
+    \tiny{
+      Copyright \copyright{} 2010, 2012--2021 Ludovic Courtès 
\texttt{ludo@gnu.org}.\\[3.0mm]
+      GNU Guix logo, CC-BY-SA 4.0, \url{https://gnu.org/s/guix/graphics}.
+      \\[1.5mm]
+      Smoothie image and hexagon image \copyright{} 2019 Ricardo Wurmus,
+      CC-BY-SA 4.0.
+      \\[1.5mm]
+      Hand-drawn arrows by Freepik from flaticon.com.
+      \\[1.5mm]
+      DeLorean time machine picture \copyright{} 2014 Oto Godfrey and
+      Justin Morton, CC-BY-SA 4.0,
+      
\url{https://commons.wikimedia.org/wiki/File:TeamTimeCar.com-BTTF_DeLorean_Time_Machine-OtoGodfrey.com-JMortonPhoto.com-07.jpg}.
+      \\[1.5mm]
+      Whale engraving in the public domain,
+      
\url{https://publicdomainreview.org/essay/a-bestiary-of-sir-thomas-browne}
+      \\[1.5mm]
+      Copyright of other images included in this document is held by
+      their respective owners.
+      \\[3.0mm]
+      This work is licensed under the \alert{Creative Commons
+        Attribution-Share Alike 3.0} License.  To view a copy of this
+      license, visit
+      \url{https://creativecommons.org/licenses/by-sa/3.0/} or send a
+      letter to Creative Commons, 171 Second Street, Suite 300, San
+      Francisco, California, 94105, USA.
+      \\[2.0mm]
+      At your option, you may instead copy, distribute and/or modify
+      this document under the terms of the \alert{GNU Free Documentation
+        License, Version 1.3 or any later version} published by the Free
+      Software Foundation; with no Invariant Sections, no Front-Cover
+      Texts, and no Back-Cover Texts.  A copy of the license is
+      available at \url{https://www.gnu.org/licenses/gfdl.html}.
+      \\[2.0mm]
+      % Give a link to the 'Transparent Copy', as per Section 3 of the GFDL.
+      The source of this document is available from
+      \url{https://git.sv.gnu.org/cgit/guix/maintenance.git}.
+    }
+  \end{textblock}
+\end{frame}
+
+\end{document}
+
+% Local Variables:
+% coding: utf-8
+% comment-start: "%"
+% comment-end: ""
+% ispell-local-dictionary: "francais"
+% compile-command: "guix time-machine 
--commit=c81457a5883ea43950eb2ecdcbb58a5b144bcd11 -- environment --ad-hoc 
texlive rubber -- rubber --pdf talk.pdf"
+% End:
+
+%%  LocalWords:  Reproducibility



reply via email to

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