summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2016-03-05 00:12:02 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-09-23 23:22:03 +0100
commite1b940b4d1278655b71c74973037c6ff810a368a (patch)
tree3f18247c731d5b89efc9c58e1c7677360b94bc0f
parentb2e2a7426cf042de2c58356c1faec2481beb7aac (diff)
downloadpoky-e1b940b4d1278655b71c74973037c6ff810a368a.tar.gz
openssl: add a patch to fix parallel builds
Apply a patch taken from Gentoo to hopefully fix the remaining parallel make races. (From OE-Core rev: 7ab2f49107cf491d602880205a3ea1222cb5e616) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 3d806d59a4c5e8ff35c7e7c5a3a6ef85e2b4b259) Minor fixup to get patch to apply to jethro Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-connectivity/openssl/openssl/parallel.patch326
-rw-r--r--meta/recipes-connectivity/openssl/openssl_1.0.2h.bb1
2 files changed, 327 insertions, 0 deletions
diff --git a/meta/recipes-connectivity/openssl/openssl/parallel.patch b/meta/recipes-connectivity/openssl/openssl/parallel.patch
new file mode 100644
index 0000000000..b6c2c148b1
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/parallel.patch
@@ -0,0 +1,326 @@
1Fix the parallel races in the Makefiles.
2
3This patch was taken from the Gentoo packaging:
4https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-libs/openssl/files/openssl-1.0.2g-parallel-build.patch
5
6Upstream-Status: Pending
7Signed-off-by: Ross Burton <ross.burton@intel.com>
8
9--- openssl-1.0.2g/crypto/Makefile
10+++ openssl-1.0.2g/crypto/Makefile
11@@ -85,11 +85,11 @@
12 @if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
13
14 subdirs:
15- @target=all; $(RECURSIVE_MAKE)
16+ +@target=all; $(RECURSIVE_MAKE)
17
18 files:
19 $(PERL) $(TOP)/util/files.pl "CPUID_OBJ=$(CPUID_OBJ)" Makefile >> $(TOP)/MINFO
20- @target=files; $(RECURSIVE_MAKE)
21+ +@target=files; $(RECURSIVE_MAKE)
22
23 links:
24 @$(PERL) $(TOP)/util/mklink.pl ../include/openssl $(EXHEADER)
25@@ -100,7 +100,7 @@
26 # lib: $(LIB): are splitted to avoid end-less loop
27 lib: $(LIB)
28 @touch lib
29-$(LIB): $(LIBOBJ)
30+$(LIB): $(LIBOBJ) | subdirs
31 $(AR) $(LIB) $(LIBOBJ)
32 test -z "$(FIPSLIBDIR)" || $(AR) $(LIB) $(FIPSLIBDIR)fipscanister.o
33 $(RANLIB) $(LIB) || echo Never mind.
34@@ -111,7 +111,7 @@
35 fi
36
37 libs:
38- @target=lib; $(RECURSIVE_MAKE)
39+ +@target=lib; $(RECURSIVE_MAKE)
40
41 install:
42 @[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
43@@ -120,7 +120,7 @@
44 (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
45 chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
46 done;
47- @target=install; $(RECURSIVE_MAKE)
48+ +@target=install; $(RECURSIVE_MAKE)
49
50 lint:
51 @target=lint; $(RECURSIVE_MAKE)
52--- openssl-1.0.2g/engines/Makefile
53+++ openssl-1.0.2g/engines/Makefile
54@@ -72,7 +72,7 @@
55
56 all: lib subdirs
57
58-lib: $(LIBOBJ)
59+lib: $(LIBOBJ) | subdirs
60 @if [ -n "$(SHARED_LIBS)" ]; then \
61 set -e; \
62 for l in $(LIBNAMES); do \
63@@ -89,7 +89,7 @@
64
65 subdirs:
66 echo $(EDIRS)
67- @target=all; $(RECURSIVE_MAKE)
68+ +@target=all; $(RECURSIVE_MAKE)
69
70 files:
71 $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
72@@ -128,7 +128,7 @@
73 mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx ); \
74 done; \
75 fi
76- @target=install; $(RECURSIVE_MAKE)
77+ +@target=install; $(RECURSIVE_MAKE)
78
79 tags:
80 ctags $(SRC)
81--- openssl-1.0.2g/Makefile.org
82+++ openssl-1.0.2g/Makefile.org
83@@ -279,17 +279,17 @@
84 build_libssl: build_ssl libssl.pc
85
86 build_crypto:
87- @dir=crypto; target=all; $(BUILD_ONE_CMD)
88+ +@dir=crypto; target=all; $(BUILD_ONE_CMD)
89 build_ssl: build_crypto
90- @dir=ssl; target=all; $(BUILD_ONE_CMD)
91+ +@dir=ssl; target=all; $(BUILD_ONE_CMD)
92 build_engines: build_crypto
93- @dir=engines; target=all; $(BUILD_ONE_CMD)
94+ +@dir=engines; target=all; $(BUILD_ONE_CMD)
95 build_apps: build_libs
96- @dir=apps; target=all; $(BUILD_ONE_CMD)
97+ +@dir=apps; target=all; $(BUILD_ONE_CMD)
98 build_tests: build_libs
99- @dir=test; target=all; $(BUILD_ONE_CMD)
100+ +@dir=test; target=all; $(BUILD_ONE_CMD)
101 build_tools: build_libs
102- @dir=tools; target=all; $(BUILD_ONE_CMD)
103+ +@dir=tools; target=all; $(BUILD_ONE_CMD)
104
105 all_testapps: build_libs build_testapps
106 build_testapps:
107@@ -544,7 +544,7 @@
108 (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
109 chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
110 done;
111- @set -e; target=install; $(RECURSIVE_BUILD_CMD)
112+ +@set -e; target=install; $(RECURSIVE_BUILD_CMD)
113 @set -e; liblist="$(LIBS)"; for i in $$liblist ;\
114 do \
115 if [ -f "$$i" ]; then \
116--- openssl-1.0.2g/Makefile.shared
117+++ openssl-1.0.2g/Makefile.shared
118@@ -105,6 +105,7 @@
119 SHAREDFLAGS="$${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \
120 LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \
121 LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
122+ [ -e $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX ] && exit 0; \
123 LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
124 $${SHAREDCMD} $${SHAREDFLAGS} \
125 -o $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX \
126@@ -122,6 +123,7 @@
127 done; \
128 fi; \
129 if [ -n "$$SHLIB_SOVER" ]; then \
130+ [ -e "$$SHLIB$$SHLIB_SUFFIX" ] || \
131 ( $(SET_X); rm -f $$SHLIB$$SHLIB_SUFFIX; \
132 ln -s $$prev $$SHLIB$$SHLIB_SUFFIX ); \
133 fi; \
134--- openssl-1.0.2g/test/Makefile
135+++ openssl-1.0.2g/test/Makefile
136@@ -139,7 +139,7 @@
137 tags:
138 ctags $(SRC)
139
140-tests: exe apps $(TESTS)
141+tests: exe $(TESTS)
142
143 apps:
144 @(cd ..; $(MAKE) DIRS=apps all)
145@@ -421,130 +421,130 @@
146 link_app.$${shlib_target}
147
148 $(RSATEST)$(EXE_EXT): $(RSATEST).o $(DLIBCRYPTO)
149- @target=$(RSATEST); $(BUILD_CMD)
150+ +@target=$(RSATEST); $(BUILD_CMD)
151
152 $(BNTEST)$(EXE_EXT): $(BNTEST).o $(DLIBCRYPTO)
153- @target=$(BNTEST); $(BUILD_CMD)
154+ +@target=$(BNTEST); $(BUILD_CMD)
155
156 $(ECTEST)$(EXE_EXT): $(ECTEST).o $(DLIBCRYPTO)
157- @target=$(ECTEST); $(BUILD_CMD)
158+ +@target=$(ECTEST); $(BUILD_CMD)
159
160 $(EXPTEST)$(EXE_EXT): $(EXPTEST).o $(DLIBCRYPTO)
161- @target=$(EXPTEST); $(BUILD_CMD)
162+ +@target=$(EXPTEST); $(BUILD_CMD)
163
164 $(IDEATEST)$(EXE_EXT): $(IDEATEST).o $(DLIBCRYPTO)
165- @target=$(IDEATEST); $(BUILD_CMD)
166+ +@target=$(IDEATEST); $(BUILD_CMD)
167
168 $(MD2TEST)$(EXE_EXT): $(MD2TEST).o $(DLIBCRYPTO)
169- @target=$(MD2TEST); $(BUILD_CMD)
170+ +@target=$(MD2TEST); $(BUILD_CMD)
171
172 $(SHATEST)$(EXE_EXT): $(SHATEST).o $(DLIBCRYPTO)
173- @target=$(SHATEST); $(BUILD_CMD)
174+ +@target=$(SHATEST); $(BUILD_CMD)
175
176 $(SHA1TEST)$(EXE_EXT): $(SHA1TEST).o $(DLIBCRYPTO)
177- @target=$(SHA1TEST); $(BUILD_CMD)
178+ +@target=$(SHA1TEST); $(BUILD_CMD)
179
180 $(SHA256TEST)$(EXE_EXT): $(SHA256TEST).o $(DLIBCRYPTO)
181- @target=$(SHA256TEST); $(BUILD_CMD)
182+ +@target=$(SHA256TEST); $(BUILD_CMD)
183
184 $(SHA512TEST)$(EXE_EXT): $(SHA512TEST).o $(DLIBCRYPTO)
185- @target=$(SHA512TEST); $(BUILD_CMD)
186+ +@target=$(SHA512TEST); $(BUILD_CMD)
187
188 $(RMDTEST)$(EXE_EXT): $(RMDTEST).o $(DLIBCRYPTO)
189- @target=$(RMDTEST); $(BUILD_CMD)
190+ +@target=$(RMDTEST); $(BUILD_CMD)
191
192 $(MDC2TEST)$(EXE_EXT): $(MDC2TEST).o $(DLIBCRYPTO)
193- @target=$(MDC2TEST); $(BUILD_CMD)
194+ +@target=$(MDC2TEST); $(BUILD_CMD)
195
196 $(MD4TEST)$(EXE_EXT): $(MD4TEST).o $(DLIBCRYPTO)
197- @target=$(MD4TEST); $(BUILD_CMD)
198+ +@target=$(MD4TEST); $(BUILD_CMD)
199
200 $(MD5TEST)$(EXE_EXT): $(MD5TEST).o $(DLIBCRYPTO)
201- @target=$(MD5TEST); $(BUILD_CMD)
202+ +@target=$(MD5TEST); $(BUILD_CMD)
203
204 $(HMACTEST)$(EXE_EXT): $(HMACTEST).o $(DLIBCRYPTO)
205- @target=$(HMACTEST); $(BUILD_CMD)
206+ +@target=$(HMACTEST); $(BUILD_CMD)
207
208 $(WPTEST)$(EXE_EXT): $(WPTEST).o $(DLIBCRYPTO)
209- @target=$(WPTEST); $(BUILD_CMD)
210+ +@target=$(WPTEST); $(BUILD_CMD)
211
212 $(RC2TEST)$(EXE_EXT): $(RC2TEST).o $(DLIBCRYPTO)
213- @target=$(RC2TEST); $(BUILD_CMD)
214+ +@target=$(RC2TEST); $(BUILD_CMD)
215
216 $(BFTEST)$(EXE_EXT): $(BFTEST).o $(DLIBCRYPTO)
217- @target=$(BFTEST); $(BUILD_CMD)
218+ +@target=$(BFTEST); $(BUILD_CMD)
219
220 $(CASTTEST)$(EXE_EXT): $(CASTTEST).o $(DLIBCRYPTO)
221- @target=$(CASTTEST); $(BUILD_CMD)
222+ +@target=$(CASTTEST); $(BUILD_CMD)
223
224 $(RC4TEST)$(EXE_EXT): $(RC4TEST).o $(DLIBCRYPTO)
225- @target=$(RC4TEST); $(BUILD_CMD)
226+ +@target=$(RC4TEST); $(BUILD_CMD)
227
228 $(RC5TEST)$(EXE_EXT): $(RC5TEST).o $(DLIBCRYPTO)
229- @target=$(RC5TEST); $(BUILD_CMD)
230+ +@target=$(RC5TEST); $(BUILD_CMD)
231
232 $(DESTEST)$(EXE_EXT): $(DESTEST).o $(DLIBCRYPTO)
233- @target=$(DESTEST); $(BUILD_CMD)
234+ +@target=$(DESTEST); $(BUILD_CMD)
235
236 $(RANDTEST)$(EXE_EXT): $(RANDTEST).o $(DLIBCRYPTO)
237- @target=$(RANDTEST); $(BUILD_CMD)
238+ +@target=$(RANDTEST); $(BUILD_CMD)
239
240 $(DHTEST)$(EXE_EXT): $(DHTEST).o $(DLIBCRYPTO)
241- @target=$(DHTEST); $(BUILD_CMD)
242+ +@target=$(DHTEST); $(BUILD_CMD)
243
244 $(DSATEST)$(EXE_EXT): $(DSATEST).o $(DLIBCRYPTO)
245- @target=$(DSATEST); $(BUILD_CMD)
246+ +@target=$(DSATEST); $(BUILD_CMD)
247
248 $(METHTEST)$(EXE_EXT): $(METHTEST).o $(DLIBCRYPTO)
249- @target=$(METHTEST); $(BUILD_CMD)
250+ +@target=$(METHTEST); $(BUILD_CMD)
251
252 $(SSLTEST)$(EXE_EXT): $(SSLTEST).o $(DLIBSSL) $(DLIBCRYPTO)
253- @target=$(SSLTEST); $(FIPS_BUILD_CMD)
254+ +@target=$(SSLTEST); $(FIPS_BUILD_CMD)
255
256 $(ENGINETEST)$(EXE_EXT): $(ENGINETEST).o $(DLIBCRYPTO)
257- @target=$(ENGINETEST); $(BUILD_CMD)
258+ +@target=$(ENGINETEST); $(BUILD_CMD)
259
260 $(EVPTEST)$(EXE_EXT): $(EVPTEST).o $(DLIBCRYPTO)
261- @target=$(EVPTEST); $(BUILD_CMD)
262+ +@target=$(EVPTEST); $(BUILD_CMD)
263
264 $(EVPEXTRATEST)$(EXE_EXT): $(EVPEXTRATEST).o $(DLIBCRYPTO)
265- @target=$(EVPEXTRATEST); $(BUILD_CMD)
266+ +@target=$(EVPEXTRATEST); $(BUILD_CMD)
267
268 $(ECDSATEST)$(EXE_EXT): $(ECDSATEST).o $(DLIBCRYPTO)
269- @target=$(ECDSATEST); $(BUILD_CMD)
270+ +@target=$(ECDSATEST); $(BUILD_CMD)
271
272 $(ECDHTEST)$(EXE_EXT): $(ECDHTEST).o $(DLIBCRYPTO)
273- @target=$(ECDHTEST); $(BUILD_CMD)
274+ +@target=$(ECDHTEST); $(BUILD_CMD)
275
276 $(IGETEST)$(EXE_EXT): $(IGETEST).o $(DLIBCRYPTO)
277- @target=$(IGETEST); $(BUILD_CMD)
278+ +@target=$(IGETEST); $(BUILD_CMD)
279
280 $(JPAKETEST)$(EXE_EXT): $(JPAKETEST).o $(DLIBCRYPTO)
281- @target=$(JPAKETEST); $(BUILD_CMD)
282+ +@target=$(JPAKETEST); $(BUILD_CMD)
283
284 $(ASN1TEST)$(EXE_EXT): $(ASN1TEST).o $(DLIBCRYPTO)
285- @target=$(ASN1TEST); $(BUILD_CMD)
286+ +@target=$(ASN1TEST); $(BUILD_CMD)
287
288 $(SRPTEST)$(EXE_EXT): $(SRPTEST).o $(DLIBCRYPTO)
289- @target=$(SRPTEST); $(BUILD_CMD)
290+ +@target=$(SRPTEST); $(BUILD_CMD)
291
292 $(V3NAMETEST)$(EXE_EXT): $(V3NAMETEST).o $(DLIBCRYPTO)
293- @target=$(V3NAMETEST); $(BUILD_CMD)
294+ +@target=$(V3NAMETEST); $(BUILD_CMD)
295
296 $(HEARTBEATTEST)$(EXE_EXT): $(HEARTBEATTEST).o $(DLIBCRYPTO)
297- @target=$(HEARTBEATTEST); $(BUILD_CMD_STATIC)
298+ +@target=$(HEARTBEATTEST); $(BUILD_CMD_STATIC)
299
300 $(CONSTTIMETEST)$(EXE_EXT): $(CONSTTIMETEST).o
301- @target=$(CONSTTIMETEST) $(BUILD_CMD)
302+ +@target=$(CONSTTIMETEST) $(BUILD_CMD)
303
304 $(VERIFYEXTRATEST)$(EXE_EXT): $(VERIFYEXTRATEST).o
305- @target=$(VERIFYEXTRATEST) $(BUILD_CMD)
306+ +@target=$(VERIFYEXTRATEST) $(BUILD_CMD)
307
308 $(CLIENTHELLOTEST)$(EXE_EXT): $(CLIENTHELLOTEST).o
309- @target=$(CLIENTHELLOTEST) $(BUILD_CMD)
310+ +@target=$(CLIENTHELLOTEST) $(BUILD_CMD)
311
312 $(SSLV2CONFTEST)$(EXE_EXT): $(SSLV2CONFTEST).o
313- @target=$(SSLV2CONFTEST) $(BUILD_CMD)
314+ +@target=$(SSLV2CONFTEST) $(BUILD_CMD)
315
316 #$(AESTEST).o: $(AESTEST).c
317 # $(CC) -c $(CFLAGS) -DINTERMEDIATE_VALUE_KAT -DTRACE_KAT_MCT $(AESTEST).c
318@@ -557,7 +557,7 @@
319 # fi
320
321 dummytest$(EXE_EXT): dummytest.o $(DLIBCRYPTO)
322- @target=dummytest; $(BUILD_CMD)
323+ +@target=dummytest; $(BUILD_CMD)
324
325 # DO NOT DELETE THIS LINE -- make depend depends on it.
326 \ No newline at end of file
diff --git a/meta/recipes-connectivity/openssl/openssl_1.0.2h.bb b/meta/recipes-connectivity/openssl/openssl_1.0.2h.bb
index 3f8fb7265d..ea40275c30 100644
--- a/meta/recipes-connectivity/openssl/openssl_1.0.2h.bb
+++ b/meta/recipes-connectivity/openssl/openssl_1.0.2h.bb
@@ -37,6 +37,7 @@ SRC_URI += "file://configure-targets.patch \
37 file://crypto_use_bigint_in_x86-64_perl.patch \ 37 file://crypto_use_bigint_in_x86-64_perl.patch \
38 file://openssl-1.0.2a-x32-asm.patch \ 38 file://openssl-1.0.2a-x32-asm.patch \
39 file://ptest_makefile_deps.patch \ 39 file://ptest_makefile_deps.patch \
40 file://parallel.patch \
40 " 41 "
41 42
42SRC_URI[md5sum] = "9392e65072ce4b614c1392eefc1f23d0" 43SRC_URI[md5sum] = "9392e65072ce4b614c1392eefc1f23d0"