[Reproducible-commits] [presentations] 01/02: add new talk to be held at CCCHH in Hamburg, based on 2015-11-08-MiniDebConfCambridge

Holger Levsen holger at moszumanska.debian.org
Tue Nov 10 11:16:40 UTC 2015


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

holger pushed a commit to branch master
in repository presentations.

commit 082a45de28752285b8a0d82f88508fb28a13d68b
Author: Holger Levsen <holger at layer-acht.org>
Date:   Tue Nov 10 12:15:24 2015 +0100

    add new talk to be held at CCCHH in Hamburg, based on 2015-11-08-MiniDebConfCambridge
---
 ...2015-11-13-CCCHH-Beyond-Reproducible-builds.tex | 779 +++++++++++++++++++++
 2015-11-13-CCCHH/Makefile                          |  29 +
 2015-11-13-CCCHH/images/31c3.png                   | Bin 0 -> 435876 bytes
 2015-11-13-CCCHH/images/bug_chart.pdf              | Bin 0 -> 14494 bytes
 2015-11-13-CCCHH/images/cii_logo.png               | Bin 0 -> 7099 bytes
 .../images/diffoscope_example_html.png             | Bin 0 -> 98085 bytes
 .../images/diffoscope_example_text.png             | Bin 0 -> 64829 bytes
 2015-11-13-CCCHH/images/diffoscope_logo.png        | Bin 0 -> 2335 bytes
 .../images/examples/build_date_in_makefile.png     | Bin 0 -> 39671 bytes
 2015-11-13-CCCHH/images/examples/cpp_macros_1.png  | Bin 0 -> 29557 bytes
 2015-11-13-CCCHH/images/examples/cpp_macros_2.png  | Bin 0 -> 40992 bytes
 .../images/examples/date_in_configure.png          | Bin 0 -> 50627 bytes
 2015-11-13-CCCHH/images/examples/date_in_m4.png    | Bin 0 -> 37409 bytes
 .../images/examples/docbook-to-man.png             | Bin 0 -> 15216 bytes
 .../images/examples/embedded_kernel_version.png    | Bin 0 -> 65820 bytes
 .../images/examples/fileorder_python-support.png   | Bin 0 -> 62937 bytes
 .../images/examples/hostname_in_configure.png      | Bin 0 -> 50649 bytes
 .../images/examples/hostname_in_m4.png             | Bin 0 -> 37368 bytes
 .../images/examples/locale_in_docutils.png         | Bin 0 -> 47158 bytes
 .../images/examples/random_order_in_python_ns.png  | Bin 0 -> 10378 bytes
 .../images/examples/random_order_in_tarball.png    | Bin 0 -> 87551 bytes
 .../images/examples/random_order_in_texi2html.png  | Bin 0 -> 71911 bytes
 .../images/examples/random_perl_hash_order.png     | Bin 0 -> 63535 bytes
 .../images/examples/random_python_import_order.png | Bin 0 -> 56626 bytes
 .../images/examples/random_serials_in_ogg.png      | Bin 0 -> 100057 bytes
 .../examples/temp_filenames_in_ocaml_lib.png       | Bin 0 -> 62994 bytes
 .../examples/timestamp_dependent_rebuilds.png      | Bin 0 -> 42071 bytes
 .../images/examples/timestamps_by_cheetah.png      | Bin 0 -> 59056 bytes
 .../images/examples/timestamps_by_doxygen.png      | Bin 0 -> 27077 bytes
 .../images/examples/timestamps_by_epydoc.png       | Bin 0 -> 45545 bytes
 .../images/examples/timestamps_by_ghostscript.png  | Bin 0 -> 37304 bytes
 .../images/examples/timestamps_by_groff.png        | Bin 0 -> 40796 bytes
 .../images/examples/timestamps_by_javadoc.png      | Bin 0 -> 61404 bytes
 .../images/examples/timestamps_by_latex.png        | Bin 0 -> 56466 bytes
 .../images/examples/timestamps_by_man2html.png     | Bin 0 -> 24372 bytes
 .../images/examples/timestamps_by_maven.png        | Bin 0 -> 18542 bytes
 .../images/examples/timestamps_by_pyqt4.png        | Bin 0 -> 21948 bytes
 .../images/examples/timestamps_by_sphinx.png       | Bin 0 -> 25858 bytes
 .../images/examples/timestamps_in_ada_ali.png      | Bin 0 -> 51226 bytes
 .../images/examples/timestamps_in_beam.png         | Bin 0 -> 41373 bytes
 .../images/examples/timestamps_in_dot_a.png        | Bin 0 -> 58119 bytes
 .../images/examples/timestamps_in_dvi.png          | Bin 0 -> 21735 bytes
 .../images/examples/timestamps_in_epub.png         | Bin 0 -> 113197 bytes
 .../images/examples/timestamps_in_groovydoc.png    | Bin 0 -> 49357 bytes
 .../images/examples/timestamps_in_gzip.png         | Bin 0 -> 21093 bytes
 .../images/examples/timestamps_in_header_files.png | Bin 0 -> 49674 bytes
 .../images/examples/timestamps_in_help2man.png     | Bin 0 -> 37065 bytes
 .../images/examples/timestamps_in_jar.png          | Bin 0 -> 37405 bytes
 .../images/examples/timestamps_in_pe.png           | Bin 0 -> 26532 bytes
 .../images/examples/timestamps_in_php_reg.png      | Bin 0 -> 11094 bytes
 .../images/examples/timestamps_in_png.png          | Bin 0 -> 32007 bytes
 .../examples/timestamps_in_python_version.png      | Bin 0 -> 51672 bytes
 .../examples/timestamps_in_qmake_makefile.png      | Bin 0 -> 39861 bytes
 .../images/examples/timestamps_in_ruby_gemspec.png | Bin 0 -> 46317 bytes
 .../examples/timestamps_in_static_library.png      | Bin 0 -> 32888 bytes
 .../images/examples/timestamps_in_tarball.png      | Bin 0 -> 41909 bytes
 .../images/examples/timestamps_in_texi2html.png    | Bin 0 -> 43640 bytes
 .../images/examples/timestamps_in_ttf.png          | Bin 0 -> 52878 bytes
 .../images/examples/timestamps_in_zip.png          | Bin 0 -> 42951 bytes
 .../images/examples/timestamps_timezone_in_pot.png | Bin 0 -> 31975 bytes
 .../images/examples/user_and_group_in_tarball.png  | Bin 0 -> 34512 bytes
 2015-11-13-CCCHH/images/examples/whoami_in_m4.png  | Bin 0 -> 37363 bytes
 2015-11-13-CCCHH/images/examples/wordwarvi.png     | Bin 0 -> 37531 bytes
 2015-11-13-CCCHH/images/linux_foundation_logo.png  | Bin 0 -> 10163 bytes
 2015-11-13-CCCHH/images/openlogo-nd.pdf            | Bin 0 -> 3168 bytes
 2015-11-13-CCCHH/images/profitbricks_logo.png      | Bin 0 -> 3778 bytes
 2015-11-13-CCCHH/images/rbwww1.png                 | Bin 0 -> 53235 bytes
 2015-11-13-CCCHH/images/rbwww2.png                 | Bin 0 -> 37801 bytes
 2015-11-13-CCCHH/images/stats_bugs_state.png       | Bin 0 -> 25039 bytes
 .../images/stats_builds_per_day_amd64.png          | Bin 0 -> 52113 bytes
 .../stats_meta_pkg_state_build-essential.png       | Bin 0 -> 27357 bytes
 2015-11-13-CCCHH/images/stats_pkg_state.png        | Bin 0 -> 29377 bytes
 2015-11-13-CCCHH/images/stats_pkg_state_armhf.png  | Bin 0 -> 26656 bytes
 2015-11-13-CCCHH/images/strawhorse.png             | Bin 0 -> 226278 bytes
 2015-11-13-CCCHH/images/swirl-lightest.pdf         | Bin 0 -> 3540 bytes
 2015-11-13-CCCHH/notes                             |   9 +
 2015-11-13-CCCHH/outline                           |  58 ++
 77 files changed, 875 insertions(+)

diff --git a/2015-11-13-CCCHH/2015-11-13-CCCHH-Beyond-Reproducible-builds.tex b/2015-11-13-CCCHH/2015-11-13-CCCHH-Beyond-Reproducible-builds.tex
new file mode 100644
index 0000000..253cd8a
--- /dev/null
+++ b/2015-11-13-CCCHH/2015-11-13-CCCHH-Beyond-Reproducible-builds.tex
@@ -0,0 +1,779 @@
+\documentclass[14pt]{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{tikz}
+\usepackage{ctable}
+\usetikzlibrary{positioning}
+
+\usebackgroundtemplate{\includegraphics[width=\paperwidth]{images/swirl-lightest.pdf}}
+\logo{\includegraphics[viewport=274 335 360 440,width=1cm]{images/openlogo-nd.pdf}}
+
+\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]{Beyond reproducible builds}
+\subtitle{We are not there yet and why \\ "just" achieving reproducible builds
+\\ won't be enough}
+\author[lamby \& h01ger]{%
+   \texorpdfstring{
+            \centering
+            Holger 'h01ger' Levsen\\
+            \href{mailto:holger at debian.org}{holger at debian.org}
+   }{h01ger}}
+\institute[Debian]{}
+\date[CCCHH '15]{%
+ CCCHH\\
+ 2015-11-13}
+
+\begin{document}
+
+\begin{frame}
+ \titlepage
+\end{frame}
+
+\begin{frame}
+ \frametitle{Debian reproducible builds team}
+ \begin{center}
+  \begin{columns}
+   \small
+   \column{.33\linewidth}
+    {akira} \\
+    {Andrew Ayer} \\
+    {Asheesh Laroia} \\
+    {Chris Lamb} \\
+    {Chris West} \\
+    {Christoph Berg} \\
+    {Daniel Kahn Gillmor} \\
+    David Suarez \\
+    {Dhole} \\
+    Drew Fisher \\
+    Esa Peuha \\
+    {Guillem Jover} \\
+   \column{.33\linewidth}
+    Hans-Christoph Steiner \\
+    {Helmut Grohne} \\
+    \only<1>{Holger Levsen}\only<2>{{\color{debianblue} Holger Levsen}} \\
+    Jelmer Vernooij \\
+    {josch} \\
+    Juan Picca \\
+    {Lunar} \\
+    Mathieu Bridon \\
+    {Mattia Rizzolo} \\
+    Nicolas Boulenguez \\
+    {Niels Thykier} \\
+    Niko Tyni \\
+   \column{.33\linewidth}
+    {Paul Wise} \\
+    Peter De Wachter \\
+    Philip Rinn \\
+    {Reiner Herrmann} \\
+    {Stefano Rivera} \\
+    {Stéphane Glondu} \\
+    {Steven Chamberlain} \\
+    Tom Fitzhenry \\
+    Valentin Lorentz \\
+    {Wookey} \\
+    {Ximin Luo} \\
+  \end{columns}
+ \end{center}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Who are you?}
+ \begin{itemize}
+  \item Seen a talk about reproducible builds this year?
+  \item<2-3> Contributed to this effort?
+  \item<3> Thinks "packages \textbf{should} produce reproducible binaries"
+    should be added to Policy?
+ \end{itemize}
+\end{frame}
+
+\section{About}
+
+\begin{frame}
+ \frametitle{The problem}
+
+ \begin{center}
+  \includegraphics[width=0.7\textwidth]{images/31c3.png}
+
+  Available on \url{media.ccc.de}, 31c3
+ \end{center}
+\end{frame}
+
+\begin{frame}
+ \frametitle{The solution}
+
+ \begin{center}
+ \Large{
+ Promise that anyone can always generate
+ 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}[plain]
+\begin{center}
+ \Huge{This should become the \textbf{norm}.}
+
+ \visible<2>{\small{ We want to change the meaning of "free software":
+
+  it's only free software if it's reproducible!}}
+\end{center}
+\end{frame}
+
+\section{Progress}
+
+\begin{frame}[plain]
+ \frametitle{Progress in Debian \texttt{unstable}}
+ \begin{center}
+  \includegraphics[height=0.5\paperheight]{images/stats_pkg_state.png}
+
+  \small{19,500 out of 23,079 source packages are reproducible \\
+    in our test framework}
+  \vfill
+ \end{center}
+\end{frame}
+
+
+\begin{frame}[plain]
+ \frametitle{Progress in the Debian BTS}
+ \begin{tikzpicture}[remember picture,overlay]
+  \node[at=(current page.center)] {
+    \includegraphics[width=\paperwidth]{images/stats_bugs_state.png}
+  };
+ \end{tikzpicture}
+\end{frame}
+
+\begin{frame}
+ \frametitle{What we did since Summer 2014}
+
+ \begin{itemize}
+  \item Agreed on a fixed build path: \texttt{/build}
+  \item Recording the build environment: \texttt{.buildinfo}
+  \item \texttt{strip-nondeterminism}
+  \item \texttt{reproducible.debian.net}
+  \item \texttt{diffoscope} (formerly \texttt{debbindiff})
+  \item \texttt{SOURCE\_DATE\_EPOCH}
+  \item \texttt{disorderfs}
+  \item 700+ patches: \texttt{dpkg}, \texttt{debhelper}, \texttt{sbuild}, …
+  \item<2> Tell the world \& collaborate
+ \end{itemize}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{Tell the world \& collaborate}
+
+ \begin{itemize}
+  \item Recent talks available with subtitles:
+   \begin{itemize}
+    \item 2015-08-13: Chaos Communication Camp 2015
+    \item 2015-08-20: DebConf15
+   \end{itemize}
+  \item Weekly reports since May 2015
+  \item Summit in December 2015 (Athens)
+   \begin{itemize}
+    \item 40 people from 16 projects
+   \end{itemize}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Tell the world \& collaborate, cont.}
+
+ \begin{center}
+ \texttt{https://reproducible-builds.org}
+
+ \includegraphics[width=0.7\textwidth]{images/rbwww1.png}
+ \end{center}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Stats about reproducible.debian.net}
+
+ \begin{itemize}
+  \item Continuously testing Debian testing, unstable and experimental
+   \begin{itemize}
+    \item \small{ \texttt main only }
+    \item \small{ can we build \texttt contrib without legal troubles? }
+   \end{itemize}
+  \item Also testing coreboot, OpenWrt, NetBSD, FreeBSD,
+  Archlinux and soon Fedora
+   \begin{itemize}
+    \item \small{ those currently only weekly though… }
+   \end{itemize}
+ \end{itemize}
+ \vfill
+ \begin{center}
+  \includegraphics[height=0.4\paperheight]{images/stats_builds_per_day_amd64.png}
+ \end{center}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{More stats on reproducible.debian.net}
+
+ \begin{itemize}
+  \item 111 jenkins jobs running on 10 hosts
+  \item 27 contributors for \texttt{jenkins.debian.net.git}
+  \item 4k lines of Python and 5k lines Bash code
+  \item \texttt{amd64}: 109 cores and 194 GB RAM split on 8 VMs, provided by
+  https://profitbricks.co.uk
+  \item \texttt{armhf}: 12 cores and 6 GB RAM on 4 systems, provided by vagrant at d.o.
+ \end{itemize}
+ \begin{center}
+  \includegraphics[height=0.15\paperheight]{images/profitbricks_logo.png}
+  \vfill
+ \end{center}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Good to know about reproducible.debian.net}
+
+ \begin{itemize}
+  \item https://reproducible.debian.net/\$src
+  \item<2-3> { 165 categorised distinct issues }
+  \item<2-3> { 3,270 packages to be fixed, but only 249 without annotated
+  issues }
+  \item<3> { 29 different "package sets", eg. \texttt build-essential is only <70\%
+  reproducible
+   \begin{center}
+    \includegraphics[height=0.35\paperheight]{images/stats_meta_pkg_state_build-essential.png}
+   \vfill
+ \end{center}
+  }
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Future of reproducible.debian.net}
+
+ \begin{itemize}
+ \item We want more more more arm(64) cores!
+ \end{itemize}
+ \begin{center}
+  \includegraphics[height=0.5\paperheight]{images/stats_pkg_state_armhf.png}
+  \vfill
+ \end{center}
+\end{frame}
+
+
+\begin{frame}[fragile]
+ \frametitle{Variations on reproducible.debian.net}
+
+ \begin{center}
+  \begin{table}
+   \resizebox{0.95\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{en\_GB.UTF-8} & \texttt{fr\_CH.UTF-8} \\
+\texttt{env LC\_ALL} & not set & \texttt{fr\_CH.UTF-8} \\
+\texttt{env USER} & \texttt{pbuilder1} & \texttt{pbuilder2} \\
+uid & \texttt{1111} & \texttt{2222} \\
+gid & \texttt{1111} & \texttt{2222} \\
+UTS namespace & shared with the host & \textit{modified using \texttt{/usr/bin/unshare --uts}} \\
+kernel version & Linux 3.16.0-4-amd64 & Linux 2.6.56-4-amd64 \\
+umask & 0022 & 0002 \\
+CPU type & \multicolumn{2}{l}{same for both builds \textit{(work in progress)}} \\
+filesystem & \multicolumn{2}{l}{same for both builds \textit{(work in progress - disorderfs)}} \\
+year, month, date & \multicolumn{2}{l}{same for both builds \textit{(work in progress)}} \\
+hour, minute & \multicolumn{2}{l}{hour is usually the same… usually, the minute differs… \textit{(work in progress)}} \\
+\textit{everything else} & \multicolumn{2}{l}{\textit{is likely the same…}}
+    \end{tabular}
+   }
+  \end{table}
+ \end{center}
+\end{frame}
+
+
+
+\begin{frame}
+ \frametitle{Debian .buildinfo}
+
+ \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 .buildinfo}
+
+{\small
+\begin{verbatim}
+Format: 1.9
+Build-Architecture: amd64
+Source: txtorcon
+Binary: python-txtorcon
+Architecture: all
+Version: 0.11.0-1
+Build-Path: /buildd/debian/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}
+
+
+
+{
+\usebackgroundtemplate{%
+ \begin{tikzpicture}[remember picture,overlay]%
+  \node[shift={(-0.15\paperwidth, 0.4\paperheight)},at=(current page.south east)] {
+    \includegraphics[width=0.2\paperwidth]{images/diffoscope_logo.png}
+  };
+ \end{tikzpicture}%
+}
+\begin{frame}{diffoscope}
+ \frametitle{Debugging problems: diffoscope}
+
+ \begin{itemize}
+  \item Examines differences \textbf{in depth}
+  \item Outputs HTML or plain text showing differences
+  \item Recursively unpacks archives
+  \item Seeks human readability:
+   \begin{itemize}
+    \item uncompresses PDF
+    \item disassembles binaries
+    \item unpacks Gettext files
+    \item … \textit{easy to extend to new file formats}
+   \end{itemize}
+  \item Falls back to binary comparison
+  \item Available in Debian sid and stretch
+  \item Maintainers in other distros wanted
+ \end{itemize}
+ \vfill
+ \begin{center}
+  \url{http://diffoscope.org/}\\
+  {\footnotesize \color{gray}{(formely known as \texttt{debbindiff})}}
+ \end{center}
+\end{frame}
+}
+
+\begin{frame}
+ \frametitle{diffoscope example (HTML output)}
+
+ \begin{center}
+  \includegraphics[width=0.9\paperwidth]{images/diffoscope_example_html.png}
+ \end{center}
+\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}
+
+\section{Next steps}
+
+\begin{frame}
+ \frametitle{\texttt{SOURCE\_DATE\_EPOCH}}
+
+ \begin{itemize}
+  \item Build date usually not useful for the user
+  \item Value of \texttt{SOURCE\_DATE\_EPOCH} instead of current date \& for other seeds
+  \item In Debian, set from the latest \texttt{debian/changelog} entry
+  \item General solution for other projects \& distributions
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{\texttt{SOURCE\_DATE\_EPOCH} (closed bugs)}
+
+ \begin{itemize}
+  \item \sout{\texttt{\#791823}}: debhelper
+  \item \sout{\texttt{\#787444}}: help2man
+  \item \sout{\texttt{\#790899}}: epydoc
+  \item \sout{\texttt{\#794004}}: ghostscript
+  \item \sout{\texttt{\#783475}}: texi2html
+  \item \sout{\texttt{\#794586}}: ocamldoc
+  \item sphinx \small{\url{https://github.com/sphinx-doc/sphinx/pull/1954}}
+ \end{itemize}
+
+\end{frame}
+
+\begin{frame}
+ \frametitle{\texttt{SOURCE\_DATE\_EPOCH} (open bugs)}
+
+ \begin{itemize}
+  \item gcc (\texttt{\_\_DATE\_\_} and \texttt{\_\_TIME\_\_} macros) \texttt{\footnotesize{\url{https://gcc.gnu.org/ml/gcc-patches/2015-06/msg02210.html}}}
+  \item \texttt{\#792687}: gettext (xgettext)
+  \item \texttt{\#792201}: doxygen
+  \item \texttt{\#800797}: docbook-utils
+  \item \texttt{\#790801}: txt2man
+  \item \texttt{\#791815}: libxslt
+  \item \texttt{\#794681}: qt4-x11 (qthelpgenerator)
+  \item \texttt{\#792202}: texlive-bin
+ \end{itemize}
+
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{Missing bits}
+ \begin{itemize}
+  \item NB. This is just a proof-of-concept, Debian is not 80\%
+  reproducible
+  \item Changes still need to be merged
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{dpkg}
+
+ \begin{itemize}\small
+  \item \sout{\texttt{\#719844}: make compression of \{data,control\}.tar.gz deterministic}
+  \item \texttt{\#759999}: set reproducible timestamps in \texttt{.deb} ar file headers
+  \item \texttt{\#787980}: normalize file permissions when creating control.tar
+  \item \texttt{\#719845}: make file order within {data,control}.tar.gz deterministic
+  \item \texttt{dpkg-genbuldinfo}: \textit{patch already written, but waiting on agreement about spec}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{debhelper}
+
+ \begin{itemize}\small
+  \item \texttt{\#759886}: make mtimes of packaged files deterministic
+  \item \sout{\texttt{\#759895}: add a call to
+  \texttt{dh\_strip\_nondeterminism} in \texttt{dh}}
+  \item \sout{\texttt{\#791823}: set \texttt{SOURCE\_DATE\_EPOCH} env var for
+  reproducible builds}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{sbuild}
+
+ \begin{itemize}\small
+  \item \sout{\texttt{\#790868}: allow sbuild to use a deterministic build
+  path to build packages}
+  \item \texttt{\#778571}: predictible build location for reproducible builds
+  \item Finish the \texttt{srebuild} script
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{ftp.debian.org}
+
+ \begin{itemize}\small
+  \item \texttt{\#763822}: please include .buildinfo file in the archive
+ \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
+  \item<3> (In 2016: “Sources \textbf{shall} build reproducible binaries.”)
+ \end{itemize}
+\end{frame}
+
+\section{Beyond building}
+
+\begin{frame}
+ \frametitle{Reproducible builds demand a defined build environment}
+ \begin{itemize}
+  \item Re-creating an identical build environment is mandatory too.
+  \item Without an identical build environment, reproducible builds will only
+  happen by sheer luck.
+  \item<2>{Only solved for Debian right now and currently proof of concept only…}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Debian release process}
+ \begin{itemize}
+  \item In our current design and practices, rebuilding stretch will require
+  package versions which are not part of stretch.
+  \item This design might put a high load on snapshot.debian.org.
+  \item<2-3>{Rebuilding all of Debian a month prio the release? The release team probably won't like this. }
+  \item<3>{So? (Self contained reproducibility should be the goal…)}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Distributing \texttt .buildinfo files}
+ \begin{itemize}
+  \item Probably 100,000 new files per suite; 50\% increase per suite
+  \item Mirrors would not be happy, so should not go there
+  \item We'll need more files when we have detached signatures
+  \item<2-3>{Revoking signatures?}
+  \item<3>{...}
+ \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-3> Continuous rebuilds should happen in a systematic way and resulting
+  checksums properly published.
+  \item<3> And then we need a system to sign those checksums and share them. 
+ \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 won't scale.
+  \item<2-4> { We'll probably need systematic rebuilders, run by large organisations
+  (ACLU, NASA, NSA, Deutsche Bank, EDF, Greenpeace, XYZ).}
+  \item<3-4> { …and automated installers for those… }
+  \item<4> { …and howtos (\texttt {gpg --gen-key})…}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{No more source only uploads?}
+ \begin{itemize}
+  \item Should people be forced again to always do binary uploads, which only
+  will be accepted when the checksum matches the one done by the buildds?
+  \item<2-3> Probably not.
+  \item<3> Instead: keep checksums of uploaded binaries and rebuild anyway,
+  and keep those checksums too.
+ \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{Integration in user tools - conclusion}
+ \begin{itemize}
+  \item "Rebuilders and sharing signed checksums" needs to be designed
+  (and probably at least partly implemented) before thinking more about end
+  user tools. It's just clear we need them. 
+ \end{itemize}
+\end{frame}
+
+\section{Want to help?}
+
+\begin{frame}
+ \frametitle{As a developer}
+ \begin{itemize}
+  \item Stop using build dates
+  \item Use \texttt{SOURCE\_DATE\_EPOCH} instead
+  \item See \url{https://reproducible-builds.org/specs/}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Get 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 wiki: \\
+    \small{\url{https://wiki.debian.org/ReproducibleBuilds/Howto}} \\
+    \small{\url{https://wiki.debian.org/ReproducibleBuilds/ExperimentalToolchain}}
+  \item Ask for help on \texttt{\#debian-reproducible} or on mailing list
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Join the team!}
+
+ \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{reproducible.d.n}, 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}
+
+\begin{frame}
+ \frametitle{Help migrating to \texttt{.debian.org} infrastructure}
+
+ \begin{itemize}
+  \item \texttt{sudo pbuilder} doesn't make DSA happy
+  \item Maintenance script really makes DSA unhappy. (\texttt{sudo kill -9 *}..)
+  \item DSA would give us more build nodes of other architectures
+  \item \texttt{jenkins.debian.org} migration
+ \end{itemize}
+\end{frame}
+
+\section{Questions, comments, ideas?}
+
+
+\begin{frame}
+ \frametitle{Questions, comments, ideas?}
+
+ \begin{itemize}
+  \item \url{https://reproducible-builds.org}
+  \item \url{https://reproducible.debian.net}
+  \item \texttt{\#debian-reproducible} on \texttt{irc.OFTC.net}
+ \end{itemize}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{Thanks!}
+
+ \begin{itemize}
+  \item Debian “Reproducible Builds” team \\
+        {\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.8\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}
+
+\end{document}
diff --git a/2015-11-13-CCCHH/Makefile b/2015-11-13-CCCHH/Makefile
new file mode 100644
index 0000000..a973df2
--- /dev/null
+++ b/2015-11-13-CCCHH/Makefile
@@ -0,0 +1,29 @@
+.PHONY: all source images
+
+PRESENTATION = 2015-11-13-CCCHH-Beyond-Reproducible-builds
+
+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/2015-11-13-CCCHH/images/31c3.png b/2015-11-13-CCCHH/images/31c3.png
new file mode 100644
index 0000000..8922581
Binary files /dev/null and b/2015-11-13-CCCHH/images/31c3.png differ
diff --git a/2015-11-13-CCCHH/images/bug_chart.pdf b/2015-11-13-CCCHH/images/bug_chart.pdf
new file mode 100644
index 0000000..c618984
Binary files /dev/null and b/2015-11-13-CCCHH/images/bug_chart.pdf differ
diff --git a/2015-11-13-CCCHH/images/cii_logo.png b/2015-11-13-CCCHH/images/cii_logo.png
new file mode 100644
index 0000000..690b7c6
Binary files /dev/null and b/2015-11-13-CCCHH/images/cii_logo.png differ
diff --git a/2015-11-13-CCCHH/images/diffoscope_example_html.png b/2015-11-13-CCCHH/images/diffoscope_example_html.png
new file mode 100644
index 0000000..f7bb7f9
Binary files /dev/null and b/2015-11-13-CCCHH/images/diffoscope_example_html.png differ
diff --git a/2015-11-13-CCCHH/images/diffoscope_example_text.png b/2015-11-13-CCCHH/images/diffoscope_example_text.png
new file mode 100644
index 0000000..ed82864
Binary files /dev/null and b/2015-11-13-CCCHH/images/diffoscope_example_text.png differ
diff --git a/2015-11-13-CCCHH/images/diffoscope_logo.png b/2015-11-13-CCCHH/images/diffoscope_logo.png
new file mode 100644
index 0000000..ff9c312
Binary files /dev/null and b/2015-11-13-CCCHH/images/diffoscope_logo.png differ
diff --git a/2015-11-13-CCCHH/images/examples/build_date_in_makefile.png b/2015-11-13-CCCHH/images/examples/build_date_in_makefile.png
new file mode 100644
index 0000000..6ee3c8e
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/build_date_in_makefile.png differ
diff --git a/2015-11-13-CCCHH/images/examples/cpp_macros_1.png b/2015-11-13-CCCHH/images/examples/cpp_macros_1.png
new file mode 100644
index 0000000..90b11a2
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/cpp_macros_1.png differ
diff --git a/2015-11-13-CCCHH/images/examples/cpp_macros_2.png b/2015-11-13-CCCHH/images/examples/cpp_macros_2.png
new file mode 100644
index 0000000..ffc67cd
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/cpp_macros_2.png differ
diff --git a/2015-11-13-CCCHH/images/examples/date_in_configure.png b/2015-11-13-CCCHH/images/examples/date_in_configure.png
new file mode 100644
index 0000000..e6f2675
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/date_in_configure.png differ
diff --git a/2015-11-13-CCCHH/images/examples/date_in_m4.png b/2015-11-13-CCCHH/images/examples/date_in_m4.png
new file mode 100644
index 0000000..cb26275
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/date_in_m4.png differ
diff --git a/2015-11-13-CCCHH/images/examples/docbook-to-man.png b/2015-11-13-CCCHH/images/examples/docbook-to-man.png
new file mode 100644
index 0000000..1b069fd
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/docbook-to-man.png differ
diff --git a/2015-11-13-CCCHH/images/examples/embedded_kernel_version.png b/2015-11-13-CCCHH/images/examples/embedded_kernel_version.png
new file mode 100644
index 0000000..58d7526
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/embedded_kernel_version.png differ
diff --git a/2015-11-13-CCCHH/images/examples/fileorder_python-support.png b/2015-11-13-CCCHH/images/examples/fileorder_python-support.png
new file mode 100644
index 0000000..acf4e17
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/fileorder_python-support.png differ
diff --git a/2015-11-13-CCCHH/images/examples/hostname_in_configure.png b/2015-11-13-CCCHH/images/examples/hostname_in_configure.png
new file mode 100644
index 0000000..1ff0b1f
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/hostname_in_configure.png differ
diff --git a/2015-11-13-CCCHH/images/examples/hostname_in_m4.png b/2015-11-13-CCCHH/images/examples/hostname_in_m4.png
new file mode 100644
index 0000000..a8b794b
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/hostname_in_m4.png differ
diff --git a/2015-11-13-CCCHH/images/examples/locale_in_docutils.png b/2015-11-13-CCCHH/images/examples/locale_in_docutils.png
new file mode 100644
index 0000000..f151e89
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/locale_in_docutils.png differ
diff --git a/2015-11-13-CCCHH/images/examples/random_order_in_python_ns.png b/2015-11-13-CCCHH/images/examples/random_order_in_python_ns.png
new file mode 100644
index 0000000..5a28313
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/random_order_in_python_ns.png differ
diff --git a/2015-11-13-CCCHH/images/examples/random_order_in_tarball.png b/2015-11-13-CCCHH/images/examples/random_order_in_tarball.png
new file mode 100644
index 0000000..e76aa03
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/random_order_in_tarball.png differ
diff --git a/2015-11-13-CCCHH/images/examples/random_order_in_texi2html.png b/2015-11-13-CCCHH/images/examples/random_order_in_texi2html.png
new file mode 100644
index 0000000..dcbac30
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/random_order_in_texi2html.png differ
diff --git a/2015-11-13-CCCHH/images/examples/random_perl_hash_order.png b/2015-11-13-CCCHH/images/examples/random_perl_hash_order.png
new file mode 100644
index 0000000..365f156
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/random_perl_hash_order.png differ
diff --git a/2015-11-13-CCCHH/images/examples/random_python_import_order.png b/2015-11-13-CCCHH/images/examples/random_python_import_order.png
new file mode 100644
index 0000000..b7e2aca
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/random_python_import_order.png differ
diff --git a/2015-11-13-CCCHH/images/examples/random_serials_in_ogg.png b/2015-11-13-CCCHH/images/examples/random_serials_in_ogg.png
new file mode 100644
index 0000000..6bb7b6b
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/random_serials_in_ogg.png differ
diff --git a/2015-11-13-CCCHH/images/examples/temp_filenames_in_ocaml_lib.png b/2015-11-13-CCCHH/images/examples/temp_filenames_in_ocaml_lib.png
new file mode 100644
index 0000000..0e03e2a
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/temp_filenames_in_ocaml_lib.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamp_dependent_rebuilds.png b/2015-11-13-CCCHH/images/examples/timestamp_dependent_rebuilds.png
new file mode 100644
index 0000000..4a57f70
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamp_dependent_rebuilds.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_by_cheetah.png b/2015-11-13-CCCHH/images/examples/timestamps_by_cheetah.png
new file mode 100644
index 0000000..388a7bd
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_by_cheetah.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_by_doxygen.png b/2015-11-13-CCCHH/images/examples/timestamps_by_doxygen.png
new file mode 100644
index 0000000..4ae95b6
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_by_doxygen.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_by_epydoc.png b/2015-11-13-CCCHH/images/examples/timestamps_by_epydoc.png
new file mode 100644
index 0000000..83e1449
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_by_epydoc.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_by_ghostscript.png b/2015-11-13-CCCHH/images/examples/timestamps_by_ghostscript.png
new file mode 100644
index 0000000..e4c7347
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_by_ghostscript.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_by_groff.png b/2015-11-13-CCCHH/images/examples/timestamps_by_groff.png
new file mode 100644
index 0000000..d0ac26c
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_by_groff.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_by_javadoc.png b/2015-11-13-CCCHH/images/examples/timestamps_by_javadoc.png
new file mode 100644
index 0000000..9374b36
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_by_javadoc.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_by_latex.png b/2015-11-13-CCCHH/images/examples/timestamps_by_latex.png
new file mode 100644
index 0000000..965bab3
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_by_latex.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_by_man2html.png b/2015-11-13-CCCHH/images/examples/timestamps_by_man2html.png
new file mode 100644
index 0000000..25f9a22
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_by_man2html.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_by_maven.png b/2015-11-13-CCCHH/images/examples/timestamps_by_maven.png
new file mode 100644
index 0000000..ac07efd
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_by_maven.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_by_pyqt4.png b/2015-11-13-CCCHH/images/examples/timestamps_by_pyqt4.png
new file mode 100644
index 0000000..202bc7a
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_by_pyqt4.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_by_sphinx.png b/2015-11-13-CCCHH/images/examples/timestamps_by_sphinx.png
new file mode 100644
index 0000000..1667d1c
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_by_sphinx.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_in_ada_ali.png b/2015-11-13-CCCHH/images/examples/timestamps_in_ada_ali.png
new file mode 100644
index 0000000..3679890
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_in_ada_ali.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_in_beam.png b/2015-11-13-CCCHH/images/examples/timestamps_in_beam.png
new file mode 100644
index 0000000..72c1520
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_in_beam.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_in_dot_a.png b/2015-11-13-CCCHH/images/examples/timestamps_in_dot_a.png
new file mode 100644
index 0000000..f4643ba
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_in_dot_a.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_in_dvi.png b/2015-11-13-CCCHH/images/examples/timestamps_in_dvi.png
new file mode 100644
index 0000000..0459a9e
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_in_dvi.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_in_epub.png b/2015-11-13-CCCHH/images/examples/timestamps_in_epub.png
new file mode 100644
index 0000000..b2926a0
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_in_epub.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_in_groovydoc.png b/2015-11-13-CCCHH/images/examples/timestamps_in_groovydoc.png
new file mode 100644
index 0000000..0ff08bc
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_in_groovydoc.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_in_gzip.png b/2015-11-13-CCCHH/images/examples/timestamps_in_gzip.png
new file mode 100644
index 0000000..9d7875e
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_in_gzip.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_in_header_files.png b/2015-11-13-CCCHH/images/examples/timestamps_in_header_files.png
new file mode 100644
index 0000000..a708e89
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_in_header_files.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_in_help2man.png b/2015-11-13-CCCHH/images/examples/timestamps_in_help2man.png
new file mode 100644
index 0000000..62056bb
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_in_help2man.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_in_jar.png b/2015-11-13-CCCHH/images/examples/timestamps_in_jar.png
new file mode 100644
index 0000000..1151021
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_in_jar.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_in_pe.png b/2015-11-13-CCCHH/images/examples/timestamps_in_pe.png
new file mode 100644
index 0000000..513751d
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_in_pe.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_in_php_reg.png b/2015-11-13-CCCHH/images/examples/timestamps_in_php_reg.png
new file mode 100644
index 0000000..e6b1dcf
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_in_php_reg.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_in_png.png b/2015-11-13-CCCHH/images/examples/timestamps_in_png.png
new file mode 100644
index 0000000..4343e40
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_in_png.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_in_python_version.png b/2015-11-13-CCCHH/images/examples/timestamps_in_python_version.png
new file mode 100644
index 0000000..a404d52
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_in_python_version.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_in_qmake_makefile.png b/2015-11-13-CCCHH/images/examples/timestamps_in_qmake_makefile.png
new file mode 100644
index 0000000..bf59446
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_in_qmake_makefile.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_in_ruby_gemspec.png b/2015-11-13-CCCHH/images/examples/timestamps_in_ruby_gemspec.png
new file mode 100644
index 0000000..265ab28
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_in_ruby_gemspec.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_in_static_library.png b/2015-11-13-CCCHH/images/examples/timestamps_in_static_library.png
new file mode 100644
index 0000000..316e0c4
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_in_static_library.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_in_tarball.png b/2015-11-13-CCCHH/images/examples/timestamps_in_tarball.png
new file mode 100644
index 0000000..442a8d4
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_in_tarball.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_in_texi2html.png b/2015-11-13-CCCHH/images/examples/timestamps_in_texi2html.png
new file mode 100644
index 0000000..2a2e84a
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_in_texi2html.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_in_ttf.png b/2015-11-13-CCCHH/images/examples/timestamps_in_ttf.png
new file mode 100644
index 0000000..8448738
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_in_ttf.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_in_zip.png b/2015-11-13-CCCHH/images/examples/timestamps_in_zip.png
new file mode 100644
index 0000000..6bd952b
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_in_zip.png differ
diff --git a/2015-11-13-CCCHH/images/examples/timestamps_timezone_in_pot.png b/2015-11-13-CCCHH/images/examples/timestamps_timezone_in_pot.png
new file mode 100644
index 0000000..65d8506
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/timestamps_timezone_in_pot.png differ
diff --git a/2015-11-13-CCCHH/images/examples/user_and_group_in_tarball.png b/2015-11-13-CCCHH/images/examples/user_and_group_in_tarball.png
new file mode 100644
index 0000000..7ebd19a
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/user_and_group_in_tarball.png differ
diff --git a/2015-11-13-CCCHH/images/examples/whoami_in_m4.png b/2015-11-13-CCCHH/images/examples/whoami_in_m4.png
new file mode 100644
index 0000000..3cbcf4a
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/whoami_in_m4.png differ
diff --git a/2015-11-13-CCCHH/images/examples/wordwarvi.png b/2015-11-13-CCCHH/images/examples/wordwarvi.png
new file mode 100644
index 0000000..eb2ef92
Binary files /dev/null and b/2015-11-13-CCCHH/images/examples/wordwarvi.png differ
diff --git a/2015-11-13-CCCHH/images/linux_foundation_logo.png b/2015-11-13-CCCHH/images/linux_foundation_logo.png
new file mode 100644
index 0000000..860c2bb
Binary files /dev/null and b/2015-11-13-CCCHH/images/linux_foundation_logo.png differ
diff --git a/2015-11-13-CCCHH/images/openlogo-nd.pdf b/2015-11-13-CCCHH/images/openlogo-nd.pdf
new file mode 100644
index 0000000..fed3d93
Binary files /dev/null and b/2015-11-13-CCCHH/images/openlogo-nd.pdf differ
diff --git a/2015-11-13-CCCHH/images/profitbricks_logo.png b/2015-11-13-CCCHH/images/profitbricks_logo.png
new file mode 100644
index 0000000..2ce8ce8
Binary files /dev/null and b/2015-11-13-CCCHH/images/profitbricks_logo.png differ
diff --git a/2015-11-13-CCCHH/images/rbwww1.png b/2015-11-13-CCCHH/images/rbwww1.png
new file mode 100644
index 0000000..8932f53
Binary files /dev/null and b/2015-11-13-CCCHH/images/rbwww1.png differ
diff --git a/2015-11-13-CCCHH/images/rbwww2.png b/2015-11-13-CCCHH/images/rbwww2.png
new file mode 100644
index 0000000..0390683
Binary files /dev/null and b/2015-11-13-CCCHH/images/rbwww2.png differ
diff --git a/2015-11-13-CCCHH/images/stats_bugs_state.png b/2015-11-13-CCCHH/images/stats_bugs_state.png
new file mode 100644
index 0000000..fd6cb9d
Binary files /dev/null and b/2015-11-13-CCCHH/images/stats_bugs_state.png differ
diff --git a/2015-11-13-CCCHH/images/stats_builds_per_day_amd64.png b/2015-11-13-CCCHH/images/stats_builds_per_day_amd64.png
new file mode 100644
index 0000000..e9f925c
Binary files /dev/null and b/2015-11-13-CCCHH/images/stats_builds_per_day_amd64.png differ
diff --git a/2015-11-13-CCCHH/images/stats_meta_pkg_state_build-essential.png b/2015-11-13-CCCHH/images/stats_meta_pkg_state_build-essential.png
new file mode 100644
index 0000000..344ba8c
Binary files /dev/null and b/2015-11-13-CCCHH/images/stats_meta_pkg_state_build-essential.png differ
diff --git a/2015-11-13-CCCHH/images/stats_pkg_state.png b/2015-11-13-CCCHH/images/stats_pkg_state.png
new file mode 100644
index 0000000..1cce4c8
Binary files /dev/null and b/2015-11-13-CCCHH/images/stats_pkg_state.png differ
diff --git a/2015-11-13-CCCHH/images/stats_pkg_state_armhf.png b/2015-11-13-CCCHH/images/stats_pkg_state_armhf.png
new file mode 100644
index 0000000..632c71f
Binary files /dev/null and b/2015-11-13-CCCHH/images/stats_pkg_state_armhf.png differ
diff --git a/2015-11-13-CCCHH/images/strawhorse.png b/2015-11-13-CCCHH/images/strawhorse.png
new file mode 100644
index 0000000..d089dbf
Binary files /dev/null and b/2015-11-13-CCCHH/images/strawhorse.png differ
diff --git a/2015-11-13-CCCHH/images/swirl-lightest.pdf b/2015-11-13-CCCHH/images/swirl-lightest.pdf
new file mode 100644
index 0000000..1c8ffd2
Binary files /dev/null and b/2015-11-13-CCCHH/images/swirl-lightest.pdf differ
diff --git a/2015-11-13-CCCHH/notes b/2015-11-13-CCCHH/notes
new file mode 100644
index 0000000..3cfab64
--- /dev/null
+++ b/2015-11-13-CCCHH/notes
@@ -0,0 +1,9 @@
+nice to have: 
+- variations:
+    kernel variations 3.16/4.1/2 vs 2.6.66
+    LANG=C 
+
+- todo next:
+	send mail to that dam dak bug. NOW.
+
+
diff --git a/2015-11-13-CCCHH/outline b/2015-11-13-CCCHH/outline
new file mode 100644
index 0000000..9e08f1c
--- /dev/null
+++ b/2015-11-13-CCCHH/outline
@@ -0,0 +1,58 @@
+Outcomes
+========
+
+ * Get an idea of what has changed
+ * Learn about the open issues and questions to make Stretch (partly)
+   reproducible
+ * Learn how to help
+
+Outline
+=======
+
+What is it and why it matters
+-----------------------------
+
+5 minutes max on what it is and why it matters.
+
+What has changed and available tools
+------------------------------------
+
+What have been done real real quick but point people at:
+https://wiki.debian.org/ReproducibleBuilds/History
+
+Explain past changes in dpkg, debhelper, and others
+
+SOURCE_DATE_EPOCH
+
+strip-nondeterminism
+
+reproducible.debian.net test
+
+.buildinfo
+
+Unresolved issues
+-----------------
+
+.buildinfo signature
+
+Unmerged changes to dpkg and others
+
+others issues?
+
+announce the plenary (come help us figure out the best way to do things)
+
+How can you help
+----------------
+
+reproducible.debian.net web interface
+	useful to find other bugs too
+
+notes.git
+
+IRC channel
+
+debbindiff
+
+prebuilder script — improve the doc before, probably
+
+annonce the hack session (come learn how to fix specific packages)

-- 
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