From 9aa638ab6f019afb45f2b40cab72d35d210d2504 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 7 Jan 2021 17:30:13 +0000 Subject: 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 --- meta/recipes-connectivity/ppp/ppp/makefix.patch | 40 +++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 meta/recipes-connectivity/ppp/ppp/makefix.patch (limited to 'meta/recipes-connectivity/ppp/ppp') diff --git a/meta/recipes-connectivity/ppp/ppp/makefix.patch b/meta/recipes-connectivity/ppp/ppp/makefix.patch new file mode 100644 index 0000000000..9471df32e9 --- /dev/null +++ b/meta/recipes-connectivity/ppp/ppp/makefix.patch @@ -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 + +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 to detect +-ifeq ($(shell echo '\#include ' | $(CC) -E - 2>/dev/null | grep -q logwtmp && echo yes),yes) ++UTMPHEADER = "\#include " ++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 ' | $(CC) -E - >/dev/null 2>&1 && echo yes),yes) ++CRYPTHEADER = "\#include " ++ifeq ($(shell echo $(CRYPTHEADER) | $(CC) -E - >/dev/null 2>&1 && echo yes),yes) + CFLAGS += -DHAVE_CRYPT_H=1 + LIBS += -lcrypt + endif -- cgit v1.2.3-54-g00ecf