[Git][reproducible-builds/reproducible-presentations][master] 6 commits: 2020-05-lfnw: A taste of source code

Vagrant Cascadian gitlab at salsa.debian.org
Mon May 11 00:40:46 UTC 2020



Vagrant Cascadian pushed to branch master at Reproducible Builds / reproducible-presentations


Commits:
f427206f by Vagrant Cascadian at 2020-05-10T16:20:33-07:00
2020-05-lfnw: A taste of source code

- - - - -
f77cc27c by Vagrant Cascadian at 2020-05-10T16:45:33-07:00
2020-05-lfnw: split try.diffoscope.org into separate slide, use two
columns for supported platforms.

- - - - -
542362d2 by Vagrant Cascadian at 2020-05-10T16:53:19-07:00
2020-05-lfnw: tweak torbrowser/bitcoin slightly.

- - - - -
a86a8834 by Vagrant Cascadian at 2020-05-10T17:00:59-07:00
2020-05-lfnw: move RB slide before bootstrappable.

- - - - -
69ba401c by Vagrant Cascadian at 2020-05-10T17:28:05-07:00
2020-05-lfnw: Only show the bootstrap map in it's full glory.

- - - - -
8be928e0 by Vagrant Cascadian at 2020-05-10T17:29:22-07:00
2020-05-lfnw: Expand on Mes slides.

- - - - -


2 changed files:

- 2020-05-LFNW-beyond-trusting-open-source-software/Beyond-Trusting-Open-Source-Software.org
- + 2020-05-LFNW-beyond-trusting-open-source-software/images/try.diffoscope.org.png


Changes:

=====================================
2020-05-LFNW-beyond-trusting-open-source-software/Beyond-Trusting-Open-Source-Software.org
=====================================
@@ -93,6 +93,32 @@ https://reproducible-builds.org
 - Transformed by a toolchain...
 - Into machine code
 
+* A taste of source
+
+from bash 5.0 assoc.c:
+
+#+BEGIN_SRC C
+assoc_insert (hash, key, value)
+     HASH_TABLE *hash;
+     char *key;
+     char *value;
+{
+  BUCKET_CONTENTS *b;
+
+  b = hash_search (key, hash, HASH_CREATE);
+  if (b == 0)
+    return -1;
+  /* If we are overwriting an existing element's value, we're not going to
+     use the key.  Nothing in the array assignment code path frees the key
+     string, so we can free it here to avoid a memory leak. */
+  if (b->key != key)
+    free (key);
+  FREE (b->data);
+  b->data = value ? savestring (value) : (char *)0;
+  return (0);
+}
+#+END_SRC
+
 * A resulting binary might look like
 
 #+BEGIN_SRC shell
@@ -152,7 +178,7 @@ identical copies of all specified artifacts.
 - Things eventually got more complicated...
 - Bit for bit reproducible GNU toolchain in the early 90s on 10(?) architectures.
 - *And we all forgot.*
-- Then, in 2011 and 2012, Bitcoin and Torbrowser were made reproducible.
+- In 2011 and 2012, Bitcoin and Torbrowser were made reproducible...
 
 * Debian
 
@@ -245,19 +271,39 @@ https://diffoscope.org
 
 \vspace{\baselineskip}
 
+Available on many platforms:
+
+** text
+    :PROPERTIES:
+    :BEAMER_col: 0.4
+    :END:
+
 #+ATTR_BEAMER: :overlay <+->
-- Available for: 
 - Debian
 - Fedora
 - OpenSUSE
 - Archlinux
 - GNU Guix
+
+** text
+    :PROPERTIES:
+    :BEAMER_col: 0.4
+    :END:
+
+#+ATTR_BEAMER: :overlay <+->
 - NixOS
 - FreeBSD
 - NetBSD
 - Homebrew
 - PyPI
-- and on the web: https://try.diffoscope.org
+
+* try diffoscope online
+
+And on the World Wide Web!
+
+https://try.diffoscope.org
+
+[[./images/try.diffoscope.org.png]]
 
 * Reprotest
 
@@ -268,17 +314,6 @@ reprotest
 - https://salsa.debian.org/reproducible/reprotest
 - if unreproducible: "bisect" the variations
 
-* Reproducible builds
-
-[[./images/reproducible-builds.png]]
-
-** text
-    :PROPERTIES:
-    :BEAMER_col: 0.67
-    :END:
-
-https://reproducible-builds.org
-
 * There is a lot of practice in theory
 
 #+ATTR_BEAMER: :overlay <+->
@@ -299,6 +334,17 @@ https://reproducible-builds.org
 #+ATTR_BEAMER: :overlay <+->
   - meaningful end-user interfaces
 
+* Reproducible builds
+
+[[./images/reproducible-builds.png]]
+
+** text
+    :PROPERTIES:
+    :BEAMER_col: 0.67
+    :END:
+
+https://reproducible-builds.org
+
 * Wearing the adventurous boots
 
 ** text
@@ -336,27 +382,15 @@ https://savannah.gnu.org/projects/mes
 
 GNU Mes
 
-Mutual self-hosting Scheme interpreter written in ~5,000 LOC of simple
-C and a Nyacc-based C compiler written in Scheme.
-
-* planets, meteriods, hexes and other bootstrappable phenomena
-
-** text
-    :PROPERTIES:
-    :BEAMER_col: 0.3
-    :END:
-
 #+ATTR_BEAMER: :overlay <+->
-- M2-Planet
-- Mes-M2
-- M3-Meteoroid
-- MesCC-tools
-- hex0
+- Mutual self-hosting Scheme interpreter written in ~5,000 LOC of
+  simple C and a Nyacc-based C compiler written in Scheme.
+- Used to bootstrap GNU Guix, a complete operating system
+- Successfully reproduced on multiple distros (Guix, NixOS and Debian)
+- ... Using *different* toolchain versions!
+- But a long ways off from a full source bootstrap...
 
-** image
-    :PROPERTIES:
-    :BEAMER_col: 0.7
-    :END:
+* planets, meteriods, hexes and other bootstrappable phenomena
 
 [[./images/bootstrap_map.png]]
 
@@ -462,3 +496,14 @@ Attribution-ShareAlike 4.0 International.
 bootstrap_map.png generated from
 https://github.com/oriansj/talk-notes/blob/master/Current%20bootstrap%20map.dot
 Licensed under GNU GPL 3.0.
+
+snippet from bash assoc.c:
+
+Copyright (C) 2008,2009,2011 Free Software Foundation, Inc.
+
+Bash 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.
+
+http://www.gnu.org/licenses/


=====================================
2020-05-LFNW-beyond-trusting-open-source-software/images/try.diffoscope.org.png
=====================================
Binary files /dev/null and b/2020-05-LFNW-beyond-trusting-open-source-software/images/try.diffoscope.org.png differ



View it on GitLab: https://salsa.debian.org/reproducible-builds/reproducible-presentations/-/compare/e2da88d107fbe210ac4dd59b9592a3aae45055b3...8be928e0fc538a0272a6d89bdbd05cb4b1e7a551

-- 
View it on GitLab: https://salsa.debian.org/reproducible-builds/reproducible-presentations/-/compare/e2da88d107fbe210ac4dd59b9592a3aae45055b3...8be928e0fc538a0272a6d89bdbd05cb4b1e7a551
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.reproducible-builds.org/pipermail/rb-commits/attachments/20200511/9ef7776d/attachment.htm>


More information about the rb-commits mailing list