[Git][reproducible-builds/reproducible-presentations][master] 15 commits: cauldron2019: Mention bootstrapping/GNU Mes

Vagrant Cascadian gitlab at salsa.debian.org
Fri Sep 13 17:05:41 UTC 2019



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


Commits:
dfd69a9c by Vagrant Cascadian at 2019-09-13T16:00:27Z
cauldron2019: Mention bootstrapping/GNU Mes

- - - - -
85b28526 by Vagrant Cascadian at 2019-09-13T16:00:38Z
Cauldron2019: Add slides about build-essential and images and other misc fixes.

- - - - -
ede47b3b by Vagrant Cascadian at 2019-09-13T16:00:46Z
cauldron2019: add build-essential-depends.

- - - - -
f22524d9 by Vagrant Cascadian at 2019-09-13T16:05:15Z
cauldron2019: shuffle around slides.

- - - - -
a58ab5f8 by Vagrant Cascadian at 2019-09-13T16:09:53Z
cauldron2019: gzip time.

- - - - -
1e97c246 by Vagrant Cascadian at 2019-09-13T16:16:20Z
cauldron2019: move results of file-prefix-map after introduced the concept.

- - - - -
e791eb9d by Vagrant Cascadian at 2019-09-13T16:16:55Z
cauldron2019: sort make wildcards.

- - - - -
4398fdb3 by Vagrant Cascadian at 2019-09-13T16:27:46Z
cauldron2019: link to make bug and patch.

- - - - -
607a5652 by Vagrant Cascadian at 2019-09-13T16:28:42Z
cauldron2019: bootstrapping and more mes.

- - - - -
574f6ead by Vagrant Cascadian at 2019-09-13T16:30:38Z
cauldron2019: better title for mes.

- - - - -
4d3fdd0e by Vagrant Cascadian at 2019-09-13T16:39:18Z
cauldron2019: borrow and tweak some of holgers history and motivation
slides.

- - - - -
64bb328d by Vagrant Cascadian at 2019-09-13T16:45:38Z
cauldron2019: expand on what rb can and can't do a bit.

- - - - -
d5cc1850 by Vagrant Cascadian at 2019-09-13T16:53:47Z
cauldron2019: Add license compliance slides.

- - - - -
070a6dc3 by Vagrant Cascadian at 2019-09-13T17:04:42Z
cauldron2019: gcc: lto

- - - - -
ee64d094 by Vagrant Cascadian at 2019-09-13T17:04:59Z
cauldron2019: Drop TODO items; either incorportated or left for another time.

- - - - -


7 changed files:

- 2019-09-13-Cauldron2019-Reproducible-Toolchains-For-The-Win/Reproducible-Toolchains-For-The-Win.org
- + 2019-09-13-Cauldron2019-Reproducible-Toolchains-For-The-Win/images/bullseye-build-essential-depends.png
- + 2019-09-13-Cauldron2019-Reproducible-Toolchains-For-The-Win/images/bullseye-build-essential.png
- + 2019-09-13-Cauldron2019-Reproducible-Toolchains-For-The-Win/images/reproducible-builds.png
- + 2019-09-13-Cauldron2019-Reproducible-Toolchains-For-The-Win/images/unstable-build-essential-depends.png
- + 2019-09-13-Cauldron2019-Reproducible-Toolchains-For-The-Win/images/unstable-build-essential.png
- + 2019-09-13-Cauldron2019-Reproducible-Toolchains-For-The-Win/images/vagrantupsidedown.png


Changes:

=====================================
2019-09-13-Cauldron2019-Reproducible-Toolchains-For-The-Win/Reproducible-Toolchains-For-The-Win.org
=====================================
@@ -1,5 +1,5 @@
-#+TITLE: Reproducible Toolchains For The Win!
 #+AUTHOR: Vagrant Cascadian
+#+TITLE: Reproducible Toolchains For The Win!
 #+EMAIL: vagrant at reproducible-builds.org 
 #+DATE: Cauldron 2019, 2019-09-13
 #+LANGUAGE:  en
@@ -81,6 +81,51 @@ identical copies of all specified artifacts.
 
 [[./images/reproducible-builds.png]]
 
+
+* Why unreproducibilities exist (prehistorically)
+
+#+ATTR_BEAMER: :overlay <+->
+- Historically software was reproducible! Every bit counted.
+- And every bit was known.
+- Bit for bit reproducible GNU toolchain in the early 90s on 10(?) architectures.
+- *And then we all forgot.*
+
+* Motivation for reproducible builds
+
+#+ATTR_BEAMER: :overlay <+->
+- Why do we care about reproducible builds?
+
+  - Can detect backdoored build environments on developer systems or
+    project build machines
+
+  - Optimize build cache, limiting rebuilds
+
+  - License compliance verification
+
+  - It just feels right
+
+- What will reproducible builds not do for you?
+
+  - Cannot detect flaws in sources
+
+* License compliance: GPL
+
+GPL compliance
+
+#+ATTR_BEAMER: :overlay <+->
+  - source code is what it used to write free software
+  - binary code is what is actually used
+  - How can you prove that the binaries used are the result of the source code?
+
+* License compliance: hardware
+
+https://www.fsf.org/resources/hw/endorsement/respects-your-freedom
+
+#+ATTR_BEAMER: :overlay <+->
+- Firmware
+- Operating system
+- Other software
+
 * The problem is one of Time
 
 https://reproducible-builds.org/docs/source-date-epoch/
@@ -91,17 +136,16 @@ Support for SOURCE_DATE_EPOCH added to gcc 2019-04:
 
 https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=e3e8c48c4a494d9da741c1c8ea6c4c0b7c4ff934
 
-* Build Paths
-
-https://reproducible-builds.org/specs/build-path-prefix-map/
-
-* gcc: build paths
+* gzip: time
 
-https://tests.reproducible-builds.org/debian/issues/unstable/gcc_captures_build_path_issue.html
+#+ATTR_BEAMER: :overlay <+->
+- gzip --no-name (a.k.a. -n)
+- [PATCH] Do not store mtime when compressing stdin
+  https://debbugs.gnu.org/cgi/bugreport.cgi?bug=32342
 
-618: reproducible (possibly due to -ffile-prefix-map)
+* Build Paths
 
-1015: still unreproducible
+https://reproducible-builds.org/specs/build-path-prefix-map/
 
 * gcc: build paths
 
@@ -114,49 +158,172 @@ https://tests.reproducible-builds.org/debian/issues/unstable/gcc_captures_build_
 
 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70268
 
+* gcc: build paths
+
+https://tests.reproducible-builds.org/debian/issues/unstable/gcc_captures_build_path_issue.html
+
+618: reproducible (possibly due to -ffile-prefix-map)
+
+1015: still unreproducible
+
+
+
 * gcc: a block in the road, a line in the sand
 
 https://gcc.gnu.org/ml/gcc-patches/2016-11/msg00182.html
 https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00513.html
 https://gcc.gnu.org/ml/gcc-patches/2017-07/msg01315.html
 
-* Copyright
+* gcc: LTO
 
-  Copyright 2019 Vagrant Cascadian <vagrant at reproducible-builds.org>
+Report LTO-induced indeterminism from global constructors
 
-  This work is licensed under the Creative Commons
-  Attribution-ShareAlike 4.0 International License.
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91307 
 
-  To view a copy of this license, visit
-  https://creativecommons.org/licenses/by-sa/4.0/
+* Sort your wildcards
+
+GNU make
+
+#+ATTR_BEAMER: :overlay <+->
+- wildcard/glob should be sorted
+
+  https://savannah.gnu.org/bugs/index.php?52076
+
+- src/read.c (parse_file_seq): [SV 52076] Sort wildcard results.
 
-* TODO
+  https://git.savannah.gnu.org/cgit/make.git/commit/?id=eedea52afb2069e54188508cd87cb7724b30dd6a
 
-solved:
+* build essential: debian unstable
 
-https://debbugs.gnu.org/cgi/bugreport.cgi?bug=32342 gzip
-https://gitlab.kitware.com/cmake/cmake/merge_requests/432
-https://github.com/rpm-software-management/rpm/pull/536
-https://github.com/rpm-software-management/rpm/pull/485
-https://bugreports.qt.io/browse/QTBUG-62511
-https://git.savannah.gnu.org/cgit/make.git/commit/?id=eedea52afb2069e54188508cd87cb7724b30dd6a
+https://tests.reproducible-builds.org/debian/unstable/amd64/pkg_set_build-essential.html
 
-open:
+** image
+    :PROPERTIES:
+    :BEAMER_col: 0.5
+    :END:
+
+[[./images/unstable-build-essential.png]]
+
+** text
+    :PROPERTIES:
+    :BEAMER_col: 0.5
+    :END:
 
-https://github.com/ImageMagick/ImageMagick/pull/1270
-https://github.com/python/cpython/pull/12341
-https://issues.apache.org/jira/browse/MJAVADOC-619 maven-javadoc-plugin
-plus more missing java patches
-and there is still the whole python py_compile mess left
+of 54 packages:
 
->> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=32342 gzip
->> https://git.savannah.gnu.org/cgit/make.git/commit/?id=eedea52afb2069e54188508cd87cb7724b30dd6a
+6 (11.1%) unreproducible: bash+ linux perl# gmp gcc-9 binutils
+
+3 (5.6%) failed to build: pcre2 glibc xz-utils
+
+45 (83.3%) reproducible: ...
+
+
+* build essential: debian bullseye
+
+https://tests.reproducible-builds.org/debian/bullseye/amd64/pkg_set_build-essential.html
+
+** image
+    :PROPERTIES:
+    :BEAMER_col: 0.5
+    :END:
+
+[[./images/bullseye-build-essential.png]]
+
+** text
+    :PROPERTIES:
+    :BEAMER_col: 0.5
+    :END:
+
+53 packages:
+
+1 (1.9%) unreproducible: gcc-9
+
+1 (1.9%) failed to build: xz-utils
+
+1 (1.9%) other problems: libgcrypt20
+
+50 (94.3%) reproducible:: ...
+
+
+* build essential build depends: debian unstable
+
+https://tests.reproducible-builds.org/debian/unstable/amd64/pkg_set_build-essential-depends.html
+
+** image
+    :PROPERTIES:
+    :BEAMER_col: 0.5
+    :END:
+
+[[./images/unstable-build-essential-depends.png]]
+
+** text
+    :PROPERTIES:
+    :BEAMER_col: 0.5
+    :END:
+
+of 3061 packages:
+
+312 (10.2%) unreproducible
+
+83 (2.7%) failed to build
+
+4 (0.1%) misc issues
+
+2662 (87.0%) reproducible
+
+
+* build essential build depends: debian bullseye
+
+https://tests.reproducible-builds.org/debian/bullseye/amd64/pkg_set_build-essential-depends.html
+
+** image
+    :PROPERTIES:
+    :BEAMER_col: 0.5
+    :END:
+
+[[./images/bullseye-build-essential-depends.png]]
+
+** text
+    :PROPERTIES:
+    :BEAMER_col: 0.5
+    :END:
+
+of 3144 packages:
+
+100 (3.2%) unreproducible
+
+69 (2.2%) failed to build
+
+13 (0.4%) misc issues
+
+2962 (94.2%) reproducible
+
+
+* bootstrapping
+
+https://bootstrappable.org/
+
+What compiler do you use to compile your compiler?
+
+* Untangling the bootstraping Mes
+
+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.
+
+* Copyright
+
+  Copyright 2019 Vagrant Cascadian <vagrant at reproducible-builds.org>
+
+  Copyright 2019 Holger Levsen <holger at layer-acht.org>
+
+  This work is licensed under the Creative Commons
+  Attribution-ShareAlike 4.0 International License.
+
+  To view a copy of this license, visit
+  https://creativecommons.org/licenses/by-sa/4.0/
 
-[gcc/nvme-cli](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91307 report
-LTO-induced indeterminism from global constructors
 
-> _reports/2019-06.md:* Richard Biener submitted a patch for the [GCC
-GNU Compiler Collection](https://gcc.gnu.org/) to [fix differences in
-the runtime debugging info between
-builds](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90778) in its D
-programming language support.


=====================================
2019-09-13-Cauldron2019-Reproducible-Toolchains-For-The-Win/images/bullseye-build-essential-depends.png
=====================================
Binary files /dev/null and b/2019-09-13-Cauldron2019-Reproducible-Toolchains-For-The-Win/images/bullseye-build-essential-depends.png differ


=====================================
2019-09-13-Cauldron2019-Reproducible-Toolchains-For-The-Win/images/bullseye-build-essential.png
=====================================
Binary files /dev/null and b/2019-09-13-Cauldron2019-Reproducible-Toolchains-For-The-Win/images/bullseye-build-essential.png differ


=====================================
2019-09-13-Cauldron2019-Reproducible-Toolchains-For-The-Win/images/reproducible-builds.png
=====================================
@@ -0,0 +1 @@
+../../2019-08-04-Linuxdev-BR-There-and-Back-Again-Reproducibly/images/reproducible-builds.png
\ No newline at end of file


=====================================
2019-09-13-Cauldron2019-Reproducible-Toolchains-For-The-Win/images/unstable-build-essential-depends.png
=====================================
Binary files /dev/null and b/2019-09-13-Cauldron2019-Reproducible-Toolchains-For-The-Win/images/unstable-build-essential-depends.png differ


=====================================
2019-09-13-Cauldron2019-Reproducible-Toolchains-For-The-Win/images/unstable-build-essential.png
=====================================
Binary files /dev/null and b/2019-09-13-Cauldron2019-Reproducible-Toolchains-For-The-Win/images/unstable-build-essential.png differ


=====================================
2019-09-13-Cauldron2019-Reproducible-Toolchains-For-The-Win/images/vagrantupsidedown.png
=====================================
@@ -0,0 +1 @@
+../../2019-08-04-Linuxdev-BR-There-and-Back-Again-Reproducibly/images/vagrantupsidedown.png
\ No newline at end of file



View it on GitLab: https://salsa.debian.org/reproducible-builds/reproducible-presentations/compare/ca41fe33fd9c5022faf8a64a50011d5253b84e37...ee64d094e9f7a7baaa4b043fdb8ec9e09bb9825f

-- 
View it on GitLab: https://salsa.debian.org/reproducible-builds/reproducible-presentations/compare/ca41fe33fd9c5022faf8a64a50011d5253b84e37...ee64d094e9f7a7baaa4b043fdb8ec9e09bb9825f
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/20190913/0a055aa4/attachment.html>


More information about the rb-commits mailing list