vapier      15/04/03 05:43:32

  Modified:             openssl-1.0.2a-parallel-build.patch
  Added:                openssl-1.0.2a-parallel-obj-headers.patch
                        openssl-1.0.2a-parallel-install-dirs.patch
  Log:
  Split parallel build patch up a bit to match how they've been sent upstream.

Revision  Changes    Path
1.2                  dev-libs/openssl/files/openssl-1.0.2a-parallel-build.patch

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/openssl/files/openssl-1.0.2a-parallel-build.patch?rev=1.2&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/openssl/files/openssl-1.0.2a-parallel-build.patch?rev=1.2&content-type=text/plain
diff : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/openssl/files/openssl-1.0.2a-parallel-build.patch?r1=1.1&r2=1.2

Index: openssl-1.0.2a-parallel-build.patch
===================================================================
RCS file: 
/var/cvsroot/gentoo-x86/dev-libs/openssl/files/openssl-1.0.2a-parallel-build.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- openssl-1.0.2a-parallel-build.patch 19 Mar 2015 20:47:26 -0000      1.1
+++ openssl-1.0.2a-parallel-build.patch 3 Apr 2015 05:43:32 -0000       1.2
@@ -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 @@
  
  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 @@
  
  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 @@
        @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 @@



1.1                  
dev-libs/openssl/files/openssl-1.0.2a-parallel-obj-headers.patch

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/openssl/files/openssl-1.0.2a-parallel-obj-headers.patch?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/openssl/files/openssl-1.0.2a-parallel-obj-headers.patch?rev=1.1&content-type=text/plain

Index: openssl-1.0.2a-parallel-obj-headers.patch
===================================================================
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 <[email protected]>
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




1.1                  
dev-libs/openssl/files/openssl-1.0.2a-parallel-install-dirs.patch

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/openssl/files/openssl-1.0.2a-parallel-install-dirs.patch?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/openssl/files/openssl-1.0.2a-parallel-install-dirs.patch?rev=1.1&content-type=text/plain

Index: openssl-1.0.2a-parallel-install-dirs.patch
===================================================================
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 <[email protected]>
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





Reply via email to