using SOLVER_NOOBSOLETES_SOLVABLE_NAME instead of SOLVER_NOOBSOLETES_SOLVABLE
authorStefan Schubert <schubi@suse.de>
Thu, 17 Jul 2008 07:48:45 +0000 (07:48 +0000)
committerStefan Schubert <schubi@suse.de>
Thu, 17 Jul 2008 07:48:45 +0000 (07:48 +0000)
zypp/solver/detail/SATResolver.cc
zypp/solver/detail/SATResolver.h

index 16c913b..0ee4f45 100644 (file)
@@ -251,13 +251,6 @@ SATResolver::addPoolItemToLock (PoolItem item)
 }
 
 void
-SATResolver::addPoolItemParallelInstall(PoolItem item)
-{
-    _items_parallel_install.push_back (item);
-    _items_parallel_install.unique ();
-}
-
-void
 SATResolver::addPoolItemToKeep (PoolItem item)
 {
     resetItemTransaction (item);    
@@ -354,10 +347,6 @@ struct SATCollectTransact : public resfilter::PoolItemFilterFunctor
 
     bool operator()( PoolItem item )           // only transacts() items go here
     {
-       if (item->installOnly()) {
-           resolver. addPoolItemParallelInstall(item);     
-       }
-       
        ResStatus status = item.status();
        bool by_solver = (status.isBySolver() || status.isByApplLow());
 
@@ -608,7 +597,6 @@ SATResolver::solverInit(const PoolItemList & weakItems)
     _items_to_remove.clear();
     _items_to_lock.clear();
     _items_to_keep.clear();
-    _items_parallel_install.clear();
 
     invokeOnEach ( _pool.begin(), _pool.end(),
                   functor::functorRef<bool,PoolItem>(info) );
@@ -623,15 +611,11 @@ SATResolver::solverInit(const PoolItemList & weakItems)
         queue_push( &(_jobQueue), id );        
     }
 
-    for (PoolItemList::iterator it = _items_parallel_install.begin(); it != _items_parallel_install.end(); ++it) {
-       Id id = (*it)->satSolvable().id();
-       if (id == ID_NULL) {
-           ERR << "Item " << *it << " not found" << endl;
-       } else {
-           MIL << "Ignore Obsoletes of item: " << *it << endl;
-           queue_push( &(_jobQueue), SOLVER_NOOBSOLETES_SOLVABLE );
-           queue_push( &(_jobQueue), id );
-       }
+    // Add rules for parallel installable resolvables
+    std::set<IdString> parallel = ZConfig::instance().parallelInstallable();
+    for (std::set<IdString>::const_iterator it = parallel.begin(); it != parallel.end(); ++it) {
+       queue_push( &(_jobQueue), SOLVER_NOOBSOLETES_SOLVABLE_NAME );
+       queue_push( &(_jobQueue), it->id() );
     }
 }
 
index 5d18558..092645c 100644 (file)
@@ -70,7 +70,6 @@ class SATResolver : public base::ReferenceCounted, private base::NonCopyable {
     PoolItemList _items_to_remove;
     PoolItemList _items_to_lock;
     PoolItemList _items_to_keep;
-    PoolItemList _items_parallel_install;
 
     // solve results
     PoolItemList _result_items_to_install;
@@ -138,8 +137,6 @@ class SATResolver : public base::ReferenceCounted, private base::NonCopyable {
     void addPoolItemToLock (PoolItem item);
     void addPoolItemToKeep (PoolItem item);
 
-    void addPoolItemParallelInstall (PoolItem item);        
-
     void addPoolItemToRemove (PoolItem item);
     void addPoolItemsToRemoveFromList (PoolItemList & rl);