lz4: Fix static library reproducibility issue

The autobuilder was seeing an intermittent reproducbility issue in lz4 with
regard to symbol ordering in the static library. Add a patch to fix this which
has been submitted upstream.

Fix the SRC_URI whitespace and cleanup the patch directory naming whilst here.

(From OE-Core rev: 79d6d0fa239ab0cf271c01d8169a7d41811f8b4e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2024-08-29 11:05:48 +01:00
parent caa36ffb08
commit 63d77ef893
3 changed files with 35 additions and 2 deletions

View File

@@ -0,0 +1,33 @@
lib/Makefile: Fix static library reproducibility
The static library contents varies depending of the order of the object files on disk meaning
it isn't reproducible.
To avoid this, use the SRCFILES values which are already sorted, mapped to the object names
instead.
Upstream-Status: Submitted [https://github.com/lz4/lz4/pull/1497]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Index: git/lib/Makefile
===================================================================
--- git.orig/lib/Makefile
+++ git/lib/Makefile
@@ -55,6 +55,7 @@ CFLAGS = $(DEBUGFLAGS) $(USERCFLAGS)
ALLFLAGS = $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
SRCFILES := $(sort $(wildcard *.c))
+OBJFILES = $(SRCFILES:.c=.o)
include ../Makefile.inc
@@ -102,7 +103,7 @@ liblz4.a: $(SRCFILES)
ifeq ($(BUILD_STATIC),yes) # can be disabled on command line
@echo compiling static library
$(COMPILE.c) $^
- $(AR) rcs $@ *.o
+ $(AR) rcs $@ $(OBJFILES)
endif
ifeq ($(WINBASED),yes)

View File

@@ -13,8 +13,8 @@ PE = "1"
SRCREV = "ebb370ca83af193212df4dcbadcc5d87bc0de2f0"
SRC_URI = "git://github.com/lz4/lz4.git;branch=release;protocol=https \
file://run-ptest \
"
file://reproducibility.patch \
file://run-ptest"
UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>.*)"
S = "${WORKDIR}/git"