[Reproducible-commits] [presentations] 01/01: Add initial DebConf talk based on the opensuse "template" (no changes)

Chris Lamb lamby at moszumanska.debian.org
Tue Jun 28 12:33:16 UTC 2016


This is an automated email from the git hooks/post-receive script.

lamby pushed a commit to branch master
in repository presentations.

commit ee90dc32dddea29394001321586641d5190dc200
Author: Chris Lamb <lamby at debian.org>
Date:   Tue Jun 28 14:32:20 2016 +0200

    Add initial DebConf talk based on the opensuse "template" (no changes)
---
 2016-07-03-DebConf16/2016-07-03-DebConf16.tex      | 1263 ++++++++++++++++++++
 2016-07-03-DebConf16/Makefile                      |   29 +
 2016-07-03-DebConf16/images/2016-01-26-180836.jpg  |  Bin 0 -> 130311 bytes
 2016-07-03-DebConf16/images/31c3.png               |  Bin 0 -> 435876 bytes
 2016-07-03-DebConf16/images/archlinux.png          |  Bin 0 -> 7149 bytes
 .../images/cccamp2015_lunar_random.png             |  Bin 0 -> 338020 bytes
 2016-07-03-DebConf16/images/cii_logo.png           |  Bin 0 -> 7099 bytes
 2016-07-03-DebConf16/images/coreboot.png           |  Bin 0 -> 3764 bytes
 .../images/diffoscope_example_html.png             |  Bin 0 -> 98085 bytes
 2016-07-03-DebConf16/images/diffoscope_logo.png    |  Bin 0 -> 2335 bytes
 2016-07-03-DebConf16/images/electrobsd.png         |  Bin 0 -> 8608 bytes
 2016-07-03-DebConf16/images/fedora.png             |  Bin 0 -> 5508 bytes
 2016-07-03-DebConf16/images/freebsd.png            |  Bin 0 -> 21100 bytes
 2016-07-03-DebConf16/images/guix.png               |  Bin 0 -> 6440 bytes
 .../images/linux_foundation_logo.png               |  Bin 0 -> 10163 bytes
 2016-07-03-DebConf16/images/netbsd.png             |  Bin 0 -> 7978 bytes
 2016-07-03-DebConf16/images/openSUSE.png           |  Bin 0 -> 12392 bytes
 2016-07-03-DebConf16/images/openwrt.png            |  Bin 0 -> 6785 bytes
 2016-07-03-DebConf16/images/profitbricks_logo.png  |  Bin 0 -> 3778 bytes
 2016-07-03-DebConf16/images/rbwww1.png             |  Bin 0 -> 53235 bytes
 .../images/stats_bugs_sin_ftbfs_state.png          |  Bin 0 -> 26854 bytes
 .../images/stats_builds_per_day_amd64.png          |  Bin 0 -> 52732 bytes
 .../images/stats_meta_pkg_state_key_packages.png   |  Bin 0 -> 30974 bytes
 .../images/stats_meta_pkg_state_required.png       |  Bin 0 -> 26215 bytes
 2016-07-03-DebConf16/images/stats_pkg_state.png    |  Bin 0 -> 31245 bytes
 .../images/stats_pkg_state_armhf.png               |  Bin 0 -> 26789 bytes
 2016-07-03-DebConf16/images/strawhorse.png         |  Bin 0 -> 226278 bytes
 27 files changed, 1292 insertions(+)

diff --git a/2016-07-03-DebConf16/2016-07-03-DebConf16.tex b/2016-07-03-DebConf16/2016-07-03-DebConf16.tex
new file mode 100644
index 0000000..cd60f4a
--- /dev/null
+++ b/2016-07-03-DebConf16/2016-07-03-DebConf16.tex
@@ -0,0 +1,1263 @@
+\documentclass[14pt,aspectratio=169]{beamer}
+\setbeamertemplate{caption}[numbered]
+\setbeamertemplate{caption label separator}{:}
+\setbeamercolor{caption name}{fg=normal text.fg}
+\usepackage{amssymb,amsmath}
+\usepackage{ifxetex,ifluatex}
+\usepackage{fixltx2e} % provides \textsubscript
+\usepackage{lmodern}
+\ifxetex
+  \usepackage{fontspec,xltxtra,xunicode}
+  \defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
+  \newcommand{\euro}{€}
+\else
+  \ifluatex
+    \usepackage{fontspec}
+    \defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
+    \newcommand{\euro}{€}
+  \else
+    \usepackage[T1]{fontenc}
+    \usepackage[utf8]{inputenc}
+      \fi
+\fi
+% use upquote if available, for straight quotes in verbatim environments
+\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
+% use microtype if available
+\IfFileExists{microtype.sty}{\usepackage{microtype}}{}
+\PassOptionsToPackage{hyphens}{url}
+\usepackage{hyperref}
+\usepackage{ulem}
+
+% Comment these out if you don't want a slide with just the
+% part/section/subsection/subsubsection title:
+\AtBeginPart{
+  \let\insertpartnumber\relax
+  \let\partname\relax
+  \frame{\partpage}
+}
+\AtBeginSection{
+  \let\insertsectionnumber\relax
+  \let\sectionname\relax
+  \begin{frame}[plain]
+    \tableofcontents[currentsection]
+  \end{frame}
+}
+\AtBeginSubsection{
+  \let\insertsubsectionnumber\relax
+  \let\subsectionname\relax
+  \frame{\subsectionpage}
+}
+
+\setlength{\parindent}{0pt}
+\setlength{\parskip}{6pt plus 2pt minus 1pt}
+\setlength{\emergencystretch}{3em}  % prevent overfull lines
+\setcounter{secnumdepth}{0}
+% Thanks Richard Darst on how to get a nice Beamer theme.
+% See http://rkd.zgib.net/wiki/DebianBeamerThemes
+
+\usepackage{multicol}
+\usepackage[absolute,overlay]{textpos}
+\usepackage{tikz}
+\usepackage{ctable}
+\usetikzlibrary{positioning}
+
+\usebackgroundtemplate{\includegraphics[width=\paperwidth]{images/swirl-lightest.pdf}}
+\newif\ifplacelogo
+\placelogotrue
+\logo{\ifplacelogo\includegraphics[viewport=274 335 360 440,width=1cm]{images/openlogo-nd.pdf}\fi}
+
+\definecolor{debianred}{rgb}{.780,.000,.211} % 199,0,54
+\definecolor{debianblue}{rgb}{0,.208,.780} % 0,53,199
+\definecolor{debianlightbackgroundblue}{rgb}{.941,.941,.957} % 240,240,244
+\definecolor{debianbackgroundblue}{rgb}{.776,.784,.878} % 198,200,224
+
+\usetheme{Boadilla}
+\setbeamertemplate{navigation symbols}{}
+
+\usecolortheme[named=debianbackgroundblue]{structure}
+\setbeamercolor{normal text}{fg=black}
+\setbeamercolor{titlelike}{fg=debianblue}
+\setbeamercolor{sidebar}{fg=debianred,bg=debianbackgroundblue}
+
+\setbeamercolor{palette sidebar primary}{fg=debianred}
+\setbeamercolor{palette sidebar secondary}{fg=debianred}
+\setbeamercolor{palette sidebar tertiary}{fg=debianred}
+\setbeamercolor{palette sidebar quaternary}{fg=debianred}
+
+\setbeamercolor{section in toc}{fg=debianred}
+\setbeamercolor{subsection in toc}{parent=debianred}
+
+\setbeamercolor{item}{fg=debianred}
+
+\setbeamercolor{block title}{fg=debianblue}
+
+\title[Reproducible builds ecosystem]{Reproducible builds ecosystem}
+\subtitle{Where some of us are \\
+and some hints where this might be going…}
+\author[Holger 'h01ger' Levsen]{%
+   \texorpdfstring{
+            \centering
+            Holger 'h01ger' Levsen\\
+            \href{mailto:holger at layer-acht.org}{holger at layer-acht.org}
+   }{h01ger}}
+\institute[Debian]{}
+\date[openSUSE 2016]{%
+ openSUSE Conference 2016 (Nürnberg, DE)\\
+ \small{2016-06-23}}
+
+\begin{document}
+
+\begin{frame}[plain]
+ \titlepage
+ \begin{tikzpicture}[remember picture,overlay]
+  \node[shift={(-0.11\paperwidth, 0.2\paperheight)},at=(current page.south east)] {
+    \includegraphics[height=0.2\paperheight]{images/openSUSE.png}
+  };
+ \end{tikzpicture}
+\end{frame}
+
+\begin{frame}
+ \frametitle{about me}
+
+ \begin{itemize}
+  \item \small{\texttt{B8BF 5413 7B09 D35C F026  FE9D 091A B856 069A AA1C}}
+  \item Debian user since 1995 - though my very first installation was SuSE :)
+  \item Debian contributor since 2001
+  \item Debian developer since 2007
+  \item DebConf organizer,
+  founded the DebConf video team
+   \begin{itemize}
+    \item \texttt{http://video.debian.net}
+   \end{itemize}
+ \item Debian-Edu (Debian for education)
+  \item Debian QA (quality assurance)
+  \begin{itemize}
+   \item \texttt{https://piuparts.debian.org}
+   \item \texttt{https://jenkins.debian.net} (~1100 jobs continously testing Debian)
+  \end{itemize}
+  \item \sout{Debian LTS} (Long Term Support)
+ \end{itemize}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{more about me}
+
+ \begin{itemize}
+  \item \small{\texttt{B8BF 5413 7B09 D35C F026  FE9D 091A B856 069A AA1C}}
+  \item \small{\texttt{8F03 B243 8719 BA6B 1A35  0EB6 40C2 DEA2 F56C 7256}}
+  \item Debian Reproducible builds team member
+  \begin{itemize}
+   \item within in the team I'm mostly working on
+   \texttt{https://tests.reproducible-builds.org}
+  \end{itemize}
+   \item until April 2016 together with Lunar funded by the Linux Foundation
+  \begin{itemize}
+   \item applied for extended funding in April 2016…
+  \end{itemize}
+  \item<2>{basically no idea about Reproducible SUSE ;-)}
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Debian reproducible builds team}
+ \begin{center}
+  \begin{columns}
+   \footnotesize
+   \column{.30\linewidth}
+    {akira} \\
+    {Alexis Bienvenüe} \\
+    {Andrew Ayer} \\
+    {Asheesh Laroia} \\
+    {Ceridwen} \\
+    {Chris Lamb} \\
+    {Chris West} \\
+    {Christoph Berg} \\
+    {Daniel Kahn Gillmor} \\
+    {Daniel Shahaf} \\
+    David Suarez \\
+    {Dhole} \\
+    Drew Fisher \\
+    Esa Peuha \\
+    {Fabian Wolff} \\
+   \column{.30\linewidth}
+    {Guillem Jover} \\
+    Hans-Christoph Steiner \\
+    {Helmut Grohne} \\
+    \only<1>{Holger Levsen}\only<2>{{\color{debianred} Holger Levsen}} \\
+    HW42 \\
+    Intrigeri \\
+    {Jelmer Vernooij} \\
+    {josch} \\
+    Juan Picca \\
+    {Lunar} \\
+    Mathieu Bridon \\
+    {Mattia Rizzolo} \\
+    Nicolas Boulenguez \\
+    {Niels Thykier} \\
+    Niko Tyni \\
+   \column{.30\linewidth}
+    {Paul Wise} \\
+    Peter De Wachter \\
+    Philip Rinn \\
+    {Reiner Herrmann} \\
+    {Santiago Vila} \\
+    {Sascha Steinbiss} \\
+    {Satyam Zode} \\
+    {Scarlett Clark} \\
+    {Stefano Rivera} \\
+    {Stéphane Glondu} \\
+    {Steven Chamberlain} \\
+    Tom Fitzhenry \\
+    {Valerie Young} \\
+    Valentin Lorentz \\
+    {Wookey} \\
+    {Ximin Luo} \\
+  \end{columns}
+ \end{center}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{jenkins.debian.net.git contributors}
+ \begin{center}
+  \begin{columns}
+   \small
+   \column{.46\linewidth}
+    {akira} \\
+    \only<1>{Alexander Couzens}\only<2>{{\color{debianred} Alexander Couzens}} \\
+    \only<1>{Levente 'anthraxx' Polyak}\only<2>{{\color{debianred} Levente 'anthraxx' Polyak}} \\
+    {Antonio Terceiro} \\
+    {Axel Beckert} \\
+    \only<1>{Bryan Newbold}\only<2>{{\color{debianred} Bryan Newbold}} \\
+    {Chris Lamb} \\
+    {Daniel Kahn Gillmor} \\
+    {Gabriele Giacone} \\
+    \only<1>{Hans-Christoph Steiner}\only<2>{{\color{debianred} Hans-Christoph Steiner}} \\
+    Helmut Grohne \\
+    \only<1>{Holger Levsen}\only<2>{{\color{debianred} Holger Levsen}} \\
+    \only<1>{HW42}\only<2>{{\color{debianred} HW42}} \\
+    {James McCoy} \\
+    {Joachim Breitner} \\
+   \column{.46\linewidth}
+    {Johannes 'josch' Schauer} \\
+    {Jérémy Bobbio} \\
+    {Mattia Rizzolo} \\
+    {Niels Thykier} \\
+    {Paul Wise} \\
+    {Petter Reinholdtsen} \\
+    {Philip Hands} \\
+    \only<1>{Reiner Herrmann}\only<2>{{\color{debianred} Reiner Herrmann}} \\
+    {Samuel Thibault} \\
+    {Steven Chamberlain} \\
+    {Tails developers} \\
+    {Ulrike Uhlig} \\
+    {Wolfgang Schweer} \\
+    {Wouter Verhelst} \\
+  \end{columns}
+ \end{center}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{Who are you?}
+ \begin{itemize}
+  \item Contributed to Free Software?
+  \item<2> Seen a talk about reproducible builds?
+ \end{itemize}
+\end{frame}
+
+\section{Motivation}
+
+\begin{frame}
+ \frametitle{The problem}
+
+ \begin{center}
+  \includegraphics[width=0.71\textwidth]{images/31c3.png}
+
+  Available on \url{media.ccc.de}, 31C3
+ \end{center}
+\end{frame}
+
+
+
+\begin{frame}[fragile]
+ \frametitle{A few examples from that 31C3 talk}
+ \begin{itemize}
+  \item CVE-2002-0083: remote root exploit in \texttt{sshd}, a single bit difference in the binary
+  \item<2-5> 31C3 talk had a live demo with a kernel module modifying source code in memory only
+  \item<3-5> Financial incentives to crack developer machines… attack one, 0wn
+  millions.
+  \item<4-5> {How can you be sure what's running on your machine or on a build
+  daemon network? Are your computers really always physically safe?}
+  \item<5> Hacking OBS is very affordable for state sponsored
+  attackers and large criminal organisations and AIUI would expose all openSuSE
+  installations. You are a target because your customers are.
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Another example from real life\only<2>{: XCode Ghost}}
+
+ At a CIA conference in 2012:
+ \begin{center}
+  \includegraphics[width=0.8\textwidth]{images/strawhorse.png}
+
+  {\footnotesize
+  \url{firstlook.org/theintercept/2015/03/10/ispy-cia-campaign-steal-apples-secrets/}
+  }
+ \end{center}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Summary: the source of the problem…}
+ \begin{itemize}
+  \item Free Software is great!
+   \begin{itemize}
+    \item Use
+    \item Share
+    \item Study
+    \item Modify
+   \end{itemize}
+  \item<2> Free Software is about source code, but noone uses the sources, we all
+  use binaries.
+ \end{itemize}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{The solution}
+
+ \begin{center}
+ \Large{
+ Promise that anyone can always generate
+
+ bit by bit identical binary packages
+
+ from a given source.}
+\end{center}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{The solution}
+
+ \begin{center}
+ We call this:
+
+ \Huge{ “Reproducible builds” }
+ \end{center}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Demo}
+\end{frame}
+
+
+%\begin{frame}
+% \frametitle{Demo - unreproducible builds}
+% \begin{itemize}
+%  \item \small{\texttt{db4c5c4d6eaec2268eeab750920e34004292ec3a   giftrans\_1.12.2-19.dsc}}
+%  \item \small{\texttt{a931a19e832024f509f7902b2b5560f8e46f004b  giftrans\_1.12.2-19.debian.tar.xz}}
+%  \item \small{\texttt{816067762fe7d41f2b73f0acd2da0e51a1b93f27  giftrans\_1.12.2.orig.tar.gz}}
+%  \item \small{\texttt{97f656caf73a5c73bd86e7e0d7f134c55ad83fc8  .1/giftrans\_1.12.2-19\_amd64.deb}}
+%  \item \small{\texttt{08211b176c889e8270aa87a1a753b3bc24c6aed0  .2/giftrans\_1.12.2-19\_amd64.deb}}
+%  \item \small{\texttt{1365e56a2217fa44afe3594333b9aa70fc0dd8d4  .3/giftrans\_1.12.2-19\_amd64.deb}}
+%  \item \small{\texttt{b486c9337968b04b7159c2500c03434cbac6f50b  .4/giftrans\_1.12.2-19\_amd64.deb}}
+%  \item \small{\texttt{50aef605a36eec64c307812a32553d38f30d1672  .5/giftrans\_1.12.2-19\_amd64.deb}}
+% \end{itemize}
+%\end{frame}
+%\begin{frame}
+% \frametitle{Demo - reproducible builds}
+% \begin{itemize}
+%  \item \small{\texttt{db4c5c4d6eaec2268eeab750920e34004292ec3a   giftrans\_1.12.2-19.dsc}}
+%  \item \small{\texttt{a931a19e832024f509f7902b2b5560f8e46f004b  giftrans\_1.12.2-19.debian.tar.xz}}
+%  \item \small{\texttt{816067762fe7d41f2b73f0acd2da0e51a1b93f27  giftrans\_1.12.2.orig.tar.gz}}
+%  \item \small{\texttt{2a7c368a7fb1857b964a53fd53fd39d466e81d3a  .1/giftrans\_1.12.2-19\_amd64.deb}}
+%  \item \small{\texttt{2a7c368a7fb1857b964a53fd53fd39d466e81d3a  .2/giftrans\_1.12.2-19\_amd64.deb}}
+%  \item \small{\texttt{2a7c368a7fb1857b964a53fd53fd39d466e81d3a  .3/giftrans\_1.12.2-19\_amd64.deb}}
+%  \item \small{\texttt{2a7c368a7fb1857b964a53fd53fd39d466e81d3a  .4/giftrans\_1.12.2-19\_amd64.deb}}
+%  \item \small{\texttt{2a7c368a7fb1857b964a53fd53fd39d466e81d3a  .5/giftrans\_1.12.2-19\_amd64.deb}}
+% \end{itemize}
+%\end{frame}
+%
+
+% show this once running in plain sid,
+% and then in sid with our modified toolchain.
+%
+% prepare demo:
+% mkdir demo ; cd demo ; apt-get source giftrans
+%
+% do demo:
+% PTH=$(mktemp -d); OPTH=$PWD; P=giftrans; cp ${P}_* $PTH/; cd $PTH ;
+%   dpkg-source -x ${P}*.dsc ; for X in 1 2 3 4 5 ; do (cd ${P}-*/;
+%   dpkg-buildpackage -b -uc -us); mkdir -p .$X ; cp $P_*.deb .$X; done ; rm
+%   *.deb ; echo; sha1sum *dsc *z .*/*.deb | grep -v giftrans-dbgsym ; cd - ;
+% rm -r $PTH
+%
+% cd Projects/reproducible/presentations/demo
+% scriptreplay -t sid.tm -s sid.out
+% scriptreplay -t sid-reproducible.tm -s sid-reproducible.out
+
+\begin{frame}[plain]
+\begin{center}
+ \Huge{This should become the \textbf{norm}.}
+
+ \visible<2-3>{\small{ We want to change the meaning of "free software":
+
+  it's only free software if it's reproducible!}}
+
+ \visible<3>{\small{Because one can only be sure it's free software
+ 
+ if it's reproducible!}}
+\end{center}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{a very brief history}
+
+ \begin{itemize}
+  \item ...
+  \item Bitcoin (2012)
+  \item TorBrowser and Tor (2012)
+  \item<2-4> Debian (2013)
+  \item<2-4> FreeBSD (2013)
+  \item<3-4> reproducible.debian.net (2014)
+  \item<3-4>{ 2015:
+  \begin{itemize}
+   \item 15 talks given
+   \item reproducible-builds.org
+   \item meeting in Athens with 16 projects
+ \end{itemize}}
+ \end{itemize}
+\end{frame}
+
+
+\section{Common ressources}
+
+\begin{frame}
+ \frametitle{reproducible-builds.org}
+
+ \begin{itemize}
+  \item \texttt{https://reproducible-builds.org}
+ \end{itemize}
+ \begin{center}
+ \includegraphics[width=0.7\textwidth]{images/rbwww1.png}
+ \end{center}
+\end{frame}
+
+\begin{frame}
+ \frametitle{tests.reproducible-builds.org}
+
+ \begin{itemize}
+  \item<2-7> Continuously testing Debian \texttt{testing}, \texttt{unstable} and
+  \texttt{experimental}
+  \item<3-7> on \texttt{amd64} and \texttt{i386} and \texttt{armhf}
+  \item<4-7> Also testing: OpenWrt, coreboot, NetBSD, FreeBSD.
+  \item<4-7> Arch Linux, Fedora and F-Droid work in progress…
+  \item<5-7> testing = build, vary the environment, build again, compare results.
+  \item<6-7> 311 jenkins jobs running on 31 hosts
+  \item<6-7> 41 scripts with a total of 4k lines of Python and 6k lines of Bash
+  Shell
+  \item<6-7> 31 contributors for \texttt{jenkins.debian.net.git}
+  \item<7> static webpages, results available as JSON too
+ \end{itemize}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{CPU architectures on tests.r-b.org}
+
+ \begin{itemize}
+  \item \texttt{amd64} and \texttt{i386}: 106 cores and 282 GB RAM split on 9 VMs
+  \item most ressources used for testing Debian…
+ \item sponsored by \texttt{https://profitbricks.co.uk} since 2014 (2012)
+ \end{itemize}
+ \begin{center}
+  \includegraphics[height=0.2\paperheight]{images/profitbricks_logo.png}
+  \vfill
+ \end{center}
+ \begin{itemize}
+  \item \texttt{armhf}: 21 nodes with 80 cores and 41 GB RAM sponsored by
+  Debian
+  \item \texttt{arm64}: coming soon
+ \end{itemize}
+\end{frame}
+
+
+\begin{frame}[fragile]
+ \frametitle{Variations (when testing Debian)}
+
+ \begin{center}
+  \begin{table}
+   \resizebox{0.85\textwidth}{!}{%
+    \begin{tabular}{l|ll}
+\textbf{variation} & \textbf{first build} & \textbf{second build} \\
+\hline
+hostname & \texttt{jenkins} & \texttt{i-capture-the-hostname} \\
+domainname & \texttt{debian.net} & \texttt{i-capture-the-domainname} \\
+\texttt{env TZ} & \texttt{GMT+12} & \texttt{GMT-14} \\
+\texttt{env LANG} & \texttt{C} & \texttt{fr\_CH.UTF-8} \\
+\texttt{env LC\_ALL} & not set & \texttt{fr\_CH.UTF-8} \\
+\texttt{env USER} & \texttt{pbuilder1} & \texttt{pbuilder2} \\
+uid/gid & \texttt{1111} & \texttt{2222} \\
+shell & \texttt{dash} & \texttt{bash} \\
+UTS namespace & shared with the host & \textit{modified using \texttt{/usr/bin/unshare --uts}} \\
+kernel version & Linux 3.16 or 4.X & on amd64 and i386 always varied, on armhf
+sometimes \\
+32 vs 64 bit kernel & one or the other & only varied on i386 \\
+umask & 0022 & 0002 \\
+CPU type & \multicolumn{2}{l}{Intel and AMD variation for i386 and amd64 \textit{(work in progress)}} \\
+ & on armhf varied a bit & \\
+filesystem & \multicolumn{2}{l}{same for both builds on amd64:
+(\texttt{tmpfs}), on i386 and armhf \texttt{ext3/4}} \\
+ & & \textit{(and we have} \texttt{disorderfs}\textit{, but the code is disabled)} \\
+year, month, date & \multicolumn{2}{l}{on amd64 and i386: 398 days variation, on armhf not yet} \\
+hour, minute & \multicolumn{2}{l}{hour is usually the same… usually, the minute differs… } \\
+\textit{everything else} & \multicolumn{2}{l}{\textit{is likely the same…}}
+    \end{tabular}
+   }
+  \end{table}
+ \end{center}
+\end{frame}
+
+
+
+
+\begin{frame}
+ \frametitle{Common problems}
+
+ \begin{itemize}
+  \item time stamps
+  \item<2-3> timezones
+  \item<2-3> locales
+  \item<3> everything else (seperated into known issues and the blurry rest)
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Documentation about common problems}
+ \begin{itemize}
+  \item \texttt{https://reproducible-builds.org/docs}
+  \item Lunar's talk from CCCamp 2015 also on
+  \texttt{https://media.ccc.de}
+ \begin{tikzpicture}[remember picture]
+  \node[shift={(-0.5\paperwidth, -0.3\paperheight)},at=(current page.south east)] {
+    \includegraphics[width=0.73\textwidth]{images/cccamp2015_lunar_random.png}
+  };
+ \end{tikzpicture}
+ \end{itemize}
+\end{frame}
+
+
+
+\placelogofalse
+
+{
+\usebackgroundtemplate{%
+ \begin{tikzpicture}[remember picture,overlay]%
+  \node[shift={(-0.1\paperwidth, 0.15\paperheight)},at=(current page.south east)] {
+    \includegraphics[width=0.2\paperwidth]{images/diffoscope_logo.png}
+  };
+ \end{tikzpicture}%
+}
+
+\begin{frame}{diffoscope}
+ \frametitle{Debugging problems: \texttt{diffoscope}}
+
+ \begin{itemize}
+  \item Examines differences \textbf{in depth}.
+  \item Outputs HTML or plain text with human readable differences.
+  \item Recursively unpacks archives, uncompresses PDFs, disassembles
+  binaries, unpacks Gettext files, …
+  \item Easy to extend to new file formats.
+  \item Falls back to binary comparison.
+  \item Available from \texttt{git}, PyPI, Debian (sid and stretch), \\
+   Fedora, Arch Linux, FreeBSD, NetBSD, Guix, Homebrew..
+  \item Maintainers (upstream and in other distros) wanted.
+  \item \url{https://diffoscope.org/}
+ \end{itemize}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{\texttt{diffoscope} example (HTML output)}
+ \begin{tikzpicture}[remember picture]
+  \node[at=(current page.center)] {
+   \includegraphics[width=0.9\paperwidth]{images/diffoscope_example_html.png}
+  };
+ \end{tikzpicture}
+\end{frame}
+
+
+\begin{frame}{diffoscope}
+ \frametitle{Try \texttt{diffoscope}}
+ \begin{itemize}
+  \item \texttt{https://try.diffoscope.org}
+ \end{itemize}
+\end{frame}
+
+
+
+\begin{frame}
+ \frametitle{\texttt{diffoscope} is "just" for debugging}
+
+ \begin{itemize}
+  \item Reminder: \texttt{diffoscope} is for \textbf{debugging}
+  \item<2> "reproducible" according to our definition means: \textbf{bit by bit
+  identical}. So the tools for testing whether something is reproducible are
+  either \texttt{diff} or \texttt{sha256sum}!
+ \end{itemize}
+\end{frame}
+
+}
+
+\placelogotrue
+
+
+\begin{frame}
+ \frametitle{\texttt{SOURCE\_DATE\_EPOCH}}
+
+ \begin{itemize}
+  \item Build date (timestamps) usually not useful for the user
+  \item<2-3> \texttt{SOURCE\_DATE\_EPOCH} is defined as the last modification of
+  the source, since the epoch (1970-01-01)
+  \item<2-3> \texttt{SOURCE\_DATE\_EPOCH} can be used instead of current date
+  \item<2-3> can also be used for random seeds etc.
+  \item<3> in Debian, set from the latest \texttt{debian/changelog} entry
+  \item<3> solution has been adopted by other projects \& distributions
+  (NetBSD, FreeBSD, Arch Linux, Guix, Fedora…)
+ \end{itemize}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{\texttt{SOURCE\_DATE\_EPOCH} (closed bugs)}
+
+ \begin{itemize}
+  \item dh-strip-nondeterminism
+  \item gcc (\texttt{\_\_DATE\_\_} and \texttt{\_\_TIME\_\_} macros) \texttt{\footnotesize{\url{https://gcc.gnu.org/ml/gcc-patches/2015-06/msg02210.html}}}
+  \item \sout{\texttt{\#791823}}: debhelper
+  \item \sout{\texttt{\#787444}}: help2man
+  \item \sout{\texttt{\#790899}}: epydoc
+  \item \sout{\texttt{\#794004}}: ghostscript
+  \item \sout{\texttt{\#796130}}: man2html
+  \item \sout{\texttt{\#783475}}: texi2html
+  \item \sout{\texttt{\#794586}}: ocamldoc
+  \item \sout{\texttt{\#792202}}: texlive-bin
+  \item ...
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{\texttt{SOURCE\_DATE\_EPOCH}}
+
+ \begin{itemize}
+  \item \texttt{SOURCE\_DATE\_EPOCH} spec availble
+  \item \texttt{https://reproducible-builds.org/specs/}
+ \end{itemize}
+\end{frame}
+
+
+\section{Status Debian}
+
+\begin{frame}
+ \frametitle{Progress in Debian \texttt{unstable/amd64}}
+ \begin{center}
+    \includegraphics[height=0.7\paperheight]{images/stats_pkg_state.png}
+
+  \footnotesize{21,666 (89.0\%) out of 24,323 source packages are reproducible \\
+    in our test framework (and 90.2\% in \texttt{testing/amd64})}
+  \vfill
+ \end{center}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Notes and issues on tests.reproducible-builds.org}
+
+ \begin{itemize}
+  \item { 206 categorised distinct issues }
+  \item { 3,261 notes }
+  \item<2-4> { 1844 unreproducible packages in \texttt{sid/amd64}, but only
+  211 without a  note }
+  \item<2-4> { 655 packages failing to build, but only 149 without a note }
+  \item<3-4> { maintained in \texttt{notes.git} }
+  \item<4> { currently Debian only, but we will turn those into cross distro
+  (and upstream) notes}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{examples of issues from notes.git}
+ \begin{itemize}
+ \item timestamps\_in\_cpio\_archive
+ \item randomness\_in\_ocaml\_provides
+ \item leaks\_path\_environment\_variable
+ \item python-ply\_compiled\_parse\_tables
+ \item timestamps\_in\_documentation\_generated\_by\_docbook\_dbtimestamp
+ \item plist\_weirdness
+ \item timestamps\_generated\_by\_eigenbase\_resgen
+ \item different\_due\_to\_umask
+ \item timestamps\_in\_manpages\_generated\_by\_docbook\_utils
+ \item different\_pot\_creation\_date\_in\_gettext\_mo\_files
+ \item ftbfs\_uninvestigated\_test\_failures
+
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{examples of issues from notes.git}
+ \begin{itemize}
+ \item unsorted\_file\_glob\_by\_cmake
+ \item timestamps\_generated\_by\_mangosdk\_spiprocessor
+ \item randomness\_in\_icc\_colour\_profiles
+ \item undeterministic\_symlinking\_by\_rdfind
+ \item random\_order\_in\_ruby\_rdoc\_indices
+ \item timestamps\_in\_edj\_files\_generated\_by\_edje\_cc
+ \item timestamps\_in\_documentation\_generated\_by\_asciidoctor
+ \item timestamps\_in\_zip
+ \item random\_order\_in\_plexus\_comonents\_xml
+ \item timestamps\_in\_png
+ \item random\_order\_in\_documentation\_generated\_by\_javadoc
+ \end{itemize}
+\end{frame}
+
+
+
+
+
+\begin{frame}
+ \frametitle{Debian packages on tests.reproducible-builds.org}
+ \begin{itemize}
+  \item \url {https://reproducible.debian.net/$src}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Debian package sets on tests.r-b.org}
+  \begin{center}
+    \includegraphics[height=0.7\paperheight]{images/stats_meta_pkg_state_required.png}
+
+ \footnotesize{42 different "package sets", eg. \texttt{required} is only
+  74.3\% reproducible}
+  \vfill
+ \end{center}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Debian package sets on tests.r-b.org}
+  \begin{center}
+    \includegraphics[height=0.7\paperheight]{images/stats_meta_pkg_state_key_packages.png}
+
+ \footnotesize{Debian's \texttt{key\_packages} are 86.9\% reproducible,
+  but 437 packages (10\%) \\ 
+  will still need to be fixed}
+  \vfill
+ \end{center}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{Progress in the Debian bug tracker}
+ \begin{center}
+    \includegraphics[height=0.7\paperheight]{images/stats_bugs_sin_ftbfs_state.png}
+
+  \footnotesize{As a rule, we file bugs with patches. \\
+  There were very few exceptions.}
+  \vfill
+ \end{center}
+\end{frame}
+
+\begin{frame}
+ \frametitle{What we did in Debian}
+
+ \begin{itemize}
+  \item Agreed on using a fixed build path: \texttt{/build/}
+  \item Recording the build environment: \texttt{.buildinfo}
+  \item \texttt{strip-nondeterminism}
+  \item \texttt{diffoscope} (formerly \texttt{debbindiff})
+  \item \texttt{SOURCE\_DATE\_EPOCH}
+  \item \texttt{disorderfs}
+  \item 1700+ patches: \texttt{dpkg}, \texttt{debhelper}, \texttt{sbuild}, …
+  \item 2 packages modified to achieve those 89\% (90.2\%)
+  \item …
+ \end{itemize}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{Detour: Reproducible builds demand a defined build environment}
+ \begin{itemize}
+  \item …and being able to re-create this build environment is mandatory too.
+  \item Without an \textit{sufficiently identical} build environment, reproducible builds will only
+  happen by sheer luck.
+  \item<2>{I've only verified this works for Debian so far… \texttt{koji}
+  is designed for that too, Guix as well…}
+\item<2> {I'd very much like to hear about your experiences.}
+ \end{itemize}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{Debian \texttt{.buildinfo} files}
+
+ \begin{itemize}
+  \item Aggregates in the same file:
+   \begin{itemize}
+    \item Sources (checksums)
+    \item Generated binaries (checksums)
+    \item Packages used to build (with specific version, checksums coming soon)
+   \end{itemize}
+  \item Can be later used to exactly recreate environment
+  \item For Debian, all versions are available from \url{snapshot.debian.org}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Example \texttt{.buildinfo} file}
+
+{\small
+\begin{verbatim}
+Format: 1.9
+Build-Architecture: amd64
+Source: txtorcon
+Binary: python-txtorcon
+Architecture: all
+Version: 0.11.0-1
+Build-Path: /build/txtorcon-0.11.0-1
+Checksums-Sha256:
+ a26549d9…7b 125910 python-txtorcon_0.11.0-1_all.deb
+ 28f6bcbe…69 2039 txtorcon_0.11.0-1.dsc
+Build-Environment:
+ base-files (= 8),
+ base-passwd (= 3.5.37),
+ bash (= 4.3-11+b1),
+ …
+\end{verbatim}
+}
+\end{frame}
+
+
+
+\begin{frame}
+ \frametitle{\texttt{.buildinfo} files elsewhere}
+
+ \begin{itemize}
+  \item neither used nor specified elsewhere \textbf{yet}
+  \item it's clear we need something like them
+  \item it's clear what needs to be specified
+  \item it "just" needs to be done…
+  \item<2> and it \textbf{needs} to be done: we need "API"s to define inputs and
+  outputs, these "API"s will be different in their implementation but the
+  basic principiples will be the same. Without \texttt{.buildinfo} files
+  reproducible rebuilds are not doable in practice…!
+ \end{itemize}
+\end{frame}
+
+
+
+\begin{frame}
+ \frametitle{Tell the world \& collaborate}
+
+ \begin{itemize}
+  \item Weekly reports since May 2015
+  \item<2-4> First Reproducible World Summit in December 2015 (Athens, Greece)
+   \begin{itemize}
+    \item<2-4> 40 people from 16 projects
+  \item<3-4> another summit in second half 2016, somewhere in Europe
+   \end{itemize}
+  \item<4> 2 GSoC students in 2015, totally new contributors, totally rocking
+  \item<4> 4 GSoC and Outreachy students in 2016, also rocking already!
+ \end{itemize}
+\end{frame}
+
+
+
+\begin{frame}
+ \frametitle{\texttt{debian-policy}}
+
+ \begin{itemize}
+  \item Section 4.15: “Sources \textbf{must} build reproducible binaries.”
+  \item<2-3> We hope this will happen after stretch (Debian 9) release
+  \item<3> In 2016: “Sources \textbf{shall} build reproducible binaries.” ?
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Summary}
+ \begin{itemize}
+  \item This is just a proof-of-concept, Debian is not 90\% reproducible,
+  Debian is 0\% reproducible.
+  \item Patches still need to be merged (until the end of the year)
+  \item<2-4> I hope that Debian 9, "stretch", will be \it{partially
+  reproducible in a meaningful way}
+  \item<3-4> Debian \texttt{unstable} still needs changes to \texttt{dpkg} and
+  \texttt{ftp.debian.org} (for keeping \texttt{.buildinfo} files)
+  \item<4> What's beyond (rebuilding, \texttt{.buildinfo} file signing and
+  distribution, user tools) mostly still needs \it{design} and code
+
+ \end{itemize}
+\end{frame}
+
+
+
+\section{Status Non-Debian World}
+
+\placelogofalse
+
+\begin{frame}
+ \frametitle{Status coreboot}
+ \begin{itemize}
+  \item \texttt{https://tests.r-b.org/coreboot}
+  \item 100\% reproducible with \texttt{seabios} payload
+  \item tests maintained by Alexander 'lynxis' Couzens
+  \item unclear what the next steps are… they don't release binaries…
+  \item needs involvement from coreboot developers
+ \end{itemize}
+ \begin{tikzpicture}[remember picture,overlay]
+  \node[shift={(-0.11\paperwidth, 0.18\paperheight)},at=(current page.south east)] {
+    \includegraphics[height=0.33\paperheight]{images/coreboot.png}
+  };
+ \end{tikzpicture}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Status OpenWrt}
+ \begin{itemize}
+  \item \texttt{https://tests.r-b.org/openwrt}
+  \item selected images are 100\% reproducible and selected packages 99.7\%
+  \item using 13 patches send upstream on January 25th 2016
+  \item tests maintained by Alexander 'lynxis' Couzens and Bryan Newbold
+  \item recreating the build env: needs to be checked in practice
+  \item user verification tools: not yet
+ \end{itemize}
+ \begin{tikzpicture}[remember picture,overlay]
+  \node[shift={(-0.14\paperwidth, 0.1\paperheight)},at=(current page.south east)] {
+    \includegraphics[height=0.4\paperheight]{images/openwrt.png}
+  };
+ \end{tikzpicture}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Status NetBSD}
+ \begin{itemize}
+  \item \texttt{https://tests.r-b.org/netbsd}
+  \item 42 (77.7\%) out of 54 built NetBSD files are reproducible
+  \item tests maintained by Thomas 'wiz' Klausner and h01ger
+  \item \texttt{MKREPRO=yes}
+  \item \texttt{MK\_TIMESTAMP=\$SOURCE\_DATE\_EPOCH}
+  \item recreating the build env: ?
+ \end{itemize}
+ \begin{tikzpicture}[remember picture,overlay]
+  \node[shift={(-0.11\paperwidth, 0.18\paperheight)},at=(current page.south east)] {
+    \includegraphics[height=0.33\paperheight]{images/netbsd.png}
+  };
+ \end{tikzpicture}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Status FreeBSD}
+ \begin{itemize}
+  \item \texttt{https://tests.r-b.org/freebsd}
+  \item base system not yet reproducible, but almost there
+  \item 63\% of 15k ports were reproducible in 2013 already, their wiki says
+  \item tests maintained by h01ger so far… but Ed Maste has recently started
+  work
+  \item recreating the build env: ?
+  \item soon testing ports (=packages) too 
+ \end{itemize}
+ \begin{tikzpicture}[remember picture,overlay]
+  \node[shift={(-0.11\paperwidth, 0.2\paperheight)},at=(current page.south east)] {
+    \includegraphics[height=0.33\paperheight]{images/freebsd.png}
+  };
+ \end{tikzpicture}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{Status Fedora}
+ \begin{itemize}
+  \item \texttt{https://tests.r-b.org/fedora} (23)
+  \item maintained by Dhiru Kholia and h01ger
+  \item rpm repo available by Dhiru, but still \textbf{0\% reproducible}
+  \item first patch for \texttt{rpm} merged
+  \item rpm format includes build time and build host and signatures…
+  \item recreating the build env: koji
+  \item next: first reproducible rpm, use koji
+  \item<2> help/patches from SuSE? :)
+ \end{itemize}
+ \begin{tikzpicture}[remember picture,overlay]
+  \node[shift={(-0.11\paperwidth, 0.2\paperheight)},at=(current page.south east)] {
+    \includegraphics[height=0.33\paperheight]{images/fedora.png}
+  };
+ \end{tikzpicture}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Status Arch Linux}
+ \begin{itemize}
+  \item \texttt{https://tests.r-b.org/archlinux}
+  \item maintained by Levente 'anthraxx' Polyak and h01ger
+  \item reproducible patches available for \texttt{pacman} by anthraxx
+  \item recreating the build env: unaddressed
+ \end{itemize}
+ \begin{tikzpicture}[remember picture,overlay]
+  \node[shift={(-0.11\paperwidth, 0.2\paperheight)},at=(current page.south east)] {
+    \includegraphics[height=0.33\paperheight]{images/archlinux.png}
+  };
+ \end{tikzpicture}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Status F-Droid}
+ \begin{itemize}
+  \item not yet: \texttt{https://tests.r-b.org/f-droid}
+  \item maintained by Hans-Christoph Steiner and h01ger
+  \item work has just begun…
+  \item we need help with vagrant. please contact me if you can help…
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Status openSUSE}
+ \begin{itemize}
+  \item Watch Bernhard's talk directly after this one!
+ \end{itemize}
+ \begin{tikzpicture}[remember picture,overlay]
+  \node[shift={(-0.11\paperwidth, 0.2\paperheight)},at=(current page.south east)] {
+    \includegraphics[height=0.2\paperheight]{images/openSUSE.png}
+  };
+ \end{tikzpicture}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{More projects with known activities}
+ \begin{itemize}
+\item Bitcoin, Tor,
+\item Signal
+\item OpenSUSE (could be tested easily…)
+\item Ubuntu
+\item Guix, NixOS
+\item ElectroBSD
+\item Qubes, TAILS, Subgraph OS
+\item commercial, propietary Software
+\item ?
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Detour: what, reproducible commercial Software???}
+ \begin{itemize}
+\item Guess which
+\item <2-3>   Microsoft Windows? (the source is available)
+\item <2-3>   medical devices in your body?
+\item <2-3>   arms?
+\item <2-3>   critical infrastructure like in nuclear powerplants?
+\item <2-3>   cars?
+\item <3> Gambling machines!
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Unknown activities?}
+ \begin{itemize}
+\item  OpenBSD
+\item  Gentoo (stage1)
+ \item ?
+\end{itemize}
+\end{frame}
+
+
+\placelogotrue
+
+\section{Future work}
+
+
+
+
+\begin{frame}
+ \frametitle{Distributing \texttt{.buildinfo} files}
+ \begin{itemize}
+  \item Probably 100,000 new files per Debian suite; 50\% increase per suite
+  \item Mirrors would not be happy, so should not go there
+  \item<2> We'll need more files with detached signatures…
+  \item<2>{Revoking signatures?}
+  \item<2>{...}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Rebuilders and sharing signed checksums}
+ \begin{itemize}
+  \item Almost no work has been done here yet.
+  \item<2> Different projects, different solutions? 
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Rebuilders and sharing signed checksums, cont.}
+ \begin{itemize}
+  \item Individuelly signed checksums (think web of trust) could work in the
+  Debian case (we have a gpg web of trust), but IMO won't scale.
+  \item<2-3> { Another idea: rebuilders, run by large organisations
+  (ACLU, CCC, CERN, Deutsche Bank, EDF, EON, Greenpeace, NASA, NSA, XYZ).}
+  \item<3> Fedora rebuilds Debian, Debian rebuilds OpenSUSE, OpenSUSE rebuilds
+  NetBSD, etc…
+ \end{itemize}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{Integration in user tools}
+ \begin{itemize}
+  \item "Do you really want to install this unreproducible software (y/N)"
+  \item<2-4> "Do you want to build those packages which unconfirmed checksums,
+  before installing? (Y/n)"
+  \item<3-4>{ "How many signed checksums do you require to call a package
+  'reproducible'?"}
+  \item<4>{ "Which rebuilders do you want to trust?"}
+ \end{itemize}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{Summary}
+ \begin{itemize}
+  \item We've come a long way.
+  \item We've made impressive progress.
+  \item We're still not nearly where we want to be.
+  \item<2-3> In fact, it's still fully not clear where we need to be going.
+  \item<2-3> We've shown it's technically feasable, now we need to create
+  policies and processes!
+  \item<3> Keep up the great work!
+  \item<3> Join the fun! There are many big and small things to do!
+ \end{itemize}
+\end{frame}
+
+
+\section{Getting involved}
+
+\begin{frame}
+ \frametitle{As a software developer}
+ \begin{itemize}
+  \item Merge our patches
+  \item<2> {Stop using build dates:
+  \begin{itemize}
+  \item use \texttt{SOURCE\_DATE\_EPOCH} instead
+  \item see \url{https://reproducible-builds.org/specs/}
+ \end{itemize}
+  }
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Getting involved - learning by doing}
+
+ \begin{itemize}
+  \item Test for yourself:
+   \begin{itemize}
+    \item Build something twice, run diffoscope on the results
+    \begin{itemize}
+     \item For better results use our “reproducible” repository, \texttt{pbuilder} and a custom config
+    \end{itemize}
+   \end{itemize}
+  \item Docs on the web: \\
+    \small{\url{https://reproducible-builds.org/docs/}} \\
+    \small{\url{https://wiki.debian.org/ReproducibleBuilds/ExperimentalToolchain}}
+  \item Ask for help on IRC or on our mailing lists
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Join the Reproducible builds team(s)!}
+
+ \begin{itemize}
+  \item Why?
+   \begin{itemize}
+    \item \heartsuit{}\heartsuit{}\heartsuit{} Lovely group of people \heartsuit{}\heartsuit{}\heartsuit{}
+    \item Learn something new everyday
+    \item Change the (software) world!
+   \end{itemize}
+  \item What do we do?
+   \begin{itemize}
+    \item Review packages
+    \item Identify issues and document solutions
+    \item \texttt{tests.r-b.o}, diffoscope, strip-nondeterminism
+    \item Propose changes for toolchain
+    \item Submit patches for individual packages
+    \item Write more general documentation and talk to the world
+   \end{itemize}
+ \end{itemize}
+\end{frame}
+
+
+\section{Questions, comments, ideas?}
+
+
+\begin{frame}
+ \frametitle{Questions, comments, ideas?}
+
+ \begin{itemize}
+  \item<2-3> \url{https://reproducible-builds.org/docs}
+  \item<2-3> \url{https://tests.reproducible-builds.org}
+  \item<2-3> \texttt{\#reproducible-builds} on \texttt{irc.OFTC.net}
+  \item<2-3> and/or \texttt{\#debian-reproducible} too!
+  \item<3> \url{https://lists.reproducible-builds.org}
+  \item<3> \url{https://twitter.com/ReproBuild}
+  \end{itemize}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{Thanks to…! …and thank \textbf{you}, too!}
+
+ \begin{itemize}
+  \item
+    \only<1>{Debian “Reproducible Builds” team \\
+        {\small (you are just \textbf{so} awesome!)}}
+    \only<2>{All “Reproducible Builds” teams \\
+        {\small (you are just \textbf{so} awesome!)}}
+  \item Linux Foundation and the Core Infrastructure Initiative
+\end{itemize}
+
+ \begin{center}
+  \includegraphics[height=0.1\paperheight]{images/linux_foundation_logo.png}
+  \hspace{0.1\paperwidth}
+  \includegraphics[height=0.1\paperheight]{images/cii_logo.png}
+ \end{center}
+
+ \vfill
+ \begin{center}
+  \resizebox{0.9\textwidth}{!}{%
+   \begin{tabular}{rl}
+    \texttt{holger at debian.org} & \texttt{B8BF 5413 7B09 D35C F026} \\
+                               & \texttt{FE9D 091A B856 069A AA1C}
+   \end{tabular}
+  }
+ \end{center}
+\end{frame}
+
+\begin{frame}{}
+\begin{textblock}{12}(2, 6)
+    \tiny{
+      Copyright \copyright{} 2014--2016 \\
+         Holger Levsen \texttt{holger at layer-acht.org} and others.\\[3.0mm]
+      Copyright of images included in this document are 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{http://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]
+      The source of this document is available from
+      \url{https://anonscm.debian.org/git/reproducible/presentations.git}.
+    }
+  \end{textblock}
+\end{frame}
+
+\end{document}
diff --git a/2016-07-03-DebConf16/Makefile b/2016-07-03-DebConf16/Makefile
new file mode 100644
index 0000000..621f02e
--- /dev/null
+++ b/2016-07-03-DebConf16/Makefile
@@ -0,0 +1,29 @@
+.PHONY: all source images
+
+PRESENTATION = 2016-07-03-DebConf16
+
+all: $(PRESENTATION).pdf
+
+source: $(PRESENTATION)-src.tar.gz
+
+IMGS = $(shell sed -n -e 's/^[^%]*\\includegraphics\([^{]*\)\?{\([^}]*\)}.*$$/\2/p' $(PRESENTATION).tex | sort -u)
+
+$(PRESENTATION).pdf: $(PRESENTATION).tex $(IMGS)
+	set -e && \
+	build=1; \
+	while [ $$build -le 5 ]; do \
+		build=$$(($$build + 1)); \
+		lualatex $<; \
+		if sha1sum -c $(PRESENTATION).aux.sha1sum > /dev/null 2>&1; then \
+			break; \
+		fi; \
+		sha1sum $(PRESENTATION).aux > $(PRESENTATION).aux.sha1sum; \
+	done 
+
+clean:
+	rm -f $(PRESENTATION).aux $(PRESENTATION).log $(PRESENTATION).nav \
+		$(PRESENTATION).out $(PRESENTATION).snm $(PRESENTATION).toc \
+		$(PRESENTATION).vrb $(PRESENTATION).aux.sha1sum $(PRESENTATION).pdfpc
+
+distclean:
+	rm -f $(PRESENTATION).pdf
diff --git a/2016-07-03-DebConf16/images/2016-01-26-180836.jpg b/2016-07-03-DebConf16/images/2016-01-26-180836.jpg
new file mode 100644
index 0000000..01b9a4d
Binary files /dev/null and b/2016-07-03-DebConf16/images/2016-01-26-180836.jpg differ
diff --git a/2016-07-03-DebConf16/images/31c3.png b/2016-07-03-DebConf16/images/31c3.png
new file mode 100644
index 0000000..8922581
Binary files /dev/null and b/2016-07-03-DebConf16/images/31c3.png differ
diff --git a/2016-07-03-DebConf16/images/archlinux.png b/2016-07-03-DebConf16/images/archlinux.png
new file mode 100644
index 0000000..0e0c2c3
Binary files /dev/null and b/2016-07-03-DebConf16/images/archlinux.png differ
diff --git a/2016-07-03-DebConf16/images/cccamp2015_lunar_random.png b/2016-07-03-DebConf16/images/cccamp2015_lunar_random.png
new file mode 100644
index 0000000..9a9e91d
Binary files /dev/null and b/2016-07-03-DebConf16/images/cccamp2015_lunar_random.png differ
diff --git a/2016-07-03-DebConf16/images/cii_logo.png b/2016-07-03-DebConf16/images/cii_logo.png
new file mode 100644
index 0000000..690b7c6
Binary files /dev/null and b/2016-07-03-DebConf16/images/cii_logo.png differ
diff --git a/2016-07-03-DebConf16/images/coreboot.png b/2016-07-03-DebConf16/images/coreboot.png
new file mode 100644
index 0000000..7d7b186
Binary files /dev/null and b/2016-07-03-DebConf16/images/coreboot.png differ
diff --git a/2016-07-03-DebConf16/images/diffoscope_example_html.png b/2016-07-03-DebConf16/images/diffoscope_example_html.png
new file mode 100644
index 0000000..f7bb7f9
Binary files /dev/null and b/2016-07-03-DebConf16/images/diffoscope_example_html.png differ
diff --git a/2016-07-03-DebConf16/images/diffoscope_logo.png b/2016-07-03-DebConf16/images/diffoscope_logo.png
new file mode 100644
index 0000000..ff9c312
Binary files /dev/null and b/2016-07-03-DebConf16/images/diffoscope_logo.png differ
diff --git a/2016-07-03-DebConf16/images/electrobsd.png b/2016-07-03-DebConf16/images/electrobsd.png
new file mode 100644
index 0000000..1868115
Binary files /dev/null and b/2016-07-03-DebConf16/images/electrobsd.png differ
diff --git a/2016-07-03-DebConf16/images/fedora.png b/2016-07-03-DebConf16/images/fedora.png
new file mode 100644
index 0000000..9cc341f
Binary files /dev/null and b/2016-07-03-DebConf16/images/fedora.png differ
diff --git a/2016-07-03-DebConf16/images/freebsd.png b/2016-07-03-DebConf16/images/freebsd.png
new file mode 100644
index 0000000..deb2768
Binary files /dev/null and b/2016-07-03-DebConf16/images/freebsd.png differ
diff --git a/2016-07-03-DebConf16/images/guix.png b/2016-07-03-DebConf16/images/guix.png
new file mode 100644
index 0000000..9c12d13
Binary files /dev/null and b/2016-07-03-DebConf16/images/guix.png differ
diff --git a/2016-07-03-DebConf16/images/linux_foundation_logo.png b/2016-07-03-DebConf16/images/linux_foundation_logo.png
new file mode 100644
index 0000000..860c2bb
Binary files /dev/null and b/2016-07-03-DebConf16/images/linux_foundation_logo.png differ
diff --git a/2016-07-03-DebConf16/images/netbsd.png b/2016-07-03-DebConf16/images/netbsd.png
new file mode 100644
index 0000000..35fc1b4
Binary files /dev/null and b/2016-07-03-DebConf16/images/netbsd.png differ
diff --git a/2016-07-03-DebConf16/images/openSUSE.png b/2016-07-03-DebConf16/images/openSUSE.png
new file mode 100644
index 0000000..f6ec84e
Binary files /dev/null and b/2016-07-03-DebConf16/images/openSUSE.png differ
diff --git a/2016-07-03-DebConf16/images/openwrt.png b/2016-07-03-DebConf16/images/openwrt.png
new file mode 100644
index 0000000..2d457c3
Binary files /dev/null and b/2016-07-03-DebConf16/images/openwrt.png differ
diff --git a/2016-07-03-DebConf16/images/profitbricks_logo.png b/2016-07-03-DebConf16/images/profitbricks_logo.png
new file mode 100644
index 0000000..2ce8ce8
Binary files /dev/null and b/2016-07-03-DebConf16/images/profitbricks_logo.png differ
diff --git a/2016-07-03-DebConf16/images/rbwww1.png b/2016-07-03-DebConf16/images/rbwww1.png
new file mode 100644
index 0000000..8932f53
Binary files /dev/null and b/2016-07-03-DebConf16/images/rbwww1.png differ
diff --git a/2016-07-03-DebConf16/images/stats_bugs_sin_ftbfs_state.png b/2016-07-03-DebConf16/images/stats_bugs_sin_ftbfs_state.png
new file mode 100644
index 0000000..d8c7ea0
Binary files /dev/null and b/2016-07-03-DebConf16/images/stats_bugs_sin_ftbfs_state.png differ
diff --git a/2016-07-03-DebConf16/images/stats_builds_per_day_amd64.png b/2016-07-03-DebConf16/images/stats_builds_per_day_amd64.png
new file mode 100644
index 0000000..5b596a1
Binary files /dev/null and b/2016-07-03-DebConf16/images/stats_builds_per_day_amd64.png differ
diff --git a/2016-07-03-DebConf16/images/stats_meta_pkg_state_key_packages.png b/2016-07-03-DebConf16/images/stats_meta_pkg_state_key_packages.png
new file mode 100644
index 0000000..713bb86
Binary files /dev/null and b/2016-07-03-DebConf16/images/stats_meta_pkg_state_key_packages.png differ
diff --git a/2016-07-03-DebConf16/images/stats_meta_pkg_state_required.png b/2016-07-03-DebConf16/images/stats_meta_pkg_state_required.png
new file mode 100644
index 0000000..bf4d519
Binary files /dev/null and b/2016-07-03-DebConf16/images/stats_meta_pkg_state_required.png differ
diff --git a/2016-07-03-DebConf16/images/stats_pkg_state.png b/2016-07-03-DebConf16/images/stats_pkg_state.png
new file mode 100644
index 0000000..a0dbd87
Binary files /dev/null and b/2016-07-03-DebConf16/images/stats_pkg_state.png differ
diff --git a/2016-07-03-DebConf16/images/stats_pkg_state_armhf.png b/2016-07-03-DebConf16/images/stats_pkg_state_armhf.png
new file mode 100644
index 0000000..2ac7633
Binary files /dev/null and b/2016-07-03-DebConf16/images/stats_pkg_state_armhf.png differ
diff --git a/2016-07-03-DebConf16/images/strawhorse.png b/2016-07-03-DebConf16/images/strawhorse.png
new file mode 100644
index 0000000..d089dbf
Binary files /dev/null and b/2016-07-03-DebConf16/images/strawhorse.png differ

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/presentations.git



More information about the Reproducible-commits mailing list