gperf: Add a patch to work around reproducibility issues

Add a patch to avoid writing the full pathname to gperf into source
files which leads to reproducibility issues.

This fixes issues with systemd reproducibility in particular.

(From OE-Core rev: 21f36f1df42829eec0ea7b5441513d31dece960c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit dea3c7ee2a413f7dc5f13ec006592084f7fb266c)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2022-07-04 14:18:16 +01:00
parent 1c8f219ec6
commit eaa86c8681
2 changed files with 28 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
By default gperf puts a header into generated files with the full path to
the tool along with the commandline used. This patch removes the path to
the binary, allowing reproducible source files (which can be included in
debug source packages).
Upstream-Status: Pending
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Index: gperf-3.1/src/options.cc
===================================================================
--- gperf-3.1.orig/src/options.cc
+++ gperf-3.1/src/options.cc
@@ -280,6 +280,13 @@ Options::print_options () const
{
const char *arg = _argument_vector[i];
+ if (i == 0) {
+ const char *shortarg = strrchr(arg, '/');
+ if (shortarg) {
+ arg = shortarg + 1;
+ }
+ }
+
/* Escape arg if it contains shell metacharacters. */
if (*arg == '-')
{

View File

@@ -9,6 +9,8 @@ SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz"
SRC_URI[md5sum] = "9e251c0a618ad0824b51117d5d9db87e"
SRC_URI[sha256sum] = "588546b945bba4b70b6a3a616e80b4ab466e3f33024a352fc2198112cdbb3ae2"
SRC_URI:append = " file://reproducibility.patch"
inherit autotools
# The nested configures don't find the parent aclocal.m4 out of the box, so tell