Skip to contentSkip to conversation

openssl: disable apps for NOMMU

PATCH New Gustavo Zacarias 2 participants 5 messages Oct 16, 2012 – Oct 22, 2012

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 openssl: disable apps for NOMMU

The openssl binary uses fork() so disable the option and build for !MMU. Fixes
http://autobuild.buildroot.net/results/45a9b84c16caadbf77b6fc43d7a0001c981a4c87/build-end.log

---
 package/openssl/Config.in  |    2 ++
 package/openssl/openssl.mk |    9 +++++++++
 2 files changed, 11 insertions(+), 0 deletions(-)
package/openssl/Config.in +2 -0
index 6ba644a..2187023 100644
@@ -12,6 +12,8 @@ config BR2_PACKAGE_OPENSSL
 config BR2_PACKAGE_OPENSSL_BIN
 	bool "openssl binary"
 	depends on BR2_PACKAGE_OPENSSL
+	# uses fork()
+	depends on BR2_USE_MMU
 	help
 	  Install the openssl binary to the target file system. This is a
 	  command line tool for doing various crypthographic stuff.
package/openssl/openssl.mk +9 -0
index 0917344..d283046 100644
@@ -13,6 +13,15 @@ OPENSSL_DEPENDENCIES = zlib
 OPENSSL_TARGET_ARCH = generic32
 OPENSSL_CFLAGS = $(TARGET_CFLAGS)
 
+ifeq ($(BR2_USE_MMU),)
+define OPENSSL_DISABLE_APPS
+	$(SED) '/^build_apps/! s/build_apps//' $(@D)/Makefile.org
+	$(Q)touch $(@D)/apps/openssl
+endef
+endif
+
+OPENSSL_PRE_CONFIGURE_HOOKS += OPENSSL_DISABLE_APPS
+
 ifeq ($(BR2_PACKAGE_OPENSSL_OCF),y)
 	OPENSSL_CFLAGS += -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS
 	OPENSSL_DEPENDENCIES += ocf-linux
Signature · 1 line
1.7.8.6
#1 lore raw

PATCH 1/1 openssl: disable apps for NOMMU

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Gustavo" == Gustavo Zacarias <[email protected]> writes:

Gustavo> The openssl binary uses fork() so disable the option and build for !MMU. Gustavo> Fixes
Gustavo> http://autobuild.buildroot.net/results/45a9b84c16caadbf77b6fc43d7a0001c981a4c87/build-end.log

Gustavo> Signed-off-by: Gustavo Zacarias <[email protected]> Gustavo> ---

 Gustavo>  package/openssl/Config.in  |    2 ++
 Gustavo>  package/openssl/openssl.mk |    9 +++++++++

Gustavo> 2 files changed, 11 insertions(+), 0 deletions(-)

Gustavo> diff --git a/package/openssl/Config.in b/package/openssl/Config.in Gustavo> index 6ba644a..2187023 100644
Gustavo> --- a/package/openssl/Config.in
Gustavo> +++ b/package/openssl/Config.in
Gustavo> @@ -12,6 +12,8 @@ config BR2_PACKAGE_OPENSSL

 Gustavo>  config BR2_PACKAGE_OPENSSL_BIN
 Gustavo>  	bool "openssl binary"
 Gustavo>  	depends on BR2_PACKAGE_OPENSSL
 Gustavo> +	# uses fork()
 Gustavo> +	depends on BR2_USE_MMU
 Gustavo>  	help
 Gustavo>  	  Install the openssl binary to the target file system. This is a
 Gustavo>  	  command line tool for doing various crypthographic stuff.

Gustavo> diff --git a/package/openssl/openssl.mk b/package/openssl/openssl.mk Gustavo> index 0917344..d283046 100644
Gustavo> --- a/package/openssl/openssl.mk
Gustavo> +++ b/package/openssl/openssl.mk
Gustavo> @@ -13,6 +13,15 @@ OPENSSL_DEPENDENCIES = zlib
Gustavo> OPENSSL_TARGET_ARCH = generic32
Gustavo> OPENSSL_CFLAGS = $(TARGET_CFLAGS)

Gustavo> +ifeq ($(BR2_USE_MMU),)

Why is this not BR2_PACKAGE_OPENSSL_BIN instead?

Gustavo> +define OPENSSL_DISABLE_APPS
Gustavo> + $(SED) '/^build_apps/! s/build_apps//' $(@D)/Makefile.org
Gustavo> + $(Q)touch $(@D)/apps/openssl
Gustavo> +endef
Gustavo> +endif
Gustavo> +
Gustavo> +OPENSSL_PRE_CONFIGURE_HOOKS += OPENSSL_DISABLE_APPS Gustavo> +

 Gustavo>  ifeq ($(BR2_PACKAGE_OPENSSL_OCF),y)
 Gustavo>  	OPENSSL_CFLAGS += -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS
 Gustavo>  	OPENSSL_DEPENDENCIES += ocf-linux

Gustavo> --
Gustavo> 1.7.8.6

Signature · 1 line
Bye, Peter Korsgaard
#2 lore raw

PATCH 1/1 openssl: disable apps for NOMMU

Quoted 1 line · Peter Korsgaard

Why is this not BR2_PACKAGE_OPENSSL_BIN instead?

Because the change must be done before anything is built.
Since i'm only tweaking the build phase and not the install one in the build system i need to fake the openssl being built with the touch. It will then be removed by the BR2_PACKAGE_OPENSSL_BIN knob when it's nommu. Or maybe i misunderstood what you meant?
Regards.

#3 lore raw

PATCH 1/1 openssl: disable apps for NOMMU

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Gustavo" == Gustavo Zacarias <[email protected]> writes:

Quoted 1 line · Peter Korsgaard
Quoted 1 line

Why is this not BR2_PACKAGE_OPENSSL_BIN instead?

Gustavo> Because the change must be done before anything is built.

Ok, but why only on !MMU and not when the user has just decided that they don't want /usr/bin/openssl (E.G. not enable BR2_PACKAGE_OPENSSL_BIN)? Why would we want to build (but not install) it when MMU?

Signature · 1 line
Bye, Peter Korsgaard
#4 lore raw

PATCH 1/1 openssl: disable apps for NOMMU

Quoted 4 lines · Peter Korsgaard

Ok, but why only on !MMU and not when the user has just decided that they don't want /usr/bin/openssl (E.G. not enable BR2_PACKAGE_OPENSSL_BIN)? Why would we want to build (but not install) it when MMU?

No reason in particular, i was just fixing the bug without considering tidying other things up.
It will save some glorious 2 seconds of build time when !BIN, but why not? Regards.