diff options
author | Zac Medico <zmedico@gentoo.org> | 2011-05-02 12:34:21 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-05-04 12:53:47 -0700 |
commit | 49e33a6336ad909ced1eb53240b5825aa7ae298e (patch) | |
tree | 8bbb402d83701188998dcde8342c73f471a62590 /pym/_emerge/depgraph.py | |
parent | 5a54ef28e31fc71a18e100d9af97bd30a3c9cab7 (diff) | |
download | portage-49e33a6336ad909ced1eb53240b5825aa7ae298e.tar.gz portage-49e33a6336ad909ced1eb53240b5825aa7ae298e.tar.bz2 portage-49e33a6336ad909ced1eb53240b5825aa7ae298e.zip |
depgraph: autounmask account for optional deps
Diffstat (limited to 'pym/_emerge/depgraph.py')
-rw-r--r-- | pym/_emerge/depgraph.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index 5d715a2ea..8750a18e9 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -1221,6 +1221,20 @@ class depgraph(object): def _add_pkg_dep_string(self, pkg, dep_root, dep_priority, dep_string, allow_unsatisfied, ignore_blockers=False): + _autounmask_backup = self._dynamic_config._autounmask + if dep_priority.optional: + # Temporarily disable autounmask for deps that + # don't necessarily need to be satisfied. + self._dynamic_config._autounmask = False + try: + return self._wrapped_add_pkg_dep_string( + pkg, dep_root, dep_priority, dep_string, + allow_unsatisfied, ignore_blockers=ignore_blockers) + finally: + self._dynamic_config._autounmask = _autounmask_backup + + def _wrapped_add_pkg_dep_string(self, pkg, dep_root, dep_priority, + dep_string, allow_unsatisfied, ignore_blockers=False): depth = pkg.depth + 1 deep = self._dynamic_config.myparams.get("deep", 0) recurse_satisfied = deep is True or depth <= deep |