]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/algorithms.cc
debian/apt.cron.daily: add missing check_size_constrains
[apt.git] / apt-pkg / algorithms.cc
index bd59a4749f0b400e66f7c7ee21b1681059d49f00..b6f4705f33665e26ac367cb501c6af2ef03f8d24 100644 (file)
@@ -23,7 +23,6 @@
     
 #include <apti18n.h>
 #include <sys/types.h>
-#include <regex.h>
 #include <cstdlib>
 #include <algorithm>
 #include <iostream>
@@ -527,7 +526,9 @@ void pkgProblemResolver::MakeScores()
       
       for (pkgCache::DepIterator D = Cache[I].InstVerIter(Cache).DependsList(); D.end() == false; D++)
       {
-        if (D->Type == pkgCache::Dep::Depends || D->Type == pkgCache::Dep::PreDepends)
+        if (D->Type == pkgCache::Dep::Depends || 
+            D->Type == pkgCache::Dep::PreDepends || 
+            D->Type == pkgCache::Dep::Recommends) 
            Scores[D.TargetPkg()->ID]++;
       }
    }   
@@ -548,7 +549,9 @@ void pkgProblemResolver::MakeScores()
       {
         // Only do it for the install version
         if ((pkgCache::Version *)D.ParentVer() != Cache[D.ParentPkg()].InstallVer ||
-            (D->Type != pkgCache::Dep::Depends && D->Type != pkgCache::Dep::PreDepends))
+            (D->Type != pkgCache::Dep::Depends && 
+             D->Type != pkgCache::Dep::PreDepends &&
+             D->Type != pkgCache::Dep::Recommends))
            continue;    
         
         Scores[I->ID] += abs(OldScores[D.ParentPkg()->ID]);
@@ -1343,21 +1346,10 @@ bool ListUpdate(pkgAcquireStatus &Stat,
 
       (*I)->Finished();
 
-         // stripping username/password from URI if present
-         string descUri = (*I)->DescURI();
-         regex_t userPassRegex;
-         regcomp(&userPassRegex, "\\://(\\w+)\\:(\\w+)@", REG_EXTENDED);
-         regmatch_t userPassMatch;
-         regexec(&userPassRegex, descUri.c_str(), 1, &userPassMatch, 0);
-         if (userPassMatch.rm_so != -1) // regexp matched
-         {
-         // really stripping
-                size_t stripStart = userPassMatch.rm_so + 3;
-                size_t stripEnd = userPassMatch.rm_eo;
-                descUri = descUri.substr(0, stripStart) +
-            descUri.substr(stripEnd, string::npos);
-      }
-
+      ::URI uri((*I)->DescURI());
+      uri.User.clear();
+      uri.Password.clear();
+      string descUri = string(uri);
       _error->Warning(_("Failed to fetch %s  %s\n"), descUri.c_str(),
              (*I)->ErrorText.c_str());