From f2e808bac345b5627e1d44706efc9d7dad05001b Mon Sep 17 00:00:00 2001 From: Holger Levsen Date: Tue, 29 Nov 2016 17:15:31 +0100 Subject: presentation: restructure section about r-b --- .../2016-11-30-Profitbricks/images/install.jpg | Bin 1314836 -> 0 bytes .../images/logos/archlinux.png | Bin 0 -> 7149 bytes .../images/logos/baserock.png | Bin 0 -> 17493 bytes .../images/logos/bitcoin.png | Bin 0 -> 10897 bytes .../images/logos/coreboot.png | Bin 0 -> 3764 bytes .../images/logos/debian.png | Bin 0 -> 1470 bytes .../images/logos/electrobsd.png | Bin 0 -> 8608 bytes .../images/logos/f-droid.png | Bin 0 -> 10225 bytes .../images/logos/fedora.png | Bin 0 -> 5508 bytes .../images/logos/freebsd.png | Bin 0 -> 21100 bytes .../images/logos/google.png | Bin 0 -> 7370 bytes .../2016-11-30-Profitbricks/images/logos/guix.png | Bin 0 -> 6440 bytes .../2016-11-30-Profitbricks/images/logos/lede.png | Bin 0 -> 16863 bytes .../images/logos/netbsd.png | Bin 0 -> 7978 bytes .../2016-11-30-Profitbricks/images/logos/nixos.png | Bin 0 -> 10808 bytes .../images/logos/openSUSE.png | Bin 0 -> 9114 bytes .../images/logos/openwrt.png | Bin 0 -> 6785 bytes .../2016-11-30-Profitbricks/images/logos/tails.png | Bin 0 -> 3183 bytes .../2016-11-30-Profitbricks/images/logos/tor.png | Bin 0 -> 9704 bytes .../images/logos/webconverger.png | Bin 0 -> 2197 bytes .../images/stats_bugs_sin_ftbfs_state.png | Bin 28100 -> 28094 bytes .../images/testing_status.png | Bin 30297 -> 30708 bytes .../images/unstable_status.png | Bin 33386 -> 33277 bytes presentations/2016-11-30-Profitbricks/index.html | 224 +++++++++++++-------- 24 files changed, 139 insertions(+), 85 deletions(-) delete mode 100644 presentations/2016-11-30-Profitbricks/images/install.jpg create mode 100644 presentations/2016-11-30-Profitbricks/images/logos/archlinux.png create mode 100644 presentations/2016-11-30-Profitbricks/images/logos/baserock.png create mode 100644 presentations/2016-11-30-Profitbricks/images/logos/bitcoin.png create mode 100644 presentations/2016-11-30-Profitbricks/images/logos/coreboot.png create mode 100644 presentations/2016-11-30-Profitbricks/images/logos/debian.png create mode 100644 presentations/2016-11-30-Profitbricks/images/logos/electrobsd.png create mode 100644 presentations/2016-11-30-Profitbricks/images/logos/f-droid.png create mode 100644 presentations/2016-11-30-Profitbricks/images/logos/fedora.png create mode 100644 presentations/2016-11-30-Profitbricks/images/logos/freebsd.png create mode 100644 presentations/2016-11-30-Profitbricks/images/logos/google.png create mode 100644 presentations/2016-11-30-Profitbricks/images/logos/guix.png create mode 100644 presentations/2016-11-30-Profitbricks/images/logos/lede.png create mode 100644 presentations/2016-11-30-Profitbricks/images/logos/netbsd.png create mode 100644 presentations/2016-11-30-Profitbricks/images/logos/nixos.png create mode 100644 presentations/2016-11-30-Profitbricks/images/logos/openSUSE.png create mode 100644 presentations/2016-11-30-Profitbricks/images/logos/openwrt.png create mode 100644 presentations/2016-11-30-Profitbricks/images/logos/tails.png create mode 100644 presentations/2016-11-30-Profitbricks/images/logos/tor.png create mode 100644 presentations/2016-11-30-Profitbricks/images/logos/webconverger.png (limited to 'presentations') diff --git a/presentations/2016-11-30-Profitbricks/images/install.jpg b/presentations/2016-11-30-Profitbricks/images/install.jpg deleted file mode 100644 index 9699d1c0..00000000 Binary files a/presentations/2016-11-30-Profitbricks/images/install.jpg and /dev/null differ diff --git a/presentations/2016-11-30-Profitbricks/images/logos/archlinux.png b/presentations/2016-11-30-Profitbricks/images/logos/archlinux.png new file mode 100644 index 00000000..0e0c2c32 Binary files /dev/null and b/presentations/2016-11-30-Profitbricks/images/logos/archlinux.png differ diff --git a/presentations/2016-11-30-Profitbricks/images/logos/baserock.png b/presentations/2016-11-30-Profitbricks/images/logos/baserock.png new file mode 100644 index 00000000..72b3fc7a Binary files /dev/null and b/presentations/2016-11-30-Profitbricks/images/logos/baserock.png differ diff --git a/presentations/2016-11-30-Profitbricks/images/logos/bitcoin.png b/presentations/2016-11-30-Profitbricks/images/logos/bitcoin.png new file mode 100644 index 00000000..0a5c739a Binary files /dev/null and b/presentations/2016-11-30-Profitbricks/images/logos/bitcoin.png differ diff --git a/presentations/2016-11-30-Profitbricks/images/logos/coreboot.png b/presentations/2016-11-30-Profitbricks/images/logos/coreboot.png new file mode 100644 index 00000000..7d7b1869 Binary files /dev/null and b/presentations/2016-11-30-Profitbricks/images/logos/coreboot.png differ diff --git a/presentations/2016-11-30-Profitbricks/images/logos/debian.png b/presentations/2016-11-30-Profitbricks/images/logos/debian.png new file mode 100644 index 00000000..42142a96 Binary files /dev/null and b/presentations/2016-11-30-Profitbricks/images/logos/debian.png differ diff --git a/presentations/2016-11-30-Profitbricks/images/logos/electrobsd.png b/presentations/2016-11-30-Profitbricks/images/logos/electrobsd.png new file mode 100644 index 00000000..18681153 Binary files /dev/null and b/presentations/2016-11-30-Profitbricks/images/logos/electrobsd.png differ diff --git a/presentations/2016-11-30-Profitbricks/images/logos/f-droid.png b/presentations/2016-11-30-Profitbricks/images/logos/f-droid.png new file mode 100644 index 00000000..94645d47 Binary files /dev/null and b/presentations/2016-11-30-Profitbricks/images/logos/f-droid.png differ diff --git a/presentations/2016-11-30-Profitbricks/images/logos/fedora.png b/presentations/2016-11-30-Profitbricks/images/logos/fedora.png new file mode 100644 index 00000000..9cc341f6 Binary files /dev/null and b/presentations/2016-11-30-Profitbricks/images/logos/fedora.png differ diff --git a/presentations/2016-11-30-Profitbricks/images/logos/freebsd.png b/presentations/2016-11-30-Profitbricks/images/logos/freebsd.png new file mode 100644 index 00000000..deb2768d Binary files /dev/null and b/presentations/2016-11-30-Profitbricks/images/logos/freebsd.png differ diff --git a/presentations/2016-11-30-Profitbricks/images/logos/google.png b/presentations/2016-11-30-Profitbricks/images/logos/google.png new file mode 100644 index 00000000..9a02648a Binary files /dev/null and b/presentations/2016-11-30-Profitbricks/images/logos/google.png differ diff --git a/presentations/2016-11-30-Profitbricks/images/logos/guix.png b/presentations/2016-11-30-Profitbricks/images/logos/guix.png new file mode 100644 index 00000000..9c12d13a Binary files /dev/null and b/presentations/2016-11-30-Profitbricks/images/logos/guix.png differ diff --git a/presentations/2016-11-30-Profitbricks/images/logos/lede.png b/presentations/2016-11-30-Profitbricks/images/logos/lede.png new file mode 100644 index 00000000..757c73ae Binary files /dev/null and b/presentations/2016-11-30-Profitbricks/images/logos/lede.png differ diff --git a/presentations/2016-11-30-Profitbricks/images/logos/netbsd.png b/presentations/2016-11-30-Profitbricks/images/logos/netbsd.png new file mode 100644 index 00000000..35fc1b47 Binary files /dev/null and b/presentations/2016-11-30-Profitbricks/images/logos/netbsd.png differ diff --git a/presentations/2016-11-30-Profitbricks/images/logos/nixos.png b/presentations/2016-11-30-Profitbricks/images/logos/nixos.png new file mode 100644 index 00000000..330f77d5 Binary files /dev/null and b/presentations/2016-11-30-Profitbricks/images/logos/nixos.png differ diff --git a/presentations/2016-11-30-Profitbricks/images/logos/openSUSE.png b/presentations/2016-11-30-Profitbricks/images/logos/openSUSE.png new file mode 100644 index 00000000..0e150a16 Binary files /dev/null and b/presentations/2016-11-30-Profitbricks/images/logos/openSUSE.png differ diff --git a/presentations/2016-11-30-Profitbricks/images/logos/openwrt.png b/presentations/2016-11-30-Profitbricks/images/logos/openwrt.png new file mode 100644 index 00000000..2d457c32 Binary files /dev/null and b/presentations/2016-11-30-Profitbricks/images/logos/openwrt.png differ diff --git a/presentations/2016-11-30-Profitbricks/images/logos/tails.png b/presentations/2016-11-30-Profitbricks/images/logos/tails.png new file mode 100644 index 00000000..fa5078d5 Binary files /dev/null and b/presentations/2016-11-30-Profitbricks/images/logos/tails.png differ diff --git a/presentations/2016-11-30-Profitbricks/images/logos/tor.png b/presentations/2016-11-30-Profitbricks/images/logos/tor.png new file mode 100644 index 00000000..c216d62c Binary files /dev/null and b/presentations/2016-11-30-Profitbricks/images/logos/tor.png differ diff --git a/presentations/2016-11-30-Profitbricks/images/logos/webconverger.png b/presentations/2016-11-30-Profitbricks/images/logos/webconverger.png new file mode 100644 index 00000000..4aed2cbb Binary files /dev/null and b/presentations/2016-11-30-Profitbricks/images/logos/webconverger.png differ diff --git a/presentations/2016-11-30-Profitbricks/images/stats_bugs_sin_ftbfs_state.png b/presentations/2016-11-30-Profitbricks/images/stats_bugs_sin_ftbfs_state.png index b67d6c9e..f2bb34f7 100644 Binary files a/presentations/2016-11-30-Profitbricks/images/stats_bugs_sin_ftbfs_state.png and b/presentations/2016-11-30-Profitbricks/images/stats_bugs_sin_ftbfs_state.png differ diff --git a/presentations/2016-11-30-Profitbricks/images/testing_status.png b/presentations/2016-11-30-Profitbricks/images/testing_status.png index 1e26295f..4439792f 100644 Binary files a/presentations/2016-11-30-Profitbricks/images/testing_status.png and b/presentations/2016-11-30-Profitbricks/images/testing_status.png differ diff --git a/presentations/2016-11-30-Profitbricks/images/unstable_status.png b/presentations/2016-11-30-Profitbricks/images/unstable_status.png index 2d67fdcf..9272be84 100644 Binary files a/presentations/2016-11-30-Profitbricks/images/unstable_status.png and b/presentations/2016-11-30-Profitbricks/images/unstable_status.png differ diff --git a/presentations/2016-11-30-Profitbricks/index.html b/presentations/2016-11-30-Profitbricks/index.html index 9df78d7c..5fb53847 100644 --- a/presentations/2016-11-30-Profitbricks/index.html +++ b/presentations/2016-11-30-Profitbricks/index.html @@ -189,9 +189,9 @@ announce new nodes by codethink Package (collection) installation tests @@ -200,37 +200,42 @@ announce new nodes by codethink g-i-installation tests -
+
+

+ reproducible.debian.net +

+
    +
  • created by 379 jobs on jenkins.debian.net
  • +
+
+ +

- Ressources used by reproducible.debian.net, by architecture + tests.reproducible-builds.org/debian/

    -
  • FIXME: page is out of place here
  • -
  • 13 amd64 systems, sponsored by Profitbricks
  • -
  • 4 i386 systems, sponsored by Profitbricks
  • -
  • 22 armhf systems, sponsored by vagrant@d.o, Debian & other donations
  • -
  • soon: 8 arm64 systems, sponsored by codethink.co.uk
  • +
  • created by ~350 jobs on jenkins.debian.net
-
-

The problem

+
+

The problem: why do we need reproducible builds?

    -
  • Can inspect the source code of free software for flaws
  • +
  • One can inspect the source code of free software for flaws
  • But distributions provide binary/compiled packages
-
+

Can we trust this process?

    @@ -242,51 +247,29 @@ announce new nodes by codethink
-
+

The motivation behind "reproducible" builds is to allow verification that no flaws have been introduced during the compilation process.

+

The solution

-
    +
      FIXME wordings
    1. Ensure compilation always identical results
    2. Multiple parties compare compilation results
    3. Attacker needs to infect everybody simultaneously (or they are detected)
-
-

Challenges

-
    -
      -
    • Timestamps
    • -
    • Timezones & locales
    • -
    • Non-deterministic file ordering
    • -
    • Dictionary/hash key ordering
    • -
    • Users, groups, umask, environment variables
    • -
    • Build paths
    • -
    • Specifying the environment
    • -
    -
-
- -
-

Technical advantages

+
+

We call this Reproducible Builds.

    -
      -
    • Faster to build; saves time, money & the environment
    • -
    • Easier to test changes/revisions
    • -
    • Unsafe behaviour (eg. internet access)
    • -
    • Unreliable / non-deterministic behaviours (eg. timing)
    • -
    • Finds bugs in uncommon timezones or locales
    • -
    • Detect corrupted build environments
    • -
    • Find future build failures (eg. expired certificates)
    • -
    +
  • We think this should become the norm for free software.
@@ -297,69 +280,138 @@ announce new nodes by codethink
      -
    • Time & date
    • -
    • Hostname & domain name
    • -
    • Filesystem (disorderfs)
    • -
    • Timezone & locale
    • -
    • uid & gid
    • -
    • GECOS information, the shell & a bunch of environment variables
    • -
    • Kernel & CPU type
    • -
    • and more…
    • +
    • Time & date
    • +
    • Hostname & domain name
    • +
    • Filesystem (disorderfs)
    • +
    • Timezone & locale
    • +
    • uid & gid
    • +
    • GECOS information, the shell & a bunch of environment variables
    • +
    • Kernel & CPU type
    • +
    • and more…
-
+
+

Challenges

+
    +
      +
    • Timestamps
    • +
    • Timezones & locales
    • +
    • Non-deterministic file ordering
    • +
    • Dictionary/hash key ordering
    • +
    • Users, groups, umask, environment variables
    • +
    • Build paths
    • +
    • Specifying the environment
    • +
    +
+
+ +
 
-
+
 
-
-

2016 summit meeting

+
+

Technical advantages

    -
  • Three-day workshop in Berlin, Germany
  • -
  • Follow-up to Athens 2015 event
  • +
      +
    • Faster to build; saves time, money & the environment
    • +
    • Easier to test changes/revisions
    • +
    • Unsafe behaviour (eg. internet access)
    • +
    • Unreliable / non-deterministic behaviours (eg. timing)
    • +
    • Finds bugs in uncommon timezones or locales
    • +
    • Detect corrupted build environments
    • +
    • Find future build failures (eg. expired certificates)
    +
+
-
-
- -

- reproducible-builds.org/events/berlin2016/ -

+
+

+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+

https://try.diffoscope.org

+

-
-

Beyond Debian…

+
+

Future work

+
    -
  • coreboot, Fedora, LEDE, OpenWRT, NetBSD, FreeBSD, Arch, Qubes, F-Droid, NixOS, Guix, etc.
  • -
  • Other projects now using "our" testing framework, SOURCE_DATE_EPOCH, .buildinfo file concept
  • -
  • Reproducible Builds summits (Athens, Berlin)
  • -
  • Some challenges moving from debian- prefixes, mailing lists, etc.
  • -
  • Generic tools
  • +
  • .buildinfo files distribution unsolved
  • +
  • How to make it meaningful for end-users
  • +
  • Source code still vulnerable
-
+
 
-

Future work

+

Beyond Debian…

+

+ + + + + + + + + + + + + + + + + + + +

    +
  • Reproducible Builds summits (Athens 2015, Berlin 2016)
  • +
+

+
-
    -
  • dak (.buildinfo file support)
  • -
  • How to make it meaningful for end-users
  • -
  • Source code still vulnerable
  • +
    +

    + Ressources used by reproducible.debian.net, by architecture & sponsor +

    +
      +
    • 13 amd64 systems, sponsored by Profitbricks
    • +
    • 4 i386 systems, sponsored by Profitbricks
    • +
    • 22 armhf systems, sponsored by vagrant@d.o, Debian & other donations
    • +
    • soon: 8 arm64 systems, sponsored by codethink.co.uk
    -
    +

    Usual thanks:

    @@ -372,12 +424,14 @@ announce new nodes by codethink

    -
    +

    Todays special thanks:

    -
    - from Debian and from all folks interested in Reproducible Builds! +

      +
    • from Debian, jenkins.debian.net would not have been possible like this without your support!
    • +
    • from many many folks interested in Reproducible Builds
    • +

    -- cgit v1.2.3-70-g09d2