Accepting request 661735 from home:bmwiedemann:branches:devel:tools

Add reproducible.patch to make package build reproducible again (boo#1047218)

OBS-URL: https://build.opensuse.org/request/show/661735
OBS-URL: https://build.opensuse.org/package/show/devel:tools/gengetopt?expand=0&rev=28
This commit is contained in:
Martin Pluskal 2018-12-28 09:51:26 +00:00 committed by Git OBS Bridge
parent a2d0fd2c1e
commit 066ece8363
3 changed files with 35 additions and 0 deletions

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Fri Dec 28 09:07:29 UTC 2018 - Bernhard Wiedemann <bwiedemann@suse.com>
- Add reproducible.patch to make package build
reproducible again (boo#1047218)
-------------------------------------------------------------------
Mon Nov 12 13:54:22 CET 2018 - sbrabec@suse.com

View File

@ -28,6 +28,8 @@ Source1: https://ftp.gnu.org/gnu/gengetopt/%{name}-%{version}.tar.gz.sig
Source2: %{name}.keyring
# PATCH-FIX-UPSTREAM sbrabec@suse.cz savannah54996 -- Fix glibc license. https://savannah.gnu.org/bugs/?54996
Patch1: gengetopt-glibc-license.patch
# PATCH-FIX-UPSTREAM bmwiedemann boo#1047218 https://savannah.gnu.org/bugs/index.php?55311
Patch2: reproducible.patch
BuildRequires: bison
BuildRequires: flex
BuildRequires: gcc-c++
@ -46,6 +48,7 @@ reading/writing the options from/to config files is also supported.
%prep
%setup -q
%patch1 -p1
%patch2 -p1
%build
%configure

26
reproducible.patch Normal file
View File

@ -0,0 +1,26 @@
https://savannah.gnu.org/bugs/index.php?55311
Author: Bernhard M. Wiedemann <bwiedemann suse de>
Date: 2018-12-28
Use $SOURCE_DATE_EPOCH in mdate-sh
When patches touch input files, output files will contain the build date
making package build unreproducible.
See https://reproducible-builds.org/ for why this matters.
Index: gengetopt-2.22.6/build-aux/mdate-sh
===================================================================
--- gengetopt-2.22.6.orig/build-aux/mdate-sh
+++ gengetopt-2.22.6/build-aux/mdate-sh
@@ -75,6 +75,10 @@ export LC_ALL
LC_TIME=C
export LC_TIME
+if [ -n "$SOURCE_DATE_EPOCH" ] ; then
+ exec date -d "@$SOURCE_DATE_EPOCH" -u "+%d %B %Y"
+fi
+
# GNU ls changes its time format in response to the TIME_STYLE
# variable. Since we cannot assume `unset' works, revert this
# variable to its documented default.