summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMikko Rapeli <mikko.rapeli@bmw.de>2022-08-08 09:27:19 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-08-23 15:22:52 +0100
commitd4dc48175a2f09c3e225f5f73d9897f794cdbe80 (patch)
tree2156001f71847d7c313083e2f5b30e5b228a4fcc
parent4d51fda54302888a508ba55bb5416d802daea960 (diff)
downloadpoky-d4dc48175a2f09c3e225f5f73d9897f794cdbe80.tar.gz
boost: fix install of fiber shared libraries
For fiber, only CMake modules were installed in boost 1.78.0. In 1.79.0 and versions before 1.78.0 also the shared libraries are installed. This upstream patch fixes the issue in 1.78.0. Note that boost git repo does not show changes in tools/build directory between 1.78.0 and 1.79.0 tags but the release tar balls contain a large update of which this one is needed to fix the missing shared libraries. Only kirkstone is affected. buildhistory shows the difference in metadata boost-fiber binary package without and with this patch: --- a/packages/core2-64-poky-linux/boost/boost-fiber/latest +++ b/packages/core2-64-poky-linux/boost/boost-fiber/latest @@ -1,8 +1,9 @@ PV = 1.78.0 PR = r0 -RPROVIDES = -RDEPENDS = +PKG = libboost-fiber1.78.0 +RPROVIDES = boost-fiber (=1.78.0) +RDEPENDS = boost-context (>= 1.78.0) glibc (>= 2.35) libgcc (>= 11.3.0) libstdc++ (>= 11.3.0) RRECOMMENDS = -PKGSIZE = 0 +PKGSIZE = 80032 FILES = /usr/lib/libboost_fiber*.so.* -FILELIST = +FILELIST = /usr/lib/libboost_fiber.so.1.78.0 (From OE-Core rev: f5952401a89a84b40f98c1c946daba2d83a2b18a) Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de> Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-support/boost/boost/0001-Don-t-skip-install-targets-if-there-s-build-no-in-ur.patch82
-rw-r--r--meta/recipes-support/boost/boost_1.78.0.bb1
2 files changed, 83 insertions, 0 deletions
diff --git a/meta/recipes-support/boost/boost/0001-Don-t-skip-install-targets-if-there-s-build-no-in-ur.patch b/meta/recipes-support/boost/boost/0001-Don-t-skip-install-targets-if-there-s-build-no-in-ur.patch
new file mode 100644
index 0000000000..df8b285700
--- /dev/null
+++ b/meta/recipes-support/boost/boost/0001-Don-t-skip-install-targets-if-there-s-build-no-in-ur.patch
@@ -0,0 +1,82 @@
1From 78fd284a42caabe8815cb0870b46e5567872e75b Mon Sep 17 00:00:00 2001
2From: Dmitry <grisumbras@gmail.com>
3Date: Sat, 11 Dec 2021 16:58:23 +0300
4Subject: [PATCH] Don't skip install targets if there's <build>no in ureqs
5 (#113)
6
7---
8 src/tools/stage.jam | 4 ++++
9 test/install_build_no.py | 26 ++++++++++++++++++++++++++
10 test/test_all.py | 1 +
11 3 files changed, 31 insertions(+)
12 create mode 100755 test/install_build_no.py
13
14Fixes install of boost fiber shared libraries which are missing in 1.78.0
15but working in 1.79.0. Only kirkstone affected by this.
16
17Upstream-Status: Backport
18
19Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
20
21diff --git a/tools/build/src/tools/stage.jam b/tools/build/src/tools/stage.jam
22index c5f02e3ba..325129dc8 100644
23--- a/tools/build/src/tools/stage.jam
24+++ b/tools/build/src/tools/stage.jam
25@@ -478,6 +478,10 @@ class install-target-class : basic-target
26 return [ sequence.unique $(result2) ] ;
27 }
28
29+ rule skip-from-usage-requirements ( )
30+ {
31+ }
32+
33 # Returns true iff 'type' is subtype of some element of 'types-to-include'.
34 #
35 local rule include-type ( type : types-to-include * )
36diff --git a/tools/build/test/install_build_no.py b/tools/build/test/install_build_no.py
37new file mode 100755
38index 000000000..0ccf3c5cc
39--- /dev/null
40+++ b/tools/build/test/install_build_no.py
41@@ -0,0 +1,26 @@
42+#!/usr/bin/python
43+
44+# Copyright 2021 Dmitry Arkhipov (grisumbras@gmail.com)
45+# Distributed under the Boost Software License, Version 1.0.
46+# (See accompanying file LICENSE.txt or https://www.bfgroup.xyz/b2/LICENSE.txt)
47+
48+# Check that <build>no in usage-requirements of dependencies does not affect
49+# install rule, i.e. a skipped installed target does not affect insallation of
50+# other targets.
51+
52+import BoostBuild
53+
54+t = BoostBuild.Tester()
55+
56+t.write("a.cpp", "int main() {}\n")
57+
58+t.write("jamroot.jam", """
59+make x : : maker : <build>no ;
60+exe a : a.cpp ;
61+install install : x a ;
62+""")
63+
64+t.run_build_system()
65+t.expect_addition("install/a.exe")
66+
67+t.cleanup()
68diff --git a/tools/build/test/test_all.py b/tools/build/test/test_all.py
69index b7ef5ad70..9ed729d01 100644
70--- a/tools/build/test/test_all.py
71+++ b/tools/build/test/test_all.py
72@@ -250,6 +250,7 @@ tests = ["abs_workdir",
73 "inherit_toolset",
74 "inherited_dependency",
75 "inline",
76+ "install_build_no",
77 "libjpeg",
78 "liblzma",
79 "libpng",
80--
812.20.1
82
diff --git a/meta/recipes-support/boost/boost_1.78.0.bb b/meta/recipes-support/boost/boost_1.78.0.bb
index 58be9dcf12..08364a4c3c 100644
--- a/meta/recipes-support/boost/boost_1.78.0.bb
+++ b/meta/recipes-support/boost/boost_1.78.0.bb
@@ -7,4 +7,5 @@ SRC_URI += "file://boost-CVE-2012-2677.patch \
7 file://0001-dont-setup-compiler-flags-m32-m64.patch \ 7 file://0001-dont-setup-compiler-flags-m32-m64.patch \
8 file://de657e01635306085488290ea83de541ec393f8b.patch \ 8 file://de657e01635306085488290ea83de541ec393f8b.patch \
9 file://0001-futex-fix-build-on-32-bit-architectures-using-64-bit.patch \ 9 file://0001-futex-fix-build-on-32-bit-architectures-using-64-bit.patch \
10 file://0001-Don-t-skip-install-targets-if-there-s-build-no-in-ur.patch \
10 " 11 "