blob: 417129578f5762f2264e77554cb7825d57504e69 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
[[!meta title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”"]]
[[!meta copyright="Copyright © 2024 Aaron Grothe"]]
[[!inline pages="internal(2024/info/repro-nav)" raw="yes"]]
<!-- Initially generated with emacsconf-publish-talk-page and then left alone for manual editing -->
<!-- You can manually edit this file to update the abstract, add links, etc. --->
# Reproducibly building Emacs: “Hey your checksum is the same as mine!”
Aaron Grothe (he/him) - Pronunciation: Err-In Growth-e, <https://www.grothe.us> LinkedIn: <https://www.linkedin.com/in/aaron-grothe/>, <mailto:ajgrothe@yahoo.com>
[[!inline pages="internal(2024/info/repro-before)" raw="yes"]]
The idea of a reproducible build is that you can build a package and I can build a package and we both produce the same executable. There are security benefits to being able to create a reproducible build ensuring the integrity and reliability of the build. There are also benefits in the world of debugging/testing as you can confirm that the end user has the same executable as the developer.
The Debian project has been making huge strides with this. With a goal to have the next Debian release “Trixie” only having 256 non-reproducible packages. Unfortunately as of September 19, 2024 GNU Emacs is one of them. GNU Emacs is currently in the dreaded FTBFS (Fails To Build From Source) section for reproducible builds. Other Linux distributions including Arch and NixOS are working towards the same goal.
This talk will be an overview of what is/was preventing us from producing a reproducible build for GNU Emacs and what it will take to get GNU Emacs to join this August club.
The talk will also contrast the difference between reproducible builds and the OpenBSD projects approach of randomized executables.
We’ll be doing a high level overview of the Reproducible Builds - <https://reproducible-builds.org/> project and the tools, procedures, techniques they’ve put together for making the entire procedure reproducible 🙂
About the speaker:
Aaron Grothe has been a developer for many years. He is a two-time winner of the International Obfuscated C Code Contest <https://www.ioccc.org> and has a couple of small pieces of code in the Linux kernel. He has been published several times in 2600 magazine. He is interested in code correctness and how we can write safer code as we head into the future.
Currently (September 19, 2024) GNU Emacs is not generating a reproducible build for GNU Debian. This talk is a quick introduction to reproducible builds and what it will take to get GNU Emacs to generate a reproducible build.
[[!inline pages="internal(2024/info/repro-after)" raw="yes"]]
[[!inline pages="internal(2024/info/repro-nav)" raw="yes"]]
|