Github messages for voidlinux
 help / color / mirror / Atom feed
From: sgn <sgn@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] Fix qbittorrent crash on musl
Date: Fri, 09 Sep 2022 03:56:50 +0200	[thread overview]
Message-ID: <20220909015650.1pXLxFTcB5hCwOwFK6t-jgG80eFdPm9_o6ahnQE6XGQ@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-39154@inbox.vuxu.org>

[-- Attachment #1: Type: text/plain, Size: 1315 bytes --]

There is an updated pull request by sgn against master on the void-packages repository

https://github.com/ericonr/void-packages boost-fix
https://github.com/void-linux/void-packages/pull/39154

Fix qbittorrent crash on musl
- boost: fix segfault in asio+align module.
- libtorrent-rasterbar: rebuild to fix segfault.

<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/39154.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-boost-fix-39154.patch --]
[-- Type: text/x-diff, Size: 7097 bytes --]

From 06d3b4b7138cabe411a51bf79f90889193aae017 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Wed, 7 Sep 2022 17:32:19 -0300
Subject: [PATCH 1/4] boost: fix segfault in asio+align module.

---
 srcpkgs/boost/patches/align.patch | 28 ++++++++++++++++++++++++++++
 srcpkgs/boost/template            |  2 +-
 2 files changed, 29 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/boost/patches/align.patch

diff --git a/srcpkgs/boost/patches/align.patch b/srcpkgs/boost/patches/align.patch
new file mode 100644
index 000000000000..e3de2159cf6e
--- /dev/null
+++ b/srcpkgs/boost/patches/align.patch
@@ -0,0 +1,28 @@
+This code is wrong and uses feature test macros to determine whether something
+is available; FTMs shouldn't be in user code outside of top level #define's.
+
+This lead to an issue on musl where libtorrent-rasterbar was including this
+header (via boost asio) from two different places, and segfaulting due to
+mismatched implementations -- one's the posix one using posix_memalign, the
+other one's the generic one that stores a pointer to itself.
+
+posix_memalign is always available on the libcs we support and should always be
+used, so we force that. We still leave applications with the option of forcing
+boost specific behavior, if they really want it.
+
+diff --git a/boost/align/aligned_alloc.hpp b/boost/align/aligned_alloc.hpp
+index 1d81a13..f2b5137 100644
+--- a/boost/align/aligned_alloc.hpp
++++ b/boost/align/aligned_alloc.hpp
+@@ -38,10 +38,8 @@ Distributed under the Boost Software License, Version 1.0.
+ #include <boost/align/detail/aligned_alloc_posix.hpp>
+ #elif defined(sun) || defined(__sun)
+ #include <boost/align/detail/aligned_alloc_sunos.hpp>
+-#elif (_POSIX_C_SOURCE >= 200112L) || (_XOPEN_SOURCE >= 600)
+-#include <boost/align/detail/aligned_alloc_posix.hpp>
+ #else
+-#include <boost/align/detail/aligned_alloc.hpp>
++#include <boost/align/detail/aligned_alloc_posix.hpp>
+ #endif
+ 
+ #endif
diff --git a/srcpkgs/boost/template b/srcpkgs/boost/template
index 0d103e335b52..ef383d7f85ed 100644
--- a/srcpkgs/boost/template
+++ b/srcpkgs/boost/template
@@ -1,7 +1,7 @@
 # Template file for 'boost'
 pkgname=boost
 version=1.80.0
-revision=1
+revision=2
 wrksrc="${pkgname}_${version//\./_}"
 hostmakedepends="which bzip2-devel icu-devel python3-devel pkg-config"
 makedepends="zlib-devel bzip2-devel icu-devel python3-devel liblzma-devel

From 93f57033f43927af037047d7fb111699ff7aae39 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Wed, 7 Sep 2022 17:34:19 -0300
Subject: [PATCH 2/4] libtorrent-rasterbar: rebuild to fix segfault.

Since asio is a header-only library, we need to rebuild its dependents.
---
 srcpkgs/libtorrent-rasterbar/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libtorrent-rasterbar/template b/srcpkgs/libtorrent-rasterbar/template
index 52377b39eca4..135d89b9c85a 100644
--- a/srcpkgs/libtorrent-rasterbar/template
+++ b/srcpkgs/libtorrent-rasterbar/template
@@ -2,7 +2,7 @@
 # Breaks ABI/API without changing soname, revbump all dependants
 pkgname=libtorrent-rasterbar
 version=1.2.17
-revision=1
+revision=2
 build_style=cmake
 configure_args="DCMAKE_CXX_STANDARD=14 -Dbuild_examples=ON -Dbuild_tools=ON
  -Dpython-bindings=ON"

From 58b4da4968dbfd556a4c0ae9b732e9820154c9bb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Fri, 9 Sep 2022 08:54:11 +0700
Subject: [PATCH 3/4] fixup! boost: fix segfault in asio+align module.

---
 srcpkgs/boost/patches/align.patch | 38 +++++++++++++++++--------------
 1 file changed, 21 insertions(+), 17 deletions(-)

diff --git a/srcpkgs/boost/patches/align.patch b/srcpkgs/boost/patches/align.patch
index e3de2159cf6e..99e4fb2a1c5e 100644
--- a/srcpkgs/boost/patches/align.patch
+++ b/srcpkgs/boost/patches/align.patch
@@ -1,5 +1,6 @@
-This code is wrong and uses feature test macros to determine whether something
-is available; FTMs shouldn't be in user code outside of top level #define's.
+boost/align/aligned_alloc.hpp is wrong, it uses feature test macros to
+determine whether something is available;
+FTMs shouldn't be in user code outside of top level #define's.
 
 This lead to an issue on musl where libtorrent-rasterbar was including this
 header (via boost asio) from two different places, and segfaulting due to
@@ -10,19 +11,22 @@ posix_memalign is always available on the libcs we support and should always be
 used, so we force that. We still leave applications with the option of forcing
 boost specific behavior, if they really want it.
 
-diff --git a/boost/align/aligned_alloc.hpp b/boost/align/aligned_alloc.hpp
-index 1d81a13..f2b5137 100644
---- a/boost/align/aligned_alloc.hpp
-+++ b/boost/align/aligned_alloc.hpp
-@@ -38,10 +38,8 @@ Distributed under the Boost Software License, Version 1.0.
- #include <boost/align/detail/aligned_alloc_posix.hpp>
- #elif defined(sun) || defined(__sun)
- #include <boost/align/detail/aligned_alloc_sunos.hpp>
--#elif (_POSIX_C_SOURCE >= 200112L) || (_XOPEN_SOURCE >= 600)
--#include <boost/align/detail/aligned_alloc_posix.hpp>
- #else
--#include <boost/align/detail/aligned_alloc.hpp>
-+#include <boost/align/detail/aligned_alloc_posix.hpp>
- #endif
+Instead of patching only boost/align/aligned_alloc.hpp, which fix the
+bug if boost::asio is used, but may keep other boost's code use feature tests
+macro, now or later, let's patch boost/config.hpp to always define
+_XOPEN_SOURCE instead.
+
+--- a/boost/config.hpp
++++ b/boost/config.hpp
+@@ -17,6 +17,11 @@
+ #ifndef BOOST_CONFIG_HPP
+ #define BOOST_CONFIG_HPP
  
- #endif
++#ifdef __linux__
+++/* for features.h, which will define _XOPEN_SOURCE or _POSIX_C_SOURCE */
++#include <features.h>
++#endif
++
+ // if we don't have a user config, then use the default location:
+ #if !defined(BOOST_USER_CONFIG) && !defined(BOOST_NO_USER_CONFIG)
+ #  define BOOST_USER_CONFIG <boost/config/user.hpp>

From 5880f7b12c9c9d38f717105cf652b5a7a46f2ce9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Fri, 9 Sep 2022 08:56:41 +0700
Subject: [PATCH 4/4] fixup! fixup! boost: fix segfault in asio+align module.

---
 .../boost/{patches/align.patch => feature-test-macros.patch}    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
 rename srcpkgs/boost/{patches/align.patch => feature-test-macros.patch} (94%)

diff --git a/srcpkgs/boost/patches/align.patch b/srcpkgs/boost/feature-test-macros.patch
similarity index 94%
rename from srcpkgs/boost/patches/align.patch
rename to srcpkgs/boost/feature-test-macros.patch
index 99e4fb2a1c5e..d674cd903e66 100644
--- a/srcpkgs/boost/patches/align.patch
+++ b/srcpkgs/boost/feature-test-macros.patch
@@ -23,7 +23,7 @@ _XOPEN_SOURCE instead.
  #define BOOST_CONFIG_HPP
  
 +#ifdef __linux__
-++/* for features.h, which will define _XOPEN_SOURCE or _POSIX_C_SOURCE */
+++/* for _XOPEN_SOURCE and/or _POSIX_C_SOURCE */
 +#include <features.h>
 +#endif
 +

  parent reply	other threads:[~2022-09-09  1:56 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-07 20:36 [PR PATCH] " ericonr
2022-09-07 20:37 ` ericonr
2022-09-08  1:34 ` [PR REVIEW] " sgn
2022-09-08  1:34 ` sgn
2022-09-08  2:45 ` ericonr
2022-09-08  2:46 ` ericonr
2022-09-08  2:49 ` [PR PATCH] [Updated] " ericonr
2022-09-08  5:48 ` [PR REVIEW] " sgn
2022-09-08  5:50 ` sgn
2022-09-09  1:55 ` [PR PATCH] [Updated] " sgn
2022-09-09  1:56 ` sgn [this message]
2022-09-09  1:58 ` [PR REVIEW] " sgn
2022-09-09  6:34 ` [PR PATCH] [Updated] " sgn
2022-09-09  6:34 ` sgn
2022-09-11 16:31 ` sgn
2022-09-11 16:37 ` [PR PATCH] [Merged]: " sgn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220909015650.1pXLxFTcB5hCwOwFK6t-jgG80eFdPm9_o6ahnQE6XGQ@z \
    --to=sgn@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).