From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arnout Vandecappelle Date: Tue, 15 Sep 2015 18:50:35 +0200 Subject: [Buildroot] [PATCH 2/2] openssl: enable parallel build and installation In-Reply-To: <1442289591-30376-3-git-send-email-ryanbarnett3@gmail.com> References: <1442289591-30376-1-git-send-email-ryanbarnett3@gmail.com> <1442289591-30376-3-git-send-email-ryanbarnett3@gmail.com> Message-ID: <55F84C5B.2080004@mind.be> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net On 15-09-15 05:59, Ryan Barnett wrote: > From: Thomas Petazzoni > > On my build server, the current build of OpenSSL takes 1 minutes and > 20 seconds. With this commit applied, enabling parallel build and > installation, the build only takes 28 seconds. > > All the patches are downloaded from Gentoo. > > There is apparently some interest in upstream OpenSSL to enable > parallel build, see for example commit > https://github.com/openssl/openssl/commit/c3f22253b139793ff3b91ff7e6969e180cf06815. This > commit is not part of any OpenSSL release, but we can hope that the > problem will resolved in the future. > > I have tested 20 consecutive builds of a config that has openssl and > host-openssl being used by uboot-tools and host-uboot-tools (through > the FIT image support). > > [Ryan: simplified patches from gentoo (single patch now)] > [Ryan: updated offsets to apply cleanly] > [Ryan: updated hash file] > > Signed-off-by: Thomas Petazzoni > Signed-off-by: Ryan Barnett > --- > ...ont-waste-time-building-manpages-if-we-re-not-going.patch | 11 ++++++----- > .../0002-cryptodev-Fix-issue-with-signature-generation.patch | 7 ++++--- > package/openssl/openssl.hash | 2 ++ > package/openssl/openssl.mk | 12 +++++++----- > 4 files changed, 19 insertions(+), 13 deletions(-) > > diff --git a/package/openssl/0001-Dont-waste-time-building-manpages-if-we-re-not-going.patch b/package/openssl/0001-Dont-waste-time-building-manpages-if-we-re-not-going.patch > index 93e2118..f54f2fa 100644 > --- a/package/openssl/0001-Dont-waste-time-building-manpages-if-we-re-not-going.patch > +++ b/package/openssl/0001-Dont-waste-time-building-manpages-if-we-re-not-going.patch > @@ -1,19 +1,20 @@ > -From 53980448064b362a58e4ab2aca6f38fec93c07c3 Mon Sep 17 00:00:00 2001 > +From 12de3d3aa9525c551ebbd7fcff9d9d2b08e58aad Mon Sep 17 00:00:00 2001 > From: Mike Frysinger > Date: Sat, 16 May 2015 18:53:51 +0200 > -Subject: [PATCH 1/3] Dont waste time building manpages if we're not going to > +Subject: [PATCH 1/2] Dont waste time building manpages if we're not going to > use em. > > Signed-off-by: Thomas Petazzoni > +Signed-off-by: Ryan Barnett You should probably have added your Sob in the first patch already. This is just useless churn. > --- > Makefile.org | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/Makefile.org b/Makefile.org > -index b7a3f96..8a47840 100644 > +index 60f07cc..976ceaf 100644 > --- a/Makefile.org > +++ b/Makefile.org > -@@ -536,7 +536,7 @@ dist: > +@@ -527,7 +527,7 @@ dist: > dist_pem_h: > (cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean) > > @@ -23,5 +24,5 @@ index b7a3f96..8a47840 100644 > install_sw: > @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \ > -- > -2.1.0 > +1.9.1 > > diff --git a/package/openssl/0002-cryptodev-Fix-issue-with-signature-generation.patch b/package/openssl/0002-cryptodev-Fix-issue-with-signature-generation.patch > index 17887d3..2fe9fae 100644 > --- a/package/openssl/0002-cryptodev-Fix-issue-with-signature-generation.patch > +++ b/package/openssl/0002-cryptodev-Fix-issue-with-signature-generation.patch > @@ -1,7 +1,7 @@ > -From 0718df24bd828f26d7d0e8e7f935d8e21f70ebca Mon Sep 17 00:00:00 2001 > +From 4f802320219bc5c4969ce92ba42acce73bad0b77 Mon Sep 17 00:00:00 2001 > From: Gustavo Zacarias > Date: Sat, 16 May 2015 18:55:08 +0200 > -Subject: [PATCH 2/3] cryptodev: Fix issue with signature generation > +Subject: [PATCH 2/2] cryptodev: Fix issue with signature generation > > Forward port of 0001-cryptodev-Fix-issue-with-signature-generation.patch > from http://rt.openssl.org/Ticket/Display.html?id=2770&user=guest&pass=guest > @@ -10,6 +10,7 @@ It was originally targetted at 1.0.2-beta3. > Without this patch digest acceleration via cryptodev is broken. > > Signed-off-by: Thomas Petazzoni > +Signed-off-by: Ryan Barnett Same here. > --- > crypto/engine/eng_cryptodev.c | 195 +++++++++++++++++++++++++++++++----------- > 1 file changed, 146 insertions(+), 49 deletions(-) > @@ -445,5 +446,5 @@ index 926d95c..7021d9a 100644 > !ENGINE_set_digests(engine, cryptodev_engine_digests) || > !ENGINE_set_ctrl_function(engine, cryptodev_ctrl) || > -- > -2.1.0 > +1.9.1 > > diff --git a/package/openssl/openssl.hash b/package/openssl/openssl.hash > index 355be79..7e67737 100644 > --- a/package/openssl/openssl.hash > +++ b/package/openssl/openssl.hash > @@ -1,2 +1,4 @@ > # From https://www.openssl.org/source/openssl-1.0.2d.tar.gz.sha256 > sha256 671c36487785628a703374c652ad2cebea45fa920ae5681515df25d9f2c9a8c8 openssl-1.0.2d.tar.gz > +# Locally computed > +sha256 deaf6f3af41874ecc6d63841ea14b8e6c71cea81d4a511a754bc90c9a993147f openssl-1.0.2d-parallel-build.patch?revision=1.1 > diff --git a/package/openssl/openssl.mk b/package/openssl/openssl.mk > index 3d87919..c7459dd 100644 > --- a/package/openssl/openssl.mk > +++ b/package/openssl/openssl.mk > @@ -13,6 +13,8 @@ OPENSSL_DEPENDENCIES = zlib > HOST_OPENSSL_DEPENDENCIES = host-zlib > OPENSSL_TARGET_ARCH = generic32 > OPENSSL_CFLAGS = $(TARGET_CFLAGS) > +OPENSSL_PATCH = \ > + https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/openssl/files/openssl-1.0.2d-parallel-build.patch?revision=1.1 > Is there a non-https URL available by any chance? Regards, Arnout > ifeq ($(BR2_USE_MMU),) > OPENSSL_CFLAGS += -DHAVE_FORK=0 > @@ -99,23 +101,23 @@ OPENSSL_POST_CONFIGURE_HOOKS += OPENSSL_FIXUP_STATIC_MAKEFILE > endif > > define HOST_OPENSSL_BUILD_CMDS > - $(MAKE1) -C $(@D) > + $(MAKE) -C $(@D) > endef > > define OPENSSL_BUILD_CMDS > - $(MAKE1) -C $(@D) > + $(MAKE) -C $(@D) > endef > > define OPENSSL_INSTALL_STAGING_CMDS > - $(MAKE1) -C $(@D) INSTALL_PREFIX=$(STAGING_DIR) install > + $(MAKE) -C $(@D) INSTALL_PREFIX=$(STAGING_DIR) install > endef > > define HOST_OPENSSL_INSTALL_CMDS > - $(MAKE1) -C $(@D) install > + $(MAKE) -C $(@D) install > endef > > define OPENSSL_INSTALL_TARGET_CMDS > - $(MAKE1) -C $(@D) INSTALL_PREFIX=$(TARGET_DIR) install > + $(MAKE) -C $(@D) INSTALL_PREFIX=$(TARGET_DIR) install > rm -rf $(TARGET_DIR)/usr/lib/ssl > rm -f $(TARGET_DIR)/usr/bin/c_rehash > endef > -- Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF