# Therefore, assume that such SLOT dependencies are already
# satisfied rather than forcing a rebuild.
installed = pkg_type == 'installed'
+ ignore_installed_slot = False
if installed and not cpv_list and atom.slot:
for cpv in db.match(atom.cp):
slot_available = False
root_config, installed=installed, myrepo = atom.repo)
# Remove the slot from the atom and verify that
# the package matches the resulting atom.
- atom_without_slot = portage.dep.remove_slot(atom)
- if atom.use:
- atom_without_slot += str(atom.use)
- atom_without_slot = portage.dep.Atom(atom_without_slot)
if portage.match_from_list(
- atom_without_slot, [inst_pkg]):
- cpv_list = [inst_pkg.cpv]
- break
+ atom.without_slot, [inst_pkg]):
+ yield inst_pkg
+ return
if cpv_list:
atom_set = InternalPackageSet(initial_atoms=(atom,),
return Atom(self.replace(_repo_separator + self.repo, '', 1),
allow_wildcard=True)
+ @property
+ def without_slot(self):
+ if self.slot is None:
+ return self
+ return Atom(self.replace(_slot_separator + self.slot, '', 1),
+ allow_repo=True, allow_wildcard=True)
+
def __setattr__(self, name, value):
raise AttributeError("Atom instances are immutable",
self.__class__, name, value)