summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2021-09-29 13:31:26 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-10-02 23:09:22 +0100
commitb6e74ba64ebc5d18e40fd01ef87ca3fde6f33249 (patch)
tree3595613d7e2aa9ac8df2d3c949277053a1886b08
parent6c29f198d922f0a45dbff6db2839ff13e350d332 (diff)
downloadpoky-b6e74ba64ebc5d18e40fd01ef87ca3fde6f33249.tar.gz
rpm: Ensure compression parallelism isn't coded into rpms
We don't want the compression thread numbers to be encoded into the rpm since this results in the rpm not being deterministic. Add a patch from Alex Kanavin which addresses this issue (was queued for rpm 4.17 but we need to fix this with 4.16 too). (From OE-Core rev: 1ba0bf50c72f2506dfa507559c49a70e16cd5124) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/rpm/files/0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch28
-rw-r--r--meta/recipes-devtools/rpm/rpm_4.16.1.3.bb1
2 files changed, 29 insertions, 0 deletions
diff --git a/meta/recipes-devtools/rpm/files/0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch b/meta/recipes-devtools/rpm/files/0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch
new file mode 100644
index 0000000000..79b168257e
--- /dev/null
+++ b/meta/recipes-devtools/rpm/files/0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch
@@ -0,0 +1,28 @@
1From 2d351c666f09cc1b9e368422653fb42ac8b86249 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex@linutronix.de>
3Date: Tue, 31 Aug 2021 10:37:05 +0200
4Subject: [PATCH] build/pack.c: do not insert payloadflags into .rpm metadata
5
6The flags look like '19T56' where 19 is the compression level
7(deterministic), and 56 is the amount of threads (varies from one
8host to the next and breaks reproducibility for .rpm).
9
10Upstream-Status: Inappropriate [oe-core specific]
11Signed-off-by: Alexander Kanavin <alex@linutronix.de>
12---
13 build/pack.c | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-)
15
16diff --git a/build/pack.c b/build/pack.c
17index 932cb213e..b45d0726f 100644
18--- a/build/pack.c
19+++ b/build/pack.c
20@@ -328,7 +328,7 @@ static char *getIOFlags(Package pkg)
21 headerPutString(pkg->header, RPMTAG_PAYLOADCOMPRESSOR, compr);
22 buf = xstrdup(rpmio_flags);
23 buf[s - rpmio_flags] = '\0';
24- headerPutString(pkg->header, RPMTAG_PAYLOADFLAGS, buf+1);
25+ headerPutString(pkg->header, RPMTAG_PAYLOADFLAGS, "");
26 free(buf);
27 }
28 exit:
diff --git a/meta/recipes-devtools/rpm/rpm_4.16.1.3.bb b/meta/recipes-devtools/rpm/rpm_4.16.1.3.bb
index 189da92436..60181f26c7 100644
--- a/meta/recipes-devtools/rpm/rpm_4.16.1.3.bb
+++ b/meta/recipes-devtools/rpm/rpm_4.16.1.3.bb
@@ -40,6 +40,7 @@ SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.16.x \
40 file://0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch \ 40 file://0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch \
41 file://0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch \ 41 file://0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch \
42 file://0001-tools-Add-error.h-for-non-glibc-case.patch \ 42 file://0001-tools-Add-error.h-for-non-glibc-case.patch \
43 file://0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch \
43 " 44 "
44 45
45PE = "1" 46PE = "1"