Saturday, September 18, 2021

Re: [BUG] net/qbittorrent and net/deluge not working

I am ok with this, but the following ports will need adjusting due to
pkgspecs on particular boost versions:

archivers/innoextract
audio/py-tagpy,python3
devel/leatherman
games/arx-libertatis
games/freeorion
games/valyriatear
games/vegastrike/engine
games/wesnoth
graphics/hugin
graphics/mapnik
net/libtorrent-rasterbar
sysutils/facter

I would suggest just removing the version checks (and bumping).

I think the tight deps are often more trouble than they're worth, it's not
like we support building from a mixture of old installed packages and newer
ports tree anyway. They're useful if there are multiple versions of the
same software in-tree and we need to depend on a particular version, or if
there's a tight binding (like in irssi/dovecot where plugins must match the
version exactly), or defensively to protect against updating a dependency
to a version that is known to not be supported. But to ensure that a
dependency is at a minimum version seems not worthwhile.

--
Sent from a phone, apologies for poor formatting.

On 18 September 2021 07:44:46 Rafael Sadowski <rafael@sizeofvoid.org> wrote:

> On Thu Sep 16, 2021 at 08:44:00AM +0100, Stuart Henderson wrote:
>> On 2021/09/15 23:15, Brad Smith wrote:
>> > Interesting. I found rebuilding libtorrent-rasterbar with -O1 (or -O0
>> initially)
>> > and it no longer was crashing on me. I started up qBittorrent and downloaded
>> > a few well seeded torrents.
>>
>> Unless we understand the mechanism for the failure and are sure it's a
>> libtorrent-rasterbar problem rather than a boost one, a backout would
>> seem a better idea. We are locking soon and can't add -O1 to ~170 ports
>> if the problem is in boost and an unknown number of others might be
>> affected.
>>
>> Runtime tests on boost ports are problematic. Ports only using the
>> "header only library" as a BUILD_DEPENDS do *not* get updated for a
>> boost version bump so testers could easily be using the old code still.
>>
>
> I think Stuart is right. 7.0 is coming and we should play it safe.
>
> OK?
>
>
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/devel/boost/Makefile,v
> retrieving revision 1.116
> diff -u -p -u -p -r1.116 Makefile
> --- Makefile 3 Sep 2021 23:23:30 -0000 1.116
> +++ Makefile 18 Sep 2021 06:42:26 -0000
> @@ -1,11 +1,12 @@
> -# $OpenBSD: Makefile,v 1.116 2021/09/03 23:23:30 sthen Exp $
> +# $OpenBSD: Makefile,v 1.115 2021/07/16 17:55:10 sthen Exp $
>
> ONLY_FOR_ARCHS-md = aarch64 amd64 arm i386 mips64 mips64el powerpc
> powerpc64 riscv64
>
> COMMENT-main= free peer-reviewed portable C++ source libraries
> COMMENT-md= machine-dependent libraries for boost
>
> -VERSION= 1.77.0
> +VERSION= 1.76.0
> +EPOCH = 0
> DISTNAME= boost_${VERSION:S/./_/g}
> PKGNAME-main= boost-${VERSION}
> PKGNAME-md= boost-md-${VERSION}
> @@ -14,7 +15,7 @@ MASTER_SITES= https://boostorg.jfrog.io/
> EXTRACT_SUFX= .tar.bz2
> FIX_EXTRACT_PERMISSIONS = Yes
>
> -SO_VERSION= 16.0
> +SO_VERSION= 17.0
> BOOST_LIBS= boost_atomic-mt \
> boost_chrono-mt boost_chrono \
> boost_container-mt boost_container \
> @@ -107,8 +108,8 @@ BJAM_CONFIG= -sICU_PATH=${LOCALBASE} \
> -j${MAKE_JOBS} \
> --layout=tagged-1.66 \
> pch=off \
> - cflags='${CFLAGS}' \
> - cxxflags='${CXXFLAGS}' \
> + cflags='${CFLAGS} -pthread' \
> + cxxflags='${CXXFLAGS} -pthread' \
> variant=release \
> link=static,shared \
> threading=single,multi \
> Index: distinfo
> ===================================================================
> RCS file: /cvs/ports/devel/boost/distinfo,v
> retrieving revision 1.16
> diff -u -p -u -p -r1.16 distinfo
> --- distinfo 3 Sep 2021 23:23:30 -0000 1.16
> +++ distinfo 18 Sep 2021 06:42:26 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (boost_1_77_0.tar.bz2) = /J+F/AMOIzFCkIJBr3qEbmBjCqc4jeml+vsfOiaECFQ=
> -SIZE (boost_1_77_0.tar.bz2) = 110361537
> +SHA256 (boost_1_76_0.tar.bz2) = 8Dl7pumCxEUPJ78yoqgykqugNbgnpWI6FGNupYMxjEE=
> +SIZE (boost_1_76_0.tar.bz2) = 110073117
> Index: patches/patch-Jamroot
> ===================================================================
> RCS file: /cvs/ports/devel/boost/patches/patch-Jamroot,v
> retrieving revision 1.12
> diff -u -p -u -p -r1.12 patch-Jamroot
> --- patches/patch-Jamroot 3 Sep 2021 23:23:31 -0000 1.12
> +++ patches/patch-Jamroot 18 Sep 2021 06:42:26 -0000
> @@ -1,11 +1,11 @@
> -$OpenBSD: patch-Jamroot,v 1.12 2021/09/03 23:23:31 sthen Exp $
> +$OpenBSD: patch-Jamroot,v 1.11 2021/06/22 04:20:13 rsadowski Exp $
>
> Index: Jamroot
> --- Jamroot.orig
> +++ Jamroot
> @@ -146,11 +146,12 @@ import tools/boost\_install/boost-install ;
> path-constant BOOST_ROOT : . ;
> - constant BOOST_VERSION : 1.77.0 ;
> + constant BOOST_VERSION : 1.76.0 ;
> constant BOOST_JAMROOT_MODULE : $(__name__) ;
> +constant SO_VERSION : ${SO_VERSION} ;
>
> Index: patches/patch-boost_asio_ssl_impl_context_ipp
> ===================================================================
> RCS file: patches/patch-boost_asio_ssl_impl_context_ipp
> diff -N patches/patch-boost_asio_ssl_impl_context_ipp
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-boost_asio_ssl_impl_context_ipp 18 Sep 2021 06:42:26 -0000
> @@ -0,0 +1,77 @@
> +$OpenBSD: patch-boost_asio_ssl_impl_context_ipp,v 1.5 2021/07/16 17:55:10
> sthen Exp $
> +
> +Fix compatibility with recent LibreSSL when OPENSSL_NO_SSL_INTERN is defined.
> +
> +Index: boost/asio/ssl/impl/context.ipp
> +--- boost/asio/ssl/impl/context.ipp.orig
> ++++ boost/asio/ssl/impl/context.ipp
> +@@ -398,7 +398,8 @@ context::~context()
> + if (handle_)
> + {
> + #if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \
> +- && !defined(LIBRESSL_VERSION_NUMBER)) \
> ++ && (!defined(LIBRESSL_VERSION_NUMBER) \
> ++ || LIBRESSL_VERSION_NUMBER >= 0x2070000fL)) \
> + || defined(BOOST_ASIO_USE_WOLFSSL)
> + void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
> + #else // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
> +@@ -411,7 +412,8 @@ context::~context()
> + cb_userdata);
> + delete callback;
> + #if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \
> +- && !defined(LIBRESSL_VERSION_NUMBER)) \
> ++ && (!defined(LIBRESSL_VERSION_NUMBER) \
> ++ || LIBRESSL_VERSION_NUMBER >= 0x2070000fL)) \
> + || defined(BOOST_ASIO_USE_WOLFSSL)
> + ::SSL_CTX_set_default_passwd_cb_userdata(handle_, 0);
> + #else // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
> +@@ -760,7 +762,8 @@ BOOST_ASIO_SYNC_OP_VOID context::use_certificate_chain
> + if (bio.p)
> + {
> + #if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \
> +- && !defined(LIBRESSL_VERSION_NUMBER)) \
> ++ && (!defined(LIBRESSL_VERSION_NUMBER) \
> ++ || LIBRESSL_VERSION_NUMBER >= 0x2070000fL)) \
> + || defined(BOOST_ASIO_USE_WOLFSSL)
> + pem_password_cb* callback = ::SSL_CTX_get_default_passwd_cb(handle_);
> + void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
> +@@ -789,7 +792,8 @@ BOOST_ASIO_SYNC_OP_VOID context::use_certificate_chain
> + }
> +
> + #if ((OPENSSL_VERSION_NUMBER >= 0x10002000L) \
> +- && !defined(LIBRESSL_VERSION_NUMBER)) \
> ++ && (!defined(LIBRESSL_VERSION_NUMBER) \
> ++ || LIBRESSL_VERSION_NUMBER >= 0x2090100fL)) \
> + || defined(BOOST_ASIO_USE_WOLFSSL)
> + ::SSL_CTX_clear_chain_certs(handle_);
> + #else
> +@@ -868,7 +872,8 @@ BOOST_ASIO_SYNC_OP_VOID context::use_private_key(
> + ::ERR_clear_error();
> +
> + #if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \
> +- && !defined(LIBRESSL_VERSION_NUMBER)) \
> ++ && (!defined(LIBRESSL_VERSION_NUMBER) \
> ++ || LIBRESSL_VERSION_NUMBER >= 0x2070000fL)) \
> + || defined(BOOST_ASIO_USE_WOLFSSL)
> + pem_password_cb* callback = ::SSL_CTX_get_default_passwd_cb(handle_);
> + void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
> +@@ -937,7 +942,8 @@ BOOST_ASIO_SYNC_OP_VOID context::use_rsa_private_key(
> + ::ERR_clear_error();
> +
> + #if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \
> +- && !defined(LIBRESSL_VERSION_NUMBER)) \
> ++ && (!defined(LIBRESSL_VERSION_NUMBER) \
> ++ || LIBRESSL_VERSION_NUMBER >= 0x2070000fL)) \
> + || defined(BOOST_ASIO_USE_WOLFSSL)
> + pem_password_cb* callback = ::SSL_CTX_get_default_passwd_cb(handle_);
> + void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
> +@@ -1178,7 +1184,8 @@ BOOST_ASIO_SYNC_OP_VOID context::do_set_password_callb
> + detail::password_callback_base* callback, boost::system::error_code& ec)
> + {
> + #if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \
> +- && !defined(LIBRESSL_VERSION_NUMBER)) \
> ++ && (!defined(LIBRESSL_VERSION_NUMBER) \
> ++ || LIBRESSL_VERSION_NUMBER >= 0x2070000fL)) \
> + || defined(BOOST_ASIO_USE_WOLFSSL)
> + void* old_callback = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
> + ::SSL_CTX_set_default_passwd_cb_userdata(handle_, callback);
> Index: patches/patch-boost_config_platform_bsd_hpp
> ===================================================================
> RCS file: patches/patch-boost_config_platform_bsd_hpp
> diff -N patches/patch-boost_config_platform_bsd_hpp
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-boost_config_platform_bsd_hpp 18 Sep 2021 06:42:26 -0000
> @@ -0,0 +1,52 @@
> +$OpenBSD: patch-boost_config_platform_bsd_hpp,v 1.3 2021/06/22 04:20:13
> rsadowski Exp $
> +
> +Index: boost/config/platform/bsd.hpp
> +--- boost/config/platform/bsd.hpp.orig
> ++++ boost/config/platform/bsd.hpp
> +@@ -28,7 +28,8 @@
> + // FreeBSD has <nl_types.h> but does not
> + // advertise the fact in <unistd.h>:
> + //
> +-#if (defined(__FreeBSD__) && (__FreeBSD__ >= 3)) || defined(__DragonFly__)
> ++#if (defined(__FreeBSD__) && (__FreeBSD__ >= 3)) \
> ++ || defined(__OpenBSD__) || defined(__DragonFly__)
> + # define BOOST_HAS_NL_TYPES_H
> +

No comments:

Post a Comment