diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-01-07 17:30:13 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-01-08 10:10:15 +0000 |
commit | 9aa638ab6f019afb45f2b40cab72d35d210d2504 (patch) | |
tree | 3f087c8ad9e101b41d950580d140d79998f4cfc8 | |
parent | 2961717078ccecd2a223c03eed1902024c9cdd15 (diff) | |
download | poky-9aa638ab6f019afb45f2b40cab72d35d210d2504.tar.gz |
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>
-rw-r--r-- | meta/recipes-connectivity/ppp/ppp/makefix.patch | 40 | ||||
-rw-r--r-- | meta/recipes-connectivity/ppp/ppp_2.4.9.bb | 1 |
2 files changed, 41 insertions, 0 deletions
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 @@ | |||
1 | We were seeing reproducibility issues where one host would use the internal | ||
2 | logwtmp wrapper, another would use the one in libutil. The issue was that in | ||
3 | some cases the "\#include" was making it to CC, in others, "#include". The | ||
4 | issue seems to be related to shell escaping. | ||
5 | |||
6 | The root cause looks to be: | ||
7 | http://git.savannah.gnu.org/cgit/make.git/commit/?id=c6966b323811c37acedff05b576b907b06aea5f4 | ||
8 | |||
9 | Instead of relying on shell quoting, use make to indirect the variable | ||
10 | and avoid the problem. | ||
11 | |||
12 | See https://github.com/paulusmack/ppp/issues/233 | ||
13 | |||
14 | Upstream-Status: Backport [https://github.com/paulusmack/ppp/commit/b4430f7092ececdff2504d5f3393a4c6528c3686] | ||
15 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> | ||
16 | |||
17 | Index: ppp-2.4.9/pppd/Makefile.linux | ||
18 | =================================================================== | ||
19 | --- ppp-2.4.9.orig/pppd/Makefile.linux | ||
20 | +++ ppp-2.4.9/pppd/Makefile.linux | ||
21 | @@ -80,7 +80,8 @@ PLUGIN=y | ||
22 | #USE_SRP=y | ||
23 | |||
24 | # Use libutil; test if logwtmp is declared in <utmp.h> to detect | ||
25 | -ifeq ($(shell echo '\#include <utmp.h>' | $(CC) -E - 2>/dev/null | grep -q logwtmp && echo yes),yes) | ||
26 | +UTMPHEADER = "\#include <utmp.h>" | ||
27 | +ifeq ($(shell echo $(UTMPHEADER) | $(CC) -E - 2>/dev/null | grep -q logwtmp && echo yes),yes) | ||
28 | USE_LIBUTIL=y | ||
29 | endif | ||
30 | |||
31 | @@ -143,7 +144,8 @@ CFLAGS += -DHAS_SHADOW | ||
32 | #LIBS += -lshadow $(LIBS) | ||
33 | endif | ||
34 | |||
35 | -ifeq ($(shell echo '\#include <crypt.h>' | $(CC) -E - >/dev/null 2>&1 && echo yes),yes) | ||
36 | +CRYPTHEADER = "\#include <utmp.h>" | ||
37 | +ifeq ($(shell echo $(CRYPTHEADER) | $(CC) -E - >/dev/null 2>&1 && echo yes),yes) | ||
38 | CFLAGS += -DHAVE_CRYPT_H=1 | ||
39 | LIBS += -lcrypt | ||
40 | endif | ||
diff --git a/meta/recipes-connectivity/ppp/ppp_2.4.9.bb b/meta/recipes-connectivity/ppp/ppp_2.4.9.bb index f05f40dd06..a78992fa5e 100644 --- a/meta/recipes-connectivity/ppp/ppp_2.4.9.bb +++ b/meta/recipes-connectivity/ppp/ppp_2.4.9.bb | |||
@@ -12,6 +12,7 @@ LIC_FILES_CHKSUM = "file://pppd/ccp.c;beginline=1;endline=29;md5=e2c43fe6e81ff77 | |||
12 | file://chat/chat.c;beginline=1;endline=15;md5=0d374b8545ee5c62d7aff1acbd38add2" | 12 | file://chat/chat.c;beginline=1;endline=15;md5=0d374b8545ee5c62d7aff1acbd38add2" |
13 | 13 | ||
14 | SRC_URI = "https://download.samba.org/pub/${BPN}/${BP}.tar.gz \ | 14 | SRC_URI = "https://download.samba.org/pub/${BPN}/${BP}.tar.gz \ |
15 | file://makefix.patch \ | ||
15 | file://pon \ | 16 | file://pon \ |
16 | file://poff \ | 17 | file://poff \ |
17 | file://init \ | 18 | file://init \ |