Skip to contentSkip to conversation

libressl: new package

PATCH New Adam Duskett 2 participants 2 messages Jul 6, 2017 – Jul 8, 2017

lore
Share & tools
lore
#0 lore raw

PATCH v5 1/1 libressl: new package

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.

---
Changes v4 -> v5:
- Removed LIBRESSL_INSTALL_TARGET_CMDS from libressl.mk (Thomas)

Changes v3 -> v4:
- Removed libssl virtual package. (Arnout)
- Re-added Config.in (Arnout)
- Moved libressl to right before OpenSSL in package/config.in with a explanation as to why it breaks alphabetical ordering. (Arnout)
- Added depends on !BR2_PACKAGE_OPENSSL in Config.in (Arnout)
- Changed capitalized letters to lowercase in libressl.mk (Arnout)
- Removed libssl specific syntax in Config.in and libressl.mk
- Added LIBRESSL_INSTALL_TARGET_CMDS in libressl.mk
Without this, all the header files and man-pages are installed to the target filing system. This is undesired behavior. Instead, running ?install-exec? will only install the libraries to the target filing system.

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 +
 package/Config.in                                  |  2 ++
 .../0001-remove-test-z-DESTDIR-from-ltmain.patch   | 28 ++++++++++++++++++++++
 package/libressl/Config.in                         | 20 ++++++++++++++++
 package/libressl/libressl.hash                     |  2 ++
 package/libressl/libressl.mk                       | 20 ++++++++++++++++
 6 files changed, 73 insertions(+)
 create mode 100644 package/libressl/0001-remove-test-z-DESTDIR-from-ltmain.patch
 create mode 100644 package/libressl/Config.in
 create mode 100644 package/libressl/libressl.hash
 create mode 100644 package/libressl/libressl.mk
DEVELOPERS +1 -0
index c409f28..c997500 100644
@@ -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/
package/Config.in +2 -0
index 46c78a0..4e5a7fe 100644
@@ -988,6 +988,8 @@ menu "Crypto"
 	source "package/libuecc/Config.in"
 	source "package/mbedtls/Config.in"
 	source "package/nettle/Config.in"
+	#libressl is a openssl replacement.
+	source "package/libressl/Config.in"
 	source "package/openssl/Config.in"
 	source "package/rhash/Config.in"
 	source "package/tinydtls/Config.in"
package/libressl/0001-remove-test-z-DESTDIR-from-ltmain.patch new file +28 -0
new file mode 100644
index 0000000..901a48c
@@ -0,0 +1,28 @@
+From 4317d43d74996ad7ec3270b1e786e91a19312309 Mon Sep 17 00:00:00 2001
+From: Adam Duskett <[email protected]>
+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 <[email protected]>
+---
+ 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
+
package/libressl/Config.in new file +20 -0
new file mode 100644
index 0000000..0a1c9e2
@@ -0,0 +1,20 @@
+config BR2_PACKAGE_LIBRESSL
+	bool "libressl"
+	depends on !BR2_PACKAGE_OPENSSL
+	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/
+
+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
package/libressl/libressl.hash new file +2 -0
new file mode 100644
index 0000000..9ffe964
@@ -0,0 +1,2 @@
+# From https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/SHA256
+sha256	107a5b522fbb8318d4c3be668075e5e607296f0a9255d71674caa94571336efa	libressl-2.5.4.tar.gz
package/libressl/libressl.mk new file +20 -0
new file mode 100644
index 0000000..6941447
@@ -0,0 +1,20 @@
+################################################################################
+#
+# 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
+
+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))
Signature · 1 line
2.9.4
#1 lore raw

PATCH v5 1/1 libressl: new package

Quoted 73 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Adam" == Adam Duskett <[email protected]> writes:

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.

---
Changes v4 -> v5:
- Removed LIBRESSL_INSTALL_TARGET_CMDS from libressl.mk (Thomas)

Changes v3 -> v4:
- Removed libssl virtual package. (Arnout)
- Re-added Config.in (Arnout)
- Moved libressl to right before OpenSSL in package/config.in with a explanation as to why it breaks alphabetical ordering. (Arnout)
- Added depends on !BR2_PACKAGE_OPENSSL in Config.in (Arnout)
- Changed capitalized letters to lowercase in libressl.mk (Arnout)
- Removed libssl specific syntax in Config.in and libressl.mk
- Added LIBRESSL_INSTALL_TARGET_CMDS in libressl.mk
Without this, all the header files and man-pages are installed to the target filing system. This is undesired behavior. Instead, running ?install-exec? will only install the libraries to the target filing system.

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 +
 package/Config.in                                  |  2 ++
 .../0001-remove-test-z-DESTDIR-from-ltmain.patch   | 28 ++++++++++++++++++++++
 package/libressl/Config.in                         | 20 ++++++++++++++++
 package/libressl/libressl.hash                     |  2 ++
 package/libressl/libressl.mk                       | 20 ++++++++++++++++
 6 files changed, 73 insertions(+)
 create mode 100644 package/libressl/0001-remove-test-z-DESTDIR-from-ltmain.patch
 create mode 100644 package/libressl/Config.in
 create mode 100644 package/libressl/libressl.hash
 create mode 100644 package/libressl/libressl.mk
DEVELOPERS +1 -0
index c409f28..c997500 100644
@@ -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/
package/Config.in +0 -0
index 46c78a0..4e5a7fe 100644

package/Config.in menu "Crypto" · line 993

Quoted 6 lines
package/Config.in +2 -0
@@ -988,6 +988,8 @@ menu "Crypto"
 	source "package/libuecc/Config.in"
 	source "package/mbedtls/Config.in"
 	source "package/nettle/Config.in"
+	#libressl is a openssl replacement.
+	source "package/libressl/Config.in"
 	source "package/openssl/Config.in"

It would imho have been nicer to list libressl after openssl, but this looks odd in menuconfig as it thinks it is a sub option of openssl (because on the depends on), so I've left it there after adding a space between '#' and 'libressl' and dropping the trailing dot.

Committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard