summaryrefslogtreecommitdiffstats
path: root/pym/portage/_sets
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 /pym/portage/_sets
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.
Diffstat (limited to 'pym/portage/_sets')
-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)