Skip to content
Commits on Source (4)
......@@ -17,7 +17,7 @@
#+BEGIN_comment
There and Back Again, Reproducibly!
SeaGL.org, Seattle
2019-11-16
2019-11-16, 14:00, room 3178
There is an epic journey from reviewed source code to the code you
actually run on your computer, and things can go quietly wrong along
......@@ -91,14 +91,22 @@ identical copies of all specified artifacts.
* Debian
** text
:PROPERTIES:
:BEAMER_col: 0.60
:END:
#+ATTR_BEAMER: :overlay <+->
- A list mail in 1997, very few more in 2001 and 2003.
- Then, in 2011 and 2012, Bitcoin and Torbrowser were made reproducible.
- In 2013 some people in Debian began to investigate this.
- And kicked it off in 2014 by introducing systematic testing, classifications and weekly blogs.
- In 2013 people in Debian began to investigate
- In 2014 systematic testing, classifications and weekly blogs.
- Since 2017 in Debian Policy
* Debian main unstable/amd64, since October 2014
** image
:PROPERTIES:
:BEAMER_col: 0.40
:END:
[[./images/stats_pkg_state.png]]
......@@ -181,6 +189,10 @@ https://diffoscope.org
- *not* used for determining whether something is reproducible!
- used for analysing *why*
- available for Debian, Fedora, OpenSUSE, Archlinux, GNU Guix, NixOS, FreeBSD, NetBSD, Homebrew, PypI, ...
- and on the web: https://try.diffoscope.org
- useful beyond reproducible builds, eg.
- security updates
- code refactoring
* diffoscope example
......@@ -190,34 +202,32 @@ https://diffoscope.org
Android APK files, Android boot images, Ar(1) archives, Berkeley DB database files, Bzip2 archives, Character/block devices, ColorSync colour profiles (.icc), Coreboot CBFS filesystem images, Cpio archives, Dalvik .dex files, Debian .buildinfo files, Debian .changes files, Debian source packages (.dsc), Device Tree Compiler blob files, Directories, ELF binaries, Ext2/ext3/ext4/btrfs filesystems, FreeDesktop Fontconfig cache files, FreePascal files (.ppu), Gettext message catalogues, GHC Haskell .hi files, GIF image files, Git repositories, GNU R database files (.rdb), GNU R Rscript files (.rds), Gnumeric spreadsheets, Gzipped files, ISO 9660 CD images, Java .class files, JavaScript files, JPEG images, JSON files, LLVM IR bitcode files, MacOS binaries, Microsoft Windows icon files, Microsoft Word .docx files, Mono 'Portable Executable' files, Ogg Vorbis audio files, OpenOffice .odt files, OpenSSH public keys, OpenWRT package archives (.ipk), PDF documents, PGP signed/encrypted messages, PNG images, PostScript documents, RPM archives, Rust object files (.deflate), SQLite databases, SquashFS filesystems, Statically-linked binaries, Symlinks, Tape archives (.tar), Tcpdump capture files (.pcap), Text files, TrueType font files, XML binary schemas (.xsb), XML files, XZ compressed files, etc.
* Try diffoscope!
https://try.diffoscope.org
\vspace{\baselineskip}
#+ATTR_BEAMER: :overlay <+->
- diffoscope is useful beyond reproducible builds, eg.
- for checking security updates only change what should be changed
- for development too
* spiders
[[./images/aranha.jpg]]
* A barrel in the river
reprotest: builds something twice with many variations
** image
:PROPERTIES:
:BEAMER_col: 0.3
:END:
\vspace{\baselineskip}
[[./images/hobbit-on-a-barrel.jpeg]]
** text
:PROPERTIES:
:BEAMER_col: 0.6
:END:
reprotest
#+ATTR_BEAMER: :overlay <+->
- builds something twice with many variations
- https://salsa.debian.org/reproducible/reprotest
- if unreproducible: reduce variations until (hopefully) the cause has been identified
- if unreproducible: "bisect" the variations
- *Please help!*
* Under the mountain
[[./images/640px-The_Hobbit_-_Smaug.jpg]]
......@@ -354,3 +364,4 @@ https://try.diffoscope.org
https://tests.reproducible-builds.org/debian/unstable/amd64/stats_pkg_state.png
hobbit-on-a-barrel.jpeg used under fair use.