summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico2011-07-21 16:14:50 (GMT)
committerZac Medico2011-07-21 16:14:50 (GMT)
commit02b28820ba8ea3e760110ae156c70e6ee0457048 (patch)
tree9a5f890458bd98f5a91981db2d7c6faca22e8a14
parent63c49337e2f56aa18e495396eb6b8d3d4a7d7e3a (diff)
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 d32f1b7..0f238f0 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)