fix build known issue

(cherry picked from commit 0fd9080c13e8f5874f2e9878afe5e411f9eae723)
This commit is contained in:
Liu Zixian 2022-01-28 11:09:41 +08:00 committed by openeuler-sync-bot
parent 57c7f97839
commit a5508c0d5d
2 changed files with 102 additions and 1 deletions

View File

@ -0,0 +1,71 @@
From 62e7321669f66a90e2a90c8f31af34f59ebc5d7a Mon Sep 17 00:00:00 2001
From: Dmitry Arkhipov <grisumbras@gmail.com>
Date: Thu, 9 Dec 2021 08:11:57 +0300
Subject: [PATCH] Don't skip install targets if there's <build>no in ureqs
---
tools/build/src/tools/stage.jam | 4 ++++
tools/build/test/install_build_no.py | 26 ++++++++++++++++++++++++++
tools/build/test/test_all.py | 1 +
3 files changed, 31 insertions(+)
create mode 100755 test/install_build_no.py
diff --git a/tools/build/src/tools/stage.jam b/tools/build/src/tools/stage.jam
index c5f02e3ba4..325129dc81 100644
--- a/tools/build/src/tools/stage.jam
+++ b/tools/build/src/tools/stage.jam
@@ -478,6 +478,10 @@ class install-target-class : basic-target
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 * )
diff --git a/tools/build/test/install_build_no.py b/tools/build/test/install_build_no.py
new file mode 100755
index 0000000000..0ccf3c5cc6
--- /dev/null
+++ b/tools/build/test/install_build_no.py
@@ -0,0 +1,26 @@
+#!/usr/bin/python
+
+# Copyright 2021 Dmitry Arkhipov (grisumbras@gmail.com)
+# 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()
diff --git a/tools/build/test/test_all.py b/tools/build/test/test_all.py
index b7ef5ad701..9ed729d017 100644
--- a/tools/build/test/test_all.py
+++ b/tools/build/test/test_all.py
@@ -250,6 +250,7 @@ def reorder_tests(tests, first_test):
"inherit_toolset",
"inherited_dependency",
"inline",
+ "install_build_no",
"libjpeg",
"liblzma",
"libpng",

View File

@ -2,7 +2,7 @@
Name: boost Name: boost
Version: 1.78.0 Version: 1.78.0
Release: 7 Release: 8
Summary: The free peer-reviewed portable C++ source libraries Summary: The free peer-reviewed portable C++ source libraries
License: Boost Software License 1.0 License: Boost Software License 1.0
URL: http://www.boost.org URL: http://www.boost.org
@ -18,6 +18,8 @@ Patch1: boost-1.78-locale-Fix-access-to-first-element-of-empty-vector.patch
Patch2: boost-1.77-locale-remove-linking-with-boost-system.patch Patch2: boost-1.77-locale-remove-linking-with-boost-system.patch
# https://github.com/boostorg/type_erasure/pull/19 # https://github.com/boostorg/type_erasure/pull/19
Patch3: boost-1.77-type_erasure-remove-boost-system-linkage.patch Patch3: boost-1.77-type_erasure-remove-boost-system-linkage.patch
# https://github.com/bfgroup/b2/pull/113
Patch4: boost-1.78-build-Don-t-skip-install-targets-if-there-s-build-no-in-ureqs.patch
Requires: %{name}-atomic%{?_isa} = %{version}-%{release} Requires: %{name}-atomic%{?_isa} = %{version}-%{release}
Requires: %{name}-chrono%{?_isa} = %{version}-%{release} Requires: %{name}-chrono%{?_isa} = %{version}-%{release}
@ -26,6 +28,7 @@ Requires: %{name}-context%{?_isa} = %{version}-%{release}
Requires: %{name}-contract%{?_isa} = %{version}-%{release} Requires: %{name}-contract%{?_isa} = %{version}-%{release}
Requires: %{name}-coroutine%{?_isa} = %{version}-%{release} Requires: %{name}-coroutine%{?_isa} = %{version}-%{release}
Requires: %{name}-date-time%{?_isa} = %{version}-%{release} Requires: %{name}-date-time%{?_isa} = %{version}-%{release}
Requires: %{name}-fiber%{?_isa} = %{version}-%{release}
Requires: %{name}-filesystem%{?_isa} = %{version}-%{release} Requires: %{name}-filesystem%{?_isa} = %{version}-%{release}
Requires: %{name}-graph%{?_isa} = %{version}-%{release} Requires: %{name}-graph%{?_isa} = %{version}-%{release}
Requires: %{name}-iostreams%{?_isa} = %{version}-%{release} Requires: %{name}-iostreams%{?_isa} = %{version}-%{release}
@ -39,6 +42,7 @@ Requires: %{name}-python3%{?_isa} = %{version}-%{release}
Requires: %{name}-random%{?_isa} = %{version}-%{release} Requires: %{name}-random%{?_isa} = %{version}-%{release}
Requires: %{name}-regex%{?_isa} = %{version}-%{release} Requires: %{name}-regex%{?_isa} = %{version}-%{release}
Requires: %{name}-serialization%{?_isa} = %{version}-%{release} Requires: %{name}-serialization%{?_isa} = %{version}-%{release}
Requires: %{name}-stacktrace%{?_isa} = %{version}-%{release}
Requires: %{name}-system%{?_isa} = %{version}-%{release} Requires: %{name}-system%{?_isa} = %{version}-%{release}
Requires: %{name}-test%{?_isa} = %{version}-%{release} Requires: %{name}-test%{?_isa} = %{version}-%{release}
Requires: %{name}-thread%{?_isa} = %{version}-%{release} Requires: %{name}-thread%{?_isa} = %{version}-%{release}
@ -112,6 +116,12 @@ Summary: Run-time component for boost date-time.
%description date-time %description date-time
A set of date-time libraries based on generic programming concepts. A set of date-time libraries based on generic programming concepts.
%package fiber
Summary: Run-time component for boost fiber.
%description fiber
(C++11) Userland threads library.
%package filesystem %package filesystem
Summary: Run-time component for boost filesystem. Summary: Run-time component for boost filesystem.
@ -193,6 +203,12 @@ Summary: Run-time component for boost serialization.
%description serialization %description serialization
Serialization for persistence and marshalling. Serialization for persistence and marshalling.
%package stacktrace
Summary: Run-time component for boost stacktrace.
%description stacktrace
Gather, store, copy and print backtraces.
%package system %package system
Summary: Run-time component for boost system. Summary: Run-time component for boost system.
@ -333,6 +349,10 @@ find . -name example -exec cp {} boost-example --parents -r \;
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_date_time.so.%{version} %{_libdir}/libboost_date_time.so.%{version}
%files fiber
%license LICENSE_1_0.txt
%{_libdir}/libboost_fiber.so.%{version}
%files filesystem %files filesystem
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_filesystem.so.%{version} %{_libdir}/libboost_filesystem.so.%{version}
@ -393,6 +413,12 @@ find . -name example -exec cp {} boost-example --parents -r \;
%{_libdir}/libboost_serialization.so.%{version} %{_libdir}/libboost_serialization.so.%{version}
%{_libdir}/libboost_wserialization.so.%{version} %{_libdir}/libboost_wserialization.so.%{version}
%files stacktrace
%license LICENSE_1_0.txt
%{_libdir}/libboost_stacktrace_addr2line.so.%{version}
%{_libdir}/libboost_stacktrace_basic.so.%{version}
%{_libdir}/libboost_stacktrace_noop.so.%{version}
%files system %files system
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_system.so.%{version} %{_libdir}/libboost_system.so.%{version}
@ -429,6 +455,10 @@ find . -name example -exec cp {} boost-example --parents -r \;
%{_libdir}/*.a %{_libdir}/*.a
%changelog %changelog
* Fri Jan 28 2022 Liu Zixian <liuzixian4@huawei.com> - 1.78.0-8
- backport bugfix for boost 1.78.0 known issues
- https://www.boost.org/users/history/version_1_78_0.html
* Sun Jan 23 2022 Liu Zixian <liuzixian4@huawei.com> - 1.78.0-7 * Sun Jan 23 2022 Liu Zixian <liuzixian4@huawei.com> - 1.78.0-7
- refactor boost-help - refactor boost-help