mirror of
https://git.yoctoproject.org/meta-ti
synced 2026-06-05 02:11:00 +00:00
linux: add linux-yocto reproducibility patches
Add reproducibility patches from linux-yocto to resolve "buildpaths" QA errors. Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> Signed-off-by: Ryan Eatmon <reatmon@ti.com>
This commit is contained in:
committed by
Ryan Eatmon
parent
5d658dc390
commit
c56bdd9ffa
+46
@@ -0,0 +1,46 @@
|
||||
From 2fca0fd719812ea2ff67630b01355aa80481623e Mon Sep 17 00:00:00 2001
|
||||
From: Bruce Ashfield <bruce.ashfield@gmail.com>
|
||||
Date: Sun, 10 Jul 2022 22:56:53 -0400
|
||||
Subject: [PATCH] lib/build_OID_registry: fix reproducibility issues
|
||||
|
||||
The script build_OID_registry captures the full path of itself
|
||||
in the generated data. This causes reproduciblity issues as the
|
||||
path is captured and packaged.
|
||||
|
||||
We use the basename of the script instead, and that allows us
|
||||
to be reprodicible, with slightly less information captured in
|
||||
the output data (but the generating script can still easily
|
||||
be found).
|
||||
|
||||
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
|
||||
---
|
||||
lib/build_OID_registry | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/build_OID_registry b/lib/build_OID_registry
|
||||
index d7fc32ea8ac2..f6de0a7f7457 100755
|
||||
--- a/lib/build_OID_registry
|
||||
+++ b/lib/build_OID_registry
|
||||
@@ -8,6 +8,7 @@
|
||||
#
|
||||
|
||||
use strict;
|
||||
+use File::Basename;
|
||||
|
||||
my @names = ();
|
||||
my @oids = ();
|
||||
@@ -35,7 +36,7 @@ close IN_FILE || die;
|
||||
#
|
||||
open C_FILE, ">$ARGV[1]" or die;
|
||||
print C_FILE "/*\n";
|
||||
-print C_FILE " * Automatically generated by ", $0, ". Do not edit\n";
|
||||
+print C_FILE " * Automatically generated by ", basename $0, ". Do not edit\n";
|
||||
print C_FILE " */\n";
|
||||
|
||||
#
|
||||
--
|
||||
2.25.1
|
||||
@@ -0,0 +1,55 @@
|
||||
From a40d2daf2795d89e3ef8af0413b25190558831ec Mon Sep 17 00:00:00 2001
|
||||
From: Bruce Ashfield <bruce.ashfield@gmail.com>
|
||||
Date: Thu, 14 Jul 2022 14:43:46 -0400
|
||||
Subject: [PATCH] pnmtologo: use relocatable file name
|
||||
|
||||
The logo generation utility is capturing the source of the logo
|
||||
in the generated .c file. The source file is absolute (as passed
|
||||
by make), so the full path is captured.
|
||||
|
||||
This makes the source fail reproducibility tests.
|
||||
|
||||
We use basename() to just get the source file name, and use
|
||||
that in the generated .c file.
|
||||
|
||||
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
|
||||
---
|
||||
drivers/video/logo/pnmtologo.c | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/video/logo/pnmtologo.c b/drivers/video/logo/pnmtologo.c
|
||||
index ada5ef6e51b7..7527be845443 100644
|
||||
--- a/drivers/video/logo/pnmtologo.c
|
||||
+++ b/drivers/video/logo/pnmtologo.c
|
||||
@@ -13,7 +13,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
-
|
||||
+#include <libgen.h>
|
||||
|
||||
static const char *programname;
|
||||
static const char *filename;
|
||||
@@ -223,6 +223,7 @@ static inline int is_equal(struct color c1, struct color c2)
|
||||
|
||||
static void write_header(void)
|
||||
{
|
||||
+ char *filename_basename = basename(filename);
|
||||
/* open logo file */
|
||||
if (outputname) {
|
||||
out = fopen(outputname, "w");
|
||||
@@ -235,7 +236,7 @@ static void write_header(void)
|
||||
fputs("/*\n", out);
|
||||
fputs(" * DO NOT EDIT THIS FILE!\n", out);
|
||||
fputs(" *\n", out);
|
||||
- fprintf(out, " * It was automatically generated from %s\n", filename);
|
||||
+ fprintf(out, " * It was automatically generated from %s\n", filename_basename);
|
||||
fputs(" *\n", out);
|
||||
fprintf(out, " * Linux logo %s\n", logoname);
|
||||
fputs(" */\n\n", out);
|
||||
--
|
||||
2.25.1
|
||||
+56
@@ -0,0 +1,56 @@
|
||||
From 0f586f4ee8adacac79b64d1f3d47799a5eb7fbea Mon Sep 17 00:00:00 2001
|
||||
From: Bruce Ashfield <bruce.ashfield@gmail.com>
|
||||
Date: Sun, 10 Jul 2022 21:37:07 -0400
|
||||
Subject: [PATCH] vt/conmakehash: improve reproducibility
|
||||
|
||||
The file generated by conmakehash capture the application
|
||||
path used to generate the file. While that can be informative,
|
||||
it varies based on where the kernel was built, as the full
|
||||
path is captured.
|
||||
|
||||
We tweak the application to use a second input as the "capture
|
||||
name", and then modify the Makefile to pass the basename of
|
||||
the source, making it reproducible.
|
||||
|
||||
This could be improved by using some sort of path mapping,
|
||||
or the application manipualing argv[1] itself, but for now
|
||||
this solves the reprodicibility issue.
|
||||
|
||||
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
|
||||
---
|
||||
drivers/tty/vt/Makefile | 2 +-
|
||||
drivers/tty/vt/conmakehash.c | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/tty/vt/Makefile b/drivers/tty/vt/Makefile
|
||||
index fe30ce512819..cb51c21b58f9 100644
|
||||
--- a/drivers/tty/vt/Makefile
|
||||
+++ b/drivers/tty/vt/Makefile
|
||||
@@ -15,7 +15,7 @@ clean-files := consolemap_deftbl.c defkeymap.c
|
||||
hostprogs += conmakehash
|
||||
|
||||
quiet_cmd_conmk = CONMK $@
|
||||
- cmd_conmk = $(obj)/conmakehash $< > $@
|
||||
+ cmd_conmk = $(obj)/conmakehash $< $(shell basename $<) > $@
|
||||
|
||||
$(obj)/consolemap_deftbl.c: $(src)/$(FONTMAPFILE) $(obj)/conmakehash
|
||||
$(call cmd,conmk)
|
||||
diff --git a/drivers/tty/vt/conmakehash.c b/drivers/tty/vt/conmakehash.c
|
||||
index cddd789fe46e..d62510b280e9 100644
|
||||
--- a/drivers/tty/vt/conmakehash.c
|
||||
+++ b/drivers/tty/vt/conmakehash.c
|
||||
@@ -253,7 +253,7 @@ int main(int argc, char *argv[])
|
||||
#include <linux/types.h>\n\
|
||||
\n\
|
||||
u8 dfont_unicount[%d] = \n\
|
||||
-{\n\t", argv[1], fontlen);
|
||||
+{\n\t", argv[2], fontlen);
|
||||
|
||||
for ( i = 0 ; i < fontlen ; i++ )
|
||||
{
|
||||
--
|
||||
2.25.1
|
||||
@@ -12,3 +12,9 @@ EXTRA_DTC_ARGS += "${@get_extra_dtc_args(d)}"
|
||||
# the kernel.
|
||||
KERNEL_DTBDEST = "${KERNEL_IMAGEDEST}/dtb"
|
||||
KERNEL_DTBVENDORED = "1"
|
||||
|
||||
SRC_URI += " \
|
||||
file://0001-lib-build_OID_registry-fix-reproducibility-issues.patch \
|
||||
file://0001-vt-conmakehash-improve-reproducibility.patch \
|
||||
file://0001-pnmtologo-use-relocatable-file-name.patch \
|
||||
"
|
||||
|
||||
Reference in New Issue
Block a user