triggered for installation, or the dependency is already satisfied.
info = new ResolverInfoNeededBy (_item);
info->addRelatedPoolItem (_needed_by);
info->setCapability (_dep_satisfied_by_this_install, _soft?Dep::RECOMMENDS:Dep::REQUIRES);
+ info->setInitialInstallation (true);
context->addInfo (info);
}
for (PoolItemList::const_iterator iter = itemList.begin();
iter != itemList.end(); iter++) {
- ItemCapKind capKind( *iter, needed_by->capability(), needed_by->capKind() );
+ ItemCapKind capKind( *iter, needed_by->capability(), needed_by->capKind(), needed_by->initialInstallation() );
collector->isInstalledBy.insert (make_pair( item, capKind));
- ItemCapKind capKindReverse( item, needed_by->capability(), needed_by->capKind() );
+ ItemCapKind capKindReverse( item, needed_by->capability(), needed_by->capKind(), needed_by->initialInstallation() );
collector->installs.insert (make_pair( *iter, capKindReverse));
}
Capability cap; //Capability which has triggerd this selection
Dep capKind; //Kind of that capability
PoolItem_Ref item; //Item which has triggered this selection
+ bool initialInstallation; //This item has triggered the installation
+ //Not already fullfilled requierement only.
- ItemCapKind( PoolItem i, Capability c, Dep k)
+ ItemCapKind( PoolItem i, Capability c, Dep k, bool initial)
: cap( c )
, capKind( k )
, item( i )
+ , initialInstallation( initial )
{ }
};
typedef std::multimap<PoolItem_Ref,ItemCapKind> ItemCapKindMap;
: ResolverInfoContainer (RESOLVER_INFO_TYPE_NEEDED_BY, item, RESOLVER_INFO_PRIORITY_USER)
, _cap(Capability::noCap)
, _capKind(Dep::REQUIRES)
+ , _initialInstallation(false)
{
}
private:
Capability _cap;
Dep _capKind;
+ bool _initialInstallation;
public:
virtual std::string message (void) const;
virtual ResolverInfo_Ptr copy (void) const;
void setCapability (const Capability & cap, const Dep & capKind) { _cap = cap; _capKind = capKind; }
+ void setInitialInstallation (const bool initial) { _initialInstallation = initial; }
Dep capKind() const {return _capKind;}
Capability capability() const {return _cap;};
+ bool initialInstallation() const {return _initialInstallation;};
};
///////////////////////////////////////////////////////////////////