- case CONFLICTS:
- // removing conflict in both resolvables
- for (Capabilities::const_iterator iter = depList.begin(); iter != depList.end(); iter++) {
- if (iter->matches (_capability) == CapMatch::yes )
- {
- resolver.addIgnoreConflict (_item, _capability);
- }
- }
- // Obsoletes are conflicts too
- depList = _item.resolvable()->dep(Dep::OBSOLETES);
- for (Capabilities::const_iterator iter = depList.begin(); iter != depList.end(); iter++) {
- if (iter->matches (_capability) == CapMatch::yes )
- {
- resolver.addIgnoreConflict (_otherItem, _capability);
- }
- }
-
- depList = _otherItem.resolvable()->dep(Dep::CONFLICTS);
- for (Capabilities::const_iterator iter = depList.begin(); iter != depList.end(); iter++) {
- if (iter->matches (_capability) == CapMatch::yes )
- {
- resolver.addIgnoreConflict (_otherItem, _capability);
- }
- }
- // Obsoletes are conflicts too
- depList = _otherItem.resolvable()->dep(Dep::OBSOLETES);
- for (Capabilities::const_iterator iter = depList.begin(); iter != depList.end(); iter++) {
- if (iter->matches (_capability) == CapMatch::yes )
- {
- resolver.addIgnoreConflict (_otherItem, _capability);
- }
- }
-
- break;
- case REQUIRES:
- // removing the requires dependency from the item
- if (_item == PoolItem()) {
- // this was a requirement via Resolver::addExtraCapability
- // so we have to delete it.
- resolver.removeExtraRequire (_capability);
- } else {
- resolver.addIgnoreRequires (_item, _capability);
- }
- break;
- case ARCHITECTURE:
- // This item is for ALL architectures available
- resolver.addIgnoreArchitectureItem (_item);
- break;
- case VENDOR:
- // This item is for ALL vendor available
- resolver.addIgnoreVendorItem (_item);
- break;
- case OBSOLETES:
- // removing the obsoletes dependency from the item
- resolver.addIgnoreObsoletes (_otherItem, _capability);
- break;
- case INSTALLED:
- // ignoring already installed items
- resolver.addIgnoreInstalledItem (_item);
- resolver.addIgnoreInstalledItem (_otherItem);
- break;