Skip to contentSkip to conversation

libopenssl: bump version to 1.1.1a

PATCH Superseded Peter Seiderer 6 participants 15 messages Jan 15, 2019 – Jan 25, 2019

v4 of 5 Superseded Latest is v5 →

lore
Share & tools
lore
#0 lore raw

PATCH v4 1/2 libopenssl: bump version to 1.1.1a

- remove all parallel build patches (openssl build-system changed)

- rebased 0001-Dont-waste-time-building-manpages-if-we-re-not-going.patch to apply to Configurations/unix-Makefile.tmpl (Makefile template)

- removed 0002-cryptodev-Fix-issue-with-signature-generation.patch (upstream applied)

- rebased 0003-Reproducible-build-do-not-leak-compiler-path.patch to apply to crypto/build.info (Makefile template)

- fix musl/uclibc build failure, use '-DOPENSSL_NO_ASYNC'

- remove legacy enable-tlsext configure option

- fix host library install path

- change legacy INSTALL_PREFIX to DESTDIR

- remove 'libraries gets installed read only, so strip fails' workaround (not needed anymore)

- change engine directory from /usr/lib/engines to /usr/lib/engines-1.1

- change license file hash, no license change, only the following hint was removed:

Actually both licenses are BSD-style Open Source licenses. In case of any license issues related to OpenSSL please contact openssl-core at openssl.org.

- fix host-libopenssl compile setting rpath as decribed in libopenssl-1.1.0h/NOTES.UNIX

---
Changes v3 -> v4:
- bump version to 1.1.1a
- remove all parallel build patches hash file entries
- re-remove 0004-Revert-util-dofile.pl-only-quote-stuff-that-actually.patch (upstream applied)
- fix hist library install path
- removed 0002-cryptodev-Fix-issue-with-signature-generation.patch (upstram applied)
- remove follow up patch for openssh (not longer needed since version bump to 7.9p1, see https://www.openssh.com/releasenotes.html
Portability)

Changes v2 -> v3:
- no changes

Changes v1 -> v2:
- add OPENSSL_NO_ASYNC workaround for musl compile too (suggested by Bernd Kuhls)

- fix host-libopenssl compile (reported by Ryan Coe) by setting rpath (suggested by Ryan Coe)

- fix 0001-Dont-waste-time-building-manpages-if-we-re-not-going.patch and 0003-Reproducible-build-do-not-leak-compiler-path.patch to apply to the Makefile templates (instead of re-generated Makefile) (reported by Ryan Coe)

- add 0004-Revert-util-dofile.pl-only-quote-stuff-that-actually.patch (suggested by Bernd Kuhls)

Notes:

- There was a previous attempt to bump the openssl version by David Mosberger <[email protected]>. I could not find the corresponding patch in patchwork or on the mailing list, only a reply by Arnout Vandecappelle (see [2]) and the answer by David Mosberger (see [3]).

- Compile checked packages (depending explicit on libopenssl or host-libopenssl):
O.k:
- hostapd
- libpjsip
- mosquitto
- wpa_supplicant

Failure:
- softether/host-softether

- Compile checked packages (depending on openssl or host-openssl):
O.k.:
- alljoyn-base
- apr
- apr-util
- freeswitch
- openssh

Failure:
- android-tools
- apache (CMake configure errro, unrelated?)

[2] http://lists.busybox.net/pipermail/buildroot/2017-August/200859.html
[3] http://lists.busybox.net/pipermail/buildroot/2017-August/200898.html

---
 ...building-manpages-if-we-re-not-going.patch |  34 +-
 ...-Fix-issue-with-signature-generation.patch | 450 ------------------
 ...ible-build-do-not-leak-compiler-path.patch |  31 +-
 package/libopenssl/libopenssl.hash            |  15 +-
 package/libopenssl/libopenssl.mk              |  41 +-
 5 files changed, 61 insertions(+), 510 deletions(-)
 delete mode 100644 package/libopenssl/0002-cryptodev-Fix-issue-with-signature-generation.patch
package/libopenssl/0001-Dont-waste-time-building-manpages-if-we-re-not-going.patch +19 -15
index 10d2b7526c..f20b6f0834 100644
@@ -1,27 +1,31 @@
-From 389efb564fa1453a9da835393eec9006bfae2a52 Mon Sep 17 00:00:00 2001
+From d8f104bffb0c4acb8c5fcdf49628f7d02ed48f7f Mon Sep 17 00:00:00 2001
 From: Mike Frysinger <[email protected]>
 Date: Sat, 16 May 2015 18:53:51 +0200
-Subject: Dont waste time building manpages if we're not going to use em.
+Subject: [PATCH] Dont waste time building manpages if we're not going to use
+ em.
 
 Signed-off-by: Ryan Barnett <[email protected]>
 [Gustavo: update for parallel-build]
+
+[rebased on openssl-1.1.0h]
+Signed-off-by: Peter Seiderer <[email protected]>
 ---
- Makefile.org | 2 +-
+ Configurations/unix-Makefile.tmpl | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/Makefile.org b/Makefile.org
-index 60f07cc..976ceaf 100644
---- a/Makefile.org
-+++ b/Makefile.org
-@@ -527,7 +527,7 @@ dist:
- dist_pem_h:
- 	(cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean)
+diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl
+index 40cf2c3..777d9ca 100644
+--- a/Configurations/unix-Makefile.tmpl
++++ b/Configurations/unix-Makefile.tmpl
+@@ -268,7 +268,7 @@ list-tests:
+ 	@echo "Tests are not supported with your chosen Configure options"
+ 	@ : {- output_on() if !$disabled{tests}; "" -}
+ 
+-install: install_sw install_ssldirs install_docs
++install: install_sw install_ssldirs
  
--install: install_docs install_sw
-+install: install_sw
+ uninstall: uninstall_docs uninstall_sw
  
- install_sw:
- 	@$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \
 -- 
-1.9.1
+2.16.3
 
package/libopenssl/0002-cryptodev-Fix-issue-with-signature-generation.patch deleted +0 -450

450 lines not on this page · raw message

package/libopenssl/0003-Reproducible-build-do-not-leak-compiler-path.patch +17 -14
index eff72c548a..820c2addf1 100644
@@ -1,26 +1,29 @@
-From 875fcad2ad84877763cba86c1265b57679b878b0 Mon Sep 17 00:00:00 2001
+From b70be8c65365a8fc564226360d45adbbb29fc0af Mon Sep 17 00:00:00 2001
 From: Peter Seiderer <[email protected]>
 Date: Tue, 24 Oct 2017 16:58:32 +0200
 Subject: [PATCH] Reproducible build: do not leak compiler path
 
+Signed-off-by: Peter Seiderer <[email protected]>
+
+[Rebased on openssl-1.1.1.a]
 Signed-off-by: Peter Seiderer <[email protected]>
 ---
- crypto/Makefile | 2 +-
+ crypto/build.info | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/crypto/Makefile b/crypto/Makefile
-index 7869996..7e63291 100644
---- a/crypto/Makefile
-+++ b/crypto/Makefile
-@@ -55,7 +55,7 @@ top:
- all: shared
+diff --git a/crypto/build.info b/crypto/build.info
+index 2c619c6..49ca6ab 100644
+--- a/crypto/build.info
++++ b/crypto/build.info
+@@ -10,7 +10,7 @@ EXTRA=  ../ms/uplink-x86.pl ../ms/uplink.c ../ms/applink.c \
+         ppccpuid.pl pariscid.pl alphacpuid.pl arm64cpuid.pl armv4cpuid.pl
  
- buildinf.h: ../Makefile
--	$(PERL) $(TOP)/util/mkbuildinf.pl "$(CC) $(CFLAGS)" "$(PLATFORM)" >buildinf.h
-+	$(PERL) $(TOP)/util/mkbuildinf.pl "$$(basename $(CC)) $(CFLAGS)" "$(PLATFORM)" >buildinf.h
+ DEPEND[cversion.o]=buildinf.h
+-GENERATE[buildinf.h]=../util/mkbuildinf.pl "$(CC) $(LIB_CFLAGS) $(CPPFLAGS_Q)" "$(PLATFORM)"
++GENERATE[buildinf.h]=../util/mkbuildinf.pl "$$(basename $(CC)) $(LIB_CFLAGS) $(CPPFLAGS_Q)" "$(PLATFORM)"
+ DEPEND[buildinf.h]=../configdata.pm
  
- x86cpuid.s:	x86cpuid.pl perlasm/x86asm.pl
- 	$(PERL) x86cpuid.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) > $@
+ GENERATE[uplink-x86.s]=../ms/uplink-x86.pl $(PERLASM_SCHEME)
 -- 
-2.11.0
+2.20.1
 
package/libopenssl/libopenssl.hash +5 -10
index 83fb8bd513..568d7e8b52 100644
@@ -1,10 +1,5 @@
-# From https://www.openssl.org/source/openssl-1.0.2q.tar.gz.sha256
-sha256	5744cfcbcec2b1b48629f7354203bc1e5e9b5466998bbccc5b5fcde3b18eb684	openssl-1.0.2q.tar.gz
-# From https://www.openssl.org/source/openssl-1.0.2q.tar.gz.sha1
-sha1	692f5f2f1b114f8adaadaa3e7be8cce1907f38c5				openssl-1.0.2q.tar.gz
-# Locally computed
-sha256	eddd8a5123748052c598214487ac178e4bfa4e31ba2ec520c70d59c8c5bfa2e9	openssl-1.0.2a-parallel-install-dirs.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d
-sha256	147c3eeaad614c044749ea527cb433eae5e2d5cad34a78c6ba61cd967bfbe01f	openssl-1.0.2a-parallel-obj-headers.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d
-sha256	30cb49489de5041841a74da9155cd4fabfbce33237262ba7cd23974314ae2956	openssl-1.0.2a-parallel-symlinking.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d
-sha256	deaf6f3af41874ecc6d63841ea14b8e6c71cea81d4a511a754bc90c9a993147f	openssl-1.0.2d-parallel-build.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d
-sha256	c8f60f4842bbad0353f5d81620e72b168b5638ca3a0a999f5da113b22491612e	LICENSE
+# From https://www.openssl.org/source/openssl-1.1.1a.tar.gz.sha256
+sha256	fc20130f8b7cbd2fb918b2f14e2f429e109c31ddd0fb38fc5d71d9ffed3f9f41	openssl-1.1.1a.tar.gz
+
+# License files
+sha256	350c7817af2ef980d3f3922bc5e0bb6a9d9f6cc21e784a699bcd2a31c74a84b1	LICENSE
package/libopenssl/libopenssl.mk +20 -21

95 lines not on this page · raw message

Signature · 1 line
2.20.1
#1 lore raw

PATCH v4 2/2 freeswitch: bump to git master 8f10ae54a18a19fc6ed938e4f662bd218ba54b5e

Enables openssl-1.1.0h compatible compile.

- add bootstrap.sh post-patch call (normal AUTORECONF is broken)
- add tiff dependency (bundled tiff source is gone)
- rebase (and git format) 001-libvpx-cross.patch patch
- update libs/srtp/LICENSE file hash (updated copyright year)

---
Changes v2 -> v3:
- add PATH=$(BR_PATH) for bootstrap.sh call (suggested by Bernd Kuhls)

- fix need for disabled BR2_COMPILER_PARANOID_UNSAFE_PATH, run bootstrap.sh as post-patch insted pre-configure (as the freetype packege does)

Changes v1 -> v2:
- new patch (suggested by Bernd Kuhls)

---
 .../0001-Fix-cross-compiling-libvpx.patch     | 30 ++++++++++++-------
 package/freeswitch/freeswitch.hash            | 11 +++----
 package/freeswitch/freeswitch.mk              | 16 ++++++++--
 3 files changed, 37 insertions(+), 20 deletions(-)
package/freeswitch/0001-Fix-cross-compiling-libvpx.patch +20 -10
index 1d4b97a7a0..9542d037ed 100644
@@ -1,4 +1,7 @@
-Fix cross-compiling libvpx
+From 4ba073af7877242a79579b040e3be00bed4275cc Mon Sep 17 00:00:00 2001
+From: Bernd Kuhls <[email protected]>
+Date: Thu, 3 May 2018 22:24:23 +0200
+Subject: [PATCH] Fix cross-compiling libvpx
 
 Freeswitch since version 1.6.7 only uses an in-tree-version of libvpx:
 https://freeswitch.org/fisheye/changelog/freeswitch?cs=febe0f8dacea2d2a31902b3dc469be757f8c3c4d
@@ -10,20 +13,27 @@ package/freeswitch/freeswitch.mk and add target=generic-gnu as
 configure parameter:
 https://freeswitch.org/stash/projects/FS/repos/freeswitch/browse/libs/libvpx/README#110
 
-And yes, autoreconf is also broken, so we patch Makefile.in instead
-of Makefile.am.
-
 Signed-off-by: Bernd Kuhls <[email protected]>
 
-diff -uNr freeswitch-1.6.7.org/Makefile.in freeswitch-1.6.7/Makefile.in
---- freeswitch-1.6.7.org/Makefile.in	2016-04-01 18:09:54.000000000 +0200
-+++ freeswitch-1.6.7/Makefile.in	2016-04-22 20:11:37.938961730 +0200
-@@ -4025,7 +4025,7 @@
+[rebased on freeswitch git master branch]
+Signed-off-by: Peter Seiderer <[email protected]>
+---
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 53bd7c66aa..2e4059740a 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -567,7 +567,7 @@ libs/libzrtp/libzrtp.a:
  	cd libs/libzrtp && $(MAKE)
  
  libs/libvpx/Makefile:
--	cd libs/libvpx && CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" ./configure --enable-pic --disable-docs --disable-examples --disable-install-bins --disable-install-srcs --disable-unit-tests --size-limit=16384x16384 --extra-cflags="$(VISIBILITY_FLAG)"
-+	cd libs/libvpx && CROSS=$(CROSS) CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" ./configure --target=generic-gnu --enable-pic --disable-docs --disable-examples --disable-install-bins --disable-install-srcs --disable-unit-tests --size-limit=16384x16384 --extra-cflags="$(VISIBILITY_FLAG)"
+-	cd libs/libvpx && CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" ./configure --enable-pic --disable-docs --disable-examples --disable-install-bins --disable-install-srcs --disable-unit-tests --extra-cflags="$(VISIBILITY_FLAG)"
++	cd libs/libvpx && CROSS=$(CROSS) CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" ./configure --target=generic-gnu --enable-pic --disable-docs --disable-examples --disable-install-bins --disable-install-srcs --disable-unit-tests --extra-cflags="$(VISIBILITY_FLAG)"
  
  libs/libvpx/libvpx.a: libs/libvpx/Makefile
  	@cd libs/libvpx && $(MAKE)
+-- 
+2.19.2
+
package/freeswitch/freeswitch.hash +4 -7
index dab2fb237b..23dab45dc5 100644
@@ -1,10 +1,7 @@
-# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.8.2.tar.xz.md5
-md5 61de81cd70afb056dde7b1dcb91ad967 freeswitch-1.8.2.tar.xz
-# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.8.2.tar.xz.sha1
-sha1 f2c077db40b05c5fdf66cbe77bd879f41132f79a freeswitch-1.8.2.tar.xz
-# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.8.2.tar.xz.sha256
-sha256 ebcf3db970ea9bb534c0983a1c9eef88395deb6e0902d8d6407bf217b2f27b9a freeswitch-1.8.2.tar.xz
-# Locally computed
+# Locally computed:
+sha256 56d932c001f3cc53b6ee5d835536b01fceacf1e360a6b48c5c1265eda5d6be86  freeswitch-8f10ae54a18a19fc6ed938e4f662bd218ba54b5e.tar.gz
+
+# License files:
 sha256 10299420c1e8602c0daf5a59d022621cd72a9148d1f0f33501edb3db3445c7fe  COPYING
 sha256 e8e26b16da14aa3e6ed5c22c705fdc1f45d6225fca461ea9f7314bcdfdc414c4  libs/apr/LICENSE
 sha256 1eefb2ea1db0af7729a9d8a27d7c65d8a37ab185393f935b029aac6828ce315a  libs/apr-util/LICENSE
package/freeswitch/freeswitch.mk +13 -3
index 577d6c9450..a7d52995ce 100644
@@ -4,9 +4,10 @@
 #
 ################################################################################
 
-FREESWITCH_VERSION = 1.8.2
-FREESWITCH_SOURCE = freeswitch-$(FREESWITCH_VERSION).tar.xz
-FREESWITCH_SITE = http://files.freeswitch.org/freeswitch-releases
+FREESWITCH_VERSION = 8f10ae54a18a19fc6ed938e4f662bd218ba54b5e
+#FREESWITCH_SOURCE = freeswitch-$(FREESWITCH_VERSION).tar.xz
+FREESWITCH_SITE = https://freeswitch.org/stash/scm/fs/freeswitch.git
+FREESWITCH_SITE_METHOD = git
 # External modules need headers/libs from staging
 FREESWITCH_INSTALL_STAGING = YES
 FREESWITCH_LICENSE = MPL-1.1, \
@@ -38,6 +39,15 @@ FREESWITCH_DEPENDENCIES = \
 	util-linux \
 	zlib
 
+# run bootstrap.sh (normal AUTORECONF is broken)
+define FREESWITCH_RUN_BOOTSTRAP
+	cd $(@D); PATH=$(BR_PATH) ./bootstrap.sh
+endef
+
+# running while POST_PATCH stage enables libtool patching
+FREESWITCH_POST_PATCH_HOOKS += FREESWITCH_RUN_BOOTSTRAP
+FREESWITCH_DEPENDENCIES += host-automake host-autoconf host-libtool
+
 # disable display of ClueCon banner in fs_cli
 FREESWITCH_CONF_ENV += \
 	disable_cc=yes
Signature · 1 line
2.20.1
#2 lore raw

PATCH v4 1/2 libopenssl: bump version to 1.1.1a

In reply to Peter Seiderer

Peter, All,

Quoted 99 lines · Peter Seiderer

- remove all parallel build patches (openssl build-system changed)

- rebased 0001-Dont-waste-time-building-manpages-if-we-re-not-going.patch to apply to Configurations/unix-Makefile.tmpl (Makefile template)

- removed 0002-cryptodev-Fix-issue-with-signature-generation.patch (upstream applied)

- rebased 0003-Reproducible-build-do-not-leak-compiler-path.patch to apply to crypto/build.info (Makefile template)

- fix musl/uclibc build failure, use '-DOPENSSL_NO_ASYNC'

- remove legacy enable-tlsext configure option

- fix host library install path

- change legacy INSTALL_PREFIX to DESTDIR

- remove 'libraries gets installed read only, so strip fails' workaround (not needed anymore)

- change engine directory from /usr/lib/engines to /usr/lib/engines-1.1

- change license file hash, no license change, only the following hint was removed:

Actually both licenses are BSD-style Open Source licenses. In case of any license issues related to OpenSSL please contact openssl-core at openssl.org.

- fix host-libopenssl compile setting rpath as decribed in libopenssl-1.1.0h/NOTES.UNIX

---
Changes v3 -> v4:
- bump version to 1.1.1a
- remove all parallel build patches hash file entries
- re-remove 0004-Revert-util-dofile.pl-only-quote-stuff-that-actually.patch (upstream applied)
- fix hist library install path
- removed 0002-cryptodev-Fix-issue-with-signature-generation.patch (upstram applied)
- remove follow up patch for openssh (not longer needed since version bump to 7.9p1, see https://www.openssh.com/releasenotes.html
Portability)

Changes v2 -> v3:
- no changes

Changes v1 -> v2:
- add OPENSSL_NO_ASYNC workaround for musl compile too (suggested by Bernd Kuhls)

- fix host-libopenssl compile (reported by Ryan Coe) by setting rpath (suggested by Ryan Coe)

- fix 0001-Dont-waste-time-building-manpages-if-we-re-not-going.patch and 0003-Reproducible-build-do-not-leak-compiler-path.patch to apply to the Makefile templates (instead of re-generated Makefile) (reported by Ryan Coe)

- add 0004-Revert-util-dofile.pl-only-quote-stuff-that-actually.patch (suggested by Bernd Kuhls)

Notes:

- There was a previous attempt to bump the openssl version by David Mosberger <[email protected]>. I could not find the corresponding patch in patchwork or on the mailing list, only a reply by Arnout Vandecappelle (see [2]) and the answer by David Mosberger (see [3]).

- Compile checked packages (depending explicit on libopenssl or host-libopenssl):
O.k:
- hostapd
- libpjsip
- mosquitto
- wpa_supplicant

Failure:
- softether/host-softether

- Compile checked packages (depending on openssl or host-openssl):
O.k.:
- alljoyn-base
- apr
- apr-util
- freeswitch
- openssh

Failure:
- android-tools
- apache (CMake configure errro, unrelated?)

[2] http://lists.busybox.net/pipermail/buildroot/2017-August/200859.html
[3] http://lists.busybox.net/pipermail/buildroot/2017-August/200898.html

Quoted 8 lines
---
  ...building-manpages-if-we-re-not-going.patch |  34 +-
  ...-Fix-issue-with-signature-generation.patch | 450 ------------------
  ...ible-build-do-not-leak-compiler-path.patch |  31 +-
  package/libopenssl/libopenssl.hash            |  15 +-
  package/libopenssl/libopenssl.mk              |  41 +-
  5 files changed, 61 insertions(+), 510 deletions(-)

delete mode 100644 package/libopenssl/0002-cryptodev-Fix-issue-with-signature-generation.patch

[snip]

Thanks for your continued work on bumping libopenssl.

I'm getting a build failure in wget with the patch.? The failure is:

checking for library containing psl_builtin... no
configure: WARNING: *** libpsl was not found. Fallback to builtin cookie checking.
checking for ZLIB... yes
checking for OPENSSL... no
configure: error: Package requirements (openssl) were not met:

Package 'openssl', required by 'virtual:world', not found

Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix.

Alternatively, you may set the environment variables OPENSSL_CFLAGS and OPENSSL_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
make: *** [package/pkg-generic.mk:223:
/home/ryan/devel/buildroot/output/build/wget-1.20.1/.stamp_configured] Error 1

The following tweak makes things build again for me:

(quoted diff) +0 -0

b/package/libopenssl/libopenssl.mk
index e461e08126..8046995720 100644

package/libopenssl/libopenssl.mk +2 -2
@@ -74,7 +74,7 @@ define HOST_LIBOPENSSL_CONFIGURE_CMDS
 ???? ??? ./config \
 ???? ??? --prefix=$(HOST_DIR) \
 ???? ??? --openssldir=$(HOST_DIR)/etc/ssl \
-??? ??? --libdir=$(HOST_DIR)/lib \
+??? ??? --libdir=lib \
 ???? ??? -Wl,-rpath,'$(HOST_DIR)/lib' \
 ???? ??? shared \
 ???? ??? zlib-dynamic \
@@ -90,7 +90,7 @@ define LIBOPENSSL_CONFIGURE_CMDS
 ???? ??? ??? linux-$(LIBOPENSSL_TARGET_ARCH) \
 ???? ??? ??? --prefix=/usr \
 ???? ??? ??? --openssldir=/etc/ssl \
-??? ??? ??? --libdir=/lib \
+??? ??? ??? --libdir=lib \
 ???? ??? ??? $(if $(BR2_TOOLCHAIN_HAS_THREADS),threads,no-threads) \
 ???? ??? ??? $(if $(BR2_STATIC_LIBS),no-shared,shared) \
 ???? ??? ??? no-rc5 \
#3 lore raw

PATCH v4 1/2 libopenssl: bump version to 1.1.1a

Quoted 36 lines · Ryan Coe

I'm getting a build failure in wget with the patch.? The failure is:

checking for library containing psl_builtin... no
configure: WARNING: *** libpsl was not found. Fallback to builtin cookie checking. checking for ZLIB... yes
checking for OPENSSL... no
configure: error: Package requirements (openssl) were not met:

Package 'openssl', required by 'virtual:world', not found

Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix.

Alternatively, you may set the environment variables OPENSSL_CFLAGS and OPENSSL_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
make: *** [package/pkg-generic.mk:223:
/home/ryan/devel/buildroot/output/build/wget-1.20.1/.stamp_configured] Error 1

The following tweak makes things build again for me:

package/libopenssl/libopenssl.mk +1 -1
index e461e08126..8046995720 100644
@@ -74,7 +74,7 @@ define HOST_LIBOPENSSL_CONFIGURE_CMDS
 ???? ??? ./config \
 ???? ??? --prefix=$(HOST_DIR) \
 ???? ??? --openssldir=$(HOST_DIR)/etc/ssl \
-??? ??? --libdir=$(HOST_DIR)/lib \
+??? ??? --libdir=lib \
 ???? ??? -Wl,-rpath,'$(HOST_DIR)/lib' \
 ???? ??? shared \
 ???? ??? zlib-dynamic \

package/libopenssl/libopenssl.mk define LIBOPENSSL_CONFIGURE_CMDS · line 96

Quoted 8 lines
package/libopenssl/libopenssl.mk +1 -1
@@ -90,7 +90,7 @@ define LIBOPENSSL_CONFIGURE_CMDS
 ???? ??? ??? linux-$(LIBOPENSSL_TARGET_ARCH) \
 ???? ??? ??? --prefix=/usr \
 ???? ??? ??? --openssldir=/etc/ssl \
-??? ??? ??? --libdir=/lib \
+??? ??? ??? --libdir=lib \
 ???? ??? ??? $(if $(BR2_TOOLCHAIN_HAS_THREADS),threads,no-threads) \
 ???? ??? ??? $(if $(BR2_STATIC_LIBS),no-shared,shared) \
 ???? ??? ??? no-rc5 \

That is definitely not good, because it breaks things in other places.

I think it's worth a try to remove the --libdir entirely instead, upstream is
supposed to have fixed the libdir handling to correspond to autotools conventions. And if it doesn't work, we should fix it with an upstreamable patch.

Regards,
Arnout

#4 lore raw

PATCH v4 1/2 libopenssl: bump version to 1.1.1a

Hello Ryan, Arnout,

Quoted 48 lines · Arnout Vandecappelle
Quoted 36 lines · Ryan Coe

I'm getting a build failure in wget with the patch.? The failure is:

checking for library containing psl_builtin... no
configure: WARNING: *** libpsl was not found. Fallback to builtin cookie checking. checking for ZLIB... yes
checking for OPENSSL... no
configure: error: Package requirements (openssl) were not met:

Package 'openssl', required by 'virtual:world', not found

Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix.

Alternatively, you may set the environment variables OPENSSL_CFLAGS and OPENSSL_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
make: *** [package/pkg-generic.mk:223:
/home/ryan/devel/buildroot/output/build/wget-1.20.1/.stamp_configured] Error 1

The following tweak makes things build again for me:

package/libopenssl/libopenssl.mk +1 -1
index e461e08126..8046995720 100644
@@ -74,7 +74,7 @@ define HOST_LIBOPENSSL_CONFIGURE_CMDS
 ???? ??? ./config \
 ???? ??? --prefix=$(HOST_DIR) \
 ???? ??? --openssldir=$(HOST_DIR)/etc/ssl \
-??? ??? --libdir=$(HOST_DIR)/lib \
+??? ??? --libdir=lib \
 ???? ??? -Wl,-rpath,'$(HOST_DIR)/lib' \
 ???? ??? shared \
 ???? ??? zlib-dynamic \

package/libopenssl/libopenssl.mk define LIBOPENSSL_CONFIGURE_CMDS · line 96

Quoted 8 lines
package/libopenssl/libopenssl.mk +1 -1
@@ -90,7 +90,7 @@ define LIBOPENSSL_CONFIGURE_CMDS
 ???? ??? ??? linux-$(LIBOPENSSL_TARGET_ARCH) \
 ???? ??? ??? --prefix=/usr \
 ???? ??? ??? --openssldir=/etc/ssl \
-??? ??? ??? --libdir=/lib \
+??? ??? ??? --libdir=lib \
 ???? ??? ??? $(if $(BR2_TOOLCHAIN_HAS_THREADS),threads,no-threads) \
 ???? ??? ??? $(if $(BR2_STATIC_LIBS),no-shared,shared) \
 ???? ??? ??? no-rc5 \  

That is definitely not good, because it breaks things in other places.

Quoted 3 lines

I think it's worth a try to remove the --libdir entirely instead, upstream is
supposed to have fixed the libdir handling to correspond to autotools conventions. And if it doesn't work, we should fix it with an upstreamable patch.

Removing both libdir lines works (and fixes the installation path of the openssl.pc file which fixes the wget compile problem), will add it to the next patch iteration...

Regards,
Peter

Quoted 3 lines

Regards,
Arnout

#5 lore raw

PATCH v4 1/2 libopenssl: bump version to 1.1.1a

In reply to Peter Seiderer

Hi Peter,

package/libopenssl/libopenssl.mk LIBOPENSSL_CFLAGS += -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS · line 43

Quoted 11 lines · Peter Seiderer
package/libopenssl/libopenssl.mk +11 -0
+# fixes the following build failures:
+#
+# - musl
+#   ./libcrypto.so: undefined reference to `getcontext'
+#   ./libcrypto.so: undefined reference to `setcontext'
+#   ./libcrypto.so: undefined reference to `makecontext'
+#
+# - uclibc:
+#   crypto/async/arch/../arch/async_posix.h:32:5: error: unknown type name ?ucontext_t?
+#
+ifneq ($(BR2_TOOLCHAIN_USES_MUSL)$(BR2_TOOLCHAIN_USES_UCLIBC),)

I find the equivalent positive logic condition easier to read:

  ifeq ($(BR2_TOOLCHAIN_USES_MUSL)$(BR2_TOOLCHAIN_USES_UCLIBC),y)

baruch

Signature · 3 lines
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
#6 lore raw

PATCH v4 1/2 libopenssl: bump version to 1.1.1a

In reply to Peter Seiderer

Hi Peter,

Quoted 93 lines · Peter Seiderer

- remove all parallel build patches (openssl build-system changed)

- rebased 0001-Dont-waste-time-building-manpages-if-we-re-not-going.patch to apply to Configurations/unix-Makefile.tmpl (Makefile template)

- removed 0002-cryptodev-Fix-issue-with-signature-generation.patch (upstream applied)

- rebased 0003-Reproducible-build-do-not-leak-compiler-path.patch to apply to crypto/build.info (Makefile template)

- fix musl/uclibc build failure, use '-DOPENSSL_NO_ASYNC'

- remove legacy enable-tlsext configure option

- fix host library install path

- change legacy INSTALL_PREFIX to DESTDIR

- remove 'libraries gets installed read only, so strip fails' workaround (not needed anymore)

- change engine directory from /usr/lib/engines to /usr/lib/engines-1.1

- change license file hash, no license change, only the following hint was removed:

Actually both licenses are BSD-style Open Source licenses. In case of any license issues related to OpenSSL please contact openssl-core at openssl.org.

- fix host-libopenssl compile setting rpath as decribed in libopenssl-1.1.0h/NOTES.UNIX

---
Changes v3 -> v4:
- bump version to 1.1.1a
- remove all parallel build patches hash file entries
- re-remove 0004-Revert-util-dofile.pl-only-quote-stuff-that-actually.patch (upstream applied)
- fix hist library install path
- removed 0002-cryptodev-Fix-issue-with-signature-generation.patch (upstram applied)
- remove follow up patch for openssh (not longer needed since version bump to 7.9p1, see https://www.openssh.com/releasenotes.html
Portability)

Changes v2 -> v3:
- no changes

Changes v1 -> v2:
- add OPENSSL_NO_ASYNC workaround for musl compile too (suggested by Bernd Kuhls)

- fix host-libopenssl compile (reported by Ryan Coe) by setting rpath (suggested by Ryan Coe)

- fix 0001-Dont-waste-time-building-manpages-if-we-re-not-going.patch and 0003-Reproducible-build-do-not-leak-compiler-path.patch to apply to the Makefile templates (instead of re-generated Makefile) (reported by Ryan Coe)

- add 0004-Revert-util-dofile.pl-only-quote-stuff-that-actually.patch (suggested by Bernd Kuhls)

Notes:

- There was a previous attempt to bump the openssl version by David Mosberger <[email protected]>. I could not find the corresponding patch in patchwork or on the mailing list, only a reply by Arnout Vandecappelle (see [2]) and the answer by David Mosberger (see [3]).

- Compile checked packages (depending explicit on libopenssl or host-libopenssl):
O.k:
- hostapd
- libpjsip
- mosquitto
- wpa_supplicant

Failure:
- softether/host-softether

- Compile checked packages (depending on openssl or host-openssl):
O.k.:
- alljoyn-base
- apr
- apr-util
- freeswitch
- openssh

Quoted 7 lines

Failure:
- android-tools
- apache (CMake configure errro, unrelated?)

[2] http://lists.busybox.net/pipermail/buildroot/2017-August/200859.html
[3] http://lists.busybox.net/pipermail/buildroot/2017-August/200898.html
---

Just some worries, I was trying to port openssl 1.1.x for one of the project and there were some issues with API compatibility for example for openssh (and mey be some other like curl, wget), it was an year ago and may be mostly the packages switched to openssl 1.1.x API but it is not better to make openssl 1.1.x as one of the openssl provider to do not break other packages ?

Best regards,
Vadim Kochan

#7 lore raw

PATCH v4 1/2 libopenssl: bump version to 1.1.1a

Hello Vadim,

On Wed, 16 Jan 2019 15:58:21 +0200, Vadim Kochan <[email protected]> wrote:

[...]

Quoted 23 lines
Quoted 23 lines

- Compile checked packages (depending explicit on libopenssl or host-libopenssl):
O.k:
- hostapd
- libpjsip
- mosquitto
- wpa_supplicant

Failure:
- softether/host-softether

- Compile checked packages (depending on openssl or host-openssl):
O.k.:
- alljoyn-base
- apr
- apr-util
- freeswitch
- openssh

Failure:
- android-tools
- apache (CMake configure errro, unrelated?)

Quoted 7 lines
Quoted 3 lines

[2] http://lists.busybox.net/pipermail/buildroot/2017-August/200859.html
[3] http://lists.busybox.net/pipermail/buildroot/2017-August/200898.html
---

Just some worries, I was trying to port openssl 1.1.x for one of the project and there were some issues with API compatibility for example for openssh (and mey be some other like curl, wget), it was an year ago

Openssh and wget are fixed (by update) already, did not yet test curl...but I think the situation improves as some major linux distributions did already the openssl update (or work on the update)...

Quoted 3 lines

and may be mostly the packages switched to openssl 1.1.x API but it is not better to make openssl 1.1.x as one of the openssl provider to do not break other packages ?

Maybe the way to go in case to much packages will fail with openssl 1.1.x...

Identified ~200 buidlroot packages to (optional) depend on openssl...

Regards,
Peter

Quoted 7 lines

Best regards,
Vadim Kochan
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

#8 lore raw

PATCH v4 1/2 libopenssl: bump version to 1.1.1a

Quoted 40 lines · Peter Seiderer

Hello Vadim,

On Wed, 16 Jan 2019 15:58:21 +0200, Vadim Kochan <[email protected]> wrote:

[...]

Quoted 23 lines
Quoted 23 lines

- Compile checked packages (depending explicit on libopenssl or host-libopenssl):
O.k:
- hostapd
- libpjsip
- mosquitto
- wpa_supplicant

Failure:
- softether/host-softether

- Compile checked packages (depending on openssl or host-openssl):
O.k.:
- alljoyn-base
- apr
- apr-util
- freeswitch
- openssh

Failure:
- android-tools
- apache (CMake configure errro, unrelated?)

Quoted 7 lines
Quoted 3 lines

[2] http://lists.busybox.net/pipermail/buildroot/2017-August/200859.html
[3] http://lists.busybox.net/pipermail/buildroot/2017-August/200898.html
---

Just some worries, I was trying to port openssl 1.1.x for one of the project and there were some issues with API compatibility for example for openssh (and mey be some other like curl, wget), it was an year ago

Openssh and wget are fixed (by update) already, did not yet test curl...but I think the situation improves as some major linux distributions did already the openssl update (or work on the update)...

Quoted 7 lines
Quoted 3 lines

and may be mostly the packages switched to openssl 1.1.x API but it is not better to make openssl 1.1.x as one of the openssl provider to do not break other packages ?

Maybe the way to go in case to much packages will fail with openssl 1.1.x...

Identified ~200 buidlroot packages to (optional) depend on openssl...

At some point, we'll just have to let an autobuilder detect the issues. Some
issues anyway only become apparent at link time, so when building a dependency of a dependency...

We have an autobuilder running on an openssl-bump branch and Patrick is fixing
the issues that come out. But at some point we'll need to just bite the bullet and accept the whole thing.

I do hope that it could still go into 2019.02.

Regards,
Arnout

#9 lore raw

PATCH v4 1/2 libopenssl: bump version to 1.1.1a

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

"Arnout" == Arnout Vandecappelle <[email protected]> writes:

Hi,

Quoted 9 lines

At some point, we'll just have to let an autobuilder detect the issues. Some
issues anyway only become apparent at link time, so when building a dependency of a dependency...

We have an autobuilder running on an openssl-bump branch and Patrick is fixing
the issues that come out. But at some point we'll need to just bite the bullet and accept the whole thing.

I do hope that it could still go into 2019.02.

If that is our goal, then we might as well merge it ASAP to get more test coverage?

What is the killer feature why we need openssl-1.1.x in 2019.02.x? TLS 1.3 or just that 1.0.2 goes EOL at the end of the year?

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

PATCH v4 1/2 libopenssl: bump version to 1.1.1a

Quoted 12 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Arnout" == Arnout Vandecappelle <[email protected]> writes:

Hi,

Quoted 7 lines

At some point, we'll just have to let an autobuilder detect the issues. Some
issues anyway only become apparent at link time, so when building a dependency of a dependency...

We have an autobuilder running on an openssl-bump branch and Patrick is fixing
the issues that come out. But at some point we'll need to just bite the bullet and accept the whole thing.

Quoted 7 lines
Quoted 1 line

I do hope that it could still go into 2019.02.

If that is our goal, then we might as well merge it ASAP to get more test coverage?

What is the killer feature why we need openssl-1.1.x in 2019.02.x? TLS 1.3 or just that 1.0.2 goes EOL at the end of the year?

Both, I guess. Also that the whole known world (including Debian stable,
released June 2017) has already switched to 1.1.x.

Regards,
Arnout

#11 lore raw

PATCH v4 1/2 libopenssl: bump version to 1.1.1a

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

"Arnout" == Arnout Vandecappelle <[email protected]> writes:

Hi,

Quoted 10 lines
Quoted 7 lines
Quoted 1 line

I do hope that it could still go into 2019.02.

If that is our goal, then we might as well merge it ASAP to get more test coverage?

What is the killer feature why we need openssl-1.1.x in 2019.02.x? TLS 1.3 or just that 1.0.2 goes EOL at the end of the year?

Both, I guess. Also that the whole known world (including Debian stable,
released June 2017) has already switched to 1.1.x.

With 1.1.x I take it you mean 1.1.0, right? The 1.1.1 series (strange numbering convention) was only released back in September.

1.1.0 is not a LTS so not suitable for 2019.02.x. 1.0.2 is supported until the end of 2019, so that is IMHO still OK for 2019.02.

I agree that having 1.1.1x in 2019.02.x would be nice, but a pity that quite some packages break with it (even if the whole known world has switched to it).

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

PATCH v4 1/2 libopenssl: bump version to 1.1.1a

Quoted 9 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Arnout" == Arnout Vandecappelle <[email protected]> writes:

Hi,

Quoted 5 lines
Quoted 5 lines
Quoted 1 line

I do hope that it could still go into 2019.02.

If that is our goal, then we might as well merge it ASAP to get more test coverage?

Quoted 8 lines
Quoted 5 lines
Quoted 2 lines

What is the killer feature why we need openssl-1.1.x in 2019.02.x? TLS 1.3 or just that 1.0.2 goes EOL at the end of the year?

Both, I guess. Also that the whole known world (including Debian stable,
released June 2017) has already switched to 1.1.x.

With 1.1.x I take it you mean 1.1.0, right? The 1.1.1 series (strange numbering convention) was only released back in September.

With 1.1.x I mean 1.1.0 or 1.1.1. The breakage comes from the 1.1.0 bump; .0 to
.1 is fairly smooth.

Regards,
Arnout

Quoted 7 lines

1.1.0 is not a LTS so not suitable for 2019.02.x. 1.0.2 is supported until the end of 2019, so that is IMHO still OK for 2019.02.

I agree that having 1.1.1x in 2019.02.x would be nice, but a pity that quite some packages break with it (even if the whole known world has switched to it).

#13 lore raw

PATCH v4 1/2 libopenssl: bump version to 1.1.1a

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

"Arnout" == Arnout Vandecappelle <[email protected]> writes:

Hi,

Quoted 8 lines
Quoted 5 lines
Quoted 2 lines

Both, I guess. Also that the whole known world (including Debian stable,
released June 2017) has already switched to 1.1.x.

With 1.1.x I take it you mean 1.1.0, right? The 1.1.1 series (strange numbering convention) was only released back in September.

With 1.1.x I mean 1.1.0 or 1.1.1. The breakage comes from the 1.1.0 bump; .0 to
.1 is fairly smooth.

Ok. 1.1.0 was released 2.5 years ago (August 2016). How come we still need fixes for quite some packages? All abandoned software? Should we get rid of some of those packages?

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

PATCH v4 1/2 libopenssl: bump version to 1.1.1a

Quoted 10 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Arnout" == Arnout Vandecappelle <[email protected]> writes:

Hi,

Quoted 5 lines
Quoted 5 lines
Quoted 2 lines

Both, I guess. Also that the whole known world (including Debian stable,
released June 2017) has already switched to 1.1.x.

With 1.1.x I take it you mean 1.1.0, right? The 1.1.1 series (strange numbering convention) was only released back in September.

Quoted 6 lines
Quoted 2 lines

With 1.1.x I mean 1.1.0 or 1.1.1. The breakage comes from the 1.1.0 bump; .0 to
.1 is fairly smooth.

Ok. 1.1.0 was released 2.5 years ago (August 2016). How come we still need fixes for quite some packages? All abandoned software? Should we get rid of some of those packages?

Looking at the fixes that are included in Patrick's last posting:

* rtmpdump: dead upstream;
* pound: incompetent upstream;
* nut: last bump from Jan 2017;
* libshout, vboot-utils, thrift: last bump from before June 2016.

Also note that all of these except the first two had upstream fixes.

Regards,
Arnout