Skip to content

Commit

Permalink
Added a post-release not and patch for Boost.Build fixing library ins…
Browse files Browse the repository at this point in the history
…talls.

In Boost 1.78.0, `b2 install` does not install Boost.Stacktrace binaries on
Linux. Add a post-prelease note with a patch.

Related issue: bfgroup/b2#104
Related PR: bfgroup/b2#113
  • Loading branch information
Lastique committed Dec 11, 2021
1 parent e36028a commit d4da8d4
Show file tree
Hide file tree
Showing 3 changed files with 98 additions and 1 deletion.
13 changes: 12 additions & 1 deletion feed/history/boost_1_78_0.qbk
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
[source-mode c++]
[purpose
Updated Libraries: Asio, Assert, Atomic, Beast, Core, Describe, DLL,
Filesystem, Geometry, JSON, Lambda2, Log, Math, MultiIindex,
Filesystem, Geometry, JSON, Lambda2, Log, Math, MultiIndex,
Multiprecision, PFR, Predef, Regex, System, Utility, Variant2.
[/ Please don't add updated libraries yet, it
can create unnecessary merge conflicts.]
Expand All @@ -20,6 +20,17 @@ Formatting reference: https://www.boost.org/doc/tools/quickbook/
Please keep the list of libraries sorted in lexicographical order.
]

[section Known Issues]

These are patches from library authors which were found too late to be fixed
in the release.

* Boost.Build silently skips installation of library headers and binaries in some cases,
see [@https://github.com/bfgroup/b2/issues/104 #104].
* Fixed in [@https://github.com/bfgroup/b2/pull/113 PR#113], [@/patches/1_78_0/0001-b2-fix-install.patch patch].

[endsect]

[section New Libraries]

[/ Example:
Expand Down
80 changes: 80 additions & 0 deletions patches/1_78_0/0001-b2-fix-install.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
https://github.com/bfgroup/b2/pull/113

From 62e7321669f66a90e2a90c8f31af34f59ebc5d7a Mon Sep 17 00:00:00 2001
From: Dmitry Arkhipov <[email protected]>
Date: Thu, 9 Dec 2021 08:11:57 +0300
Subject: [PATCH] Don't skip install targets if there's <build>no in ureqs

---
src/tools/stage.jam | 4 ++++
test/install_build_no.py | 26 ++++++++++++++++++++++++++
test/test_all.py | 1 +
3 files changed, 31 insertions(+)
create mode 100755 test/install_build_no.py

Index: boost_1_78_0/tools/build/src/tools/stage.jam
===================================================================
--- boost_1_78_0.orig/tools/build/src/tools/stage.jam 2021-12-09 16:30:45.956457531 +0300
+++ boost_1_78_0/tools/build/src/tools/stage.jam 2021-12-09 16:30:45.952457519 +0300
@@ -476,10 +476,14 @@ class install-target-class : basic-targe
}
DELETE_MODULE $(result) ;
return [ sequence.unique $(result2) ] ;
}

+ rule skip-from-usage-requirements ( )
+ {
+ }
+
# Returns true iff 'type' is subtype of some element of 'types-to-include'.
#
local rule include-type ( type : types-to-include * )
{
local found ;
Index: boost_1_78_0/tools/build/test/install_build_no.py
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ boost_1_78_0/tools/build/test/install_build_no.py 2021-12-09 16:30:45.953457522 +0300
@@ -0,0 +1,26 @@
+#!/usr/bin/python
+
+# Copyright 2021 Dmitry Arkhipov ([email protected])
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file LICENSE.txt or https://www.bfgroup.xyz/b2/LICENSE.txt)
+
+# Check that <build>no in usage-requirements of dependencies does not affect
+# install rule, i.e. a skipped installed target does not affect insallation of
+# other targets.
+
+import BoostBuild
+
+t = BoostBuild.Tester()
+
+t.write("a.cpp", "int main() {}\n")
+
+t.write("jamroot.jam", """
+make x : : maker : <build>no ;
+exe a : a.cpp ;
+install install : x a ;
+""")
+
+t.run_build_system()
+t.expect_addition("install/a.exe")
+
+t.cleanup()
Index: boost_1_78_0/tools/build/test/test_all.py
===================================================================
--- boost_1_78_0.orig/tools/build/test/test_all.py 2021-12-09 16:30:45.956457531 +0300
+++ boost_1_78_0/tools/build/test/test_all.py 2021-12-09 16:30:45.953457522 +0300
@@ -248,10 +248,11 @@ tests = ["abs_workdir",
"implicit_dependency",
"indirect_conditional",
"inherit_toolset",
"inherited_dependency",
"inline",
+ "install_build_no",
"libjpeg",
"liblzma",
"libpng",
"libtiff",
"libzstd",
6 changes: 6 additions & 0 deletions patches/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,12 @@ <h1>Boost C++ Library Patches</h1>
late to be fixed in the release. Be careful as they have
not been through the normal testing process.</p>

<h2>1.78.0</h2>

<ul>
<li><a href="1_78_0/0001-b2-fix-install.patch">0001-b2-fix-install.patch</a></li>
</ul>

<h2>1.73.0</h2>

<ul>
Expand Down

0 comments on commit d4da8d4

Please sign in to comment.