Skip to contentSkip to conversation

openssl: remove binary install option

PATCH New Gustavo Zacarias 2 participants 5 messages Jan 5, 2016 – Jan 9, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 openssl: remove binary install option

In preparation for the libssl virtual and libressl inclusion, also keeping with the KISS principle the binary can be removed in a post-build script if need be, so remove the option and add it in legacy.

---
 Config.in.legacy           | 8 ++++++++
 package/openssl/Config.in  | 7 -------
 package/openssl/openssl.mk | 8 --------
 3 files changed, 8 insertions(+), 15 deletions(-)
Config.in.legacy +8 -0
index 2e6062c..3bcd50d 100644
@@ -145,6 +145,14 @@ endif
 ###############################################################################
 comment "Legacy options removed in 2016.02"
 
+config BR2_PACKAGE_OPENSSL_BIN
+	bool "openssl binary option removed"
+	select BR2_LEGACY
+	help
+	  The openssl binary option has been removed. You can remove the
+	  binary from a post-build script if your target space is too
+	  constrained.
+
 config BR2_PACKAGE_PYTHON_PYXML
 	bool "python-pyxml package has been removed"
 	select BR2_LEGACY
package/openssl/Config.in +0 -7
index e08b648..dfbc850 100644
@@ -13,13 +13,6 @@ config BR2_PACKAGE_OPENSSL
 
 if BR2_PACKAGE_OPENSSL
 
-config BR2_PACKAGE_OPENSSL_BIN
-	bool "openssl binary"
-	help
-	  Install the openssl binary and the associated helper scripts to the
-	  target file system. This is a command line tool for doing various
-	  cryptographic stuff.
-
 config BR2_PACKAGE_OPENSSL_ENGINES
 	bool "openssl additional engines"
 	help
package/openssl/openssl.mk +0 -8
index c3ea08d..1e5ea9b 100644
@@ -151,14 +151,6 @@ endef
 OPENSSL_POST_INSTALL_TARGET_HOOKS += OPENSSL_REMOVE_PERL_SCRIPTS
 endif
 
-ifeq ($(BR2_PACKAGE_OPENSSL_BIN),)
-define OPENSSL_REMOVE_BIN
-	$(RM) -f $(TARGET_DIR)/usr/bin/openssl
-	$(RM) -f $(TARGET_DIR)/etc/ssl/misc/{CA.*,c_*}
-endef
-OPENSSL_POST_INSTALL_TARGET_HOOKS += OPENSSL_REMOVE_BIN
-endif
-
 ifneq ($(BR2_PACKAGE_OPENSSL_ENGINES),y)
 define OPENSSL_REMOVE_OPENSSL_ENGINES
 	rm -rf $(TARGET_DIR)/usr/lib/engines
Signature · 1 line
2.4.10
#1 lore raw

PATCH 2/2 openssl: remove additional engines option

In preparation for the libssl virtual and libressl inclusion, also keeping with the KISS principle the engines can be removed in a post-build script if need be, so remove the option and add it in legacy.

---
 Config.in.legacy           | 8 ++++++++
 package/bind/bind.mk       | 9 ++-------
 package/openssl/Config.in  | 9 ---------
 package/openssl/openssl.mk | 7 -------
 4 files changed, 10 insertions(+), 23 deletions(-)
Config.in.legacy +8 -0
index 3bcd50d..45b5e23 100644
@@ -145,6 +145,14 @@ endif
 ###############################################################################
 comment "Legacy options removed in 2016.02"
 
+config BR2_PACKAGE_OPENSSL_ENGINES
+	bool "openssl additional engines option removed"
+	select BR2_LEGACY
+	help
+	  The openssl additional engines option has been removed. You
+	  can remove them from a post-build script if your target space
+	  is too constrained.
+
 config BR2_PACKAGE_OPENSSL_BIN
 	bool "openssl binary option removed"
 	select BR2_LEGACY
package/bind/bind.mk +2 -7
index 2a06599..4d3fa86 100644
@@ -52,13 +52,8 @@ BIND_CONF_ENV += \
 	ac_cv_func_EVP_sha512=yes
 BIND_CONF_OPTS += \
 	--with-openssl=$(STAGING_DIR)/usr LIBS="-lz" \
-	--with-ecdsa=yes
-# GOST cipher support requires openssl extra engines
-ifeq ($(BR2_PACKAGE_OPENSSL_ENGINES),y)
-BIND_CONF_OPTS += --with-gost=yes
-else
-BIND_CONF_OPTS += --with-gost=no
-endif
+	--with-ecdsa=yes \
+	--with-gost=yes
 else
 BIND_CONF_OPTS += --with-openssl=no
 endif
package/openssl/Config.in +0 -9
index dfbc850..baca05c 100644
@@ -10,12 +10,3 @@ config BR2_PACKAGE_OPENSSL
 	  http://www.openssl.org/
 
 	  Note: Some helper scripts need perl.
-
-if BR2_PACKAGE_OPENSSL
-
-config BR2_PACKAGE_OPENSSL_ENGINES
-	bool "openssl additional engines"
-	help
-	  Install additional encryption engine libraries.
-
-endif
package/openssl/openssl.mk +0 -7
index 1e5ea9b..2c8a96f 100644
@@ -151,12 +151,5 @@ endef
 OPENSSL_POST_INSTALL_TARGET_HOOKS += OPENSSL_REMOVE_PERL_SCRIPTS
 endif
 
-ifneq ($(BR2_PACKAGE_OPENSSL_ENGINES),y)
-define OPENSSL_REMOVE_OPENSSL_ENGINES
-	rm -rf $(TARGET_DIR)/usr/lib/engines
-endef
-OPENSSL_POST_INSTALL_TARGET_HOOKS += OPENSSL_REMOVE_OPENSSL_ENGINES
-endif
-
 $(eval $(generic-package))
 $(eval $(host-generic-package))
Signature · 1 line
2.4.10
#2 lore raw

PATCH 2/2 openssl: remove additional engines option

Quoted 5 lines · Gustavo Zacarias

In preparation for the libssl virtual and libressl inclusion, also keeping with the KISS principle the engines can be removed in a post-build script if need be, so remove the option and add it in legacy.

The engines take up 8.5% of the openssl package, so not worthwhile to remove them.

Regards,
Arnout

Quoted 81 lines
---
 Config.in.legacy           | 8 ++++++++
 package/bind/bind.mk       | 9 ++-------
 package/openssl/Config.in  | 9 ---------
 package/openssl/openssl.mk | 7 -------
 4 files changed, 10 insertions(+), 23 deletions(-)
Config.in.legacy +8 -0
index 3bcd50d..45b5e23 100644
@@ -145,6 +145,14 @@ endif
 ###############################################################################
 comment "Legacy options removed in 2016.02"
 
+config BR2_PACKAGE_OPENSSL_ENGINES
+	bool "openssl additional engines option removed"
+	select BR2_LEGACY
+	help
+	  The openssl additional engines option has been removed. You
+	  can remove them from a post-build script if your target space
+	  is too constrained.
+
 config BR2_PACKAGE_OPENSSL_BIN
 	bool "openssl binary option removed"
 	select BR2_LEGACY
package/bind/bind.mk +2 -7
index 2a06599..4d3fa86 100644
@@ -52,13 +52,8 @@ BIND_CONF_ENV += \
 	ac_cv_func_EVP_sha512=yes
 BIND_CONF_OPTS += \
 	--with-openssl=$(STAGING_DIR)/usr LIBS="-lz" \
-	--with-ecdsa=yes
-# GOST cipher support requires openssl extra engines
-ifeq ($(BR2_PACKAGE_OPENSSL_ENGINES),y)
-BIND_CONF_OPTS += --with-gost=yes
-else
-BIND_CONF_OPTS += --with-gost=no
-endif
+	--with-ecdsa=yes \
+	--with-gost=yes
 else
 BIND_CONF_OPTS += --with-openssl=no
 endif
package/openssl/Config.in +0 -9
index dfbc850..baca05c 100644
@@ -10,12 +10,3 @@ config BR2_PACKAGE_OPENSSL
 	  http://www.openssl.org/
 
 	  Note: Some helper scripts need perl.
-
-if BR2_PACKAGE_OPENSSL
-
-config BR2_PACKAGE_OPENSSL_ENGINES
-	bool "openssl additional engines"
-	help
-	  Install additional encryption engine libraries.
-
-endif
package/openssl/openssl.mk +0 -7
index 1e5ea9b..2c8a96f 100644
@@ -151,12 +151,5 @@ endef
 OPENSSL_POST_INSTALL_TARGET_HOOKS += OPENSSL_REMOVE_PERL_SCRIPTS
 endif
 
-ifneq ($(BR2_PACKAGE_OPENSSL_ENGINES),y)
-define OPENSSL_REMOVE_OPENSSL_ENGINES
-	rm -rf $(TARGET_DIR)/usr/lib/engines
-endef
-OPENSSL_POST_INSTALL_TARGET_HOOKS += OPENSSL_REMOVE_OPENSSL_ENGINES
-endif
-
 $(eval $(generic-package))
 $(eval $(host-generic-package))
Signature · 6 lines
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
#3 lore raw

PATCH 1/2 openssl: remove binary install option

In reply to Gustavo Zacarias
Quoted 3 lines · Gustavo Zacarias

In preparation for the libssl virtual and libressl inclusion, also keeping with the KISS principle the binary can be removed in a post-build script if need be, so remove the option and add it in legacy.

I did a build of openssl on aarch64, and the openssl binary makes up almost 20%
of the package and 5% of a minimal filesystem (with glibc though). I think that's a fairly significant percentage, so I think it's worthwhile to keep this option.

Of course, people who care about size should probably use libressl :-)

How does it help for the libssl virtual package? For the engines I can
understand because other packages select it, but this one could stay, no?

Regards,
Arnout

Quoted 65 lines
---
 Config.in.legacy           | 8 ++++++++
 package/openssl/Config.in  | 7 -------
 package/openssl/openssl.mk | 8 --------
 3 files changed, 8 insertions(+), 15 deletions(-)
Config.in.legacy +8 -0
index 2e6062c..3bcd50d 100644
@@ -145,6 +145,14 @@ endif
 ###############################################################################
 comment "Legacy options removed in 2016.02"
 
+config BR2_PACKAGE_OPENSSL_BIN
+	bool "openssl binary option removed"
+	select BR2_LEGACY
+	help
+	  The openssl binary option has been removed. You can remove the
+	  binary from a post-build script if your target space is too
+	  constrained.
+
 config BR2_PACKAGE_PYTHON_PYXML
 	bool "python-pyxml package has been removed"
 	select BR2_LEGACY
package/openssl/Config.in +0 -7
index e08b648..dfbc850 100644
@@ -13,13 +13,6 @@ config BR2_PACKAGE_OPENSSL
 
 if BR2_PACKAGE_OPENSSL
 
-config BR2_PACKAGE_OPENSSL_BIN
-	bool "openssl binary"
-	help
-	  Install the openssl binary and the associated helper scripts to the
-	  target file system. This is a command line tool for doing various
-	  cryptographic stuff.
-
 config BR2_PACKAGE_OPENSSL_ENGINES
 	bool "openssl additional engines"
 	help
package/openssl/openssl.mk +0 -8
index c3ea08d..1e5ea9b 100644
@@ -151,14 +151,6 @@ endef
 OPENSSL_POST_INSTALL_TARGET_HOOKS += OPENSSL_REMOVE_PERL_SCRIPTS
 endif
 
-ifeq ($(BR2_PACKAGE_OPENSSL_BIN),)
-define OPENSSL_REMOVE_BIN
-	$(RM) -f $(TARGET_DIR)/usr/bin/openssl
-	$(RM) -f $(TARGET_DIR)/etc/ssl/misc/{CA.*,c_*}
-endef
-OPENSSL_POST_INSTALL_TARGET_HOOKS += OPENSSL_REMOVE_BIN
-endif
-
 ifneq ($(BR2_PACKAGE_OPENSSL_ENGINES),y)
 define OPENSSL_REMOVE_OPENSSL_ENGINES
 	rm -rf $(TARGET_DIR)/usr/lib/engines
Signature · 6 lines
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
#4 lore raw

PATCH 1/2 openssl: remove binary install option

Quoted 10 lines · Arnout Vandecappelle
Quoted 3 lines · Gustavo Zacarias

In preparation for the libssl virtual and libressl inclusion, also keeping with the KISS principle the binary can be removed in a post-build script if need be, so remove the option and add it in legacy.

I did a build of openssl on aarch64, and the openssl binary makes up almost 20%
of the package and 5% of a minimal filesystem (with glibc though). I think that's a fairly significant percentage, so I think it's worthwhile to keep this option.

Quoted 7 lines

Of course, people who care about size should probably use libressl :-)

How does it help for the libssl virtual package? For the engines I can
understand because other packages select it, but this one could stay, no?

Regards,
Arnout

Hi Arnout.
It helps in having matching options for both. Regarding engines libressl doesn't handle that. And in openssl we just remove the tool with that option - arguably we can do the same with libressl, but then other people might chime in for adding that same option to some other $package and we'd get an option overload.
Hence i found the opportunity a good one for cleaning up. Regards.