Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v3 1/3] libssl: new virtual package
@ 2017-06-26 16:25 Adam Duskett
  2017-06-26 16:25 ` [Buildroot] [PATCH v3 2/3] package configs: add select BR2_PACKAGE_LIBSSL Adam Duskett
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Adam Duskett @ 2017-06-26 16:25 UTC (permalink / raw)
  To: buildroot

libressl is API compatible with OpenSSL 1.0.1 and is almost API
compatible with OpenSSL 1.0.2.  As such, a new virtual package is needed
to handle having both libressl and openssl.

To start, add OpenSSL as the only provider. In the following patches
libressl will also be added as a provider.

Signed-off-by: Adam Duskett <aduskett@codeblue.com>
---
Changes v2 -> v3:
  - Moved this patch to the start of the series. (Thomas)
  - Made the virtual package closer to that of jpeg. (Thomas)
  - Added OpenSSL as the default provider.
  - Removed openssl/Config.in.
  - Removed source "package/openssl/Config.in" in package/Config.in

Changes v1 -> v2:
  - None.
    
 package/Config.in          |  2 +-
 package/libssl/Config.in   | 53 ++++++++++++++++++++++++++++++++++++++++++++++
 package/libssl/libssl.mk   |  8 +++++++
 package/openssl/Config.in  | 28 ------------------------
 package/openssl/openssl.mk |  1 +
 5 files changed, 63 insertions(+), 29 deletions(-)
 create mode 100644 package/libssl/Config.in
 create mode 100644 package/libssl/libssl.mk
 delete mode 100644 package/openssl/Config.in

diff --git a/package/Config.in b/package/Config.in
index f69f67f..3e42f56 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -978,6 +978,7 @@ menu "Crypto"
 	source "package/libscrypt/Config.in"
 	source "package/libsecret/Config.in"
 	source "package/libsha1/Config.in"
+	source "package/libssl/Config.in"
 	source "package/libsodium/Config.in"
 	source "package/libssh/Config.in"
 	source "package/libssh2/Config.in"
@@ -985,7 +986,6 @@ menu "Crypto"
 	source "package/libuecc/Config.in"
 	source "package/mbedtls/Config.in"
 	source "package/nettle/Config.in"
-	source "package/openssl/Config.in"
 	source "package/rhash/Config.in"
 	source "package/tinydtls/Config.in"
 	source "package/trousers/Config.in"
diff --git a/package/libssl/Config.in b/package/libssl/Config.in
new file mode 100644
index 0000000..5b912e6
--- /dev/null
+++ b/package/libssl/Config.in
@@ -0,0 +1,53 @@
+config BR2_PACKAGE_LIBSSL
+	bool "libssl support"
+	help
+	  Select the desired ssl library provider.
+
+if BR2_PACKAGE_LIBSSL
+
+choice
+	prompt "libssl variant"
+	default BR2_PACKAGE_OPENSSL
+	help
+	  Select OpenSSL
+
+config BR2_PACKAGE_OPENSSL
+	bool "openssl"
+	select BR2_PACKAGE_ZLIB
+	select BR2_PACKAGE_HAS_LIBSSL
+	help
+	  A collaborative effort to develop a robust, commercial-grade,
+	  fully featured, and Open Source toolkit implementing the
+	  Secure Sockets Layer (SSL v2/v3) and Transport Security
+	  (TLS v1) as well as a full-strength general-purpose
+	  cryptography library.
+
+	  http://www.openssl.org/
+	  Note: Some helper scripts need perl.
+
+endchoice
+
+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
+	  Install additional encryption engine libraries.
+
+endif
+
+config BR2_PACKAGE_HAS_LIBSSL
+	bool
+
+config BR2_PACKAGE_PROVIDES_LIBSSL
+	string
+	default "openssl"    if BR2_PACKAGE_OPENSSL
+
+endif
diff --git a/package/libssl/libssl.mk b/package/libssl/libssl.mk
new file mode 100644
index 0000000..3bd775d
--- /dev/null
+++ b/package/libssl/libssl.mk
@@ -0,0 +1,7 @@
+################################################################################
+#
+# libssl
+#
+################################################################################
+
+$(eval $(virtual-package))
diff --git a/package/openssl/Config.in b/package/openssl/Config.in
deleted file mode 100644
index e08b648..0000000
--- a/package/openssl/Config.in
+++ /dev/null
@@ -1,28 +0,0 @@
-config BR2_PACKAGE_OPENSSL
-	bool "openssl"
-	select BR2_PACKAGE_ZLIB
-	help
-	  A collaborative effort to develop a robust, commercial-grade, fully
-	  featured, and Open Source toolkit implementing the Secure Sockets
-	  Layer (SSL v2/v3) and Transport Security (TLS v1) as well as a
-	  full-strength general-purpose cryptography library.
-
-	  http://www.openssl.org/
-
-	  Note: Some helper scripts need perl.
-
-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
-	  Install additional encryption engine libraries.
-
-endif
diff --git a/package/openssl/openssl.mk b/package/openssl/openssl.mk
index 5f56b44..c028290 100644
--- a/package/openssl/openssl.mk
+++ b/package/openssl/openssl.mk
@@ -10,6 +10,7 @@ OPENSSL_LICENSE = OpenSSL or SSLeay
 OPENSSL_LICENSE_FILES = LICENSE
 OPENSSL_INSTALL_STAGING = YES
 OPENSSL_DEPENDENCIES = zlib
+OPENSSL_PROVIDES = libssl
 HOST_OPENSSL_DEPENDENCIES = host-zlib
 OPENSSL_TARGET_ARCH = generic32
 OPENSSL_CFLAGS = $(TARGET_CFLAGS)
-- 
2.9.4

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

* [Buildroot] [PATCH v3 2/3] package configs: add select BR2_PACKAGE_LIBSSL
  2017-06-26 16:25 [Buildroot] [PATCH v3 1/3] libssl: new virtual package Adam Duskett
@ 2017-06-26 16:25 ` Adam Duskett
  2017-06-26 16:25 ` [Buildroot] [PATCH v3 3/3] libressl: new package Adam Duskett
  2017-07-05 19:50 ` [Buildroot] [PATCH v3 1/3] libssl: new virtual package Arnout Vandecappelle
  2 siblings, 0 replies; 8+ messages in thread
From: Adam Duskett @ 2017-06-26 16:25 UTC (permalink / raw)
  To: buildroot

Many packages select BR2_PACKAGE_OPENSSL.  This will build openssl
without a problem; however, in menuconfig, this doesn't select
libssl, which may confuse users.

This patch adds select BR2_PACKAGE_LIBSSL to any package that
selects select BR2_PACKAGE_OPENSSL.

Signed-off-by: Adam Duskett <aduskett@codeblue.com>
---
 package/aircrack-ng/Config.in                 | 1 +
 package/alljoyn-base/Config.in                | 1 +
 package/alljoyn/Config.in                     | 1 +
 package/android-tools/Config.in               | 2 ++
 package/clamav/Config.in                      | 1 +
 package/collectd/Config.in                    | 1 +
 package/curlftpfs/Config.in                   | 1 +
 package/domoticz/Config.in                    | 1 +
 package/dovecot/Config.in                     | 1 +
 package/ejabberd/Config.in                    | 1 +
 package/erlang-p1-tls/Config.in               | 1 +
 package/fetchmail/Config.in                   | 1 +
 package/filemq/Config.in                      | 1 +
 package/flickcurl/Config.in                   | 1 +
 package/freerdp/Config.in                     | 1 +
 package/freeswitch/Config.in                  | 1 +
 package/git-crypt/Config.in                   | 1 +
 package/gstreamer/gst-plugins-bad/Config.in   | 1 +
 package/gstreamer1/gst1-plugins-bad/Config.in | 2 ++
 package/ipmitool/Config.in                    | 1 +
 package/ipsec-tools/Config.in                 | 1 +
 package/irssi/Config.in                       | 1 +
 package/janus-gateway/Config.in               | 1 +
 package/keepalived/Config.in                  | 1 +
 package/kodi/Config.in                        | 1 +
 package/lftp/Config.in                        | 1 +
 package/libfreefare/Config.in                 | 1 +
 package/libldns/Config.in                     | 1 +
 package/liboauth/Config.in                    | 1 +
 package/libssh/Config.in                      | 1 +
 package/libssh2/Config.in                     | 1 +
 package/libstrophe/Config.in                  | 1 +
 package/lighttpd/Config.in                    | 1 +
 package/luacrypto/Config.in                   | 1 +
 package/luaossl/Config.in                     | 1 +
 package/luasec/Config.in                      | 1 +
 package/mysql/Config.in                       | 1 +
 package/neon/Config.in                        | 1 +
 package/netatalk/Config.in                    | 1 +
 package/nginx-upload/Config.in                | 1 +
 package/nginx/Config.in                       | 2 ++
 package/nodejs/Config.in                      | 1 +
 package/ntp/Config.in                         | 1 +
 package/openssh/Config.in                     | 1 +
 package/openvpn/Config.in                     | 1 +
 package/perl-crypt-openssl-random/Config.in   | 1 +
 package/perl-net-ssleay/Config.in             | 1 +
 package/poco/Config.in                        | 2 ++
 package/pound/Config.in                       | 1 +
 package/python-cryptography/Config.in         | 1 +
 package/python/Config.in                      | 1 +
 package/python3/Config.in                     | 1 +
 package/qt-webkit-kiosk/Config.in             | 1 +
 package/qt/Config.in                          | 1 +
 package/qt5/qt5enginio/Config.in              | 1 +
 package/rabbitmq-server/Config.in             | 1 +
 package/rdesktop/Config.in                    | 1 +
 package/rtorrent/Config.in                    | 1 +
 package/scrypt/Config.in                      | 1 +
 package/shairport-sync/Config.in              | 1 +
 package/shellinabox/Config.in                 | 1 +
 package/snmppp/Config.in                      | 1 +
 package/softether/Config.in                   | 1 +
 package/spice/Config.in                       | 1 +
 package/sqlcipher/Config.in                   | 1 +
 package/strongswan/Config.in                  | 1 +
 package/stunnel/Config.in                     | 1 +
 package/synergy/Config.in                     | 1 +
 package/syslog-ng/Config.in                   | 1 +
 package/thrift/Config.in                      | 1 +
 package/tinc/Config.in                        | 1 +
 package/tor/Config.in                         | 1 +
 package/tpm-tools/Config.in                   | 1 +
 package/transmission/Config.in                | 1 +
 package/trousers/Config.in                    | 1 +
 package/tvheadend/Config.in                   | 1 +
 package/uboot-tools/Config.in                 | 1 +
 package/ustream-ssl/Config.in                 | 1 +
 package/vtun/Config.in                        | 1 +
 package/xen/Config.in                         | 1 +
 package/xl2tp/Config.in                       | 1 +
 81 files changed, 85 insertions(+)

diff --git a/package/aircrack-ng/Config.in b/package/aircrack-ng/Config.in
index 2164ad4..0f8b8bf 100644
--- a/package/aircrack-ng/Config.in
+++ b/package/aircrack-ng/Config.in
@@ -6,6 +6,7 @@ config BR2_PACKAGE_AIRCRACK_NG
 	# libnl has issues when linking statically
 	# they need fixing in libnl itself
 	select BR2_PACKAGE_LIBNL if !BR2_STATIC_LIBS
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_ZLIB
 	help
diff --git a/package/alljoyn-base/Config.in b/package/alljoyn-base/Config.in
index 8556d66..b6fcad8 100644
--- a/package/alljoyn-base/Config.in
+++ b/package/alljoyn-base/Config.in
@@ -7,6 +7,7 @@ config BR2_PACKAGE_ALLJOYN_BASE
 	depends on BR2_USE_WCHAR # alljoyn
 	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # alljoyn
 	select BR2_PACKAGE_ALLJOYN
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_ALLJOYN_BASE_CONTROLPANEL if \
 		!BR2_PACKAGE_ALLJOYN_BASE_NOTIFICATION && \
diff --git a/package/alljoyn/Config.in b/package/alljoyn/Config.in
index 6eb417d..c33515a 100644
--- a/package/alljoyn/Config.in
+++ b/package/alljoyn/Config.in
@@ -7,6 +7,7 @@ config BR2_PACKAGE_ALLJOYN
 	depends on BR2_TOOLCHAIN_HAS_THREADS
 	depends on BR2_USE_WCHAR
 	select BR2_PACKAGE_LIBCAP
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  The AllJoyn framework defines a common way for devices and
diff --git a/package/android-tools/Config.in b/package/android-tools/Config.in
index 96e36e6..0addf3b 100644
--- a/package/android-tools/Config.in
+++ b/package/android-tools/Config.in
@@ -58,6 +58,7 @@ comment "fastboot needs headers >= 3.10 (PowerPC64), headers >= 3.16 (MIPS64)"
 config BR2_PACKAGE_ANDROID_TOOLS_ADB
 	bool "adb"
 	depends on BR2_USE_MMU # uses fork()
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_ZLIB
 	help
@@ -68,6 +69,7 @@ config BR2_PACKAGE_ANDROID_TOOLS_ADB
 config BR2_PACKAGE_ANDROID_TOOLS_ADBD
 	bool "adbd"
 	depends on BR2_USE_MMU # uses fork()
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_ZLIB
 	help
diff --git a/package/clamav/Config.in b/package/clamav/Config.in
index a962103..ddc7c96 100644
--- a/package/clamav/Config.in
+++ b/package/clamav/Config.in
@@ -4,6 +4,7 @@ config BR2_PACKAGE_CLAMAV
 	depends on BR2_USE_MMU # fork()
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
 	select BR2_PACKAGE_LIBTOOL
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_ZLIB
 	help
diff --git a/package/collectd/Config.in b/package/collectd/Config.in
index ccd3fbe..ecbc7d2 100644
--- a/package/collectd/Config.in
+++ b/package/collectd/Config.in
@@ -67,6 +67,7 @@ config BR2_PACKAGE_COLLECTD_NOTIFY_EMAIL
 	bool "notify_email"
 	depends on !BR2_STATIC_LIBS # libesmtp
 	select BR2_PACKAGE_LIBESMTP
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  Send an E-mail with the notification message to the
diff --git a/package/curlftpfs/Config.in b/package/curlftpfs/Config.in
index 986faf1..2e75196 100644
--- a/package/curlftpfs/Config.in
+++ b/package/curlftpfs/Config.in
@@ -8,6 +8,7 @@ config BR2_PACKAGE_CURLFTPFS
 	select BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_LIBCURL
 	help
diff --git a/package/domoticz/Config.in b/package/domoticz/Config.in
index c03f84a..d4913d6 100644
--- a/package/domoticz/Config.in
+++ b/package/domoticz/Config.in
@@ -12,6 +12,7 @@ config BR2_PACKAGE_DOMOTICZ
 	select BR2_PACKAGE_BOOST_SYSTEM
 	select BR2_PACKAGE_BOOST_THREAD
 	select BR2_PACKAGE_LIBCURL
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_MOSQUITTO
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_SQLITE
diff --git a/package/dovecot/Config.in b/package/dovecot/Config.in
index 377fd4d..8cd74e5 100644
--- a/package/dovecot/Config.in
+++ b/package/dovecot/Config.in
@@ -2,6 +2,7 @@ config BR2_PACKAGE_DOVECOT
 	bool "dovecot"
 	depends on !BR2_STATIC_LIBS
 	depends on BR2_USE_MMU # fork()
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_ZLIB
 	help
diff --git a/package/ejabberd/Config.in b/package/ejabberd/Config.in
index a7542cd..0fc814f 100644
--- a/package/ejabberd/Config.in
+++ b/package/ejabberd/Config.in
@@ -17,6 +17,7 @@ config BR2_PACKAGE_EJABBERD
 	select BR2_PACKAGE_ERLANG_P1_YAML
 	select BR2_PACKAGE_ERLANG_P1_ZLIB
 	select BR2_PACKAGE_GETENT
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  Ejabberd is a Jabber/XMPP instant messaging server, written
diff --git a/package/erlang-p1-tls/Config.in b/package/erlang-p1-tls/Config.in
index a684fbb..d949cd3 100644
--- a/package/erlang-p1-tls/Config.in
+++ b/package/erlang-p1-tls/Config.in
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_ERLANG_P1_TLS
 	bool "erlang-p1-tls"
 	select BR2_PACKAGE_ERLANG_P1_UTILS
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  Erlang interface to OpenSSL
diff --git a/package/fetchmail/Config.in b/package/fetchmail/Config.in
index 62f4f84..98e3015 100644
--- a/package/fetchmail/Config.in
+++ b/package/fetchmail/Config.in
@@ -2,6 +2,7 @@ config BR2_PACKAGE_FETCHMAIL
 	bool "fetchmail"
 	depends on BR2_USE_MMU # fork()
 	select BR2_PACKAGE_CA_CERTIFICATES
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  Fetchmail - the mail-retrieval daemon
diff --git a/package/filemq/Config.in b/package/filemq/Config.in
index b4720c1..61114a1 100644
--- a/package/filemq/Config.in
+++ b/package/filemq/Config.in
@@ -3,6 +3,7 @@ config BR2_PACKAGE_FILEMQ
 	depends on BR2_INSTALL_LIBSTDCPP # zeromq
 	depends on BR2_TOOLCHAIN_HAS_THREADS # zeromq
 	depends on BR2_USE_MMU # czmq
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_CZMQ
 	select BR2_PACKAGE_ZEROMQ
diff --git a/package/flickcurl/Config.in b/package/flickcurl/Config.in
index 426ceec..61d5fd1 100644
--- a/package/flickcurl/Config.in
+++ b/package/flickcurl/Config.in
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_FLICKCURL
 	bool "flickcurl"
 	select BR2_PACKAGE_LIBCURL
+	select BR2_PACKAGE_LIBSSL if !(BR2_PACKAGE_GNUTLS || BR2_PACKAGE_LIBNSS)
 	select BR2_PACKAGE_LIBXML2
 	# Ensure that libcurl is built with crypto support, since
 	# flickcurl must access https:// URLs.
diff --git a/package/freerdp/Config.in b/package/freerdp/Config.in
index 9dd2505..aa2f904 100644
--- a/package/freerdp/Config.in
+++ b/package/freerdp/Config.in
@@ -9,6 +9,7 @@ config BR2_PACKAGE_FREERDP
 	depends on BR2_TOOLCHAIN_HAS_THREADS
 	depends on BR2_USE_MMU # libglib2
 	depends on BR2_TOOLCHAIN_HAS_SYNC_4
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_ZLIB
 	select BR2_PACKAGE_LIBGLIB2
diff --git a/package/freeswitch/Config.in b/package/freeswitch/Config.in
index 1f64593..55419b7 100644
--- a/package/freeswitch/Config.in
+++ b/package/freeswitch/Config.in
@@ -14,6 +14,7 @@ config BR2_PACKAGE_FREESWITCH
 	select BR2_PACKAGE_OPENCV_LIB_HIGHGUI if BR2_PACKAGE_OPENCV
 	select BR2_PACKAGE_OPENCV_LIB_IMGPROC if BR2_PACKAGE_OPENCV
 	select BR2_PACKAGE_OPENCV_LIB_OBJDETECT if BR2_PACKAGE_OPENCV
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_PCRE
 	select BR2_PACKAGE_SPEEX
diff --git a/package/git-crypt/Config.in b/package/git-crypt/Config.in
index 362fe9a..720fcb5 100644
--- a/package/git-crypt/Config.in
+++ b/package/git-crypt/Config.in
@@ -3,6 +3,7 @@ config BR2_PACKAGE_GIT_CRYPT
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_USE_MMU # git
 	select BR2_PACKAGE_GIT # runtime
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  git-crypt enables transparent encryption and decryption of
diff --git a/package/gstreamer/gst-plugins-bad/Config.in b/package/gstreamer/gst-plugins-bad/Config.in
index 939fc7a..66a347f 100644
--- a/package/gstreamer/gst-plugins-bad/Config.in
+++ b/package/gstreamer/gst-plugins-bad/Config.in
@@ -244,6 +244,7 @@ comment "plugins with external dependencies (there may be more available)"
 
 config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_APEXSINK
 	bool "apexsink"
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 
 config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_BZ2
diff --git a/package/gstreamer1/gst1-plugins-bad/Config.in b/package/gstreamer1/gst1-plugins-bad/Config.in
index 17cc22b..eba8293 100644
--- a/package/gstreamer1/gst1-plugins-bad/Config.in
+++ b/package/gstreamer1/gst1-plugins-bad/Config.in
@@ -222,6 +222,7 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DEBUGUTILS
 
 config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DTLS
 	bool "dtls"
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  DTLS plugin
@@ -464,6 +465,7 @@ comment "plugins with external dependencies"
 
 config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_APEXSINK
 	bool "apexsink"
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 
 config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ASSRENDER
diff --git a/package/ipmitool/Config.in b/package/ipmitool/Config.in
index 1da0ace..8d30409 100644
--- a/package/ipmitool/Config.in
+++ b/package/ipmitool/Config.in
@@ -10,6 +10,7 @@ if BR2_PACKAGE_IPMITOOL
 
 config BR2_PACKAGE_IPMITOOL_LANPLUS
 	bool "enable lanplus interface"
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  Enables the IPMI v2.0 RMCP+ LAN interface typically used to send IPMI
diff --git a/package/ipsec-tools/Config.in b/package/ipsec-tools/Config.in
index 1635675..1a97a43 100644
--- a/package/ipsec-tools/Config.in
+++ b/package/ipsec-tools/Config.in
@@ -2,6 +2,7 @@ config BR2_PACKAGE_IPSEC_TOOLS
 	bool "ipsec-tools"
 	depends on BR2_USE_MMU # fork()
 	depends on !BR2_TOOLCHAIN_USES_MUSL # Use __P() macro all over the tree
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_FLEX
 	help
diff --git a/package/irssi/Config.in b/package/irssi/Config.in
index 6361cff..6004021 100644
--- a/package/irssi/Config.in
+++ b/package/irssi/Config.in
@@ -5,6 +5,7 @@ config BR2_PACKAGE_IRSSI
 	depends on BR2_USE_MMU # fork()
 	select BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_NCURSES
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  Irssi is a terminal based IRC client for UNIX systems.
diff --git a/package/janus-gateway/Config.in b/package/janus-gateway/Config.in
index 5bd4e95..94ecbec 100644
--- a/package/janus-gateway/Config.in
+++ b/package/janus-gateway/Config.in
@@ -8,6 +8,7 @@ menuconfig BR2_PACKAGE_JANUS_GATEWAY
 	select BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_LIBNICE
 	select BR2_PACKAGE_LIBSRTP
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  Janus is an open source, general purpose, WebRTC gateway
diff --git a/package/keepalived/Config.in b/package/keepalived/Config.in
index 0140e62..81d2cd5 100644
--- a/package/keepalived/Config.in
+++ b/package/keepalived/Config.in
@@ -3,6 +3,7 @@ config BR2_PACKAGE_KEEPALIVED
 	depends on BR2_USE_MMU
 	depends on !BR2_STATIC_LIBS # uses libdl
 	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_POPT
 	help
diff --git a/package/kodi/Config.in b/package/kodi/Config.in
index 6586701..cb1b4aa 100644
--- a/package/kodi/Config.in
+++ b/package/kodi/Config.in
@@ -63,6 +63,7 @@ menuconfig BR2_PACKAGE_KODI
 	select BR2_PACKAGE_LIBGLU if BR2_PACKAGE_KODI_GL_EGL
 	select BR2_PACKAGE_LIBPLIST
 	select BR2_PACKAGE_LIBSAMPLERATE
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_LZO
 	select BR2_PACKAGE_NCURSES
 	select BR2_PACKAGE_OPENSSL
diff --git a/package/lftp/Config.in b/package/lftp/Config.in
index fb4ac13..884192d 100644
--- a/package/lftp/Config.in
+++ b/package/lftp/Config.in
@@ -5,6 +5,7 @@ config BR2_PACKAGE_LFTP
 	depends on BR2_USE_MMU # fork()
 	select BR2_PACKAGE_READLINE
 	select BR2_PACKAGE_ZLIB
+	select BR2_PACKAGE_LIBSSL if !BR2_PACKAGE_GNUTLS
 	select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_GNUTLS
 	help
 	  LFTP is a sophisticated ftp/http client, and a file transfer program
diff --git a/package/libfreefare/Config.in b/package/libfreefare/Config.in
index 2bb0c93..b43789f 100644
--- a/package/libfreefare/Config.in
+++ b/package/libfreefare/Config.in
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_LIBFREEFARE
 	bool "libfreefare"
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_LIBNFC
 	help
diff --git a/package/libldns/Config.in b/package/libldns/Config.in
index 696fec9..f850102 100644
--- a/package/libldns/Config.in
+++ b/package/libldns/Config.in
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_LIBLDNS
 	bool "libldns"
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  The goal of ldns is to simplify DNS programming, it supports
diff --git a/package/liboauth/Config.in b/package/liboauth/Config.in
index 77a78f1..ad1c7b8 100644
--- a/package/liboauth/Config.in
+++ b/package/liboauth/Config.in
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_LIBOAUTH
 	bool "liboauth"
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  liboauth is a collection of c functions implementing the oAuth
diff --git a/package/libssh/Config.in b/package/libssh/Config.in
index 3dbfa7d..5009bab 100644
--- a/package/libssh/Config.in
+++ b/package/libssh/Config.in
@@ -4,6 +4,7 @@ config BR2_PACKAGE_LIBSSH
 	depends on !BR2_STATIC_LIBS
 	depends on BR2_TOOLCHAIN_HAS_THREADS
 	# Either OpenSSL or libgcrypt are mandatory
+	select BR2_PACKAGE_LIBSSL if !BR2_PACKAGE_LIBGCRYPT
 	select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_LIBGCRYPT
 	help
 	  libssh is a multiplatform C library implementing the SSHv2
diff --git a/package/libssh2/Config.in b/package/libssh2/Config.in
index 2944624..b9d3e77 100644
--- a/package/libssh2/Config.in
+++ b/package/libssh2/Config.in
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_LIBSSH2
 	bool "libssh2"
+	select BR2_PACKAGE_LIBSSL if !BR2_PACKAGE_LIBGCRYPT
 	select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_LIBGCRYPT
 	help
 	  libssh2 is a client-side C library implementing the SSH2
diff --git a/package/libstrophe/Config.in b/package/libstrophe/Config.in
index 5fdb918..6e38ffe 100644
--- a/package/libstrophe/Config.in
+++ b/package/libstrophe/Config.in
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_LIBSTROPHE
 	bool "libstrophe"
 	depends on BR2_TOOLCHAIN_HAS_THREADS
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_LIBXML2 if !BR2_PACKAGE_EXPAT
 	help
diff --git a/package/lighttpd/Config.in b/package/lighttpd/Config.in
index f62ccb9..6c28060 100644
--- a/package/lighttpd/Config.in
+++ b/package/lighttpd/Config.in
@@ -21,6 +21,7 @@ if BR2_PACKAGE_LIGHTTPD
 
 config BR2_PACKAGE_LIGHTTPD_OPENSSL
 	bool "openssl support"
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  Enable OpenSSL support for lighttpd.
diff --git a/package/luacrypto/Config.in b/package/luacrypto/Config.in
index 8d13eec..73d98eb 100644
--- a/package/luacrypto/Config.in
+++ b/package/luacrypto/Config.in
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_LUACRYPTO
 	bool "luacrypto"
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  LuaCrypto provides a Lua frontend to the OpenSSL cryptographic
diff --git a/package/luaossl/Config.in b/package/luaossl/Config.in
index d8763e7..236f3af 100644
--- a/package/luaossl/Config.in
+++ b/package/luaossl/Config.in
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_LUAOSSL
 	bool "luaossl"
 	depends on BR2_TOOLCHAIN_HAS_THREADS
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  luaossl is a comprehensive binding to OpenSSL for Lua 5.1,
diff --git a/package/luasec/Config.in b/package/luasec/Config.in
index 9391cd9..7ffc886 100644
--- a/package/luasec/Config.in
+++ b/package/luasec/Config.in
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_LUASEC
 	bool "luasec"
 	depends on BR2_PACKAGE_HAS_LUAINTERPRETER
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_LUASOCKET
 	help
diff --git a/package/mysql/Config.in b/package/mysql/Config.in
index 69ad586..b3093ff 100644
--- a/package/mysql/Config.in
+++ b/package/mysql/Config.in
@@ -18,6 +18,7 @@ config BR2_PACKAGE_MARIADB
 	bool "mariadb"
 	depends on BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS
 	select BR2_PACKAGE_LIBAIO
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_LIBXML2
 	select BR2_PACKAGE_NCURSES
 	select BR2_PACKAGE_OPENSSL
diff --git a/package/neon/Config.in b/package/neon/Config.in
index 9831343..2f21ffb 100644
--- a/package/neon/Config.in
+++ b/package/neon/Config.in
@@ -15,6 +15,7 @@ config BR2_PACKAGE_NEON_ZLIB
 
 config BR2_PACKAGE_NEON_SSL
 	bool "SSL support"
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  build with SSL support
diff --git a/package/netatalk/Config.in b/package/netatalk/Config.in
index ce17318..db1fd7f 100644
--- a/package/netatalk/Config.in
+++ b/package/netatalk/Config.in
@@ -5,6 +5,7 @@ config BR2_PACKAGE_NETATALK
 	depends on BR2_USE_MMU # fork()
 	depends on !BR2_STATIC_LIBS
 	select BR2_PACKAGE_BERKELEYDB
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_LIBEVENT
 	select BR2_PACKAGE_LIBGCRYPT
diff --git a/package/nginx-upload/Config.in b/package/nginx-upload/Config.in
index 6bc1c3d..0be58d4 100644
--- a/package/nginx-upload/Config.in
+++ b/package/nginx-upload/Config.in
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_NGINX_UPLOAD
 	bool "nginx-upload"
 	depends on BR2_PACKAGE_NGINX_HTTP
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  A module for nginx web server for handling file uploads
diff --git a/package/nginx/Config.in b/package/nginx/Config.in
index 36fa69c..32451d0 100644
--- a/package/nginx/Config.in
+++ b/package/nginx/Config.in
@@ -34,12 +34,14 @@ if BR2_PACKAGE_NGINX_HTTP
 
 config BR2_PACKAGE_NGINX_HTTP_CACHE
 	bool "http cache support"
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 
 comment "http modules"
 
 config BR2_PACKAGE_NGINX_HTTP_SSL_MODULE
 	bool "ngx_http_ssl_module"
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  Enable ngx_http_ssl_module
diff --git a/package/nodejs/Config.in b/package/nodejs/Config.in
index 3022f9c..44a91ef 100644
--- a/package/nodejs/Config.in
+++ b/package/nodejs/Config.in
@@ -34,6 +34,7 @@ if BR2_PACKAGE_NODEJS
 
 config BR2_PACKAGE_NODEJS_NPM
 	bool "NPM for the target"
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  NPM is the package manager for the Node JavaScript platform.
diff --git a/package/ntp/Config.in b/package/ntp/Config.in
index 1af02db..385a60c 100644
--- a/package/ntp/Config.in
+++ b/package/ntp/Config.in
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_NTP
 	bool "ntp"
 	select BR2_PACKAGE_LIBEVENT
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  Network Time Protocol suite/programs.
diff --git a/package/openssh/Config.in b/package/openssh/Config.in
index 7591140..9106ceb 100644
--- a/package/openssh/Config.in
+++ b/package/openssh/Config.in
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_OPENSSH
 	bool "openssh"
 	depends on BR2_USE_MMU # fork()
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_ZLIB
 	help
diff --git a/package/openvpn/Config.in b/package/openvpn/Config.in
index 0a16755..1d6c6c2 100644
--- a/package/openvpn/Config.in
+++ b/package/openvpn/Config.in
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_OPENVPN
 	bool "openvpn"
 	depends on BR2_USE_MMU # fork()
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  OpenVPN is a full-featured SSL VPN solution which can
diff --git a/package/perl-crypt-openssl-random/Config.in b/package/perl-crypt-openssl-random/Config.in
index 2ceb78d..07c2d5f 100644
--- a/package/perl-crypt-openssl-random/Config.in
+++ b/package/perl-crypt-openssl-random/Config.in
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_PERL_CRYPT_OPENSSL_RANDOM
 	bool "perl-crypt-openssl-random"
 	depends on !BR2_STATIC_LIBS
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  OpenSSL/LibreSSL pseudo-random number generator access
diff --git a/package/perl-net-ssleay/Config.in b/package/perl-net-ssleay/Config.in
index 80178e0..4ce4c57 100644
--- a/package/perl-net-ssleay/Config.in
+++ b/package/perl-net-ssleay/Config.in
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_PERL_NET_SSLEAY
 	bool "perl-net-ssleay"
 	depends on !BR2_STATIC_LIBS
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  Perl extension for using OpenSSL
diff --git a/package/poco/Config.in b/package/poco/Config.in
index b3b247f..cbcf9c7 100644
--- a/package/poco/Config.in
+++ b/package/poco/Config.in
@@ -30,10 +30,12 @@ config BR2_PACKAGE_POCO_NET
 
 config BR2_PACKAGE_POCO_CRYPTO
 	bool "crypto"
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 
 config BR2_PACKAGE_POCO_NETSSL_OPENSSL
 	bool "netssl_openssl"
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_POCO_NET
 	select BR2_PACKAGE_POCO_CRYPTO
 	select BR2_PACKAGE_POCO_UTIL
diff --git a/package/pound/Config.in b/package/pound/Config.in
index 91c29ea..ca8f617 100644
--- a/package/pound/Config.in
+++ b/package/pound/Config.in
@@ -3,6 +3,7 @@ config BR2_PACKAGE_POUND
 	depends on !BR2_STATIC_LIBS
 	depends on BR2_TOOLCHAIN_HAS_THREADS
 	depends on BR2_USE_MMU # fork()
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  The Pound program is a reverse proxy, load balancer and HTTPS
diff --git a/package/python-cryptography/Config.in b/package/python-cryptography/Config.in
index 9827cf8..44be117 100644
--- a/package/python-cryptography/Config.in
+++ b/package/python-cryptography/Config.in
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_PYTHON_CRYPTOGRAPHY
 	bool "python-cryptography"
 	depends on BR2_INSTALL_LIBSTDCPP # python-pyasn
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_PYTHON_CFFI # runtime
 	select BR2_PACKAGE_PYTHON_IDNA # runtime
diff --git a/package/python/Config.in b/package/python/Config.in
index 054ccd2..8ef1664 100644
--- a/package/python/Config.in
+++ b/package/python/Config.in
@@ -123,6 +123,7 @@ config BR2_PACKAGE_PYTHON_ZLIB
 
 config BR2_PACKAGE_PYTHON_HASHLIB
 	bool "hashlib module"
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  hashlib support in Python
diff --git a/package/python3/Config.in b/package/python3/Config.in
index 35f57e6..e0231a1 100644
--- a/package/python3/Config.in
+++ b/package/python3/Config.in
@@ -76,6 +76,7 @@ config BR2_PACKAGE_PYTHON3_READLINE
 
 config BR2_PACKAGE_PYTHON3_SSL
 	bool "ssl"
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  _ssl module for Python3 (required for https in urllib etc).
diff --git a/package/qt-webkit-kiosk/Config.in b/package/qt-webkit-kiosk/Config.in
index 703f128..d379cfc 100644
--- a/package/qt-webkit-kiosk/Config.in
+++ b/package/qt-webkit-kiosk/Config.in
@@ -5,6 +5,7 @@ config BR2_PACKAGE_QT_WEBKIT_KIOSK
 	depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5webkit
 	depends on !BR2_BINFMT_FLAT # qt5webkit
 	depends on !BR2_MIPS_SOFT_FLOAT # qt5webkit
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_QT5BASE_GUI
 	select BR2_PACKAGE_QT5BASE_WIDGETS
diff --git a/package/qt/Config.in b/package/qt/Config.in
index 7710b09..4c66102 100644
--- a/package/qt/Config.in
+++ b/package/qt/Config.in
@@ -483,6 +483,7 @@ config BR2_PACKAGE_QT_STL
 config BR2_PACKAGE_QT_OPENSSL
 	bool "Enable OpenSSL support"
 	depends on BR2_PACKAGE_QT_NETWORK
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  Enable support for the OpenSSL encryption library. If you use
diff --git a/package/qt5/qt5enginio/Config.in b/package/qt5/qt5enginio/Config.in
index 102058e..6b12b5d 100644
--- a/package/qt5/qt5enginio/Config.in
+++ b/package/qt5/qt5enginio/Config.in
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_QT5ENGINIO
 	bool "qt5enginio"
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_QT5BASE
 	select BR2_PACKAGE_QT5BASE_GUI
diff --git a/package/rabbitmq-server/Config.in b/package/rabbitmq-server/Config.in
index 6a323af..be96be3 100644
--- a/package/rabbitmq-server/Config.in
+++ b/package/rabbitmq-server/Config.in
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_RABBITMQ_SERVER
 	bool "rabbitmq-server"
 	depends on BR2_PACKAGE_ERLANG
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_LIBXSLT
 	select BR2_PACKAGE_OPENSSL # Required to build Erlang's crypto and ssl
 	                           # applications
diff --git a/package/rdesktop/Config.in b/package/rdesktop/Config.in
index 0335bee..7d9c349 100644
--- a/package/rdesktop/Config.in
+++ b/package/rdesktop/Config.in
@@ -2,6 +2,7 @@ config BR2_PACKAGE_RDESKTOP
 	bool "rdesktop"
 	depends on BR2_USE_MMU # fork()
 	depends on BR2_PACKAGE_XORG7
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXT
diff --git a/package/rtorrent/Config.in b/package/rtorrent/Config.in
index 190e50f..0bfe812 100644
--- a/package/rtorrent/Config.in
+++ b/package/rtorrent/Config.in
@@ -7,6 +7,7 @@ config BR2_PACKAGE_RTORRENT
 	depends on BR2_TOOLCHAIN_HAS_SYNC_1 && BR2_TOOLCHAIN_HAS_SYNC_4
 	select BR2_PACKAGE_LIBCURL
 	select BR2_PACKAGE_LIBTORRENT
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_NCURSES
 	select BR2_PACKAGE_OPENSSL
 	help
diff --git a/package/scrypt/Config.in b/package/scrypt/Config.in
index e6d1ac1..98c6637 100644
--- a/package/scrypt/Config.in
+++ b/package/scrypt/Config.in
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_SCRYPT
 	bool "scrypt"
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  A password-based key derivation function specifically
diff --git a/package/shairport-sync/Config.in b/package/shairport-sync/Config.in
index c2a5565..c72fb2d 100644
--- a/package/shairport-sync/Config.in
+++ b/package/shairport-sync/Config.in
@@ -7,6 +7,7 @@ config BR2_PACKAGE_SHAIRPORT_SYNC
 	select BR2_PACKAGE_ALSA_LIB_MIXER
 	select BR2_PACKAGE_LIBCONFIG
 	select BR2_PACKAGE_LIBDAEMON
+	select BR2_PACKAGE_LIBSSL if !BR2_PACKAGE_MBEDTLS
 	select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_MBEDTLS
 	select BR2_PACKAGE_POPT
 	help
diff --git a/package/shellinabox/Config.in b/package/shellinabox/Config.in
index 63a298d..52ad266 100644
--- a/package/shellinabox/Config.in
+++ b/package/shellinabox/Config.in
@@ -2,6 +2,7 @@ config BR2_PACKAGE_SHELLINABOX
 	bool "shellinabox"
 	depends on BR2_USE_MMU # fork()
 	depends on !BR2_STATIC_LIBS # dlfcn.h
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_ZLIB
 	help
diff --git a/package/snmppp/Config.in b/package/snmppp/Config.in
index 8d28467..30da608 100644
--- a/package/snmppp/Config.in
+++ b/package/snmppp/Config.in
@@ -21,6 +21,7 @@ config BR2_PACKAGE_SNMPPP_LOGGING
 config BR2_PACKAGE_SNMPPP_SNMPV3
 	bool "enable SNMPv3"
 	default y
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  Enable optional support for SNMP++. This selects OpenSSL.
diff --git a/package/softether/Config.in b/package/softether/Config.in
index 55e5426..8ad2d15 100644
--- a/package/softether/Config.in
+++ b/package/softether/Config.in
@@ -4,6 +4,7 @@ config BR2_PACKAGE_SOFTETHER
 	depends on BR2_USE_MMU # fork()
 	depends on BR2_USE_WCHAR
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_READLINE
 	help
diff --git a/package/spice/Config.in b/package/spice/Config.in
index 2241b55..6cd3472 100644
--- a/package/spice/Config.in
+++ b/package/spice/Config.in
@@ -9,6 +9,7 @@ config BR2_PACKAGE_SPICE
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
 	select BR2_PACKAGE_JPEG
 	select BR2_PACKAGE_LIBGLIB2
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_PIXMAN
 	select BR2_PACKAGE_SPICE_PROTOCOL
diff --git a/package/sqlcipher/Config.in b/package/sqlcipher/Config.in
index 98b2f89..3679984 100644
--- a/package/sqlcipher/Config.in
+++ b/package/sqlcipher/Config.in
@@ -2,6 +2,7 @@ config BR2_PACKAGE_SQLCIPHER
 	bool "sqlcipher"
 	depends on !BR2_PACKAGE_SQLITE
 	depends on BR2_TOOLCHAIN_HAS_THREADS
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  SQLCipher is an SQLite extension that provides 256 bits AES
diff --git a/package/strongswan/Config.in b/package/strongswan/Config.in
index 5119706..308baf1 100644
--- a/package/strongswan/Config.in
+++ b/package/strongswan/Config.in
@@ -31,6 +31,7 @@ choice
 
 config BR2_PACKAGE_STRONGSWAN_OPENSSL
 	bool "OpenSSL"
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 
 config BR2_PACKAGE_STRONGSWAN_GCRYPT
diff --git a/package/stunnel/Config.in b/package/stunnel/Config.in
index e4a9567..3522758 100644
--- a/package/stunnel/Config.in
+++ b/package/stunnel/Config.in
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_STUNNEL
 	bool "stunnel"
 	depends on BR2_USE_MMU # fork()
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  Stunnel is a program that wraps any TCP connection with an SSL
diff --git a/package/synergy/Config.in b/package/synergy/Config.in
index 3bb8b8e..c91ef9f 100644
--- a/package/synergy/Config.in
+++ b/package/synergy/Config.in
@@ -5,6 +5,7 @@ config BR2_PACKAGE_SYNERGY
 	depends on BR2_USE_WCHAR
 	depends on BR2_USE_MMU # fork()
 	select BR2_PACKAGE_LIBCURL
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXTST
diff --git a/package/syslog-ng/Config.in b/package/syslog-ng/Config.in
index fbc2362..0759fef 100644
--- a/package/syslog-ng/Config.in
+++ b/package/syslog-ng/Config.in
@@ -7,6 +7,7 @@ config BR2_PACKAGE_SYSLOG_NG
 	select BR2_PACKAGE_EVENTLOG
 	select BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_PCRE
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  syslog-ng is an enhanced log daemon, supporting a wide range
diff --git a/package/thrift/Config.in b/package/thrift/Config.in
index 0ee3f00..729158f 100644
--- a/package/thrift/Config.in
+++ b/package/thrift/Config.in
@@ -5,6 +5,7 @@ config BR2_PACKAGE_THRIFT
 	depends on BR2_TOOLCHAIN_HAS_THREADS
 	select BR2_PACKAGE_BOOST
 	select BR2_PACKAGE_LIBEVENT
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_ZLIB
 	help
diff --git a/package/tinc/Config.in b/package/tinc/Config.in
index 837f556..277d663 100644
--- a/package/tinc/Config.in
+++ b/package/tinc/Config.in
@@ -2,6 +2,7 @@ config BR2_PACKAGE_TINC
 	bool "tinc"
 	depends on !BR2_STATIC_LIBS # tinc requires libdl for OpenSSL
 	depends on BR2_USE_MMU # fork()
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_LZO
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_ZLIB
diff --git a/package/tor/Config.in b/package/tor/Config.in
index 5200926..d7c700e 100644
--- a/package/tor/Config.in
+++ b/package/tor/Config.in
@@ -3,6 +3,7 @@ config BR2_PACKAGE_TOR
 	depends on BR2_USE_MMU # fork()
 	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
 	select BR2_PACKAGE_LIBEVENT
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_ZLIB
 	help
diff --git a/package/tpm-tools/Config.in b/package/tpm-tools/Config.in
index 091f424..e4327ff 100644
--- a/package/tpm-tools/Config.in
+++ b/package/tpm-tools/Config.in
@@ -4,6 +4,7 @@ config BR2_PACKAGE_TPM_TOOLS
 	depends on !BR2_STATIC_LIBS # trousers
 	depends on !BR2_arc # trousers
 	select BR2_PACKAGE_TROUSERS
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
 	help
diff --git a/package/transmission/Config.in b/package/transmission/Config.in
index b47c36f..ecdbd34 100644
--- a/package/transmission/Config.in
+++ b/package/transmission/Config.in
@@ -3,6 +3,7 @@ config BR2_PACKAGE_TRANSMISSION
 	depends on BR2_TOOLCHAIN_HAS_THREADS
 	depends on BR2_USE_MMU # fork()
 	select BR2_PACKAGE_ZLIB
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_LIBCURL
 	select BR2_PACKAGE_LIBEVENT
diff --git a/package/trousers/Config.in b/package/trousers/Config.in
index eb791d1..f41c9b0 100644
--- a/package/trousers/Config.in
+++ b/package/trousers/Config.in
@@ -5,6 +5,7 @@ config BR2_PACKAGE_TROUSERS
 	depends on !BR2_STATIC_LIBS
 	# ARC toolchain issue
 	depends on !BR2_arc
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
 	help
diff --git a/package/tvheadend/Config.in b/package/tvheadend/Config.in
index fc39d6f..886ca22 100644
--- a/package/tvheadend/Config.in
+++ b/package/tvheadend/Config.in
@@ -15,6 +15,7 @@ config BR2_PACKAGE_TVHEADEND
 	select BR2_PACKAGE_LIBVPX if BR2_PACKAGE_FFMPEG && !BR2_bfin # libvpx
 	select BR2_PACKAGE_X264 if BR2_PACKAGE_FFMPEG
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  Tvheadend is a TV streaming server for Linux supporting DVB-S,
diff --git a/package/uboot-tools/Config.in b/package/uboot-tools/Config.in
index f55614b..a511e40 100644
--- a/package/uboot-tools/Config.in
+++ b/package/uboot-tools/Config.in
@@ -28,6 +28,7 @@ if BR2_PACKAGE_UBOOT_TOOLS_FIT_SUPPORT
 
 config BR2_PACKAGE_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT
 	bool "FIT signature verification support"
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  Enables support for FIT Signature Verification.
diff --git a/package/ustream-ssl/Config.in b/package/ustream-ssl/Config.in
index 540e436..a614678 100644
--- a/package/ustream-ssl/Config.in
+++ b/package/ustream-ssl/Config.in
@@ -2,6 +2,7 @@ config BR2_PACKAGE_USTREAM_SSL
 	bool "ustream-ssl"
 	depends on !BR2_STATIC_LIBS #libubox
 	select BR2_PACKAGE_LIBUBOX
+	select BR2_PACKAGE_LIBSSL if !BR2_PACKAGE_MBEDTLS
 	select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_MBEDTLS
 	help
 	  ustream SSL wrapper
diff --git a/package/vtun/Config.in b/package/vtun/Config.in
index bb8919c..400d32b 100644
--- a/package/vtun/Config.in
+++ b/package/vtun/Config.in
@@ -2,6 +2,7 @@ config BR2_PACKAGE_VTUN
 	bool "vtun"
 	depends on BR2_USE_MMU # fork()
 	select BR2_PACKAGE_LZO
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_ZLIB
 	help
diff --git a/package/xen/Config.in b/package/xen/Config.in
index b5dcbf2..e6173df 100644
--- a/package/xen/Config.in
+++ b/package/xen/Config.in
@@ -27,6 +27,7 @@ config BR2_PACKAGE_XEN_TOOLS
 	select BR2_PACKAGE_LIBAIO
 	select BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_NCURSES
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_PIXMAN
 	select BR2_PACKAGE_UTIL_LINUX
diff --git a/package/xl2tp/Config.in b/package/xl2tp/Config.in
index f0b1e83..d518926 100644
--- a/package/xl2tp/Config.in
+++ b/package/xl2tp/Config.in
@@ -2,6 +2,7 @@ config BR2_PACKAGE_XL2TP
 	bool "xl2tp"
 	depends on BR2_USE_MMU # fork()
 	select BR2_PACKAGE_LIBPCAP
+	select BR2_PACKAGE_LIBSSL
 	select BR2_PACKAGE_OPENSSL
 	help
 	  Layer 2 Tunnelling Protocol (RFC2661).
-- 
2.9.4

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

* [Buildroot] [PATCH v3 3/3] libressl: new package
  2017-06-26 16:25 [Buildroot] [PATCH v3 1/3] libssl: new virtual package Adam Duskett
  2017-06-26 16:25 ` [Buildroot] [PATCH v3 2/3] package configs: add select BR2_PACKAGE_LIBSSL Adam Duskett
@ 2017-06-26 16:25 ` Adam Duskett
  2017-07-05 19:55   ` Arnout Vandecappelle
  2017-07-05 19:50 ` [Buildroot] [PATCH v3 1/3] libssl: new virtual package Arnout Vandecappelle
  2 siblings, 1 reply; 8+ messages in thread
From: Adam Duskett @ 2017-06-26 16:25 UTC (permalink / raw)
  To: buildroot

Libressl is a fork of openssl from OpenSSL in 2014.  Its goal is to
modernize the OpenSSL codebase, improve security, and apply best
practice development processes.

Right now, libressl is API compatible with OpenSSL 1.0.1, but does not
yet include all new APIs from OpenSSL 1.0.2 and later.

Signed-off-by: Adam Duskett <aduskett@codeblue.com>
---
Changes v2 -> v3:
  - Moved this patch to the end of the series. (Thomas)
  - Removed Config.in thanks to the new libssl. (Thomas)
  - Dropped host-autotools-package for now. (Arnout)

Changes v1 -> v2:
  - Changed from github to openbsd ftp. This is a all-in-one tarball
    that negates having to use the POST_PATCH_HOOKS. (Thomas)
  - Added 0001-remove-test-z-DESTDIR-from-ltmain.patch, this allows
    ltmain.sh to be patched with buildroot-libtool-v2.4.patch, which
    removes the need for a call to autogen.sh.
  - Changed sha256sum to reflect new tarball.
  - Changed Locally computed to openbsd ftp hash list in hash file. (Arnout)
  - Added DEVELOPERS changes to this patch. (Thomas)
  - Fixed formatting in commit message. (Thomas)
  - Removed "and scripts" from Config.in (Arnout)

 DEVELOPERS                                         |  1 +
 .../0001-remove-test-z-DESTDIR-from-ltmain.patch   | 28 ++++++++++++++++++++++
 package/libressl/libressl.hash                     |  2 ++
 package/libressl/libressl.mk                       | 22 +++++++++++++++++
 package/libssl/Config.in                           | 23 ++++++++++++++++--
 5 files changed, 74 insertions(+), 2 deletions(-)
 create mode 100644 package/libressl/0001-remove-test-z-DESTDIR-from-ltmain.patch
 create mode 100644 package/libressl/libressl.hash
 create mode 100644 package/libressl/libressl.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index 9e421f4..b9f9d9d 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -34,6 +34,7 @@ F:	package/audit/
 F:	package/checkpolicy/
 F:	package/gstreamer1/gst1-vaapi/
 F:	package/janus-gateway/
+F:	package/libressl/
 F:	package/libselinux/
 F:	package/libsemanage/
 F:	package/libsepol/
diff --git a/package/libressl/0001-remove-test-z-DESTDIR-from-ltmain.patch b/package/libressl/0001-remove-test-z-DESTDIR-from-ltmain.patch
new file mode 100644
index 0000000..901a48c
--- /dev/null
+++ b/package/libressl/0001-remove-test-z-DESTDIR-from-ltmain.patch
@@ -0,0 +1,28 @@
+From 4317d43d74996ad7ec3270b1e786e91a19312309 Mon Sep 17 00:00:00 2001
+From: Adam Duskett <Adamduskett@outlook.com>
+Date: Sat, 24 Jun 2017 13:08:57 -0400
+Subject: [PATCH] remove test -z "$DESTDIR" from ltmain.sh.
+
+Without this patch, buildroot-libtool-v2.4.patch will fail to apply.
+
+Signed-off-by: Adam Duskett <Adamduskett@outlook.com>
+---
+ ltmain.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ltmain.sh b/ltmain.sh
+index 5d29bd6..6c90601 100644
+--- a/ltmain.sh
++++ b/ltmain.sh
+@@ -6658,7 +6658,7 @@ func_mode_link ()
+ 	  *)
+ 	    if test "$installed" = no; then
+ 	      func_append notinst_deplibs " $lib"
+-	      test -z "$DESTDIR" && need_relink=yes
++	      need_relink=yes
+ 	    fi
+ 	    ;;
+ 	  esac
+-- 
+2.9.4
+
diff --git a/package/libressl/libressl.hash b/package/libressl/libressl.hash
new file mode 100644
index 0000000..9ffe964
--- /dev/null
+++ b/package/libressl/libressl.hash
@@ -0,0 +1,2 @@
+# From https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/SHA256
+sha256	107a5b522fbb8318d4c3be668075e5e607296f0a9255d71674caa94571336efa	libressl-2.5.4.tar.gz
diff --git a/package/libressl/libressl.mk b/package/libressl/libressl.mk
new file mode 100644
index 0000000..ca8bf34
--- /dev/null
+++ b/package/libressl/libressl.mk
@@ -0,0 +1,21 @@
+################################################################################
+#
+# libressl
+#
+################################################################################
+
+LIBRESSL_VERSION = 2.5.4
+LIBRESSL_SITE = https://ftp.openbsd.org/pub/OpenBSD/LibreSSL
+LIBRESSL_LICENSE = ISC (New additions), OpenSSL or SSLeay (Original OpenSSL code)
+LIBRESSL_LICENSE_FILES = COPYING
+LIBRESSL_INSTALL_STAGING = YES
+LIBRESSL_PROVIDES = libssl
+
+ifeq ($(BR2_PACKAGE_LIBRESSL_BIN),)
+define LIBRESSL_REMOVE_BIN
+	$(RM) -f $(TARGET_DIR)/usr/bin/openssl
+endef
+LIBRESSL_POST_INSTALL_TARGET_HOOKS += LIBRESSL_REMOVE_BIN
+endif
+
+$(eval $(autotools-package))
diff --git a/package/libssl/Config.in b/package/libssl/Config.in
index 5b912e6..5f81348 100644
--- a/package/libssl/Config.in
+++ b/package/libssl/Config.in
@@ -9,7 +9,7 @@ choice
 	prompt "libssl variant"
 	default BR2_PACKAGE_OPENSSL
 	help
-	  Select OpenSSL
+	  Select OpenSSL or LibreSSL
 
 config BR2_PACKAGE_OPENSSL
 	bool "openssl"
@@ -25,6 +25,16 @@ config BR2_PACKAGE_OPENSSL
 	  http://www.openssl.org/
 	  Note: Some helper scripts need perl.
 
+config BR2_PACKAGE_LIBRESSL
+	bool "libressl"
+	select BR2_PACKAGE_HAS_LIBSSL
+	help
+	  LibreSSL is a version of the TLS/crypto stack forked from
+	  OpenSSL in 2014, with goals of modernizing the codebase,
+	  improving security, and applying best practice development
+	  processes.
+
+	  http://www.libressl.org/
 endchoice
 
 if BR2_PACKAGE_OPENSSL
@@ -43,11 +53,20 @@ config BR2_PACKAGE_OPENSSL_ENGINES
 
 endif
 
+if BR2_PACKAGE_LIBRESSL
+
+config BR2_PACKAGE_LIBRESSL_BIN
+	bool "openssl binary"
+	help
+	  Install the openssl binary to the target file system. This is
+	  a command line tool for doing various cryptographic stuff.
+
+endif
 config BR2_PACKAGE_HAS_LIBSSL
 	bool
 
 config BR2_PACKAGE_PROVIDES_LIBSSL
 	string
 	default "openssl"    if BR2_PACKAGE_OPENSSL
-
+	default "libressl"   if BR2_PACKAGE_LIBRESSL
 endif
-- 
2.9.4

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

* [Buildroot] [PATCH v3 1/3] libssl: new virtual package
  2017-06-26 16:25 [Buildroot] [PATCH v3 1/3] libssl: new virtual package Adam Duskett
  2017-06-26 16:25 ` [Buildroot] [PATCH v3 2/3] package configs: add select BR2_PACKAGE_LIBSSL Adam Duskett
  2017-06-26 16:25 ` [Buildroot] [PATCH v3 3/3] libressl: new package Adam Duskett
@ 2017-07-05 19:50 ` Arnout Vandecappelle
  2017-07-06 10:16   ` Adam Duskett
  2 siblings, 1 reply; 8+ messages in thread
From: Arnout Vandecappelle @ 2017-07-05 19:50 UTC (permalink / raw)
  To: buildroot

 Hi Adam,

On 26-06-17 18:25, Adam Duskett wrote:
> libressl is API compatible with OpenSSL 1.0.1 and is almost API
> compatible with OpenSSL 1.0.2.  As such, a new virtual package is needed
> to handle having both libressl and openssl.
> 
> To start, add OpenSSL as the only provider. In the following patches
> libressl will also be added as a provider.

 We finally got around to discussing this at the BR Summer Camp (too many things
to do...). In the end, we came to the following conclusion:

* Although libressl is supposed to be a drop-in replacement of openssl, it isn't
really. E.g. quite a few packages are using features from openssl 1.0.2 which
aren't available in libressl (yet).

* Therefore, we need to verify for each and every package if they support
libressl. A build-time check may not be sufficient, it really needs to be a
runtime test to be sure, due to the highly dynamic nature of openssl/libressl.

* That means we need to convert packages one by one, probably on demand by a
user who wants to replace openssl with libressl in his particular setup.

* We have no idea at the moment how many packages actually do support either
libressl or openssl. Therefore, it is difficult to estimate at this point
whether it is worth to create a virtual package.

* For boringssl even more so.

* Transitioning to the virtual package will anyway be painful from a legacy
handling point of view. Indeed, we want to make sure that a configuration that
currently has openssl selected still has openssl selected in the future; we want
packages to be able to select openssl; and we ideally want a choice between the two.


Therefore, the proposal is to use the "old" way of having the two options:

config BR2_PACKAGE_LIBRESSL
	bool "libressl"
	depends on !BR2_PACKAGE_OPENSSL

and in packages that depend on either libressl or openssl:

	select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_LIBRESSL

and in packages that optionally depend on libressl or openssl:

ifeq ($(BR2_PACKAGE_OPENSSL),y)
FOO_DEPENDENCIES += openssl
endif
ifeq ($(BR2_PACKAGE_LIBRESSL),y)
FOO_DEPENDENCIES += libressl
endif


 If a significant number of packages (don't know how much, but at least 5) are
able to support both, then we can consider introducing the virtual package after
all. But see below for the problems.

> 
> Signed-off-by: Adam Duskett <aduskett@codeblue.com>

[snip]
> diff --git a/package/libssl/Config.in b/package/libssl/Config.in
> new file mode 100644
> index 0000000..5b912e6
> --- /dev/null
> +++ b/package/libssl/Config.in
> @@ -0,0 +1,53 @@
> +config BR2_PACKAGE_LIBSSL
> +	bool "libssl support"
> +	help
> +	  Select the desired ssl library provider.
> +
> +if BR2_PACKAGE_LIBSSL
> +
> +choice
> +	prompt "libssl variant"
> +	default BR2_PACKAGE_OPENSSL
> +	help
> +	  Select OpenSSL
> +
> +config BR2_PACKAGE_OPENSSL

 So here is the problem: if an existing config has BR2_PACKAGE_OPENSSL selected,
then it will silently disappear when they update Buildroot. There is no simple
way to resolve this, except by renaming the openssl package to something else,
and making sure that the virtual package is called openssl. This is how we did
it for libjpeg/jpegturbo: libjpeg was originally called jpeg and jpeg became the
virtual package.

 But that is a rather big change, and we want to delay it until there are clear
users of the virtual package.

 Some more notes below, just in case we do convert to the virtual package a few
months from now.

> +	bool "openssl"
> +	select BR2_PACKAGE_ZLIB
> +	select BR2_PACKAGE_HAS_LIBSSL
> +	help
> +	  A collaborative effort to develop a robust, commercial-grade,
> +	  fully featured, and Open Source toolkit implementing the
> +	  Secure Sockets Layer (SSL v2/v3) and Transport Security
> +	  (TLS v1) as well as a full-strength general-purpose
> +	  cryptography library.
> +
> +	  http://www.openssl.org/
> +	  Note: Some helper scripts need perl.
> +
> +endchoice
> +
> +if BR2_PACKAGE_OPENSSL

 I would personally prefer to keep this in package/openssl/Config.in and to add here

source "package/openssl/Config.in"

> +
> +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
> +	  Install additional encryption engine libraries.
> +
> +endif
> +
> +config BR2_PACKAGE_HAS_LIBSSL
> +	bool

 This should be at the top of the file.

> +
> +config BR2_PACKAGE_PROVIDES_LIBSSL
> +	string

 This should also be at the top of the file, and repeated in
package/openssl/Config.in (but without the string) together with the line below.


 Regards,
 Arnout


> +	default "openssl"    if BR2_PACKAGE_OPENSSL
> +
> +endif
> diff --git a/package/libssl/libssl.mk b/package/libssl/libssl.mk
> new file mode 100644
> index 0000000..3bd775d
> --- /dev/null
> +++ b/package/libssl/libssl.mk
> @@ -0,0 +1,7 @@
> +################################################################################
> +#
> +# libssl
> +#
> +################################################################################
> +
> +$(eval $(virtual-package))
> diff --git a/package/openssl/Config.in b/package/openssl/Config.in
> deleted file mode 100644
> index e08b648..0000000
> --- a/package/openssl/Config.in
> +++ /dev/null
> @@ -1,28 +0,0 @@
> -config BR2_PACKAGE_OPENSSL
> -	bool "openssl"
> -	select BR2_PACKAGE_ZLIB
> -	help
> -	  A collaborative effort to develop a robust, commercial-grade, fully
> -	  featured, and Open Source toolkit implementing the Secure Sockets
> -	  Layer (SSL v2/v3) and Transport Security (TLS v1) as well as a
> -	  full-strength general-purpose cryptography library.
> -
> -	  http://www.openssl.org/
> -
> -	  Note: Some helper scripts need perl.
> -
> -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
> -	  Install additional encryption engine libraries.
> -
> -endif
> diff --git a/package/openssl/openssl.mk b/package/openssl/openssl.mk
> index 5f56b44..c028290 100644
> --- a/package/openssl/openssl.mk
> +++ b/package/openssl/openssl.mk
> @@ -10,6 +10,7 @@ OPENSSL_LICENSE = OpenSSL or SSLeay
>  OPENSSL_LICENSE_FILES = LICENSE
>  OPENSSL_INSTALL_STAGING = YES
>  OPENSSL_DEPENDENCIES = zlib
> +OPENSSL_PROVIDES = libssl
>  HOST_OPENSSL_DEPENDENCIES = host-zlib
>  OPENSSL_TARGET_ARCH = generic32
>  OPENSSL_CFLAGS = $(TARGET_CFLAGS)
> 

-- 
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

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

* [Buildroot] [PATCH v3 3/3] libressl: new package
  2017-06-26 16:25 ` [Buildroot] [PATCH v3 3/3] libressl: new package Adam Duskett
@ 2017-07-05 19:55   ` Arnout Vandecappelle
  0 siblings, 0 replies; 8+ messages in thread
From: Arnout Vandecappelle @ 2017-07-05 19:55 UTC (permalink / raw)
  To: buildroot



On 26-06-17 18:25, Adam Duskett wrote:
> Libressl is a fork of openssl from OpenSSL in 2014.  Its goal is to
> modernize the OpenSSL codebase, improve security, and apply best
> practice development processes.
> 
> Right now, libressl is API compatible with OpenSSL 1.0.1, but does not
> yet include all new APIs from OpenSSL 1.0.2 and later.

 This looks largely OK to me (after converting back to non-virtual package of
course), with one small addition.

 Oh, and when adding in package/Config.in, I think this package should break
alphabetical ordering and come right below libressl, with a comment to explain
that it break alphabetical ordering because it's an openssl replacement.

[snip]
> diff --git a/package/libressl/libressl.mk b/package/libressl/libressl.mk
> new file mode 100644
> index 0000000..ca8bf34
> --- /dev/null
> +++ b/package/libressl/libressl.mk
> @@ -0,0 +1,21 @@
> +################################################################################
> +#
> +# libressl
> +#
> +################################################################################
> +
> +LIBRESSL_VERSION = 2.5.4
> +LIBRESSL_SITE = https://ftp.openbsd.org/pub/OpenBSD/LibreSSL
> +LIBRESSL_LICENSE = ISC (New additions), OpenSSL or SSLeay (Original OpenSSL code)
                           ^                                  ^
 Don't capitalize here, we don't do that anywhere else.

 Regards,
 Arnout

> +LIBRESSL_LICENSE_FILES = COPYING
> +LIBRESSL_INSTALL_STAGING = YES
> +LIBRESSL_PROVIDES = libssl
> +
> +ifeq ($(BR2_PACKAGE_LIBRESSL_BIN),)
> +define LIBRESSL_REMOVE_BIN
> +	$(RM) -f $(TARGET_DIR)/usr/bin/openssl
> +endef
> +LIBRESSL_POST_INSTALL_TARGET_HOOKS += LIBRESSL_REMOVE_BIN
> +endif
> +
> +$(eval $(autotools-package))
> diff --git a/package/libssl/Config.in b/package/libssl/Config.in
> index 5b912e6..5f81348 100644
> --- a/package/libssl/Config.in
> +++ b/package/libssl/Config.in
> @@ -9,7 +9,7 @@ choice
>  	prompt "libssl variant"
>  	default BR2_PACKAGE_OPENSSL
>  	help
> -	  Select OpenSSL
> +	  Select OpenSSL or LibreSSL
>  
>  config BR2_PACKAGE_OPENSSL
>  	bool "openssl"
> @@ -25,6 +25,16 @@ config BR2_PACKAGE_OPENSSL
>  	  http://www.openssl.org/
>  	  Note: Some helper scripts need perl.
>  
> +config BR2_PACKAGE_LIBRESSL
> +	bool "libressl"
> +	select BR2_PACKAGE_HAS_LIBSSL
> +	help
> +	  LibreSSL is a version of the TLS/crypto stack forked from
> +	  OpenSSL in 2014, with goals of modernizing the codebase,
> +	  improving security, and applying best practice development
> +	  processes.
> +
> +	  http://www.libressl.org/
>  endchoice
>  
>  if BR2_PACKAGE_OPENSSL
> @@ -43,11 +53,20 @@ config BR2_PACKAGE_OPENSSL_ENGINES
>  
>  endif
>  
> +if BR2_PACKAGE_LIBRESSL
> +
> +config BR2_PACKAGE_LIBRESSL_BIN
> +	bool "openssl binary"
> +	help
> +	  Install the openssl binary to the target file system. This is
> +	  a command line tool for doing various cryptographic stuff.
> +
> +endif
>  config BR2_PACKAGE_HAS_LIBSSL
>  	bool
>  
>  config BR2_PACKAGE_PROVIDES_LIBSSL
>  	string
>  	default "openssl"    if BR2_PACKAGE_OPENSSL
> -
> +	default "libressl"   if BR2_PACKAGE_LIBRESSL
>  endif
> 

-- 
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

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

* [Buildroot] [PATCH v3 1/3] libssl: new virtual package
  2017-07-05 19:50 ` [Buildroot] [PATCH v3 1/3] libssl: new virtual package Arnout Vandecappelle
@ 2017-07-06 10:16   ` Adam Duskett
  2017-07-06 14:09     ` Arnout Vandecappelle
  0 siblings, 1 reply; 8+ messages in thread
From: Adam Duskett @ 2017-07-06 10:16 UTC (permalink / raw)
  To: buildroot

Hey Arnout;

Thanks for the feedback! See my comments below:

On Wed, Jul 5, 2017 at 3:50 PM, Arnout Vandecappelle <arnout@mind.be> wrote:
>  Hi Adam,
>
> On 26-06-17 18:25, Adam Duskett wrote:
>> libressl is API compatible with OpenSSL 1.0.1 and is almost API
>> compatible with OpenSSL 1.0.2.  As such, a new virtual package is needed
>> to handle having both libressl and openssl.
>>
>> To start, add OpenSSL as the only provider. In the following patches
>> libressl will also be added as a provider.
>
>  We finally got around to discussing this at the BR Summer Camp (too many things
> to do...). In the end, we came to the following conclusion:
>
> * Although libressl is supposed to be a drop-in replacement of openssl, it isn't
> really. E.g. quite a few packages are using features from openssl 1.0.2 which
> aren't available in libressl (yet).
>
I agree, but hopefully, it will be soon!

> * Therefore, we need to verify for each and every package if they support
> libressl. A build-time check may not be sufficient, it really needs to be a
> runtime test to be sure, due to the highly dynamic nature of openssl/libressl.
>
Agreed.  Once this package is in place I am going to try and convert
my current big
project over to it.  This will include several packages so it will be
a good test run.

> * That means we need to convert packages one by one, probably on demand by a
> user who wants to replace openssl with libressl in his particular setup.
>
> * We have no idea at the moment how many packages actually do support either
> libressl or openssl. Therefore, it is difficult to estimate at this point
> whether it is worth to create a virtual package.
>
> * For boringssl even more so.
>
I know janus-gateway supports boringssl right now. There's even a
option for it in the
config file! :)

> * Transitioning to the virtual package will anyway be painful from a legacy
> handling point of view. Indeed, we want to make sure that a configuration that
> currently has openssl selected still has openssl selected in the future; we want
> packages to be able to select openssl; and we ideally want a choice between the two.
>
>
> Therefore, the proposal is to use the "old" way of having the two options:
>
> config BR2_PACKAGE_LIBRESSL
>         bool "libressl"
>         depends on !BR2_PACKAGE_OPENSSL
>
> and in packages that depend on either libressl or openssl:
>
>         select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_LIBRESSL
>
> and in packages that optionally depend on libressl or openssl:
>
> ifeq ($(BR2_PACKAGE_OPENSSL),y)
> FOO_DEPENDENCIES += openssl
> endif
> ifeq ($(BR2_PACKAGE_LIBRESSL),y)
> FOO_DEPENDENCIES += libressl
> endif
>
>
>  If a significant number of packages (don't know how much, but at least 5) are
> able to support both, then we can consider introducing the virtual package after
> all. But see below for the problems.
>
I am sure there are, and hopefully more than just myself want to use
libressl instead of
openssl. :)
>>
>> Signed-off-by: Adam Duskett <aduskett@codeblue.com>
>
> [snip]
>> diff --git a/package/libssl/Config.in b/package/libssl/Config.in
>> new file mode 100644
>> index 0000000..5b912e6
>> --- /dev/null
>> +++ b/package/libssl/Config.in
>> @@ -0,0 +1,53 @@
>> +config BR2_PACKAGE_LIBSSL
>> +     bool "libssl support"
>> +     help
>> +       Select the desired ssl library provider.
>> +
>> +if BR2_PACKAGE_LIBSSL
>> +
>> +choice
>> +     prompt "libssl variant"
>> +     default BR2_PACKAGE_OPENSSL
>> +     help
>> +       Select OpenSSL
>> +
>> +config BR2_PACKAGE_OPENSSL
>
>  So here is the problem: if an existing config has BR2_PACKAGE_OPENSSL selected,
> then it will silently disappear when they update Buildroot. There is no simple
> way to resolve this, except by renaming the openssl package to something else,
> and making sure that the virtual package is called openssl. This is how we did
> it for libjpeg/jpegturbo: libjpeg was originally called jpeg and jpeg became the
> virtual package.
>
mmm, I disagree.  I don't think it's as insurmountable or as difficult
as we are making it
out to be to transition.  A quick glance: There are 157~ (current)
packages that select openssl.
That's not too terrible to do a transition.

>  But that is a rather big change, and we want to delay it until there are clear
> users of the virtual package.
>
>  Some more notes below, just in case we do convert to the virtual package a few
> months from now.
>
>> +     bool "openssl"
>> +     select BR2_PACKAGE_ZLIB
>> +     select BR2_PACKAGE_HAS_LIBSSL
>> +     help
>> +       A collaborative effort to develop a robust, commercial-grade,
>> +       fully featured, and Open Source toolkit implementing the
>> +       Secure Sockets Layer (SSL v2/v3) and Transport Security
>> +       (TLS v1) as well as a full-strength general-purpose
>> +       cryptography library.
>> +
>> +       http://www.openssl.org/
>> +       Note: Some helper scripts need perl.
>> +
>> +endchoice
>> +
>> +if BR2_PACKAGE_OPENSSL
>
>  I would personally prefer to keep this in package/openssl/Config.in and to add here
>
> source "package/openssl/Config.in"
>
Ok.  I was following the libjpeg/jpeg-turbo virtual package model.  If
we go this route, would
it be a good idea to add the respective Config.in files to libjpeg and
jpeg-turbo as well?

>> +
>> +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
>> +       Install additional encryption engine libraries.
>> +
>> +endif
>> +
>> +config BR2_PACKAGE_HAS_LIBSSL
>> +     bool
>
>  This should be at the top of the file.
>
>> +
>> +config BR2_PACKAGE_PROVIDES_LIBSSL
>> +     string
>
>  This should also be at the top of the file, and repeated in
> package/openssl/Config.in (but without the string) together with the line below.
>
>
>  Regards,
>  Arnout
>
Thanks so much for the feedback!

Adam
>
>> +     default "openssl"    if BR2_PACKAGE_OPENSSL
>> +
>> +endif
>> diff --git a/package/libssl/libssl.mk b/package/libssl/libssl.mk
>> new file mode 100644
>> index 0000000..3bd775d
>> --- /dev/null
>> +++ b/package/libssl/libssl.mk
>> @@ -0,0 +1,7 @@
>> +################################################################################
>> +#
>> +# libssl
>> +#
>> +################################################################################
>> +
>> +$(eval $(virtual-package))
>> diff --git a/package/openssl/Config.in b/package/openssl/Config.in
>> deleted file mode 100644
>> index e08b648..0000000
>> --- a/package/openssl/Config.in
>> +++ /dev/null
>> @@ -1,28 +0,0 @@
>> -config BR2_PACKAGE_OPENSSL
>> -     bool "openssl"
>> -     select BR2_PACKAGE_ZLIB
>> -     help
>> -       A collaborative effort to develop a robust, commercial-grade, fully
>> -       featured, and Open Source toolkit implementing the Secure Sockets
>> -       Layer (SSL v2/v3) and Transport Security (TLS v1) as well as a
>> -       full-strength general-purpose cryptography library.
>> -
>> -       http://www.openssl.org/
>> -
>> -       Note: Some helper scripts need perl.
>> -
>> -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
>> -       Install additional encryption engine libraries.
>> -
>> -endif
>> diff --git a/package/openssl/openssl.mk b/package/openssl/openssl.mk
>> index 5f56b44..c028290 100644
>> --- a/package/openssl/openssl.mk
>> +++ b/package/openssl/openssl.mk
>> @@ -10,6 +10,7 @@ OPENSSL_LICENSE = OpenSSL or SSLeay
>>  OPENSSL_LICENSE_FILES = LICENSE
>>  OPENSSL_INSTALL_STAGING = YES
>>  OPENSSL_DEPENDENCIES = zlib
>> +OPENSSL_PROVIDES = libssl
>>  HOST_OPENSSL_DEPENDENCIES = host-zlib
>>  OPENSSL_TARGET_ARCH = generic32
>>  OPENSSL_CFLAGS = $(TARGET_CFLAGS)
>>
>
> --
> 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

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

* [Buildroot] [PATCH v3 1/3] libssl: new virtual package
  2017-07-06 10:16   ` Adam Duskett
@ 2017-07-06 14:09     ` Arnout Vandecappelle
  2017-07-06 14:13       ` Adam Duskett
  0 siblings, 1 reply; 8+ messages in thread
From: Arnout Vandecappelle @ 2017-07-06 14:09 UTC (permalink / raw)
  To: buildroot



On 06-07-17 12:16, Adam Duskett wrote:
> Hey Arnout;
> 
> Thanks for the feedback! See my comments below:
> 
> On Wed, Jul 5, 2017 at 3:50 PM, Arnout Vandecappelle <arnout@mind.be> wrote:
[snip]
>>  So here is the problem: if an existing config has BR2_PACKAGE_OPENSSL selected,
>> then it will silently disappear when they update Buildroot. There is no simple
>> way to resolve this, except by renaming the openssl package to something else,
>> and making sure that the virtual package is called openssl. This is how we did
>> it for libjpeg/jpegturbo: libjpeg was originally called jpeg and jpeg became the
>> virtual package.
>>
> mmm, I disagree.

 What do you disagree with? I hope you agree that existing configs that have
BR2_PACKAGE_OPENSSL selected should still have it selected after the transition,
right? Or do you disagree that it is not simple? Or do you disagree that a
rename is needed?

>  I don't think it's as insurmountable or as difficult
> as we are making it
> out to be to transition.  A quick glance: There are 157~ (current)
> packages that select openssl.

 85 that select it and 169 that use it in the .mk file.

> That's not too terrible to do a transition.
> 

[snip]
>>  I would personally prefer to keep this in package/openssl/Config.in and to add here
>>
>> source "package/openssl/Config.in"
>>
> Ok.  I was following the libjpeg/jpeg-turbo virtual package model.  If
> we go this route, would
> it be a good idea to add the respective Config.in files to libjpeg and
> jpeg-turbo as well?

 libjpeg and jpeg-turbo don't have any sub-options so it's not relevant there.

 Regards,
 Arnout


[snip]

-- 
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

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

* [Buildroot] [PATCH v3 1/3] libssl: new virtual package
  2017-07-06 14:09     ` Arnout Vandecappelle
@ 2017-07-06 14:13       ` Adam Duskett
  0 siblings, 0 replies; 8+ messages in thread
From: Adam Duskett @ 2017-07-06 14:13 UTC (permalink / raw)
  To: buildroot

On Thu, Jul 6, 2017 at 10:09 AM, Arnout Vandecappelle <arnout@mind.be> wrote:
>
>
> On 06-07-17 12:16, Adam Duskett wrote:
>> Hey Arnout;
>>
>> Thanks for the feedback! See my comments below:
>>
>> On Wed, Jul 5, 2017 at 3:50 PM, Arnout Vandecappelle <arnout@mind.be> wrote:
> [snip]
>>>  So here is the problem: if an existing config has BR2_PACKAGE_OPENSSL selected,
>>> then it will silently disappear when they update Buildroot. There is no simple
>>> way to resolve this, except by renaming the openssl package to something else,
>>> and making sure that the virtual package is called openssl. This is how we did
>>> it for libjpeg/jpegturbo: libjpeg was originally called jpeg and jpeg became the
>>> virtual package.
>>>
>> mmm, I disagree.
>
>  What do you disagree with? I hope you agree that existing configs that have
> BR2_PACKAGE_OPENSSL selected should still have it selected after the transition,
> right? Or do you disagree that it is not simple? Or do you disagree that a
> rename is needed?
>
I don't think it wouldn't be simple, simply because there aren't a
huge amount of packages
that require openssl.  It would be a (kind of) hefty patch to mass
convert the existing packages,
but that's only a copy and paste job away to convert them from openssl
to libssl in the future. :)

>>  I don't think it's as insurmountable or as difficult
>> as we are making it
>> out to be to transition.  A quick glance: There are 157~ (current)
>> packages that select openssl.
>
>  85 that select it and 169 that use it in the .mk file.
>
>> That's not too terrible to do a transition.
>>
>
> [snip]
>>>  I would personally prefer to keep this in package/openssl/Config.in and to add here
>>>
>>> source "package/openssl/Config.in"
>>>
>> Ok.  I was following the libjpeg/jpeg-turbo virtual package model.  If
>> we go this route, would
>> it be a good idea to add the respective Config.in files to libjpeg and
>> jpeg-turbo as well?
>
>  libjpeg and jpeg-turbo don't have any sub-options so it's not relevant there.
>
Fair enough!
>  Regards,
>  Arnout
>
>
> [snip]
>
> --
> 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

Adam

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

end of thread, other threads:[~2017-07-06 14:13 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-26 16:25 [Buildroot] [PATCH v3 1/3] libssl: new virtual package Adam Duskett
2017-06-26 16:25 ` [Buildroot] [PATCH v3 2/3] package configs: add select BR2_PACKAGE_LIBSSL Adam Duskett
2017-06-26 16:25 ` [Buildroot] [PATCH v3 3/3] libressl: new package Adam Duskett
2017-07-05 19:55   ` Arnout Vandecappelle
2017-07-05 19:50 ` [Buildroot] [PATCH v3 1/3] libssl: new virtual package Arnout Vandecappelle
2017-07-06 10:16   ` Adam Duskett
2017-07-06 14:09     ` Arnout Vandecappelle
2017-07-06 14:13       ` Adam Duskett

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox