]> git.saurik.com Git - apt.git/commitdiff
* merge from the mvo branch
authorMichael Vogt <egon@bottom>
Fri, 14 Mar 2008 14:22:48 +0000 (15:22 +0100)
committerMichael Vogt <egon@bottom>
Fri, 14 Mar 2008 14:22:48 +0000 (15:22 +0100)
1  2 
cmdline/apt-get.cc
debian/changelog

diff --combined cmdline/apt-get.cc
index be194f2dbf263c73de91a0309d68ccf8baed2e67,3f9a5b24885198658734ba15738ee8eac15b45db..92a263e502c26914976d46c6975c7ffad0676394
@@@ -1495,21 -1495,29 +1495,29 @@@ bool TryInstallTask(pkgDepCache &Cache
     
     bool found = false;
     bool res = true;
-    for (Pkg = Cache.PkgBegin(); Pkg.end() == false; Pkg++)
+    // two runs, first ignore dependencies, second install any missing
+    for(int IgnoreBroken=1; IgnoreBroken >= 0; IgnoreBroken--)
     {
-       pkgCache::VerIterator ver = Cache[Pkg].CandidateVerIter(Cache);
-       if(ver.end())
-        continue;
-       pkgRecords::Parser &parser = Recs.Lookup(ver.FileList());
-       parser.GetRec(start,end);
-       strncpy(buf, start, end-start);
-       buf[end-start] = 0x0;
-       if (regexec(&Pattern,buf,0,0,0) != 0)
-        continue;
-       res &= TryToInstall(Pkg,Cache,Fix,Remove,false,ExpectedInst);
-       found = true;
+       for (Pkg = Cache.PkgBegin(); Pkg.end() == false; Pkg++)
+       {
+        pkgCache::VerIterator ver = Cache[Pkg].CandidateVerIter(Cache);
+        if(ver.end())
+           continue;
+        pkgRecords::Parser &parser = Recs.Lookup(ver.FileList());
+        parser.GetRec(start,end);
+        strncpy(buf, start, end-start);
+        buf[end-start] = 0x0;
+        if (regexec(&Pattern,buf,0,0,0) != 0)
+           continue;
+        res &= TryToInstall(Pkg,Cache,Fix,Remove,IgnoreBroken,ExpectedInst);
+        found = true;
+       }
     }
     
+    // now let the problem resolver deal with any issues
+    Fix.Resolve(true);
     if(!found)
        _error->Error(_("Couldn't find task %s"),taskname);
  
@@@ -2618,7 -2626,7 +2626,7 @@@ bool ShowHelp(CommandLine &CmdL
        "   upgrade - Perform an upgrade\n"
        "   install - Install new packages (pkg is libc6 not libc6.deb)\n"
        "   remove - Remove packages\n"
 -      "   autoremove - Remove all automatic unused packages\n"
 +      "   autoremove - Remove automatically all unused packages\n"
        "   purge - Remove and purge packages\n"
        "   source - Download source archives\n"
        "   build-dep - Configure build-dependencies for source packages\n"
        "  -d  Download only - do NOT install or unpack archives\n"
        "  -s  No-act. Perform ordering simulation\n"
        "  -y  Assume Yes to all queries and do not prompt\n"
-       "  -f  Attempt to continue if the integrity check fails\n"
+       "  -f  Attempt to correct a system with broken dependencies in place\n"
        "  -m  Attempt to continue if archives are unlocatable\n"
        "  -u  Show a list of upgraded packages as well\n"
        "  -b  Build the source package after fetching it\n"
diff --combined debian/changelog
index 4b0195979de48b4b16f952237a8dbc44246ca17a,5a4051f4d2f9aa1e96e018aa41afe6cb1778aca4..ff2d56cc62b582ad7026405b61b46f143414a1eb
@@@ -17,20 -17,22 +17,30 @@@ apt (0.7.12) UNRELEASED; urgency=lo
        is run
    * methods/connect.cc:
      - remember hosts with Resolve failures or connect Timeouts
+   * cmdline/apt-get.cc:
+     - fix incorrect help output for -f (LP: #57487)
+     - do two passes when installing tasks, first ignoring dependencies,
+       then resolving them and run the problemResolver at the end
+       so that it can correct any missing dependencies
+   * debian/apt.cron.daily:
+     - sleep random amount of time (default within 0-30min) before
+       starting the upate to hit the mirrors less hard
+   * doc/apt_preferences.5.xml:
+     - fix typo
  
    [ Christian Perrier ]
    * Fix typos in manpages. Thanks to Daniel Leidert for the fixes
      Closes: #444922
 +  * Fix syntax/copitalisation in some messages. Thanks to Jens Seidel
 +    for pointing this and providing the patch.
 +    Closes: #466845
  
 - -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 10 Jan 2008 12:06:12 +0100
 +  [ Program translations ]
 +    - German updated. Closes: #466842
 +    - Swedish updated.
 +    - Polish updated. Closes: #469581
 +
 + -- Michael Vogt <mvo@debian.org>  Thu, 10 Jan 2008 12:06:12 +0100
  
  apt (0.7.11) unstable; urgency=critical