1 |
commit: 9d28f5168c11fa689a1f3061fc9a8c8220ff8374 |
2 |
Author: Zac Medico <zmedico <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat Feb 8 23:27:40 2020 +0000 |
4 |
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Feb 8 23:38:11 2020 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=9d28f516 |
7 |
|
8 |
Support FEATURES=qa-unresolved-soname-deps (bug 708448) |
9 |
|
10 |
Support FEATURES=qa-unresolved-soname-deps so that it's possible to |
11 |
disable the QA warning that was introduced for bug 704320. This is |
12 |
useful for systems that may have incomplete PROVIDES metadata due |
13 |
to alternative package managers or experimentation with a new |
14 |
architecture. |
15 |
|
16 |
Bug: https://bugs.gentoo.org/708448 |
17 |
Bug: https://bugs.gentoo.org/704320 |
18 |
Signed-off-by: Zac Medico <zmedico <AT> gentoo.org> |
19 |
|
20 |
cnf/make.globals | 3 ++- |
21 |
lib/_emerge/EbuildPhase.py | 13 ++++++++----- |
22 |
lib/portage/const.py | 1 + |
23 |
man/make.conf.5 | 4 ++++ |
24 |
4 files changed, 15 insertions(+), 6 deletions(-) |
25 |
|
26 |
diff --git a/cnf/make.globals b/cnf/make.globals |
27 |
index 50511e812..139e1ce97 100644 |
28 |
--- a/cnf/make.globals |
29 |
+++ b/cnf/make.globals |
30 |
@@ -53,7 +53,8 @@ FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs |
31 |
config-protect-if-modified distlocks ebuild-locks |
32 |
fixlafiles ipc-sandbox merge-sync multilib-strict |
33 |
network-sandbox news parallel-fetch pid-sandbox |
34 |
- preserve-libs protect-owned sandbox sfperms strict |
35 |
+ preserve-libs protect-owned qa-unresolved-soname-deps |
36 |
+ sandbox sfperms strict |
37 |
unknown-features-warn unmerge-logs unmerge-orphans userfetch |
38 |
userpriv usersandbox usersync" |
39 |
|
40 |
|
41 |
diff --git a/lib/_emerge/EbuildPhase.py b/lib/_emerge/EbuildPhase.py |
42 |
index 828e6e126..234a273a0 100644 |
43 |
--- a/lib/_emerge/EbuildPhase.py |
44 |
+++ b/lib/_emerge/EbuildPhase.py |
45 |
@@ -453,11 +453,14 @@ class _PostPhaseCommands(CompositeTask): |
46 |
if msg: |
47 |
self.scheduler.output(msg, log_path=self.settings.get("PORTAGE_LOG_FILE")) |
48 |
|
49 |
- # This operates on REQUIRES metadata generated by the above function call. |
50 |
- future = self._soname_deps_qa() |
51 |
- # If an unexpected exception occurs, then this will raise it. |
52 |
- future.add_done_callback(lambda future: future.result()) |
53 |
- self._start_task(AsyncTaskFuture(future=future), self._default_final_exit) |
54 |
+ if 'qa-unresolved-soname-deps' in self.settings.features: |
55 |
+ # This operates on REQUIRES metadata generated by the above function call. |
56 |
+ future = self._soname_deps_qa() |
57 |
+ # If an unexpected exception occurs, then this will raise it. |
58 |
+ future.add_done_callback(lambda future: future.result()) |
59 |
+ self._start_task(AsyncTaskFuture(future=future), self._default_final_exit) |
60 |
+ else: |
61 |
+ self._default_final_exit(task) |
62 |
else: |
63 |
self._default_final_exit(task) |
64 |
|
65 |
|
66 |
diff --git a/lib/portage/const.py b/lib/portage/const.py |
67 |
index e95039fd5..f6be9258f 100644 |
68 |
--- a/lib/portage/const.py |
69 |
+++ b/lib/portage/const.py |
70 |
@@ -180,6 +180,7 @@ SUPPORTED_FEATURES = frozenset([ |
71 |
"preserve-libs", |
72 |
"protect-owned", |
73 |
"python-trace", |
74 |
+ "qa-unresolved-soname-deps", |
75 |
"sandbox", |
76 |
"selinux", |
77 |
"sesandbox", |
78 |
|
79 |
diff --git a/man/make.conf.5 b/man/make.conf.5 |
80 |
index 494d5f003..f82fed65a 100644 |
81 |
--- a/man/make.conf.5 |
82 |
+++ b/man/make.conf.5 |
83 |
@@ -607,6 +607,10 @@ If \fIcollision\-protect\fR is enabled then it takes precedence over |
84 |
Output a verbose trace of python execution to stderr when a command's |
85 |
\-\-debug option is enabled. |
86 |
.TP |
87 |
+.B qa\-unresolved\-soname\-deps |
88 |
+Trigger a QA warning when a package installs files with unresolved soname |
89 |
+dependencies. |
90 |
+.TP |
91 |
.B sandbox |
92 |
Enable sandbox\-ing when running \fBemerge\fR(1) and \fBebuild\fR(1). |
93 |
.TP |