further, thanx to fix of #223750 there's no further need to
zypp->removeResolvables(tgt_resolvables) in ZyppSearch::cacheInstalled()
and no need to compare arch and edition of cached target resolvables with the source ones to find out whether a resolvable is installed in FillTable.
invokeOnEachSearched(Match(_reg,_options.searchDescriptions()),
functorRef<bool,const zypp::PoolItem &>(_icache));
- _zypp->removeResolvables(tgt_resolvables);
-
cout_v << _icache.size() << " out of (" << tgt_resolvables.size() << ")"
"cached." << endl;
}
bool includeKindInKey() { return _incl_kind_in_key; }
std::string getKey(const zypp::PoolItem & pi) const {
- return pi.resolvable()->name() + pi.resolvable()->edition().asString() +
+ return pi.resolvable()->name() +
(_incl_kind_in_key ? pi.resolvable()->kind().asString() : "");
}
zypp::PoolItem inst_item = _icache->getItem(pool_item);
if (inst_item) {
// check whether the pool item is installed...
- if (inst_item.resolvable()->edition() == pool_item.resolvable()->edition() &&
- inst_item.resolvable()->arch() == pool_item.resolvable()->arch())
+ if (pool_item.status().isInstalled())
row << "i";
// ... or there's just another version of it installed
else