Author: schubi2
Date: Wed Feb 20 12:40:57 2008
New Revision: 8830
URL: http://svn.opensuse.org/viewcvs/zypp?rev=8830&view=rev
Log:
- regarding language dependencies while update correctly
- using sat::WhatProvides instaed of SATResolver::whoProvides
Modified:
trunk/libzypp/zypp/sat/SATResolver.cc
trunk/libzypp/zypp/sat/SATResolver.h
trunk/libzypp/zypp/solver/detail/InstallOrder.cc
trunk/libzypp/zypp/solver/detail/ResolverUpgrade.cc
Modified: trunk/libzypp/zypp/sat/SATResolver.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/sat/SATResolver.cc?rev=8830&r1=8829&r2=8830&view=diff
==============================================================================
--- trunk/libzypp/zypp/sat/SATResolver.cc (original)
+++ trunk/libzypp/zypp/sat/SATResolver.cc Wed Feb 20 12:40:57 2008
@@ -228,22 +228,9 @@
//----------------------------------------------------------------------------
-// helper functions for distupgrade and installation order
+// helper functions for distupgrade
//----------------------------------------------------------------------------
-PoolItemList SATResolver::whoProvides(Capability cap) {
- PoolItemList itemList;
- Id p, *pp;
- for (pp = pool_whatprovides(_SATPool, cap.id()) ; (p = *pp++) != 0; ) {
- PoolItem item = _pool.find (sat::Solvable(p));
- if (item) {
- itemList.push_back (item);
- MIL << item << " provides " << cap << endl;
- }
- }
- return itemList;
-}
-
bool SATResolver::doesObsoleteItem (PoolItem candidate, PoolItem installed) {
Solvable *sCandidate = _SATPool->solvables + candidate.satSolvable().id();
Repo *installedRepo = sat::Pool::instance().systemRepo().get();
Modified: trunk/libzypp/zypp/sat/SATResolver.h
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/sat/SATResolver.h?rev=8830&r1=8829&r2=8830&view=diff
==============================================================================
--- trunk/libzypp/zypp/sat/SATResolver.h (original)
+++ trunk/libzypp/zypp/sat/SATResolver.h Wed Feb 20 12:40:57 2008
@@ -137,7 +137,6 @@
bool dosplitprovides () const {return _dosplitprovides;}
void setDosplitprovides ( const bool dosplitprovides) { _dosplitprovides = dosplitprovides;}
- PoolItemList whoProvides(Capability cap);
bool doesObsoleteItem (PoolItem candidate, PoolItem installed);
};
Modified: trunk/libzypp/zypp/solver/detail/InstallOrder.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/solver/detail/InstallOrder.cc?rev=8830&r1=8829&r2=8830&view=diff
==============================================================================
--- trunk/libzypp/zypp/solver/detail/InstallOrder.cc (original)
+++ trunk/libzypp/zypp/solver/detail/InstallOrder.cc Wed Feb 20 12:40:57 2008
@@ -228,11 +228,11 @@
XXX << "check requirement " << requirement << " of " << ITEMNAME(item) << endl;
SATResolver satResolver(_pool, sat::Pool::instance().get());
PoolItemList tovisit;
- PoolItemList possibleProviders = satResolver.whoProvides (requirement);
+ sat::WhatProvides possibleProviders(requirement);
- // first, look in _installed
- for (PoolItemList::const_iterator iter = possibleProviders.begin(); iter != possibleProviders.end(); iter++) {
- PoolItem provider = *iter;
+ // first, look in _installed
+ for_( iter, possibleProviders.begin(), possibleProviders.end() ) {
+ PoolItem provider = ResPool::instance().find( *iter );
if ((provider.resolvable() != item.resolvable()) // resolvable could provide its own requirement
&& (_installed.find( provider ) != _installed.end())) // and is not installed
{
@@ -244,8 +244,8 @@
// if not found in _installed, look in _toinstall
if (providers.empty()) {
- for (PoolItemList::const_iterator iter = possibleProviders.begin(); iter != possibleProviders.end(); iter++) {
- PoolItem provider = *iter;
+ for_( iter, possibleProviders.begin(), possibleProviders.end() ) {
+ PoolItem provider = ResPool::instance().find( *iter );
if ((provider.resolvable() != item.resolvable()) // resolvable could provide its own requirement
&& (_toinstall.find( provider ) != _toinstall.end())) // and is not to be installed
{
Modified: trunk/libzypp/zypp/solver/detail/ResolverUpgrade.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/solver/detail/ResolverUpgrade.cc?rev=8830&r1=8829&r2=8830&view=diff
==============================================================================
--- trunk/libzypp/zypp/solver/detail/ResolverUpgrade.cc (original)
+++ trunk/libzypp/zypp/solver/detail/ResolverUpgrade.cc Wed Feb 20 12:40:57 2008
@@ -430,14 +430,14 @@
Capability installedCap( installed->name(), Rel::EQ, installed->edition(), installed->kind());
// find ALL providers
- PoolItemList possibleProviders = _satResolver->whoProvides (installedCap);
+ sat::WhatProvides possibleProviders(installedCap);
// find best available providers for installed name
typedef map