Author: schubi2
Date: Wed Jul 4 17:09:44 2007
New Revision: 5883
URL: http://svn.opensuse.org/viewcvs/zypp?rev=5883&view=rev
Log:
Added an initial installation flag which shows if the item has been
triggered for installation, or the dependency is already satisfied.
Modified:
trunk/libzypp/zypp/solver/detail/QueueItemInstall.cc
trunk/libzypp/zypp/solver/detail/Resolver.cc
trunk/libzypp/zypp/solver/detail/Resolver.h
trunk/libzypp/zypp/solver/detail/ResolverInfoNeededBy.cc
trunk/libzypp/zypp/solver/detail/ResolverInfoNeededBy.h
Modified: trunk/libzypp/zypp/solver/detail/QueueItemInstall.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/solver/detail/QueueItemInstall.cc?rev=5883&r1=5882&r2=5883&view=diff
==============================================================================
--- trunk/libzypp/zypp/solver/detail/QueueItemInstall.cc (original)
+++ trunk/libzypp/zypp/solver/detail/QueueItemInstall.cc Wed Jul 4 17:09:44 2007
@@ -384,6 +384,7 @@
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);
}
Modified: trunk/libzypp/zypp/solver/detail/Resolver.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/solver/detail/Resolver.cc?rev=5883&r1=5882&r2=5883&view=diff
==============================================================================
--- trunk/libzypp/zypp/solver/detail/Resolver.cc (original)
+++ trunk/libzypp/zypp/solver/detail/Resolver.cc Wed Jul 4 17:09:44 2007
@@ -191,10 +191,10 @@
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));
}
Modified: trunk/libzypp/zypp/solver/detail/Resolver.h
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/solver/detail/Resolver.h?rev=5883&r1=5882&r2=5883&view=diff
==============================================================================
--- trunk/libzypp/zypp/solver/detail/Resolver.h (original)
+++ trunk/libzypp/zypp/solver/detail/Resolver.h Wed Jul 4 17:09:44 2007
@@ -66,11 +66,14 @@
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