diff options
author | Mike Frysinger <vapier@gentoo.org> | 2015-04-03 05:43:32 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2015-04-03 05:43:32 +0000 |
commit | 314212a2f5460a9b128e281a7cf00d4e3bd931d4 (patch) | |
tree | 0629b40c0d2e66727549020658fc485f8560d6b3 /dev-libs | |
parent | Use wxwidgets.eclass (bug #544992 by Toralf Förster). (diff) | |
download | historical-314212a2f5460a9b128e281a7cf00d4e3bd931d4.tar.gz historical-314212a2f5460a9b128e281a7cf00d4e3bd931d4.tar.bz2 historical-314212a2f5460a9b128e281a7cf00d4e3bd931d4.zip |
Split parallel build patch up a bit to match how they've been sent upstream.
Diffstat (limited to 'dev-libs')
5 files changed, 124 insertions, 69 deletions
diff --git a/dev-libs/openssl/ChangeLog b/dev-libs/openssl/ChangeLog index 218a7b1a4031..a4aace73a5f9 100644 --- a/dev-libs/openssl/ChangeLog +++ b/dev-libs/openssl/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-libs/openssl # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/ChangeLog,v 1.645 2015/04/03 05:41:21 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/ChangeLog,v 1.646 2015/04/03 05:43:32 vapier Exp $ + + 02 Apr 2015; Mike Frysinger <vapier@gentoo.org> openssl-1.0.2a.ebuild, + files/openssl-1.0.2a-parallel-build.patch, + +files/openssl-1.0.2a-parallel-install-dirs.patch, + +files/openssl-1.0.2a-parallel-obj-headers.patch: + Split parallel build patch up a bit to match how they've been sent upstream. 02 Apr 2015; Mike Frysinger <vapier@gentoo.org> openssl-1.0.2a.ebuild, files/openssl-1.0.2a-malloc-typo.patch, files/openssl-1.0.2a-x32-asm.patch: diff --git a/dev-libs/openssl/files/openssl-1.0.2a-parallel-build.patch b/dev-libs/openssl/files/openssl-1.0.2a-parallel-build.patch index 280b8e0b5742..f4226c3b6d38 100644 --- a/dev-libs/openssl/files/openssl-1.0.2a-parallel-build.patch +++ b/dev-libs/openssl/files/openssl-1.0.2a-parallel-build.patch @@ -1,4 +1,5 @@ -http://rt.openssl.org/Ticket/Display.html?id=2084&user=guest&pass=guest +https://rt.openssl.org/Ticket/Display.html?id=2084&user=guest&pass=guest +https://rt.openssl.org/Ticket/Display.html?id=3738&user=guest&pass=guest --- openssl-1.0.2a/crypto/Makefile +++ openssl-1.0.2a/crypto/Makefile @@ -43,23 +44,6 @@ http://rt.openssl.org/Ticket/Display.html?id=2084&user=guest&pass=guest lint: @target=lint; $(RECURSIVE_MAKE) ---- openssl-1.0.2a/crypto/objects/Makefile -+++ openssl-1.0.2a/crypto/objects/Makefile -@@ -44,11 +44,11 @@ - # objects.pl both reads and writes obj_mac.num - obj_mac.h: objects.pl objects.txt obj_mac.num - $(PERL) objects.pl objects.txt obj_mac.num obj_mac.h -- @sleep 1; touch obj_mac.h; sleep 1 - --obj_xref.h: objxref.pl obj_xref.txt obj_mac.num -+# This doesn't really need obj_mac.h, but since that rule reads & writes -+# obj_mac.num, we can't run in parallel with it. -+obj_xref.h: objxref.pl obj_xref.txt obj_mac.num obj_mac.h - $(PERL) objxref.pl obj_mac.num obj_xref.txt > obj_xref.h -- @sleep 1; touch obj_xref.h; sleep 1 - - files: - $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO --- openssl-1.0.2a/engines/Makefile +++ openssl-1.0.2a/engines/Makefile @@ -72,7 +72,7 @@ @@ -96,55 +80,31 @@ http://rt.openssl.org/Ticket/Display.html?id=2084&user=guest&pass=guest build_crypto: - @dir=crypto; target=all; $(BUILD_ONE_CMD) --build_ssl: -- @dir=ssl; target=all; $(BUILD_ONE_CMD) --build_engines: -- @dir=engines; target=all; $(BUILD_ONE_CMD) --build_apps: -- @dir=apps; target=all; $(BUILD_ONE_CMD) --build_tests: -- @dir=test; target=all; $(BUILD_ONE_CMD) --build_tools: -- @dir=tools; target=all; $(BUILD_ONE_CMD) + +@dir=crypto; target=all; $(BUILD_ONE_CMD) +-build_ssl: +build_ssl: build_crypto +- @dir=ssl; target=all; $(BUILD_ONE_CMD) + +@dir=ssl; target=all; $(BUILD_ONE_CMD) +-build_engines: +build_engines: build_crypto +- @dir=engines; target=all; $(BUILD_ONE_CMD) + +@dir=engines; target=all; $(BUILD_ONE_CMD) +-build_apps: +build_apps: build_libs +- @dir=apps; target=all; $(BUILD_ONE_CMD) + +@dir=apps; target=all; $(BUILD_ONE_CMD) +-build_tests: +build_tests: build_libs +- @dir=test; target=all; $(BUILD_ONE_CMD) + +@dir=test; target=all; $(BUILD_ONE_CMD) +-build_tools: +build_tools: build_libs +- @dir=tools; target=all; $(BUILD_ONE_CMD) + +@dir=tools; target=all; $(BUILD_ONE_CMD) all_testapps: build_libs build_testapps build_testapps: -@@ -536,9 +536,9 @@ - dist_pem_h: - (cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean) - --install: all install_docs install_sw -+install: install_docs install_sw - --install_sw: -+install_dirs: - @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \ - $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR) \ - $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines \ -@@ -547,12 +547,19 @@ - $(INSTALL_PREFIX)$(OPENSSLDIR)/misc \ - $(INSTALL_PREFIX)$(OPENSSLDIR)/certs \ - $(INSTALL_PREFIX)$(OPENSSLDIR)/private -+ @$(PERL) $(TOP)/util/mkdir-p.pl \ -+ $(INSTALL_PREFIX)$(MANDIR)/man1 \ -+ $(INSTALL_PREFIX)$(MANDIR)/man3 \ -+ $(INSTALL_PREFIX)$(MANDIR)/man5 \ -+ $(INSTALL_PREFIX)$(MANDIR)/man7 -+ -+install_sw: install_dirs - @set -e; headerlist="$(EXHEADER)"; for i in $$headerlist;\ - do \ +@@ -555,7 +555,7 @@ (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \ chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \ done; @@ -153,20 +113,6 @@ http://rt.openssl.org/Ticket/Display.html?id=2084&user=guest&pass=guest @set -e; liblist="$(LIBS)"; for i in $$liblist ;\ do \ if [ -f "$$i" ]; then \ -@@ -636,12 +643,7 @@ - done; \ - done - --install_docs: -- @$(PERL) $(TOP)/util/mkdir-p.pl \ -- $(INSTALL_PREFIX)$(MANDIR)/man1 \ -- $(INSTALL_PREFIX)$(MANDIR)/man3 \ -- $(INSTALL_PREFIX)$(MANDIR)/man5 \ -- $(INSTALL_PREFIX)$(MANDIR)/man7 -+install_docs: install_dirs - @pod2man="`cd ./util; ./pod2mantest $(PERL)`"; \ - here="`pwd`"; \ - filecase=; \ --- openssl-1.0.2a/Makefile.shared +++ openssl-1.0.2a/Makefile.shared @@ -105,6 +105,7 @@ diff --git a/dev-libs/openssl/files/openssl-1.0.2a-parallel-install-dirs.patch b/dev-libs/openssl/files/openssl-1.0.2a-parallel-install-dirs.patch new file mode 100644 index 000000000000..0198818c5fa3 --- /dev/null +++ b/dev-libs/openssl/files/openssl-1.0.2a-parallel-install-dirs.patch @@ -0,0 +1,64 @@ +https://rt.openssl.org/Ticket/Display.html?id=3736&user=guest&pass=guest + +From aba899f2eca21e11e5e9797bf8258e7265dea9f5 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <vapier@gentoo.org> +Date: Sun, 8 Mar 2015 01:32:01 -0500 +Subject: [PATCH] fix parallel install with dir creation + +The mkdir-p.pl does not handle parallel creation of directories. +This comes up when the install_sw and install_docs rules run and +both call mkdir-p.pl on sibling directory trees. + +Instead, lets create a single install_dirs rule that makes all of +the dirs we need, and have these two install steps depend on that. +--- + Makefile.org | 17 +++++++++-------- + 1 file changed, 9 insertions(+), 8 deletions(-) + +diff --git a/Makefile.org b/Makefile.org +index a6d9471..78e6143 100644 +--- a/Makefile.org ++++ b/Makefile.org +@@ -536,9 +536,9 @@ + dist_pem_h: + (cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean) + +-install: all install_docs install_sw ++install: install_docs install_sw + +-install_sw: ++install_dirs: + @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \ + $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR) \ + $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines \ +@@ -547,6 +547,13 @@ + $(INSTALL_PREFIX)$(OPENSSLDIR)/misc \ + $(INSTALL_PREFIX)$(OPENSSLDIR)/certs \ + $(INSTALL_PREFIX)$(OPENSSLDIR)/private ++ @$(PERL) $(TOP)/util/mkdir-p.pl \ ++ $(INSTALL_PREFIX)$(MANDIR)/man1 \ ++ $(INSTALL_PREFIX)$(MANDIR)/man3 \ ++ $(INSTALL_PREFIX)$(MANDIR)/man5 \ ++ $(INSTALL_PREFIX)$(MANDIR)/man7 ++ ++install_sw: install_dirs + @set -e; headerlist="$(EXHEADER)"; for i in $$headerlist;\ + do \ + (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \ +@@ -636,12 +643,7 @@ + done; \ + done + +-install_docs: +- @$(PERL) $(TOP)/util/mkdir-p.pl \ +- $(INSTALL_PREFIX)$(MANDIR)/man1 \ +- $(INSTALL_PREFIX)$(MANDIR)/man3 \ +- $(INSTALL_PREFIX)$(MANDIR)/man5 \ +- $(INSTALL_PREFIX)$(MANDIR)/man7 ++install_docs: install_dirs + @pod2man="`cd ./util; ./pod2mantest $(PERL)`"; \ + here="`pwd`"; \ + filecase=; \ +-- +2.3.4 + diff --git a/dev-libs/openssl/files/openssl-1.0.2a-parallel-obj-headers.patch b/dev-libs/openssl/files/openssl-1.0.2a-parallel-obj-headers.patch new file mode 100644 index 000000000000..a7d6f4effea7 --- /dev/null +++ b/dev-libs/openssl/files/openssl-1.0.2a-parallel-obj-headers.patch @@ -0,0 +1,37 @@ +https://rt.openssl.org/Ticket/Display.html?id=3737&user=guest&pass=guest + +From ce279d4361e07e9af9ceca8a6e326e661758ad53 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <vapier@gentoo.org> +Date: Sun, 8 Mar 2015 01:34:48 -0500 +Subject: [PATCH] fix parallel generation of obj headers + +The current code has dummy sleep/touch commands to try and work +around the parallel issue, but that is obviously racy. Instead +lets force one of the files to depend on the other so we know +they'll never run in parallel. +--- + crypto/objects/Makefile | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/crypto/objects/Makefile b/crypto/objects/Makefile +index ad2db1e..7d32504 100644 +--- a/crypto/objects/Makefile ++++ b/crypto/objects/Makefile +@@ -44,11 +44,11 @@ + # objects.pl both reads and writes obj_mac.num + obj_mac.h: objects.pl objects.txt obj_mac.num + $(PERL) objects.pl objects.txt obj_mac.num obj_mac.h +- @sleep 1; touch obj_mac.h; sleep 1 + +-obj_xref.h: objxref.pl obj_xref.txt obj_mac.num ++# This doesn't really need obj_mac.h, but since that rule reads & writes ++# obj_mac.num, we can't run in parallel with it. ++obj_xref.h: objxref.pl obj_xref.txt obj_mac.num obj_mac.h + $(PERL) objxref.pl obj_mac.num obj_xref.txt > obj_xref.h +- @sleep 1; touch obj_xref.h; sleep 1 + + files: + $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO +-- +2.3.4 + diff --git a/dev-libs/openssl/openssl-1.0.2a.ebuild b/dev-libs/openssl/openssl-1.0.2a.ebuild index a02ef6ecb013..6539d343081d 100644 --- a/dev-libs/openssl/openssl-1.0.2a.ebuild +++ b/dev-libs/openssl/openssl-1.0.2a.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/openssl-1.0.2a.ebuild,v 1.7 2015/04/03 05:41:21 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/openssl-1.0.2a.ebuild,v 1.8 2015/04/03 05:43:32 vapier Exp $ EAPI="4" @@ -60,6 +60,8 @@ src_prepare() { epatch "${FILESDIR}"/${PN}-1.0.0a-ldflags.patch #327421 epatch "${FILESDIR}"/${PN}-1.0.0d-windres.patch #373743 epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-build.patch + epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-obj-headers.patch + epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-install-dirs.patch epatch "${FILESDIR}"/${PN}-1.0.2-ipv6.patch epatch "${FILESDIR}"/${PN}-1.0.2-s_client-verify.patch #472584 epatch "${FILESDIR}"/${P}-malloc-typo.patch #543828 |