aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2020-02-08 15:27:40 -0800
committerZac Medico <zmedico@gentoo.org>2020-02-08 15:38:11 -0800
commit9d28f5168c11fa689a1f3061fc9a8c8220ff8374 (patch)
tree2461ee612936d8d405efea0b6985a380129da589
parentpreserve-libs: generate implicit rpath for bundled libs (bug 705736) (diff)
downloadportage-9d28f5168c11fa689a1f3061fc9a8c8220ff8374.tar.gz
portage-9d28f5168c11fa689a1f3061fc9a8c8220ff8374.tar.bz2
portage-9d28f5168c11fa689a1f3061fc9a8c8220ff8374.zip
Support FEATURES=qa-unresolved-soname-deps (bug 708448)
Support FEATURES=qa-unresolved-soname-deps so that it's possible to disable the QA warning that was introduced for bug 704320. This is useful for systems that may have incomplete PROVIDES metadata due to alternative package managers or experimentation with a new architecture. Bug: https://bugs.gentoo.org/708448 Bug: https://bugs.gentoo.org/704320 Signed-off-by: Zac Medico <zmedico@gentoo.org>
-rw-r--r--cnf/make.globals3
-rw-r--r--lib/_emerge/EbuildPhase.py13
-rw-r--r--lib/portage/const.py1
-rw-r--r--man/make.conf.54
4 files changed, 15 insertions, 6 deletions
diff --git a/cnf/make.globals b/cnf/make.globals
index 50511e812..139e1ce97 100644
--- a/cnf/make.globals
+++ b/cnf/make.globals
@@ -53,7 +53,8 @@ FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs
config-protect-if-modified distlocks ebuild-locks
fixlafiles ipc-sandbox merge-sync multilib-strict
network-sandbox news parallel-fetch pid-sandbox
- preserve-libs protect-owned sandbox sfperms strict
+ preserve-libs protect-owned qa-unresolved-soname-deps
+ sandbox sfperms strict
unknown-features-warn unmerge-logs unmerge-orphans userfetch
userpriv usersandbox usersync"
diff --git a/lib/_emerge/EbuildPhase.py b/lib/_emerge/EbuildPhase.py
index 828e6e126..234a273a0 100644
--- a/lib/_emerge/EbuildPhase.py
+++ b/lib/_emerge/EbuildPhase.py
@@ -453,11 +453,14 @@ class _PostPhaseCommands(CompositeTask):
if msg:
self.scheduler.output(msg, log_path=self.settings.get("PORTAGE_LOG_FILE"))
- # This operates on REQUIRES metadata generated by the above function call.
- future = self._soname_deps_qa()
- # If an unexpected exception occurs, then this will raise it.
- future.add_done_callback(lambda future: future.result())
- self._start_task(AsyncTaskFuture(future=future), self._default_final_exit)
+ if 'qa-unresolved-soname-deps' in self.settings.features:
+ # This operates on REQUIRES metadata generated by the above function call.
+ future = self._soname_deps_qa()
+ # If an unexpected exception occurs, then this will raise it.
+ future.add_done_callback(lambda future: future.result())
+ self._start_task(AsyncTaskFuture(future=future), self._default_final_exit)
+ else:
+ self._default_final_exit(task)
else:
self._default_final_exit(task)
diff --git a/lib/portage/const.py b/lib/portage/const.py
index e95039fd5..f6be9258f 100644
--- a/lib/portage/const.py
+++ b/lib/portage/const.py
@@ -180,6 +180,7 @@ SUPPORTED_FEATURES = frozenset([
"preserve-libs",
"protect-owned",
"python-trace",
+ "qa-unresolved-soname-deps",
"sandbox",
"selinux",
"sesandbox",
diff --git a/man/make.conf.5 b/man/make.conf.5
index 494d5f003..f82fed65a 100644
--- a/man/make.conf.5
+++ b/man/make.conf.5
@@ -607,6 +607,10 @@ If \fIcollision\-protect\fR is enabled then it takes precedence over
Output a verbose trace of python execution to stderr when a command's
\-\-debug option is enabled.
.TP
+.B qa\-unresolved\-soname\-deps
+Trigger a QA warning when a package installs files with unresolved soname
+dependencies.
+.TP
.B sandbox
Enable sandbox\-ing when running \fBemerge\fR(1) and \fBebuild\fR(1).
.TP