compiling version
authorStefan Schubert <schubi@suse.de>
Mon, 2 Jan 2006 13:17:11 +0000 (13:17 +0000)
committerStefan Schubert <schubi@suse.de>
Mon, 2 Jan 2006 13:17:11 +0000 (13:17 +0000)
zypp/solver/detail/QueueItemUninstall.cc
zypp/solver/detail/Resolver.cc
zypp/solver/detail/Resolver.h
zypp/solver/detail/ResolverContext.cc
zypp/solver/detail/ResolverInfoMissingReq.cc

index 697026a..1e225ce 100644 (file)
@@ -57,9 +57,9 @@ namespace zypp
       
           ret += item._resItem->asString();
           ret += " ("; ret += item._reason; ret += ")";
-          if (item._dep_leading_to_uninstall != NULL) {
+          if (item._dep_leading_to_uninstall != Capability()) {
        ret += ", Triggered By ";
-       ret += item._dep_leading_to_uninstall->asString();
+       ret += item._dep_leading_to_uninstall.asString();
           }
           if (item._upgraded_to != NULL) {
        ret += ", Upgraded To ";
@@ -96,7 +96,7 @@ namespace zypp
           : QueueItem (QUEUE_ITEM_TYPE_UNINSTALL, world)
           , _resItem (resItem)
           , _reason (reason)
-          , _dep_leading_to_uninstall (NULL)
+          , _dep_leading_to_uninstall (Capability())
           , _upgraded_to (NULL)
           , _explicitly_requested (false)
           , _remove_only (false)
@@ -228,7 +228,7 @@ namespace zypp
            info.cancel_unlink = false;
       
            CapSet provides = _resItem->provides();
-           for (Capset::const_iterator iter = provides.begin(); iter != provides.end() && ! info.cancel_unlink; iter++) {
+           for (CapSet::const_iterator iter = provides.begin(); iter != provides.end() && ! info.cancel_unlink; iter++) {
                world()->foreachRequiringResItem (*iter, unlink_check_cb, &info);
            }
       
@@ -259,7 +259,7 @@ namespace zypp
       
        this->logInfo (context);
       
-       if (_dep_leading_to_uninstall
+       if (_dep_leading_to_uninstall != Capability()
            && !_due_to_conflict
            && !_due_to_obsolete)
        {
index c834d92..3a01a6d 100644 (file)
@@ -146,13 +146,13 @@ namespace zypp
       void
       Resolver::addExtraDependency (const Capability & dependency)
       {
-          _extra_deps.push_front (dependency);
+          _extra_deps.insert (dependency);
       }
       
       void
       Resolver::addExtraConflict (const Capability & dependency)
       {
-          _extra_conflicts.push_front (dependency);
+          _extra_conflicts.insert (dependency);
       }
       
       
index d495df2..275c11a 100644 (file)
@@ -121,8 +121,8 @@ namespace zypp
       
           void addResItemToVerify (constResItemPtr resItem);
       
-          void addExtraDependency (const CapSet & dependency);
-          void addExtraConflict (const CapSet & dependency);
+          void addExtraDependency (const Capability & dependency);
+          void addExtraConflict (const Capability & dependency);
       
           void verifySystem (void);
           void resolveDependencies (void);
index 15c42dd..db04316 100644 (file)
@@ -937,25 +937,26 @@ namespace zypp
       
       typedef struct {
           ResolverContextPtr context;
-          constSpecPtr dep;
+          const Capability *dep;
           bool flag;
       } RequirementMetInfo;
       
       
       static bool
-      requirement_met_cb (constResItemPtr resItem, constSpecPtr spec, void *data)
+      requirement_met_cb (constResItemPtr resItem, const Capability & cap, void *data)
       {
           RequirementMetInfo *info = (RequirementMetInfo *)data;
       
           // info->dep is set for resItem set children. If it is set, query the
           //   exact version only.
-          if ((info->dep == NULL || info->dep->equals(spec))
+          if ((info->dep == NULL
+              || *(info->dep) == cap)
        && info->context->resItemIsPresent (resItem))
           {
        info->flag = true;
           }
       
-      //fprintf (stderr, "requirement_met_cb(%s, %s) [info->dep %s] -> %s\n", resItem->asString().c_str(), spec->asString().c_str(), info->dep != NULL ? info->dep->asString().c_str() : "(none)", info->flag ? "true" : "false");
+      //fprintf (stderr, "requirement_met_cb(%s, %s) [info->dep %s] -> %s\n", resItem->asString().c_str(), cap.asString().c_str(), info->dep != NULL ? info->dep->asString().c_str() : "(none)", info->flag ? "true" : "false");
           return ! info->flag;
       }
       
@@ -966,7 +967,7 @@ namespace zypp
           RequirementMetInfo info;
       
           info.context = this;
-          info.dep = is_child ? dependency : NULL;
+          info.dep = is_child ? &dependency : NULL;
           info.flag = false;
       
           world()->foreachProvidingResItem (dependency, requirement_met_cb, (void *)&info);
@@ -978,7 +979,7 @@ namespace zypp
       //---------------------------------------------------------------------------
       
       static bool
-      requirement_possible_cb (constResItemPtr resItem, constSpecPtr spec, void *data)
+      requirement_possible_cb (constResItemPtr resItem, const Capability & cap, void *data)
       {
           RequirementMetInfo *info = (RequirementMetInfo *)data;
       
index 670224f..83ddcc0 100644 (file)
@@ -54,7 +54,7 @@ namespace zypp
           string res;
       
           res += ResolverInfo::toString (missing);
-          res += string ("missing requirement ") + missing._missing_req->asString();
+          res += string ("missing requirement ") + missing._missing_req.asString();
       
           return res;
       }