From: "Thomas Sachau" <tommy@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
Date: Sun, 6 Feb 2011 13:10:00 +0000 (UTC) [thread overview]
Message-ID: <dd5175a7e851a12f5740c2481c96b32e5db1f4eb.tommy@gentoo> (raw)
commit: dd5175a7e851a12f5740c2481c96b32e5db1f4eb
Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 2 04:09:50 2011 +0000
Commit: Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Wed Feb 2 04:09:50 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=dd5175a7
Show "missed update" message for REQUIRED_USE.
This will fix bug #353443.
---
pym/_emerge/depgraph.py | 38 +++++++++++++++++++++++++++++++-------
1 files changed, 31 insertions(+), 7 deletions(-)
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 64e9b19..16326ee 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -198,6 +198,9 @@ class _dynamic_depgraph_config(object):
self._ignored_deps = []
self._highest_pkg_cache = {}
+ self._unsat_req_use = {}
+ self._pkg_config_issues = {}
+
self._needed_unstable_keywords = backtrack_parameters.needed_unstable_keywords
self._needed_license_changes = backtrack_parameters.needed_license_changes
self._needed_use_config_changes = backtrack_parameters.needed_use_config_changes
@@ -350,15 +353,12 @@ class depgraph(object):
def _show_missed_update(self):
- if '--quiet' in self._frozen_config.myopts and \
- '--debug' not in self._frozen_config.myopts:
- return
-
# In order to minimize noise, show only the highest
# missed update from each SLOT.
missed_updates = {}
for pkg, mask_reasons in \
- self._dynamic_config._runtime_pkg_mask.items():
+ chain(self._dynamic_config._runtime_pkg_mask.items(),
+ self._dynamic_config._pkg_config_issues.items()):
if pkg.installed:
# Exclude installed here since we only
# want to show available updates.
@@ -382,6 +382,18 @@ class depgraph(object):
missed_update_types.setdefault(mask_type,
[]).append((pkg, parent_atoms))
+ if '--quiet' in self._frozen_config.myopts and \
+ '--debug' not in self._frozen_config.myopts:
+ missed_update_types.pop("slot conflict", None)
+ missed_update_types.pop("missing dependency", None)
+
+ required_use = missed_update_types.pop("required use", None)
+ if required_use is not None:
+ # For display purposes, unsatisfied REQUIRED_USE
+ # can be treated like a missing dependency.
+ missed_update_types.setdefault("missing dependency",
+ []).extend(required_use)
+
self._show_missed_update_slot_conflicts(
missed_update_types.get("slot conflict"))
@@ -1890,7 +1902,14 @@ class depgraph(object):
self._dynamic_config._unsatisfied_deps_for_display.append(
((myroot, atom), {"myparent" : arg}))
return 0, myfavorites
- self._dynamic_config._missing_args.append((arg, atom))
+ pkg = self._dynamic_config._unsat_req_use.get((myroot, atom))
+ if pkg is not None:
+ config_issues = \
+ self._dynamic_config._pkg_config_issues.setdefault(pkg, {})
+ parent_atoms = config_issues.setdefault("required use", set())
+ parent_atoms.add((arg, myroot, atom))
+ else:
+ self._dynamic_config._missing_args.append((arg, atom))
continue
if atom.cp != pkg.cp:
# For old-style virtuals, we need to repeat the
@@ -2653,7 +2672,7 @@ class depgraph(object):
writemsg_stdout(" nothing similar found.\n"
, noiselevel=-1)
msg = []
- if not isinstance(myparent, AtomArg):
+ if not isinstance(myparent, DependencyArg):
# It's redundant to show parent for AtomArg since
# it's the same as 'xinfo' displayed above.
dep_chain = self._get_dep_chain(myparent, atom)
@@ -3031,6 +3050,7 @@ class depgraph(object):
# represented by the found_available_arg flag.
found_available_arg = False
packages_with_invalid_use_config = []
+ pkgs_with_unsat_req_use = []
for find_existing_node in True, False:
if existing_node:
break
@@ -3246,6 +3266,7 @@ class depgraph(object):
continue
if not required_use_is_sat:
packages_with_invalid_use_config.append(pkg)
+ pkgs_with_unsat_req_use.append(pkg)
continue
if pkg.cp == atom_cp:
@@ -3329,6 +3350,9 @@ class depgraph(object):
break
if not matched_packages:
+ if pkgs_with_unsat_req_use:
+ self._dynamic_config._unsat_req_use[(root, atom)] = \
+ pkgs_with_unsat_req_use[0]
return None, None
if "--debug" in self._frozen_config.myopts:
next reply other threads:[~2011-02-06 13:15 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-06 13:10 Thomas Sachau [this message]
-- strict thread matches above, loose matches on Subject: below --
2018-05-23 12:46 [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/ Thomas Sachau
2013-08-04 22:08 Thomas Sachau
2013-08-04 20:23 Thomas Sachau
2012-11-30 16:58 Thomas Sachau
2012-11-30 16:49 Thomas Sachau
2012-10-22 9:43 Thomas Sachau
2012-10-22 9:24 Thomas Sachau
2012-09-17 20:15 Thomas Sachau
2012-07-19 21:03 Zac Medico
2012-02-26 16:27 Thomas Sachau
2012-02-26 16:27 Thomas Sachau
2012-02-26 16:27 Thomas Sachau
2012-02-26 16:27 Thomas Sachau
2012-02-26 16:27 Thomas Sachau
2012-02-18 16:14 Thomas Sachau
2011-11-15 20:20 Thomas Sachau
2011-10-23 11:42 Thomas Sachau
2011-10-23 11:05 Thomas Sachau
2011-02-06 13:10 Thomas Sachau
2011-02-06 13:10 Thomas Sachau
2011-02-06 13:10 Thomas Sachau
2011-02-06 13:10 Thomas Sachau
2011-02-06 13:10 Thomas Sachau
2011-02-06 13:10 Thomas Sachau
2011-02-06 13:10 Thomas Sachau
2011-02-06 13:10 Thomas Sachau
2011-02-06 13:10 Thomas Sachau
2011-02-06 13:10 Thomas Sachau
2011-02-06 13:10 Thomas Sachau
2011-02-06 13:10 Thomas Sachau
2011-02-06 13:10 Thomas Sachau
2011-02-06 13:10 Thomas Sachau
2011-02-06 13:09 Thomas Sachau
2011-02-06 13:09 Thomas Sachau
2011-02-06 13:09 Thomas Sachau
2011-02-06 13:09 Thomas Sachau
2011-02-06 13:09 Thomas Sachau
2011-02-06 13:09 Thomas Sachau
2011-02-06 13:09 Thomas Sachau
2011-02-06 13:09 Thomas Sachau
2011-02-06 13:09 Thomas Sachau
2011-02-06 13:09 Thomas Sachau
2011-02-06 13:09 Thomas Sachau
2011-02-06 13:09 Thomas Sachau
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=dd5175a7e851a12f5740c2481c96b32e5db1f4eb.tommy@gentoo \
--to=tommy@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox