Your message dated Fri, 24 Jan 2020 07:14:09 +0100
with message-id <[email protected]>
and subject line Re: [Debian-med-packaging] Bug#949379: vmatch: please make the
build reproducible
has caused the Debian Bug report #949379,
regarding vmatch: please make the build reproducible
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
949379: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=949379
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: vmatch
Version: 2.3.0+git20200101.0.b1bd228+dfsg-1
Severity: wishlist
Tags: patch
User: [email protected]
Usertags: timestamps environment
X-Debbugs-Cc: [email protected]
Hi,
Whilst working on the Reproducible Builds effort [0] we noticed that
vmatch could not be built reproducibly.
Patch attached that ensures that the vmrelease.h file does not contain
the build time and the hostname of the build system.
However, vmatch remains unreproducible even when this is applied. My
best guess at this moment is because it is not actually being built
with the -fdebug-prefix-map=... GCC argument in places:
$ grep 'gcc ' build.log | grep -v prefix-map | wc -l
348
… in other words, it is not respecting CFLAGS / dpkg-buildflags.
[0] https://reproducible-builds.org/
Regards,
--
,''`.
: :' : Chris Lamb
`. `'` [email protected] / chris-lamb.co.uk
`-
--- a/debian/patches/reproducible-build.patch 1970-01-01 01:00:00.000000000
+0100
--- b/debian/patches/reproducible-build.patch 2020-01-20 12:14:47.105963705
+0000
@@ -0,0 +1,30 @@
+Description: Make the build reproducible
+Author: Chris Lamb <[email protected]>
+Last-Update: 2020-01-20
+
+--- vmatch-2.3.0+git20200101.0.b1bd228+dfsg.orig/src/bin/vmrelease.sh
++++ vmatch-2.3.0+git20200101.0.b1bd228+dfsg/src/bin/vmrelease.sh
+@@ -22,14 +22,21 @@ cat << ENDOFRELEASEPRE
+ #define ${PROGRAM}RELEASE_H
+ ENDOFRELEASEPRE
+
+-date +"#define ${PROGRAM}COMPILEDATE \"%Y-%m-%d %H:%M:%S\""
++date +"#define ${PROGRAM}COMPILEDATE \"%Y-%m-%d %H:%M:%S\"" --utc
--date="@${SOURCE_DATE_EPOCH:-$(date +%s)}"
+
+ shift # get rid of first argument
+ echo "#define ${PROGRAM}CFLAGS \"$*\""
+
++if [ -e "${SOURCE_DATE_EPOCH}" ]
++then
++ HOSTNAME="(reproducible build)"
++else
++ HOSTNAME="`hostname`"
++fi
++
+ cat << ENDOFRELEASEPOST
+ #define ${PROGRAM}RELEASEDATE "2007-Aug-27"
+ #define ${PROGRAM}VERSION "`cat ${WORKVSTREESRC}/VERSION`"
+-#define ${PROGRAM}COMPILEHOST "`hostname`"
++#define ${PROGRAM}COMPILEHOST "${HOSTNAME}"
+ #endif
+ ENDOFRELEASEPOST
--- a/debian/patches/series 2020-01-20 12:01:19.356205198 +0000
--- b/debian/patches/series 2020-01-20 12:12:49.580609231 +0000
@@ -4,3 +4,4 @@
common-distdir.patch
skip-doc-installation.patch
hardening.patch
+reproducible-build.patch
--- End Message ---
--- Begin Message ---
Hi all,
>> However, vmatch remains unreproducible even when this is applied. My
>> best guess at this moment is because it is not actually being built
>> with the -fdebug-prefix-map=... GCC argument in places:
>>
>> $ grep 'gcc ' build.log | grep -v prefix-map | wc -l
>> 348
>>
>> … in other words, it is not respecting CFLAGS / dpkg-buildflags.
>
> There are a couple of other things in the build process I am also going
> to look at shortly. As you might have noticed, the package does not
> build on some archs due to -m32/-m64 mixups and situations where these
> should be dropped altogether. This is a result of upstream having
> autogenerated very specific build configurations for some archs, and I
> feel that these can and should be simplified quite a bit.
> I will address the flags as well when working on that -- thanks for
> pointing it out.
Closing this bug as his package is reproducible now.
Thanks
Sascha
signature.asc
Description: Message signed with OpenPGP
--- End Message ---