diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-04-27 19:56:50 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-04-27 19:56:50 +0000 |
commit | 3806c9f6696eeb4d6a0de3d1ce43a80309caf04a (patch) | |
tree | 47d3fbfe05c8d5df0c08d5004d4a96195e1829b7 | |
parent | bbcde6d5fafb8a9e5e6ff38e2b29679bdbeadc21 (diff) | |
download | portage-3806c9f6696eeb4d6a0de3d1ce43a80309caf04a.tar.gz portage-3806c9f6696eeb4d6a0de3d1ce43a80309caf04a.tar.bz2 portage-3806c9f6696eeb4d6a0de3d1ce43a80309caf04a.zip |
Bug #219369 - Enable automatic upgrage or downgrade to a version
with visible KEYWORDS when the installed version is masked by
KEYWORDS, but never reinstall the same exact version only due to
a KEYWORDS mask. (trunk r10001)
svn path=/main/branches/2.1.2/; revision=10002
-rwxr-xr-x | bin/emerge | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/bin/emerge b/bin/emerge index 8fddb1b1c..d21b444ee 100755 --- a/bin/emerge +++ b/bin/emerge @@ -2942,6 +2942,26 @@ class depgraph(object): continue except portage_exception.InvalidDependString: continue + + # Enable upgrage or downgrade to a version + # with visible KEYWORDS when the installed + # version is masked by KEYWORDS, but never + # reinstall the same exact version only due + # to a KEYWORDS mask. + if installed and matched_packages and \ + pkgsettings._getMissingKeywords( + pkg.cpv, pkg.metadata): + different_version = None + for avail_pkg in matched_packages: + if not portage_dep.cpvequal( + pkg.cpv, avail_pkg.cpv): + different_version = avail_pkg + break + if different_version is not None: + # Only reinstall for KEYWORDS if + # it's not the same version. + continue + if not built and not calculated_use: # This is avoided whenever possible because # it's expensive. |