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: 16d6f01eced9e6de5068056aea07a08ec9dfb659)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 1ba0bf50c72f2506dfa507559c49a70e16cd5124)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2021-09-29 13:31:26 +01:00
parent 8778ebb50a
commit 0e75ef8e28
2 changed files with 29 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
From 2d351c666f09cc1b9e368422653fb42ac8b86249 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex@linutronix.de>
Date: Tue, 31 Aug 2021 10:37:05 +0200
Subject: [PATCH] build/pack.c: do not insert payloadflags into .rpm metadata
The flags look like '19T56' where 19 is the compression level
(deterministic), and 56 is the amount of threads (varies from one
host to the next and breaks reproducibility for .rpm).
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
build/pack.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/build/pack.c b/build/pack.c
index 932cb213e..b45d0726f 100644
--- a/build/pack.c
+++ b/build/pack.c
@@ -328,7 +328,7 @@ static char *getIOFlags(Package pkg)
headerPutString(pkg->header, RPMTAG_PAYLOADCOMPRESSOR, compr);
buf = xstrdup(rpmio_flags);
buf[s - rpmio_flags] = '\0';
- headerPutString(pkg->header, RPMTAG_PAYLOADFLAGS, buf+1);
+ headerPutString(pkg->header, RPMTAG_PAYLOADFLAGS, "");
free(buf);
}
exit:

View File

@@ -40,6 +40,7 @@ SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.16.x \
file://0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch \
file://0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch \
file://0001-tools-Add-error.h-for-non-glibc-case.patch \
file://0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch \
"
PE = "1"