Openembedded Core Discussions
 help / color / mirror / Atom feed
* [dunfell][PATCH] boost: backport fix to make async_pipes work with asio
@ 2020-07-29 13:32 Viktor Rosendahl
  2020-07-29 14:02 ` ✗ patchtest: failure for " Patchwork
  2020-10-07 12:09 ` [OE-core] [dunfell][PATCH] " Martin Jansa
  0 siblings, 2 replies; 4+ messages in thread
From: Viktor Rosendahl @ 2020-07-29 13:32 UTC (permalink / raw)
  To: openembedded-core; +Cc: Steve Sakoman, Viktor Rosendahl

From: Viktor Rosendahl <Viktor.Rosendahl@bmw.de>

async_pipe is missing the executor_type type, which is expected by
asio in /usr/include/boost/asio/impl/read.hpp. Without this, it's
not possible to even compile code that uses constructs such as:

boost::asio::io_service foo;
boost::process::async_pipe foopipe{ boost::process::async_pipe(foo) };

This is only relevant for Dunfell because master has already moved to
boost-1.73.0 in which this bug has been fixed. The bug is also not
present in Zeus, which uses boost-1.71.0.

Signed-off-by: Viktor Rosendahl <Viktor.Rosendahl@bmw.de>
---
 .../0001-added-typedef-executor_type.patch    | 53 +++++++++++++++++++
 meta/recipes-support/boost/boost_1.72.0.bb    |  1 +
 2 files changed, 54 insertions(+)
 create mode 100644 meta/recipes-support/boost/boost/0001-added-typedef-executor_type.patch

diff --git a/meta/recipes-support/boost/boost/0001-added-typedef-executor_type.patch b/meta/recipes-support/boost/boost/0001-added-typedef-executor_type.patch
new file mode 100644
index 0000000000..83d3749e15
--- /dev/null
+++ b/meta/recipes-support/boost/boost/0001-added-typedef-executor_type.patch
@@ -0,0 +1,53 @@
+From 6a4d2ff72114ef47c7afaf92e1042aca3dfa41b0 Mon Sep 17 00:00:00 2001
+From: Klemens David Morgenstern <klemens.morgenstern@gmx.net>
+Date: Fri, 22 Nov 2019 14:03:22 +0800
+Subject: [PATCH] added typedef executor_type;
+
+Upstream-Status: Backport [https://github.com/boostorg/process/commit/6a4d2ff72114ef47c7afaf92e1042aca3dfa41b0]
+
+---
+ include/boost/process/async_pipe.hpp                | 2 ++
+ include/boost/process/detail/posix/async_pipe.hpp   | 1 +
+ include/boost/process/detail/windows/async_pipe.hpp | 1 +
+ 3 files changed, 4 insertions(+)
+
+diff --git a/include/boost/process/async_pipe.hpp b/include/boost/process/async_pipe.hpp
+index 101fe1d..a562432 100644
+--- a/boost/process/async_pipe.hpp
++++ b/boost/process/async_pipe.hpp
+@@ -47,6 +47,8 @@ public:
+      */
+     typedef platform_specific handle_type;
+ 
++    typedef typename handle_type::executor_type executor_type;
++
+     /** Construct a new async_pipe, does automatically open the pipe.
+      * Initializes source and sink with the same io_context.
+      * @note Windows creates a named pipe here, where the name is automatically generated.
+diff --git a/include/boost/process/detail/posix/async_pipe.hpp b/include/boost/process/detail/posix/async_pipe.hpp
+index 725a078..a82c057 100644
+--- a/boost/process/detail/posix/async_pipe.hpp
++++ b/boost/process/detail/posix/async_pipe.hpp
+@@ -23,6 +23,7 @@ class async_pipe
+ public:
+     typedef int native_handle_type;
+     typedef ::boost::asio::posix::stream_descriptor handle_type;
++    typedef typename handle_type::executor_type executor_type;
+ 
+     inline async_pipe(boost::asio::io_context & ios) : async_pipe(ios, ios) {}
+ 
+diff --git a/include/boost/process/detail/windows/async_pipe.hpp b/include/boost/process/detail/windows/async_pipe.hpp
+index 06d5f2d..0b447f9 100644
+--- a/boost/process/detail/windows/async_pipe.hpp
++++ b/boost/process/detail/windows/async_pipe.hpp
+@@ -48,6 +48,7 @@ class async_pipe
+ public:
+     typedef ::boost::winapi::HANDLE_ native_handle_type;
+     typedef ::boost::asio::windows::stream_handle   handle_type;
++    typedef typename handle_type::executor_type executor_type;
+ 
+     async_pipe(boost::asio::io_context & ios) : async_pipe(ios, ios, make_pipe_name(), true) {}
+     async_pipe(boost::asio::io_context & ios_source, boost::asio::io_context & ios_sink)
+-- 
+2.17.1
+
diff --git a/meta/recipes-support/boost/boost_1.72.0.bb b/meta/recipes-support/boost/boost_1.72.0.bb
index 0b7badbc76..51c84bc935 100644
--- a/meta/recipes-support/boost/boost_1.72.0.bb
+++ b/meta/recipes-support/boost/boost_1.72.0.bb
@@ -8,4 +8,5 @@ SRC_URI += "file://arm-intrinsics.patch \
            file://0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch \
            file://0001-dont-setup-compiler-flags-m32-m64.patch \
            file://0001-revert-cease-dependence-on-range.patch \
+           file://0001-added-typedef-executor_type.patch \
            "
-- 
2.17.1


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

* ✗ patchtest: failure for boost: backport fix to make async_pipes work with asio
  2020-07-29 13:32 [dunfell][PATCH] boost: backport fix to make async_pipes work with asio Viktor Rosendahl
@ 2020-07-29 14:02 ` Patchwork
  2020-10-07 12:09 ` [OE-core] [dunfell][PATCH] " Martin Jansa
  1 sibling, 0 replies; 4+ messages in thread
From: Patchwork @ 2020-07-29 14:02 UTC (permalink / raw)
  To: Viktor Rosendahl; +Cc: openembedded-core

== Series Details ==

Series: boost: backport fix to make async_pipes work with asio
Revision: 1
URL   : https://patchwork.openembedded.org/series/25388/
State : failure

== Summary ==


Thank you for submitting this patch series to OpenEmbedded Core. This is
an automated response. Several tests have been executed on the proposed
series by patchtest resulting in the following failures:



* Issue             A patch file has been added, but does not have a Signed-off-by tag [test_signed_off_by_presence] 
  Suggested fix    Sign off the added patch file (meta/recipes-support/boost/boost/0001-added-typedef-executor_type.patch)



If you believe any of these test results are incorrect, please reply to the
mailing list (openembedded-core@lists.openembedded.org) raising your concerns.
Otherwise we would appreciate you correcting the issues and submitting a new
version of the patchset if applicable. Please ensure you add/increment the
version number when sending the new version (i.e. [PATCH] -> [PATCH v2] ->
[PATCH v3] -> ...).

---
Guidelines:     https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest
Test suite:     http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe


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

* Re: [OE-core] [dunfell][PATCH] boost: backport fix to make async_pipes work with asio
  2020-07-29 13:32 [dunfell][PATCH] boost: backport fix to make async_pipes work with asio Viktor Rosendahl
  2020-07-29 14:02 ` ✗ patchtest: failure for " Patchwork
@ 2020-10-07 12:09 ` Martin Jansa
  2020-10-07 14:21   ` Steve Sakoman
  1 sibling, 1 reply; 4+ messages in thread
From: Martin Jansa @ 2020-10-07 12:09 UTC (permalink / raw)
  To: Viktor Rosendahl; +Cc: openembedded-core, Steve Sakoman, Viktor Rosendahl

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

It's not caused by this change, but when rebuilding dunfell based build
with this change included I've noticed:
WARNING: boost-1.72.0-r0 do_fetch: Checksum mismatch for local file
downloads/boost_1_72_0.tar.bz2
Cleaning and trying again.
WARNING: boost-1.72.0-r0 do_fetch: Renaming downloads/boost_1_72_0.tar.bz2
to
downloads/boost_1_72_0.tar.bz2_bad-checksum_9df25550eb5a8d5a83dc67be4135d3785ab02b22c6972e5e3da1d79781b03f0b

and the tarballs are indeed quite different:

boost-new/boost_1_72_0:
INSTALL  Jamroot  LICENSE_1_0.txt  README.md  boost  boost-build.jam
 boost.css  boost.png  boostcpp.jam  bootstrap.bat  bootstrap.sh  doc
 index.htm  index.html  libs  more  rst.css  status  tools

boost-old/boost_1_72_0:
INSTALL  LICENSE_1_0.txt  boost  boost.css  boost.png  boostcpp.jam
 bootstrap.bat  bootstrap.sh  doc  index.htm  libs  status

$ diff -rq boost-*
Only in boost-new/boost_1_72_0: Jamroot
Only in boost-new/boost_1_72_0: README.md
Only in boost-new/boost_1_72_0/boost: archive
Only in boost-new/boost_1_72_0/boost: array.hpp
Only in boost-new/boost_1_72_0/boost: assign
Only in boost-new/boost_1_72_0/boost: atomic
Only in boost-new/boost_1_72_0/boost: beast.hpp
Only in boost-new/boost_1_72_0/boost: blank.hpp
Only in boost-new/boost_1_72_0/boost: callable_traits
Only in boost-new/boost_1_72_0/boost: checked_delete.hpp
Only in boost-new/boost_1_72_0/boost: circular_buffer
Only in boost-new/boost_1_72_0/boost: compatibility
Only in boost-new/boost_1_72_0/boost: compute
Only in boost-new/boost_1_72_0/boost: concept
Only in boost-new/boost_1_72_0/boost: concept_check.hpp
Only in boost-new/boost_1_72_0/boost: container
Only in boost-new/boost_1_72_0/boost: convert.hpp
Only in boost-new/boost_1_72_0/boost: current_function.hpp
Only in boost-new/boost_1_72_0/boost: date_time
Only in boost-new/boost_1_72_0/boost: date_time.hpp
Only in boost-new/boost_1_72_0/boost: dynamic_bitset
Only in boost-new/boost_1_72_0/boost: dynamic_bitset.hpp
Only in boost-new/boost_1_72_0/boost: foreach_fwd.hpp
Only in boost-new/boost_1_72_0/boost: format
Only in boost-new/boost_1_72_0/boost: format.hpp
Only in boost-new/boost_1_72_0/boost: function
Only in boost-new/boost_1_72_0/boost: functional
Only in boost-new/boost_1_72_0/boost: generator_iterator.hpp
Only in boost-new/boost_1_72_0/boost/geometry/srs: esri.hpp
Files
boost-new/boost_1_72_0/boost/geometry/srs/projections/iau2000_traits.hpp
and
boost-old/boost_1_72_0/boost/geometry/srs/projections/iau2000_traits.hpp
differ
Only in boost-new/boost_1_72_0/boost/geometry/srs/projections: spar.hpp
Only in boost-new/boost_1_72_0/boost/geometry/srs: shared_grids.hpp
Only in boost-new/boost_1_72_0/boost/geometry/srs: sphere.hpp
Only in boost-new/boost_1_72_0/boost/geometry/srs: spheroid.hpp
Only in boost-new/boost_1_72_0/boost: get_pointer.hpp
Only in boost-new/boost_1_72_0/boost: gil
Only in boost-new/boost_1_72_0/boost: hana
Only in boost-new/boost_1_72_0/boost: hana.hpp
Only in boost-new/boost_1_72_0/boost: heap
Only in boost-new/boost_1_72_0/boost: histogram
Only in boost-new/boost_1_72_0/boost: integer
Only in boost-new/boost_1_72_0/boost: iostreams
Only in boost-new/boost_1_72_0/boost: is_placeholder.hpp
Only in boost-new/boost_1_72_0/boost: lambda
Only in boost-new/boost_1_72_0/boost: locale
Only in boost-new/boost_1_72_0/boost: logic
Only in boost-new/boost_1_72_0/boost: make_shared.hpp
Only in boost-new/boost_1_72_0/boost: math
Only in boost-new/boost_1_72_0/boost: memory_order.hpp
Only in boost-new/boost_1_72_0/boost: mp11.hpp
Only in boost-new/boost_1_72_0/boost: mpi
Only in boost-new/boost_1_72_0/boost: multiprecision
Only in boost-new/boost_1_72_0/boost: non_type.hpp
Only in boost-new/boost_1_72_0/boost: operators_v1.hpp
Only in boost-new/boost_1_72_0/boost: outcome
Only in boost-new/boost_1_72_0/boost: outcome.hpp
Only in boost-new/boost_1_72_0/boost: pending
Only in boost-new/boost_1_72_0/boost: phoenix
Only in boost-new/boost_1_72_0/boost: pointee.hpp
Only in boost-new/boost_1_72_0/boost: pointer_cast.hpp
Only in boost-new/boost_1_72_0/boost: predef.h
Only in boost-new/boost_1_72_0/boost: process
Only in boost-new/boost_1_72_0/boost: proto
Only in boost-new/boost_1_72_0/boost: python
Only in boost-new/boost_1_72_0/boost: random.hpp
Only in boost-new/boost_1_72_0/boost: regex.hpp
Only in boost-new/boost_1_72_0/boost: scope_exit.hpp
Only in boost-new/boost_1_72_0/boost: scoped_array.hpp
Only in boost-new/boost_1_72_0/boost: serialization
Only in boost-new/boost_1_72_0/boost: shared_container_iterator.hpp
Only in boost-new/boost_1_72_0/boost: spirit
Only in boost-new/boost_1_72_0/boost: stacktrace
Only in boost-new/boost_1_72_0/boost: statechart
Only in boost-new/boost_1_72_0/boost: token_functions.hpp
Only in boost-new/boost_1_72_0/boost: type_traits.hpp
Only in boost-new/boost_1_72_0/boost: unordered_map.hpp
Only in boost-new/boost_1_72_0/boost: utility
Only in boost-new/boost_1_72_0/boost: variant2
Only in boost-new/boost_1_72_0/boost: weak_ptr.hpp
Only in boost-new/boost_1_72_0: boost-build.jam
Only in boost-new/boost_1_72_0: index.html
Only in boost-new/boost_1_72_0: more
Only in boost-new/boost_1_72_0: rst.css
Only in boost-new/boost_1_72_0: tools

I don't remember any commit updating the checksum from:
9df25550eb5a8d5a83dc67be4135d3785ab02b22c6972e5e3da1d79781b03f0b
downloads/boost_1_72_0.tar.bz2_bad-checksum_9df25550eb5a8d5a83dc67be4135d3785ab02b22c6972e5e3da1d79781b03f0b
to
59c9b274bc451cf91a9ba1dd2c7fdcaf5d60b1b3aa83f2c9fa143417cc660722
downloads/boost_1_72_0.tar.bz2
currently used in recipe.

It's possible that there is another recipe somewhere using the
same boost_1_72_0.tar.bz2 archive from different URL with different
checksums.

Regards,

On Wed, Jul 29, 2020 at 3:33 PM Viktor Rosendahl <viktor.rosendahl@gmail.com>
wrote:

> From: Viktor Rosendahl <Viktor.Rosendahl@bmw.de>
>
> async_pipe is missing the executor_type type, which is expected by
> asio in /usr/include/boost/asio/impl/read.hpp. Without this, it's
> not possible to even compile code that uses constructs such as:
>
> boost::asio::io_service foo;
> boost::process::async_pipe foopipe{ boost::process::async_pipe(foo) };
>
> This is only relevant for Dunfell because master has already moved to
> boost-1.73.0 in which this bug has been fixed. The bug is also not
> present in Zeus, which uses boost-1.71.0.
>
> Signed-off-by: Viktor Rosendahl <Viktor.Rosendahl@bmw.de>
> ---
>  .../0001-added-typedef-executor_type.patch    | 53 +++++++++++++++++++
>  meta/recipes-support/boost/boost_1.72.0.bb    |  1 +
>  2 files changed, 54 insertions(+)
>  create mode 100644
> meta/recipes-support/boost/boost/0001-added-typedef-executor_type.patch
>
> diff --git
> a/meta/recipes-support/boost/boost/0001-added-typedef-executor_type.patch
> b/meta/recipes-support/boost/boost/0001-added-typedef-executor_type.patch
> new file mode 100644
> index 0000000000..83d3749e15
> --- /dev/null
> +++
> b/meta/recipes-support/boost/boost/0001-added-typedef-executor_type.patch
> @@ -0,0 +1,53 @@
> +From 6a4d2ff72114ef47c7afaf92e1042aca3dfa41b0 Mon Sep 17 00:00:00 2001
> +From: Klemens David Morgenstern <klemens.morgenstern@gmx.net>
> +Date: Fri, 22 Nov 2019 14:03:22 +0800
> +Subject: [PATCH] added typedef executor_type;
> +
> +Upstream-Status: Backport [
> https://github.com/boostorg/process/commit/6a4d2ff72114ef47c7afaf92e1042aca3dfa41b0
> ]
> +
> +---
> + include/boost/process/async_pipe.hpp                | 2 ++
> + include/boost/process/detail/posix/async_pipe.hpp   | 1 +
> + include/boost/process/detail/windows/async_pipe.hpp | 1 +
> + 3 files changed, 4 insertions(+)
> +
> +diff --git a/include/boost/process/async_pipe.hpp
> b/include/boost/process/async_pipe.hpp
> +index 101fe1d..a562432 100644
> +--- a/boost/process/async_pipe.hpp
> ++++ b/boost/process/async_pipe.hpp
> +@@ -47,6 +47,8 @@ public:
> +      */
> +     typedef platform_specific handle_type;
> +
> ++    typedef typename handle_type::executor_type executor_type;
> ++
> +     /** Construct a new async_pipe, does automatically open the pipe.
> +      * Initializes source and sink with the same io_context.
> +      * @note Windows creates a named pipe here, where the name is
> automatically generated.
> +diff --git a/include/boost/process/detail/posix/async_pipe.hpp
> b/include/boost/process/detail/posix/async_pipe.hpp
> +index 725a078..a82c057 100644
> +--- a/boost/process/detail/posix/async_pipe.hpp
> ++++ b/boost/process/detail/posix/async_pipe.hpp
> +@@ -23,6 +23,7 @@ class async_pipe
> + public:
> +     typedef int native_handle_type;
> +     typedef ::boost::asio::posix::stream_descriptor handle_type;
> ++    typedef typename handle_type::executor_type executor_type;
> +
> +     inline async_pipe(boost::asio::io_context & ios) : async_pipe(ios,
> ios) {}
> +
> +diff --git a/include/boost/process/detail/windows/async_pipe.hpp
> b/include/boost/process/detail/windows/async_pipe.hpp
> +index 06d5f2d..0b447f9 100644
> +--- a/boost/process/detail/windows/async_pipe.hpp
> ++++ b/boost/process/detail/windows/async_pipe.hpp
> +@@ -48,6 +48,7 @@ class async_pipe
> + public:
> +     typedef ::boost::winapi::HANDLE_ native_handle_type;
> +     typedef ::boost::asio::windows::stream_handle   handle_type;
> ++    typedef typename handle_type::executor_type executor_type;
> +
> +     async_pipe(boost::asio::io_context & ios) : async_pipe(ios, ios,
> make_pipe_name(), true) {}
> +     async_pipe(boost::asio::io_context & ios_source,
> boost::asio::io_context & ios_sink)
> +--
> +2.17.1
> +
> diff --git a/meta/recipes-support/boost/boost_1.72.0.bb
> b/meta/recipes-support/boost/boost_1.72.0.bb
> index 0b7badbc76..51c84bc935 100644
> --- a/meta/recipes-support/boost/boost_1.72.0.bb
> +++ b/meta/recipes-support/boost/boost_1.72.0.bb
> @@ -8,4 +8,5 @@ SRC_URI += "file://arm-intrinsics.patch \
>
> file://0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch \
>             file://0001-dont-setup-compiler-flags-m32-m64.patch \
>             file://0001-revert-cease-dependence-on-range.patch \
> +           file://0001-added-typedef-executor_type.patch \
>             "
> --
> 2.17.1
>
> 
>

[-- Attachment #2: Type: text/html, Size: 12044 bytes --]

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

* Re: [OE-core] [dunfell][PATCH] boost: backport fix to make async_pipes work with asio
  2020-10-07 12:09 ` [OE-core] [dunfell][PATCH] " Martin Jansa
@ 2020-10-07 14:21   ` Steve Sakoman
  0 siblings, 0 replies; 4+ messages in thread
From: Steve Sakoman @ 2020-10-07 14:21 UTC (permalink / raw)
  To: Martin Jansa; +Cc: Viktor Rosendahl, openembedded-core, Viktor Rosendahl

On Wed, Oct 7, 2020 at 2:10 AM Martin Jansa <martin.jansa@gmail.com> wrote:
>
> It's not caused by this change, but when rebuilding dunfell based build with this change included I've noticed:
> WARNING: boost-1.72.0-r0 do_fetch: Checksum mismatch for local file downloads/boost_1_72_0.tar.bz2
> Cleaning and trying again.
> WARNING: boost-1.72.0-r0 do_fetch: Renaming downloads/boost_1_72_0.tar.bz2 to downloads/boost_1_72_0.tar.bz2_bad-checksum_9df25550eb5a8d5a83dc67be4135d3785ab02b22c6972e5e3da1d79781b03f0b

I checked on two machines here and don't see this issue, the checksums
for boost_1_72_0.tar.bz2 in the downloads directory matches that in
the recipe.

I do builds with meta-openembedded, meta-qt5, meta-mender,
meta-virtualization and bsp's from poky, meta-freescale and
meta-st-stm32mp.

Are you using other layers that might touch boost?

Steve

> boost-new/boost_1_72_0:
> INSTALL  Jamroot  LICENSE_1_0.txt  README.md  boost  boost-build.jam  boost.css  boost.png  boostcpp.jam  bootstrap.bat  bootstrap.sh  doc  index.htm  index.html  libs  more  rst.css  status  tools
>
> boost-old/boost_1_72_0:
> INSTALL  LICENSE_1_0.txt  boost  boost.css  boost.png  boostcpp.jam  bootstrap.bat  bootstrap.sh  doc  index.htm  libs  status
>
> $ diff -rq boost-*
> Only in boost-new/boost_1_72_0: Jamroot
> Only in boost-new/boost_1_72_0: README.md
> Only in boost-new/boost_1_72_0/boost: archive
> Only in boost-new/boost_1_72_0/boost: array.hpp
> Only in boost-new/boost_1_72_0/boost: assign
> Only in boost-new/boost_1_72_0/boost: atomic
> Only in boost-new/boost_1_72_0/boost: beast.hpp
> Only in boost-new/boost_1_72_0/boost: blank.hpp
> Only in boost-new/boost_1_72_0/boost: callable_traits
> Only in boost-new/boost_1_72_0/boost: checked_delete.hpp
> Only in boost-new/boost_1_72_0/boost: circular_buffer
> Only in boost-new/boost_1_72_0/boost: compatibility
> Only in boost-new/boost_1_72_0/boost: compute
> Only in boost-new/boost_1_72_0/boost: concept
> Only in boost-new/boost_1_72_0/boost: concept_check.hpp
> Only in boost-new/boost_1_72_0/boost: container
> Only in boost-new/boost_1_72_0/boost: convert.hpp
> Only in boost-new/boost_1_72_0/boost: current_function.hpp
> Only in boost-new/boost_1_72_0/boost: date_time
> Only in boost-new/boost_1_72_0/boost: date_time.hpp
> Only in boost-new/boost_1_72_0/boost: dynamic_bitset
> Only in boost-new/boost_1_72_0/boost: dynamic_bitset.hpp
> Only in boost-new/boost_1_72_0/boost: foreach_fwd.hpp
> Only in boost-new/boost_1_72_0/boost: format
> Only in boost-new/boost_1_72_0/boost: format.hpp
> Only in boost-new/boost_1_72_0/boost: function
> Only in boost-new/boost_1_72_0/boost: functional
> Only in boost-new/boost_1_72_0/boost: generator_iterator.hpp
> Only in boost-new/boost_1_72_0/boost/geometry/srs: esri.hpp
> Files boost-new/boost_1_72_0/boost/geometry/srs/projections/iau2000_traits.hpp and boost-old/boost_1_72_0/boost/geometry/srs/projections/iau2000_traits.hpp differ
> Only in boost-new/boost_1_72_0/boost/geometry/srs/projections: spar.hpp
> Only in boost-new/boost_1_72_0/boost/geometry/srs: shared_grids.hpp
> Only in boost-new/boost_1_72_0/boost/geometry/srs: sphere.hpp
> Only in boost-new/boost_1_72_0/boost/geometry/srs: spheroid.hpp
> Only in boost-new/boost_1_72_0/boost: get_pointer.hpp
> Only in boost-new/boost_1_72_0/boost: gil
> Only in boost-new/boost_1_72_0/boost: hana
> Only in boost-new/boost_1_72_0/boost: hana.hpp
> Only in boost-new/boost_1_72_0/boost: heap
> Only in boost-new/boost_1_72_0/boost: histogram
> Only in boost-new/boost_1_72_0/boost: integer
> Only in boost-new/boost_1_72_0/boost: iostreams
> Only in boost-new/boost_1_72_0/boost: is_placeholder.hpp
> Only in boost-new/boost_1_72_0/boost: lambda
> Only in boost-new/boost_1_72_0/boost: locale
> Only in boost-new/boost_1_72_0/boost: logic
> Only in boost-new/boost_1_72_0/boost: make_shared.hpp
> Only in boost-new/boost_1_72_0/boost: math
> Only in boost-new/boost_1_72_0/boost: memory_order.hpp
> Only in boost-new/boost_1_72_0/boost: mp11.hpp
> Only in boost-new/boost_1_72_0/boost: mpi
> Only in boost-new/boost_1_72_0/boost: multiprecision
> Only in boost-new/boost_1_72_0/boost: non_type.hpp
> Only in boost-new/boost_1_72_0/boost: operators_v1.hpp
> Only in boost-new/boost_1_72_0/boost: outcome
> Only in boost-new/boost_1_72_0/boost: outcome.hpp
> Only in boost-new/boost_1_72_0/boost: pending
> Only in boost-new/boost_1_72_0/boost: phoenix
> Only in boost-new/boost_1_72_0/boost: pointee.hpp
> Only in boost-new/boost_1_72_0/boost: pointer_cast.hpp
> Only in boost-new/boost_1_72_0/boost: predef.h
> Only in boost-new/boost_1_72_0/boost: process
> Only in boost-new/boost_1_72_0/boost: proto
> Only in boost-new/boost_1_72_0/boost: python
> Only in boost-new/boost_1_72_0/boost: random.hpp
> Only in boost-new/boost_1_72_0/boost: regex.hpp
> Only in boost-new/boost_1_72_0/boost: scope_exit.hpp
> Only in boost-new/boost_1_72_0/boost: scoped_array.hpp
> Only in boost-new/boost_1_72_0/boost: serialization
> Only in boost-new/boost_1_72_0/boost: shared_container_iterator.hpp
> Only in boost-new/boost_1_72_0/boost: spirit
> Only in boost-new/boost_1_72_0/boost: stacktrace
> Only in boost-new/boost_1_72_0/boost: statechart
> Only in boost-new/boost_1_72_0/boost: token_functions.hpp
> Only in boost-new/boost_1_72_0/boost: type_traits.hpp
> Only in boost-new/boost_1_72_0/boost: unordered_map.hpp
> Only in boost-new/boost_1_72_0/boost: utility
> Only in boost-new/boost_1_72_0/boost: variant2
> Only in boost-new/boost_1_72_0/boost: weak_ptr.hpp
> Only in boost-new/boost_1_72_0: boost-build.jam
> Only in boost-new/boost_1_72_0: index.html
> Only in boost-new/boost_1_72_0: more
> Only in boost-new/boost_1_72_0: rst.css
> Only in boost-new/boost_1_72_0: tools
>
> I don't remember any commit updating the checksum from:
> 9df25550eb5a8d5a83dc67be4135d3785ab02b22c6972e5e3da1d79781b03f0b  downloads/boost_1_72_0.tar.bz2_bad-checksum_9df25550eb5a8d5a83dc67be4135d3785ab02b22c6972e5e3da1d79781b03f0b
> to
> 59c9b274bc451cf91a9ba1dd2c7fdcaf5d60b1b3aa83f2c9fa143417cc660722  downloads/boost_1_72_0.tar.bz2
> currently used in recipe.
>
> It's possible that there is another recipe somewhere using the same boost_1_72_0.tar.bz2 archive from different URL with different checksums.
>
> Regards,
>
> On Wed, Jul 29, 2020 at 3:33 PM Viktor Rosendahl <viktor.rosendahl@gmail.com> wrote:
>>
>> From: Viktor Rosendahl <Viktor.Rosendahl@bmw.de>
>>
>> async_pipe is missing the executor_type type, which is expected by
>> asio in /usr/include/boost/asio/impl/read.hpp. Without this, it's
>> not possible to even compile code that uses constructs such as:
>>
>> boost::asio::io_service foo;
>> boost::process::async_pipe foopipe{ boost::process::async_pipe(foo) };
>>
>> This is only relevant for Dunfell because master has already moved to
>> boost-1.73.0 in which this bug has been fixed. The bug is also not
>> present in Zeus, which uses boost-1.71.0.
>>
>> Signed-off-by: Viktor Rosendahl <Viktor.Rosendahl@bmw.de>
>> ---
>>  .../0001-added-typedef-executor_type.patch    | 53 +++++++++++++++++++
>>  meta/recipes-support/boost/boost_1.72.0.bb    |  1 +
>>  2 files changed, 54 insertions(+)
>>  create mode 100644 meta/recipes-support/boost/boost/0001-added-typedef-executor_type.patch
>>
>> diff --git a/meta/recipes-support/boost/boost/0001-added-typedef-executor_type.patch b/meta/recipes-support/boost/boost/0001-added-typedef-executor_type.patch
>> new file mode 100644
>> index 0000000000..83d3749e15
>> --- /dev/null
>> +++ b/meta/recipes-support/boost/boost/0001-added-typedef-executor_type.patch
>> @@ -0,0 +1,53 @@
>> +From 6a4d2ff72114ef47c7afaf92e1042aca3dfa41b0 Mon Sep 17 00:00:00 2001
>> +From: Klemens David Morgenstern <klemens.morgenstern@gmx.net>
>> +Date: Fri, 22 Nov 2019 14:03:22 +0800
>> +Subject: [PATCH] added typedef executor_type;
>> +
>> +Upstream-Status: Backport [https://github.com/boostorg/process/commit/6a4d2ff72114ef47c7afaf92e1042aca3dfa41b0]
>> +
>> +---
>> + include/boost/process/async_pipe.hpp                | 2 ++
>> + include/boost/process/detail/posix/async_pipe.hpp   | 1 +
>> + include/boost/process/detail/windows/async_pipe.hpp | 1 +
>> + 3 files changed, 4 insertions(+)
>> +
>> +diff --git a/include/boost/process/async_pipe.hpp b/include/boost/process/async_pipe.hpp
>> +index 101fe1d..a562432 100644
>> +--- a/boost/process/async_pipe.hpp
>> ++++ b/boost/process/async_pipe.hpp
>> +@@ -47,6 +47,8 @@ public:
>> +      */
>> +     typedef platform_specific handle_type;
>> +
>> ++    typedef typename handle_type::executor_type executor_type;
>> ++
>> +     /** Construct a new async_pipe, does automatically open the pipe.
>> +      * Initializes source and sink with the same io_context.
>> +      * @note Windows creates a named pipe here, where the name is automatically generated.
>> +diff --git a/include/boost/process/detail/posix/async_pipe.hpp b/include/boost/process/detail/posix/async_pipe.hpp
>> +index 725a078..a82c057 100644
>> +--- a/boost/process/detail/posix/async_pipe.hpp
>> ++++ b/boost/process/detail/posix/async_pipe.hpp
>> +@@ -23,6 +23,7 @@ class async_pipe
>> + public:
>> +     typedef int native_handle_type;
>> +     typedef ::boost::asio::posix::stream_descriptor handle_type;
>> ++    typedef typename handle_type::executor_type executor_type;
>> +
>> +     inline async_pipe(boost::asio::io_context & ios) : async_pipe(ios, ios) {}
>> +
>> +diff --git a/include/boost/process/detail/windows/async_pipe.hpp b/include/boost/process/detail/windows/async_pipe.hpp
>> +index 06d5f2d..0b447f9 100644
>> +--- a/boost/process/detail/windows/async_pipe.hpp
>> ++++ b/boost/process/detail/windows/async_pipe.hpp
>> +@@ -48,6 +48,7 @@ class async_pipe
>> + public:
>> +     typedef ::boost::winapi::HANDLE_ native_handle_type;
>> +     typedef ::boost::asio::windows::stream_handle   handle_type;
>> ++    typedef typename handle_type::executor_type executor_type;
>> +
>> +     async_pipe(boost::asio::io_context & ios) : async_pipe(ios, ios, make_pipe_name(), true) {}
>> +     async_pipe(boost::asio::io_context & ios_source, boost::asio::io_context & ios_sink)
>> +--
>> +2.17.1
>> +
>> diff --git a/meta/recipes-support/boost/boost_1.72.0.bb b/meta/recipes-support/boost/boost_1.72.0.bb
>> index 0b7badbc76..51c84bc935 100644
>> --- a/meta/recipes-support/boost/boost_1.72.0.bb
>> +++ b/meta/recipes-support/boost/boost_1.72.0.bb
>> @@ -8,4 +8,5 @@ SRC_URI += "file://arm-intrinsics.patch \
>>             file://0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch \
>>             file://0001-dont-setup-compiler-flags-m32-m64.patch \
>>             file://0001-revert-cease-dependence-on-range.patch \
>> +           file://0001-added-typedef-executor_type.patch \
>>             "
>> --
>> 2.17.1
>>
>> 

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

end of thread, other threads:[~2020-10-07 14:21 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-07-29 13:32 [dunfell][PATCH] boost: backport fix to make async_pipes work with asio Viktor Rosendahl
2020-07-29 14:02 ` ✗ patchtest: failure for " Patchwork
2020-10-07 12:09 ` [OE-core] [dunfell][PATCH] " Martin Jansa
2020-10-07 14:21   ` Steve Sakoman

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