summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-07-21 09:14:50 -0700
committerZac Medico <zmedico@gentoo.org>2011-07-21 09:14:50 -0700
commit02b28820ba8ea3e760110ae156c70e6ee0457048 (patch)
tree9a5f890458bd98f5a91981db2d7c6faca22e8a14
parent63c49337e2f56aa18e495396eb6b8d3d4a7d7e3a (diff)
downloadportage-02b28820ba8ea3e760110ae156c70e6ee0457048.tar.gz
portage-02b28820ba8ea3e760110ae156c70e6ee0457048.tar.bz2
portage-02b28820ba8ea3e760110ae156c70e6ee0457048.zip
EverythingSet: always create SLOT atoms
Before it would only include the SLOT in the atom if there were multiple slots installed. However, taht could lead to unwanted upgrades as reported in bug #338959. Therefore, always create SLOT atoms.
-rw-r--r--pym/portage/_sets/dbapi.py20
1 files changed, 6 insertions, 14 deletions
diff --git a/pym/portage/_sets/dbapi.py b/pym/portage/_sets/dbapi.py
index d32f1b7b8..0f238f044 100644
--- a/pym/portage/_sets/dbapi.py
+++ b/pym/portage/_sets/dbapi.py
@@ -31,20 +31,12 @@ class EverythingSet(PackageSet):
cp_list = self._db.cp_list
for cp in self._db.cp_all():
- cpv_list = cp_list(cp)
-
- if len(cpv_list) > 1:
- for cpv in cpv_list:
- slot, = aux_get(cpv, db_keys)
- atom = Atom("%s:%s" % (cp, slot))
- if self._filter:
- if self._filter(atom):
- myatoms.append(atom)
- else:
- myatoms.append(atom)
-
- else:
- atom = Atom(cp)
+ for cpv in cp_list(cp):
+ # NOTE: Create SLOT atoms even when there is only one
+ # SLOT installed, in order to avoid the possibility
+ # of unwanted upgrades as reported in bug #338959.
+ slot, = aux_get(cpv, db_keys)
+ atom = Atom("%s:%s" % (cp, slot))
if self._filter:
if self._filter(atom):
myatoms.append(atom)