ppp: Fix reproducibility issue

Depending on which patches the make program has, the internal or external
utmp could would be used. Add add a patch which avoids the issue and makes
the build determnistic. We saw the regression on ubuntu1604.

(From OE-Core rev: 77e8c0f0e1236a134148dfb2c4ba5e8a612984fe)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2021-01-07 17:30:13 +00:00
parent 2961717078
commit 9aa638ab6f
2 changed files with 41 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
We were seeing reproducibility issues where one host would use the internal
logwtmp wrapper, another would use the one in libutil. The issue was that in
some cases the "\#include" was making it to CC, in others, "#include". The
issue seems to be related to shell escaping.
The root cause looks to be:
http://git.savannah.gnu.org/cgit/make.git/commit/?id=c6966b323811c37acedff05b576b907b06aea5f4
Instead of relying on shell quoting, use make to indirect the variable
and avoid the problem.
See https://github.com/paulusmack/ppp/issues/233
Upstream-Status: Backport [https://github.com/paulusmack/ppp/commit/b4430f7092ececdff2504d5f3393a4c6528c3686]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Index: ppp-2.4.9/pppd/Makefile.linux
===================================================================
--- ppp-2.4.9.orig/pppd/Makefile.linux
+++ ppp-2.4.9/pppd/Makefile.linux
@@ -80,7 +80,8 @@ PLUGIN=y
#USE_SRP=y
# Use libutil; test if logwtmp is declared in <utmp.h> to detect
-ifeq ($(shell echo '\#include <utmp.h>' | $(CC) -E - 2>/dev/null | grep -q logwtmp && echo yes),yes)
+UTMPHEADER = "\#include <utmp.h>"
+ifeq ($(shell echo $(UTMPHEADER) | $(CC) -E - 2>/dev/null | grep -q logwtmp && echo yes),yes)
USE_LIBUTIL=y
endif
@@ -143,7 +144,8 @@ CFLAGS += -DHAS_SHADOW
#LIBS += -lshadow $(LIBS)
endif
-ifeq ($(shell echo '\#include <crypt.h>' | $(CC) -E - >/dev/null 2>&1 && echo yes),yes)
+CRYPTHEADER = "\#include <utmp.h>"
+ifeq ($(shell echo $(CRYPTHEADER) | $(CC) -E - >/dev/null 2>&1 && echo yes),yes)
CFLAGS += -DHAVE_CRYPT_H=1
LIBS += -lcrypt
endif

View File

@@ -12,6 +12,7 @@ LIC_FILES_CHKSUM = "file://pppd/ccp.c;beginline=1;endline=29;md5=e2c43fe6e81ff77
file://chat/chat.c;beginline=1;endline=15;md5=0d374b8545ee5c62d7aff1acbd38add2"
SRC_URI = "https://download.samba.org/pub/${BPN}/${BP}.tar.gz \
file://makefix.patch \
file://pon \
file://poff \
file://init \