From eb86303e841d20c0166c7c3ec1b32b2f3a8ee414 Mon Sep 17 00:00:00 2001 From: Cagebreak Signing Key 1 Date: Sun, 24 May 2020 17:50:52 +0200 Subject: [PATCH] Fix reproducibility - See Issue 5 in Bugs.md --- Bugs.md | 14 ++++++++++++-- README.md | 3 +++ meson.build | 11 +++++++++++ 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/Bugs.md b/Bugs.md index b34f4f6..b4c2277 100644 --- a/Bugs.md +++ b/Bugs.md @@ -58,8 +58,8 @@ Steps to reproduce: ### Issue 4 - github issue number: #1 - Fixed: 1.1.0 + * github issue number: #1 + * Fixed: 1.1.0 This issue is code duplication in `parse.c`. @@ -79,3 +79,13 @@ PS: As a side effect, this would allow quirky statements such as `bind dbind r hsplit` which would bind the d key to binding the r key to split the output... ``` + +### Issue 5 + + * github issue number : N/A + * Fixed: 1.2.1 + +Cagebreak up to and including release 1.2.0 does not warn of irreproducibility +if a different compiler or compiler version is used. This makes cagebreak +difficult to reproduce. + diff --git a/README.md b/README.md index 6938686..8f54992 100644 --- a/README.md +++ b/README.md @@ -164,6 +164,9 @@ decided on this compromise to allow flexibility and security. In general we will adapt the versions to the packages available under arch linux at the time of release. +There are reproducibility issues up to and including release `1.2.0`. See +`Issue 5` in [Bugs.md](Bugs.md). + #### Reproducible Build Instructions All hashes and signatures are provided for the following build instructions. diff --git a/meson.build b/meson.build index 4a06c92..4c8643b 100644 --- a/meson.build +++ b/meson.build @@ -217,6 +217,17 @@ foreach name, dep : cagebreak_dependencies_dict endif endforeach +reproducible_build_compiler = 'gcc' +reproducible_build_compiler_version = '10.1.0' + +if cc.get_id() != reproducible_build_compiler + warning('The compiler "' + cc.get_id() + '" differs from the one used to generate to binary specified in the README section "Reproducible Builds" (' + reproducible_build_compiler + ').') +endif + +if cc.version() != reproducible_build_compiler_version + warning('The version of ' + cc.get_id() + ' (' + cc.version() + ') differs from the one used to generate the binary specified in the README section "Reproducible Builds" ' + reproducible_build_compiler_version + '.') +endif + executable( meson.project_name(), cagebreak_main_file + cagebreak_sources + cagebreak_headers,