All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/6] package/libopenssl: use $(RM) instead of rm
@ 2024-06-21 16:10 Dario Binacchi
  2024-06-21 16:10 ` [Buildroot] [PATCH 2/6] package/libopenssl: replace engines-1.1 to engines-3 Dario Binacchi
                   ` (6 more replies)
  0 siblings, 7 replies; 13+ messages in thread
From: Dario Binacchi @ 2024-06-21 16:10 UTC (permalink / raw)
  To: buildroot; +Cc: Dario Binacchi, linux-amarula

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
 package/libopenssl/libopenssl.mk | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/package/libopenssl/libopenssl.mk b/package/libopenssl/libopenssl.mk
index d209bb8e96ba..88debf114a3b 100644
--- a/package/libopenssl/libopenssl.mk
+++ b/package/libopenssl/libopenssl.mk
@@ -135,8 +135,8 @@ endef
 
 define LIBOPENSSL_INSTALL_TARGET_CMDS
 	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install
-	rm -rf $(TARGET_DIR)/usr/lib/ssl
-	rm -f $(TARGET_DIR)/usr/bin/c_rehash
+	$(RM) -rf $(TARGET_DIR)/usr/lib/ssl
+	$(RM) -f $(TARGET_DIR)/usr/bin/c_rehash
 endef
 
 # libdl has no business in a static build
@@ -166,7 +166,7 @@ endif
 
 ifneq ($(BR2_PACKAGE_LIBOPENSSL_ENGINES),y)
 define LIBOPENSSL_REMOVE_LIBOPENSSL_ENGINES
-	rm -rf $(TARGET_DIR)/usr/lib/engines-1.1
+	$(RM) -rf $(TARGET_DIR)/usr/lib/engines-1.1
 endef
 LIBOPENSSL_POST_INSTALL_TARGET_HOOKS += LIBOPENSSL_REMOVE_LIBOPENSSL_ENGINES
 endif
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH 2/6] package/libopenssl: replace engines-1.1 to engines-3
  2024-06-21 16:10 [Buildroot] [PATCH 1/6] package/libopenssl: use $(RM) instead of rm Dario Binacchi
@ 2024-06-21 16:10 ` Dario Binacchi
  2024-07-08  6:52   ` Peter Korsgaard
  2024-06-21 16:10 ` [Buildroot] [PATCH 3/6] package/libopenssl: use consistent logic Dario Binacchi
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 13+ messages in thread
From: Dario Binacchi @ 2024-06-21 16:10 UTC (permalink / raw)
  To: buildroot; +Cc: Dario Binacchi, linux-amarula

The bump to version 3.0.9 and all subsequent updates forgot to change
the directory name, which remained that of version 1.1. The patch
fixes the directory name to be consistent with the version.

In the case the library was not built with engine support, this resulted
in the presence of files in the root file system that should have been
removed.

Fixes: 3c66f65a6a54 ("package/libopenssl: bump version to 3.0.9")
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
 package/libopenssl/libopenssl.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package/libopenssl/libopenssl.mk b/package/libopenssl/libopenssl.mk
index 88debf114a3b..14313a80fe74 100644
--- a/package/libopenssl/libopenssl.mk
+++ b/package/libopenssl/libopenssl.mk
@@ -166,7 +166,7 @@ endif
 
 ifneq ($(BR2_PACKAGE_LIBOPENSSL_ENGINES),y)
 define LIBOPENSSL_REMOVE_LIBOPENSSL_ENGINES
-	$(RM) -rf $(TARGET_DIR)/usr/lib/engines-1.1
+	$(RM) -rf $(TARGET_DIR)/usr/lib/engines-3
 endef
 LIBOPENSSL_POST_INSTALL_TARGET_HOOKS += LIBOPENSSL_REMOVE_LIBOPENSSL_ENGINES
 endif
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH 3/6] package/libopenssl: use consistent logic
  2024-06-21 16:10 [Buildroot] [PATCH 1/6] package/libopenssl: use $(RM) instead of rm Dario Binacchi
  2024-06-21 16:10 ` [Buildroot] [PATCH 2/6] package/libopenssl: replace engines-1.1 to engines-3 Dario Binacchi
@ 2024-06-21 16:10 ` Dario Binacchi
  2024-07-08  6:53   ` Peter Korsgaard
  2024-06-21 16:10 ` [Buildroot] [PATCH 4/6] package/libopenssl: use `no-apps' configuration option Dario Binacchi
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 13+ messages in thread
From: Dario Binacchi @ 2024-06-21 16:10 UTC (permalink / raw)
  To: buildroot; +Cc: Dario Binacchi, linux-amarula

The patch expresses the same condition in positive logic, consistent
with what has been coded in other parts of the module and generally
in Buildroot.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
 package/libopenssl/libopenssl.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package/libopenssl/libopenssl.mk b/package/libopenssl/libopenssl.mk
index 14313a80fe74..ed36fb593dde 100644
--- a/package/libopenssl/libopenssl.mk
+++ b/package/libopenssl/libopenssl.mk
@@ -164,7 +164,7 @@ endef
 LIBOPENSSL_POST_INSTALL_TARGET_HOOKS += LIBOPENSSL_REMOVE_BIN
 endif
 
-ifneq ($(BR2_PACKAGE_LIBOPENSSL_ENGINES),y)
+ifeq ($(BR2_PACKAGE_LIBOPENSSL_ENGINES),)
 define LIBOPENSSL_REMOVE_LIBOPENSSL_ENGINES
 	$(RM) -rf $(TARGET_DIR)/usr/lib/engines-3
 endef
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH 4/6] package/libopenssl: use `no-apps' configuration option
  2024-06-21 16:10 [Buildroot] [PATCH 1/6] package/libopenssl: use $(RM) instead of rm Dario Binacchi
  2024-06-21 16:10 ` [Buildroot] [PATCH 2/6] package/libopenssl: replace engines-1.1 to engines-3 Dario Binacchi
  2024-06-21 16:10 ` [Buildroot] [PATCH 3/6] package/libopenssl: use consistent logic Dario Binacchi
@ 2024-06-21 16:10 ` Dario Binacchi
  2024-07-08  6:53   ` Peter Korsgaard
  2024-06-21 16:10 ` [Buildroot] [PATCH 5/6] package/libopenssl: no-engine Dario Binacchi
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 13+ messages in thread
From: Dario Binacchi @ 2024-06-21 16:10 UTC (permalink / raw)
  To: buildroot; +Cc: Dario Binacchi, linux-amarula

With version 3.2.0 of OpenSSL, the "no-apps" configuration option was
added, which does not build apps, e.g. the openssl program. This is
handy for minimization. This option also disables tests.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
 package/libopenssl/libopenssl.mk | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/package/libopenssl/libopenssl.mk b/package/libopenssl/libopenssl.mk
index ed36fb593dde..fe472e2c7a19 100644
--- a/package/libopenssl/libopenssl.mk
+++ b/package/libopenssl/libopenssl.mk
@@ -84,6 +84,7 @@ define LIBOPENSSL_CONFIGURE_CMDS
 			no-fuzz-libfuzzer \
 			no-fuzz-afl \
 			no-afalgeng \
+			$(if $(BR2_PACKAGE_LIBOPENSSL_BIN),,no-apps) \
 			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_CHACHA),,no-chacha) \
 			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_RC2),,no-rc2) \
 			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_RC4),,no-rc4) \
@@ -156,14 +157,6 @@ endef
 LIBOPENSSL_POST_INSTALL_TARGET_HOOKS += LIBOPENSSL_REMOVE_PERL_SCRIPTS
 endif
 
-ifeq ($(BR2_PACKAGE_LIBOPENSSL_BIN),)
-define LIBOPENSSL_REMOVE_BIN
-	$(RM) -f $(TARGET_DIR)/usr/bin/openssl
-	$(RM) -f $(TARGET_DIR)/etc/ssl/misc/{CA.*,c_*}
-endef
-LIBOPENSSL_POST_INSTALL_TARGET_HOOKS += LIBOPENSSL_REMOVE_BIN
-endif
-
 ifeq ($(BR2_PACKAGE_LIBOPENSSL_ENGINES),)
 define LIBOPENSSL_REMOVE_LIBOPENSSL_ENGINES
 	$(RM) -rf $(TARGET_DIR)/usr/lib/engines-3
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH 5/6] package/libopenssl: no-engine
  2024-06-21 16:10 [Buildroot] [PATCH 1/6] package/libopenssl: use $(RM) instead of rm Dario Binacchi
                   ` (2 preceding siblings ...)
  2024-06-21 16:10 ` [Buildroot] [PATCH 4/6] package/libopenssl: use `no-apps' configuration option Dario Binacchi
@ 2024-06-21 16:10 ` Dario Binacchi
  2024-07-08  6:53   ` Peter Korsgaard
  2024-06-21 16:10 ` [Buildroot] [PATCH 6/6] package/libopenssl: add new configuration options Dario Binacchi
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 13+ messages in thread
From: Dario Binacchi @ 2024-06-21 16:10 UTC (permalink / raw)
  To: buildroot; +Cc: Dario Binacchi, linux-amarula

Even though the "no-engine" option effectively disables the compilation
of the engine, it still creates the installation directory, which ends up
being empty. For this reason, the patch does not remove the hook for
removing the directory if the BR2_PACKAGE_LIBOPENSSL_ENGINES option is
not enabled.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
 package/libopenssl/libopenssl.mk | 1 +
 1 file changed, 1 insertion(+)

diff --git a/package/libopenssl/libopenssl.mk b/package/libopenssl/libopenssl.mk
index fe472e2c7a19..89a9189bb851 100644
--- a/package/libopenssl/libopenssl.mk
+++ b/package/libopenssl/libopenssl.mk
@@ -85,6 +85,7 @@ define LIBOPENSSL_CONFIGURE_CMDS
 			no-fuzz-afl \
 			no-afalgeng \
 			$(if $(BR2_PACKAGE_LIBOPENSSL_BIN),,no-apps) \
+			$(if $(BR2_PACKAGE_LIBOPENSSL_ENGINES),,no-engine) \
 			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_CHACHA),,no-chacha) \
 			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_RC2),,no-rc2) \
 			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_RC4),,no-rc4) \
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH 6/6] package/libopenssl: add new configuration options
  2024-06-21 16:10 [Buildroot] [PATCH 1/6] package/libopenssl: use $(RM) instead of rm Dario Binacchi
                   ` (3 preceding siblings ...)
  2024-06-21 16:10 ` [Buildroot] [PATCH 5/6] package/libopenssl: no-engine Dario Binacchi
@ 2024-06-21 16:10 ` Dario Binacchi
  2024-06-23 20:59   ` Yann E. MORIN
  2024-06-23 20:47 ` [Buildroot] [PATCH 1/6] package/libopenssl: use $(RM) instead of rm Yann E. MORIN
  2024-07-08  6:52 ` Peter Korsgaard
  6 siblings, 1 reply; 13+ messages in thread
From: Dario Binacchi @ 2024-06-21 16:10 UTC (permalink / raw)
  To: buildroot; +Cc: Dario Binacchi, linux-amarula

The transition from version 1.1 to 3.0.9, and subsequently to 3.3.1,
added new compilation options. This led to a significant increase in the
size of the library. These options allow user to disable these features
to obtain a smaller library size.

To ensure backward compatibility, all items are selected by default.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
 package/libopenssl/Config.in     | 106 +++++++++++++++++++++++++++++++
 package/libopenssl/libopenssl.mk |  14 ++++
 2 files changed, 120 insertions(+)

diff --git a/package/libopenssl/Config.in b/package/libopenssl/Config.in
index 0c8db52e2e1d..036b68241864 100644
--- a/package/libopenssl/Config.in
+++ b/package/libopenssl/Config.in
@@ -133,4 +133,110 @@ config BR2_PACKAGE_LIBOPENSSL_ENABLE_COMP
 	bool "enable compression"
 	default y
 
+config BR2_PACKAGE_LIBOPENSSL_ENABLE_ARGON2
+	bool "enable ARGON2"
+	default y
+
+config BR2_PACKAGE_LIBOPENSSL_ENABLE_CACHED_FETCH
+	bool "enable cached fetch"
+	default y
+	help
+	  Cache algorithms when they are fetched from a provider.
+	  Normally, a provider indicates if the algorithms it supplies
+	  can be cached or not. Using this option will reduce run-time
+	  memory usage but it also introduces a significant performance
+	  penalty. This option is primarily designed to help with
+	  detecting incorrect reference counting.
+
+config BR2_PACKAGE_LIBOPENSSL_ENABLE_CMP
+	bool "enable CMP"
+	default y
+	help
+	  Build support for Certificate Management Protocol (CMP) and
+	  Certificate Request Message Format (CRMF).
+
+config BR2_PACKAGE_LIBOPENSSL_ENABLE_THREAD_POOL
+	bool "enable thread pool"
+	default y
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	help
+	  Build with thread pool functionality. If enabled, OpenSSL
+	  algorithms may use the thread pool to perform parallel
+	  computation. This option in itself does not enable OpenSSL
+	  to spawn new threads. Currently the only supported thread
+	  pool mechanism is the default thread pool.
+
+config BR2_PACKAGE_LIBOPENSSL_ENABLE_DEFAULT_THREAD_POOL
+	bool "enable default thread pool"
+	default y
+	depends on BR2_PACKAGE_LIBOPENSSL_ENABLE_THREAD_POOL
+	help
+	  Build with default thread pool functionality. If enabled,
+	  OpenSSL may create and manage threads up to a maximum number
+	  of threads authorized by the application. Supported on POSIX
+	  compliant platforms.
+
+config BR2_PACKAGE_LIBOPENSSL_ENABLE_ECX
+	bool "enable ECX"
+	default y
+	help
+	  Build with ECX support. Disabling this option can be used
+	  to disable support for X25519, X448, and EdDSA.
+
+config BR2_PACKAGE_LIBOPENSSL_ENABLE_LOADER_ENGINE
+	bool "enable 'loader_attic' engine"
+	default y
+	depends on BR2_PACKAGE_LIBOPENSSL_DYNAMIC_ENGINE
+	help
+	  Build with 'loader_attic' engine support, which is meant
+	  just for internal OpenSSL testing purposes and supports
+	  loading keys, parameters, certificates, and CRLs from files.
+	  When this engine is used, files with such credentials are
+	  read via this engine.
+
+config BR2_PACKAGE_LIBOPENSSL_ENABLE_PADLOCK_ENGINE
+	bool "enable padlock engine"
+	default y
+	help
+	  Build the padlock engine.
+
+config BR2_PACKAGE_LIBOPENSSL_ENABLE_MODULE
+	bool "enable modules"
+	default y
+	help
+	  Build modules.
+
+config BR2_PACKAGE_LIBOPENSSL_ENABLE_QUIC
+	bool "enable QUIC"
+	default y
+	help
+	  Build with QUIC support.
+
+config BR2_PACKAGE_LIBOPENSSL_SECURE_MEMORY
+	bool "enable secure memory"
+	default y
+	help
+	  Build with secure memory support.
+
+config BR2_PACKAGE_LIBOPENSSL_ENABLE_SIV
+	bool "enable SIV"
+	default y
+	help
+	  Build with RFC5297 AES-SIV support.
+
+config BR2_PACKAGE_LIBOPENSSL_ENABLE_SM2_PRECOMP_TABLE
+	bool "enable SM2 precomputed table"
+	default y
+	depends on BR2_aarch64
+	help
+	  Enable using the SM2 precomputed table. Disabling this option
+	  makes the library smaller.
+
+config BR2_PACKAGE_LIBOPENSSL_ENABLE_SSL_TRACE
+	bool "enable SSL trace"
+	default y
+	help
+	  Build with SSL Trace support. Disabling this option may
+	  provide a small reduction in libssl binary size.
+
 endif # BR2_PACKAGE_LIBOPENSSL
diff --git a/package/libopenssl/libopenssl.mk b/package/libopenssl/libopenssl.mk
index 89a9189bb851..ab8454657ebf 100644
--- a/package/libopenssl/libopenssl.mk
+++ b/package/libopenssl/libopenssl.mk
@@ -107,6 +107,20 @@ define LIBOPENSSL_CONFIGURE_CMDS
 			$(if $(BR2_PACKAGE_LIBOPENSSL_UNSECURE),,no-unit-test no-crypto-mdebug no-autoerrinit) \
 			$(if $(BR2_PACKAGE_LIBOPENSSL_DYNAMIC_ENGINE),,no-dynamic-engine ) \
 			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_COMP),,no-comp) \
+			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_ARGON2),,no-argon2) \
+			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_CACHED_FETCH),,no-cached-fetch) \
+			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_CMP),,no-cmp) \
+			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_THREAD_POOL),,no-thread-pool) \
+			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_DEFAULT_THREAD_POOL),,no-default-thread-pool) \
+			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_ECX),,no-ecx) \
+			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_LOADER_ENGINE),,no-loadereng) \
+			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_PADLOCK_ENGINE),,no-padlockeng) \
+			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_MODULE),,no-module) \
+			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_QUIC),,no-quic) \
+			$(if $(BR2_PACKAGE_LIBOPENSSL_SECURE_MEMORY),,no-secure-memory) \
+			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_SIV),,no-siv) \
+			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_SM2_PRECOMP_TABLE),,no-sm2-precomp) \
+			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_SSL_TRACE),,no-ssl-trace) \
 			$(if $(BR2_STATIC_LIBS),zlib,zlib-dynamic) \
 			$(if $(BR2_STATIC_LIBS),no-dso)
 endef
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [Buildroot] [PATCH 1/6] package/libopenssl: use $(RM) instead of rm
  2024-06-21 16:10 [Buildroot] [PATCH 1/6] package/libopenssl: use $(RM) instead of rm Dario Binacchi
                   ` (4 preceding siblings ...)
  2024-06-21 16:10 ` [Buildroot] [PATCH 6/6] package/libopenssl: add new configuration options Dario Binacchi
@ 2024-06-23 20:47 ` Yann E. MORIN
  2024-07-08  6:52 ` Peter Korsgaard
  6 siblings, 0 replies; 13+ messages in thread
From: Yann E. MORIN @ 2024-06-23 20:47 UTC (permalink / raw)
  To: Dario Binacchi; +Cc: linux-amarula, buildroot

Dario, All,

On 2024-06-21 18:10 +0200, Dario Binacchi spake thusly:
> Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>

I've applied patches 1-5 to master, thanks!

Regards,
Yann E. MORIN.

> ---
>  package/libopenssl/libopenssl.mk | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/package/libopenssl/libopenssl.mk b/package/libopenssl/libopenssl.mk
> index d209bb8e96ba..88debf114a3b 100644
> --- a/package/libopenssl/libopenssl.mk
> +++ b/package/libopenssl/libopenssl.mk
> @@ -135,8 +135,8 @@ endef
>  
>  define LIBOPENSSL_INSTALL_TARGET_CMDS
>  	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install
> -	rm -rf $(TARGET_DIR)/usr/lib/ssl
> -	rm -f $(TARGET_DIR)/usr/bin/c_rehash
> +	$(RM) -rf $(TARGET_DIR)/usr/lib/ssl
> +	$(RM) -f $(TARGET_DIR)/usr/bin/c_rehash
>  endef
>  
>  # libdl has no business in a static build
> @@ -166,7 +166,7 @@ endif
>  
>  ifneq ($(BR2_PACKAGE_LIBOPENSSL_ENGINES),y)
>  define LIBOPENSSL_REMOVE_LIBOPENSSL_ENGINES
> -	rm -rf $(TARGET_DIR)/usr/lib/engines-1.1
> +	$(RM) -rf $(TARGET_DIR)/usr/lib/engines-1.1
>  endef
>  LIBOPENSSL_POST_INSTALL_TARGET_HOOKS += LIBOPENSSL_REMOVE_LIBOPENSSL_ENGINES
>  endif
> -- 
> 2.43.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Buildroot] [PATCH 6/6] package/libopenssl: add new configuration options
  2024-06-21 16:10 ` [Buildroot] [PATCH 6/6] package/libopenssl: add new configuration options Dario Binacchi
@ 2024-06-23 20:59   ` Yann E. MORIN
  0 siblings, 0 replies; 13+ messages in thread
From: Yann E. MORIN @ 2024-06-23 20:59 UTC (permalink / raw)
  To: Dario Binacchi; +Cc: linux-amarula, buildroot

Dario, All,

On 2024-06-21 18:10 +0200, Dario Binacchi spake thusly:
> The transition from version 1.1 to 3.0.9, and subsequently to 3.3.1,
> added new compilation options. This led to a significant increase in the
> size of the library. These options allow user to disable these features
> to obtain a smaller library size.
> 
> To ensure backward compatibility, all items are selected by default.
> 
> Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> ---
[--SNIP--]
> +config BR2_PACKAGE_LIBOPENSSL_ENABLE_THREAD_POOL
> +	bool "enable thread pool"
> +	default y
> +	depends on BR2_TOOLCHAIN_HAS_THREADS
> +	help
> +	  Build with thread pool functionality. If enabled, OpenSSL
> +	  algorithms may use the thread pool to perform parallel
> +	  computation. This option in itself does not enable OpenSSL
> +	  to spawn new threads. Currently the only supported thread
> +	  pool mechanism is the default thread pool.
> +
> +config BR2_PACKAGE_LIBOPENSSL_ENABLE_DEFAULT_THREAD_POOL
> +	bool "enable default thread pool"
> +	default y
> +	depends on BR2_PACKAGE_LIBOPENSSL_ENABLE_THREAD_POOL
> +	help
> +	  Build with default thread pool functionality. If enabled,
> +	  OpenSSL may create and manage threads up to a maximum number
> +	  of threads authorized by the application. Supported on POSIX
> +	  compliant platforms.

I'm not sure I understand how those two play together...

If I understand correctly, BR2_PACKAGE_LIBOPENSSL_ENABLE_THREAD_POOL
only adds support for using a thread-pool, but ativates not such
thread-pool.

When thread-pool support is enabled, we then can also enable
BR2_PACKAGE_LIBOPENSSL_ENABLE_DEFAULT_THREAD_POOL, to actually add a
thread-pool implementation.

If only the first is enabled, I don;t see how that would be useful in
practice: the code has support for thread-pools but none is available,
and I doubt they might be added at runtime..

So, can't we have a single option enables the default thread-pool?

    config BR2_PACKAGE_LIBOPENSSL_ENABLE_THREAD_POOL
        bool "enabled thread-pool"
        default y
        depends on BR2_TOOLCHAIN_HAS_THREADS
        help
          Build with thread pool functionality. If enabled, OpenSSL
          algorithms may use the thread pool to perform parallel
          computation. This option in itself does not enable OpenSSL
          to spawn new threads. Currently the only supported thread
          pool mechanism is the default thread pool.

And then in the .mk:

    $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_THREAD_POOL),,no-thread-pool no-default-thread-pool)

Uness I missed something, in which case a bit more information might be
needed in the commit log; it may even warrant being in its own change,
separated from the other, uncontroversial, options.

Regards,
Yann E. MORIN.

>  endif # BR2_PACKAGE_LIBOPENSSL
> diff --git a/package/libopenssl/libopenssl.mk b/package/libopenssl/libopenssl.mk
> index 89a9189bb851..ab8454657ebf 100644
> --- a/package/libopenssl/libopenssl.mk
> +++ b/package/libopenssl/libopenssl.mk
> @@ -107,6 +107,20 @@ define LIBOPENSSL_CONFIGURE_CMDS
>  			$(if $(BR2_PACKAGE_LIBOPENSSL_UNSECURE),,no-unit-test no-crypto-mdebug no-autoerrinit) \
>  			$(if $(BR2_PACKAGE_LIBOPENSSL_DYNAMIC_ENGINE),,no-dynamic-engine ) \
>  			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_COMP),,no-comp) \
> +			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_ARGON2),,no-argon2) \
> +			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_CACHED_FETCH),,no-cached-fetch) \
> +			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_CMP),,no-cmp) \
> +			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_THREAD_POOL),,no-thread-pool) \
> +			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_DEFAULT_THREAD_POOL),,no-default-thread-pool) \
> +			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_ECX),,no-ecx) \
> +			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_LOADER_ENGINE),,no-loadereng) \
> +			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_PADLOCK_ENGINE),,no-padlockeng) \
> +			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_MODULE),,no-module) \
> +			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_QUIC),,no-quic) \
> +			$(if $(BR2_PACKAGE_LIBOPENSSL_SECURE_MEMORY),,no-secure-memory) \
> +			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_SIV),,no-siv) \
> +			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_SM2_PRECOMP_TABLE),,no-sm2-precomp) \
> +			$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_SSL_TRACE),,no-ssl-trace) \
>  			$(if $(BR2_STATIC_LIBS),zlib,zlib-dynamic) \
>  			$(if $(BR2_STATIC_LIBS),no-dso)
>  endef
> -- 
> 2.43.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Buildroot] [PATCH 1/6] package/libopenssl: use $(RM) instead of rm
  2024-06-21 16:10 [Buildroot] [PATCH 1/6] package/libopenssl: use $(RM) instead of rm Dario Binacchi
                   ` (5 preceding siblings ...)
  2024-06-23 20:47 ` [Buildroot] [PATCH 1/6] package/libopenssl: use $(RM) instead of rm Yann E. MORIN
@ 2024-07-08  6:52 ` Peter Korsgaard
  6 siblings, 0 replies; 13+ messages in thread
From: Peter Korsgaard @ 2024-07-08  6:52 UTC (permalink / raw)
  To: Dario Binacchi; +Cc: linux-amarula, buildroot

>>>>> "Dario" == Dario Binacchi <dario.binacchi@amarulasolutions.com> writes:

 > Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>

Committed to 2024.02.x and 2024.05.x, thanks.

-- 
Bye, Peter Korsgaard
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Buildroot] [PATCH 2/6] package/libopenssl: replace engines-1.1 to engines-3
  2024-06-21 16:10 ` [Buildroot] [PATCH 2/6] package/libopenssl: replace engines-1.1 to engines-3 Dario Binacchi
@ 2024-07-08  6:52   ` Peter Korsgaard
  0 siblings, 0 replies; 13+ messages in thread
From: Peter Korsgaard @ 2024-07-08  6:52 UTC (permalink / raw)
  To: Dario Binacchi; +Cc: linux-amarula, buildroot

>>>>> "Dario" == Dario Binacchi <dario.binacchi@amarulasolutions.com> writes:

 > The bump to version 3.0.9 and all subsequent updates forgot to change
 > the directory name, which remained that of version 1.1. The patch
 > fixes the directory name to be consistent with the version.

 > In the case the library was not built with engine support, this resulted
 > in the presence of files in the root file system that should have been
 > removed.

 > Fixes: 3c66f65a6a54 ("package/libopenssl: bump version to 3.0.9")
 > Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>

Committed to 2024.02.x and 2024.05.x, thanks.

-- 
Bye, Peter Korsgaard
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Buildroot] [PATCH 3/6] package/libopenssl: use consistent logic
  2024-06-21 16:10 ` [Buildroot] [PATCH 3/6] package/libopenssl: use consistent logic Dario Binacchi
@ 2024-07-08  6:53   ` Peter Korsgaard
  0 siblings, 0 replies; 13+ messages in thread
From: Peter Korsgaard @ 2024-07-08  6:53 UTC (permalink / raw)
  To: Dario Binacchi; +Cc: linux-amarula, buildroot

>>>>> "Dario" == Dario Binacchi <dario.binacchi@amarulasolutions.com> writes:

 > The patch expresses the same condition in positive logic, consistent
 > with what has been coded in other parts of the module and generally
 > in Buildroot.

 > Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>

Committed to 2024.02.x and 2024.05.x, thanks.

-- 
Bye, Peter Korsgaard
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Buildroot] [PATCH 4/6] package/libopenssl: use `no-apps' configuration option
  2024-06-21 16:10 ` [Buildroot] [PATCH 4/6] package/libopenssl: use `no-apps' configuration option Dario Binacchi
@ 2024-07-08  6:53   ` Peter Korsgaard
  0 siblings, 0 replies; 13+ messages in thread
From: Peter Korsgaard @ 2024-07-08  6:53 UTC (permalink / raw)
  To: Dario Binacchi; +Cc: linux-amarula, buildroot

>>>>> "Dario" == Dario Binacchi <dario.binacchi@amarulasolutions.com> writes:

 > With version 3.2.0 of OpenSSL, the "no-apps" configuration option was
 > added, which does not build apps, e.g. the openssl program. This is
 > handy for minimization. This option also disables tests.

 > Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>

Committed to 2024.02.x and 2024.05.x, thanks.

-- 
Bye, Peter Korsgaard
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Buildroot] [PATCH 5/6] package/libopenssl: no-engine
  2024-06-21 16:10 ` [Buildroot] [PATCH 5/6] package/libopenssl: no-engine Dario Binacchi
@ 2024-07-08  6:53   ` Peter Korsgaard
  0 siblings, 0 replies; 13+ messages in thread
From: Peter Korsgaard @ 2024-07-08  6:53 UTC (permalink / raw)
  To: Dario Binacchi; +Cc: linux-amarula, buildroot

>>>>> "Dario" == Dario Binacchi <dario.binacchi@amarulasolutions.com> writes:

 > Even though the "no-engine" option effectively disables the compilation
 > of the engine, it still creates the installation directory, which ends up
 > being empty. For this reason, the patch does not remove the hook for
 > removing the directory if the BR2_PACKAGE_LIBOPENSSL_ENGINES option is
 > not enabled.

 > Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>

Committed to 2024.02.x and 2024.05.x, thanks.

-- 
Bye, Peter Korsgaard
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2024-07-08  6:54 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-21 16:10 [Buildroot] [PATCH 1/6] package/libopenssl: use $(RM) instead of rm Dario Binacchi
2024-06-21 16:10 ` [Buildroot] [PATCH 2/6] package/libopenssl: replace engines-1.1 to engines-3 Dario Binacchi
2024-07-08  6:52   ` Peter Korsgaard
2024-06-21 16:10 ` [Buildroot] [PATCH 3/6] package/libopenssl: use consistent logic Dario Binacchi
2024-07-08  6:53   ` Peter Korsgaard
2024-06-21 16:10 ` [Buildroot] [PATCH 4/6] package/libopenssl: use `no-apps' configuration option Dario Binacchi
2024-07-08  6:53   ` Peter Korsgaard
2024-06-21 16:10 ` [Buildroot] [PATCH 5/6] package/libopenssl: no-engine Dario Binacchi
2024-07-08  6:53   ` Peter Korsgaard
2024-06-21 16:10 ` [Buildroot] [PATCH 6/6] package/libopenssl: add new configuration options Dario Binacchi
2024-06-23 20:59   ` Yann E. MORIN
2024-06-23 20:47 ` [Buildroot] [PATCH 1/6] package/libopenssl: use $(RM) instead of rm Yann E. MORIN
2024-07-08  6:52 ` Peter Korsgaard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.