]> git.saurik.com Git - apt.git/commitdiff
* apt-pkg/depcache.cc:
authorMichael Vogt <michael.vogt@ubuntu.com>
Wed, 9 Aug 2006 18:01:46 +0000 (20:01 +0200)
committerMichael Vogt <michael.vogt@ubuntu.com>
Wed, 9 Aug 2006 18:01:46 +0000 (20:01 +0200)
  - find new important dependencies on upgrade and deal with them

apt-pkg/depcache.cc
po/apt-all.pot

index 8560ce4fda120cbf9b388c440193dd961f492a49..6296892ba42c34c6071024ea64c60c47be346eca 100644 (file)
@@ -667,7 +667,33 @@ void pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst,
         it will be installed. Otherwise we only worry about critical deps */
       if (IsImportantDep(Start) == false)
         continue;
         it will be installed. Otherwise we only worry about critical deps */
       if (IsImportantDep(Start) == false)
         continue;
-      if (Pkg->CurrentVer != 0 && Start.IsCritical() == false)
+
+      /* check if any ImportantDep() (but not Critial) where added
+       * since we installed the thing
+       */
+      bool isNewImportantDep = false;
+      if(IsImportantDep(Start) && !Start.IsCritical())
+      {
+        bool found=false;
+        VerIterator instVer = Pkg.CurrentVer();
+        for (DepIterator D = instVer.DependsList(); !D.end(); D++)
+        {
+           //FIXME: deal better with or-groups(?)
+           DepIterator LocalStart = D;
+           
+           if(IsImportantDep(Dep) && Start.TargetPkg() == D.TargetPkg())
+              found=true;
+        }
+        // this is a new dep if it was not found to be already
+        // a important dep of the installed pacakge
+        isNewImportantDep = !found;
+      }
+      if(isNewImportantDep)
+        if(_config->FindB("Debug::pkgDepCache::AutoInstall",false) == true)
+           std::clog << "new important dependency: " 
+                     << Start.TargetPkg().Name() << std::endl;
+
+      if (Pkg->CurrentVer != 0 && Start.IsCritical() == false && !isNewImportantDep)
         continue;
       
       /* If we are in an or group locate the first or that can 
         continue;
       
       /* If we are in an or group locate the first or that can 
index 095de7f6d3793e122b61430e4915d5409ca6538c..d6d146428b495bbc99642da362963fe1bf904148 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-08-09 16:17+0200\n"
+"POT-Creation-Date: 2006-08-09 18:35+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -148,7 +148,7 @@ msgstr ""
 
 #: cmdline/apt-cache.cc:1652 cmdline/apt-cdrom.cc:138 cmdline/apt-config.cc:70
 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:550
 
 #: cmdline/apt-cache.cc:1652 cmdline/apt-cdrom.cc:138 cmdline/apt-config.cc:70
 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:550
-#: cmdline/apt-get.cc:2380 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:2389 cmdline/apt-sortpkgs.cc:144
 #, c-format
 msgid "%s %s for %s %s compiled on %s %s\n"
 msgstr ""
 #, c-format
 msgid "%s %s for %s %s compiled on %s %s\n"
 msgstr ""
@@ -546,7 +546,7 @@ msgstr ""
 msgid "Y"
 msgstr ""
 
 msgid "Y"
 msgstr ""
 
-#: cmdline/apt-get.cc:142 cmdline/apt-get.cc:1506
+#: cmdline/apt-get.cc:142 cmdline/apt-get.cc:1508
 #, c-format
 msgid "Regex compilation error - %s"
 msgstr ""
 #, c-format
 msgid "Regex compilation error - %s"
 msgstr ""
@@ -705,11 +705,11 @@ msgstr ""
 msgid "Internal error, Ordering didn't finish"
 msgstr ""
 
 msgid "Internal error, Ordering didn't finish"
 msgstr ""
 
-#: cmdline/apt-get.cc:791 cmdline/apt-get.cc:1811 cmdline/apt-get.cc:1844
+#: cmdline/apt-get.cc:791 cmdline/apt-get.cc:1820 cmdline/apt-get.cc:1853
 msgid "Unable to lock the download directory"
 msgstr ""
 
 msgid "Unable to lock the download directory"
 msgstr ""
 
-#: cmdline/apt-get.cc:801 cmdline/apt-get.cc:1892 cmdline/apt-get.cc:2128
+#: cmdline/apt-get.cc:801 cmdline/apt-get.cc:1901 cmdline/apt-get.cc:2137
 #: apt-pkg/cachefile.cc:67
 msgid "The list of sources could not be read."
 msgstr ""
 #: apt-pkg/cachefile.cc:67
 msgid "The list of sources could not be read."
 msgstr ""
@@ -738,7 +738,7 @@ msgstr ""
 msgid "After unpacking %sB disk space will be freed.\n"
 msgstr ""
 
 msgid "After unpacking %sB disk space will be freed.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:846 cmdline/apt-get.cc:1982
+#: cmdline/apt-get.cc:846 cmdline/apt-get.cc:1991
 #, c-format
 msgid "Couldn't determine free space in %s"
 msgstr ""
 #, c-format
 msgid "Couldn't determine free space in %s"
 msgstr ""
@@ -772,7 +772,7 @@ msgstr ""
 msgid "Do you want to continue [Y/n]? "
 msgstr ""
 
 msgid "Do you want to continue [Y/n]? "
 msgstr ""
 
-#: cmdline/apt-get.cc:961 cmdline/apt-get.cc:1365 cmdline/apt-get.cc:2025
+#: cmdline/apt-get.cc:961 cmdline/apt-get.cc:1367 cmdline/apt-get.cc:2034
 #, c-format
 msgid "Failed to fetch %s  %s\n"
 msgstr ""
 #, c-format
 msgid "Failed to fetch %s  %s\n"
 msgstr ""
@@ -781,7 +781,7 @@ msgstr ""
 msgid "Some files failed to download"
 msgstr ""
 
 msgid "Some files failed to download"
 msgstr ""
 
-#: cmdline/apt-get.cc:980 cmdline/apt-get.cc:2034
+#: cmdline/apt-get.cc:980 cmdline/apt-get.cc:2043
 msgid "Download complete and in download only mode"
 msgstr ""
 
 msgid "Download complete and in download only mode"
 msgstr ""
 
@@ -858,60 +858,60 @@ msgstr ""
 msgid "%s is already the newest version.\n"
 msgstr ""
 
 msgid "%s is already the newest version.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:1168
+#: cmdline/apt-get.cc:1170
 #, c-format
 msgid "Release '%s' for '%s' was not found"
 msgstr ""
 
 #, c-format
 msgid "Release '%s' for '%s' was not found"
 msgstr ""
 
-#: cmdline/apt-get.cc:1170
+#: cmdline/apt-get.cc:1172
 #, c-format
 msgid "Version '%s' for '%s' was not found"
 msgstr ""
 
 #, c-format
 msgid "Version '%s' for '%s' was not found"
 msgstr ""
 
-#: cmdline/apt-get.cc:1176
+#: cmdline/apt-get.cc:1178
 #, c-format
 msgid "Selected version %s (%s) for %s\n"
 msgstr ""
 
 #, c-format
 msgid "Selected version %s (%s) for %s\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:1313
+#: cmdline/apt-get.cc:1315
 msgid "The update command takes no arguments"
 msgstr ""
 
 msgid "The update command takes no arguments"
 msgstr ""
 
-#: cmdline/apt-get.cc:1326
+#: cmdline/apt-get.cc:1328
 msgid "Unable to lock the list directory"
 msgstr ""
 
 msgid "Unable to lock the list directory"
 msgstr ""
 
-#: cmdline/apt-get.cc:1384
+#: cmdline/apt-get.cc:1386
 msgid ""
 "Some index files failed to download, they have been ignored, or old ones "
 "used instead."
 msgstr ""
 
 msgid ""
 "Some index files failed to download, they have been ignored, or old ones "
 "used instead."
 msgstr ""
 
-#: cmdline/apt-get.cc:1403
+#: cmdline/apt-get.cc:1405
 msgid "Internal error, AllUpgrade broke stuff"
 msgstr ""
 
 msgid "Internal error, AllUpgrade broke stuff"
 msgstr ""
 
-#: cmdline/apt-get.cc:1493 cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1495 cmdline/apt-get.cc:1531
 #, c-format
 msgid "Couldn't find package %s"
 msgstr ""
 
 #, c-format
 msgid "Couldn't find package %s"
 msgstr ""
 
-#: cmdline/apt-get.cc:1516
+#: cmdline/apt-get.cc:1518
 #, c-format
 msgid "Note, selecting %s for regex '%s'\n"
 msgstr ""
 
 #, c-format
 msgid "Note, selecting %s for regex '%s'\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:1546
+#: cmdline/apt-get.cc:1548
 msgid "You might want to run `apt-get -f install' to correct these:"
 msgstr ""
 
 msgid "You might want to run `apt-get -f install' to correct these:"
 msgstr ""
 
-#: cmdline/apt-get.cc:1549
+#: cmdline/apt-get.cc:1551
 msgid ""
 "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
 "solution)."
 msgstr ""
 
 msgid ""
 "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
 "solution)."
 msgstr ""
 
-#: cmdline/apt-get.cc:1561
+#: cmdline/apt-get.cc:1563
 msgid ""
 "Some packages could not be installed. This may mean that you have\n"
 "requested an impossible situation or if you are using the unstable\n"
 msgid ""
 "Some packages could not be installed. This may mean that you have\n"
 "requested an impossible situation or if you are using the unstable\n"
@@ -919,163 +919,163 @@ msgid ""
 "or been moved out of Incoming."
 msgstr ""
 
 "or been moved out of Incoming."
 msgstr ""
 
-#: cmdline/apt-get.cc:1569
+#: cmdline/apt-get.cc:1571
 msgid ""
 "Since you only requested a single operation it is extremely likely that\n"
 "the package is simply not installable and a bug report against\n"
 "that package should be filed."
 msgstr ""
 
 msgid ""
 "Since you only requested a single operation it is extremely likely that\n"
 "the package is simply not installable and a bug report against\n"
 "that package should be filed."
 msgstr ""
 
-#: cmdline/apt-get.cc:1574
+#: cmdline/apt-get.cc:1576
 msgid "The following information may help to resolve the situation:"
 msgstr ""
 
 msgid "The following information may help to resolve the situation:"
 msgstr ""
 
-#: cmdline/apt-get.cc:1577
+#: cmdline/apt-get.cc:1579
 msgid "Broken packages"
 msgstr ""
 
 msgid "Broken packages"
 msgstr ""
 
-#: cmdline/apt-get.cc:1603
+#: cmdline/apt-get.cc:1605
 msgid "The following extra packages will be installed:"
 msgstr ""
 
 msgid "The following extra packages will be installed:"
 msgstr ""
 
-#: cmdline/apt-get.cc:1685
+#: cmdline/apt-get.cc:1694
 msgid "Suggested packages:"
 msgstr ""
 
 msgid "Suggested packages:"
 msgstr ""
 
-#: cmdline/apt-get.cc:1686
+#: cmdline/apt-get.cc:1695
 msgid "Recommended packages:"
 msgstr ""
 
 msgid "Recommended packages:"
 msgstr ""
 
-#: cmdline/apt-get.cc:1706
+#: cmdline/apt-get.cc:1715
 msgid "Calculating upgrade... "
 msgstr ""
 
 msgid "Calculating upgrade... "
 msgstr ""
 
-#: cmdline/apt-get.cc:1709 methods/ftp.cc:702 methods/connect.cc:101
+#: cmdline/apt-get.cc:1718 methods/ftp.cc:702 methods/connect.cc:101
 msgid "Failed"
 msgstr ""
 
 msgid "Failed"
 msgstr ""
 
-#: cmdline/apt-get.cc:1714
+#: cmdline/apt-get.cc:1723
 msgid "Done"
 msgstr ""
 
 msgid "Done"
 msgstr ""
 
-#: cmdline/apt-get.cc:1779 cmdline/apt-get.cc:1787
+#: cmdline/apt-get.cc:1788 cmdline/apt-get.cc:1796
 msgid "Internal error, problem resolver broke stuff"
 msgstr ""
 
 msgid "Internal error, problem resolver broke stuff"
 msgstr ""
 
-#: cmdline/apt-get.cc:1887
+#: cmdline/apt-get.cc:1896
 msgid "Must specify at least one package to fetch source for"
 msgstr ""
 
 msgid "Must specify at least one package to fetch source for"
 msgstr ""
 
-#: cmdline/apt-get.cc:1917 cmdline/apt-get.cc:2146
+#: cmdline/apt-get.cc:1926 cmdline/apt-get.cc:2155
 #, c-format
 msgid "Unable to find a source package for %s"
 msgstr ""
 
 #, c-format
 msgid "Unable to find a source package for %s"
 msgstr ""
 
-#: cmdline/apt-get.cc:1961
+#: cmdline/apt-get.cc:1970
 #, c-format
 msgid "Skipping already downloaded file '%s'\n"
 msgstr ""
 
 #, c-format
 msgid "Skipping already downloaded file '%s'\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:1985
+#: cmdline/apt-get.cc:1994
 #, c-format
 msgid "You don't have enough free space in %s"
 msgstr ""
 
 #, c-format
 msgid "You don't have enough free space in %s"
 msgstr ""
 
-#: cmdline/apt-get.cc:1990
+#: cmdline/apt-get.cc:1999
 #, c-format
 msgid "Need to get %sB/%sB of source archives.\n"
 msgstr ""
 
 #, c-format
 msgid "Need to get %sB/%sB of source archives.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:1993
+#: cmdline/apt-get.cc:2002
 #, c-format
 msgid "Need to get %sB of source archives.\n"
 msgstr ""
 
 #, c-format
 msgid "Need to get %sB of source archives.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:1999
+#: cmdline/apt-get.cc:2008
 #, c-format
 msgid "Fetch source %s\n"
 msgstr ""
 
 #, c-format
 msgid "Fetch source %s\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2030
+#: cmdline/apt-get.cc:2039
 msgid "Failed to fetch some archives."
 msgstr ""
 
 msgid "Failed to fetch some archives."
 msgstr ""
 
-#: cmdline/apt-get.cc:2058
+#: cmdline/apt-get.cc:2067
 #, c-format
 msgid "Skipping unpack of already unpacked source in %s\n"
 msgstr ""
 
 #, c-format
 msgid "Skipping unpack of already unpacked source in %s\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2070
+#: cmdline/apt-get.cc:2079
 #, c-format
 msgid "Unpack command '%s' failed.\n"
 msgstr ""
 
 #, c-format
 msgid "Unpack command '%s' failed.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2071
+#: cmdline/apt-get.cc:2080
 #, c-format
 msgid "Check if the 'dpkg-dev' package is installed.\n"
 msgstr ""
 
 #, c-format
 msgid "Check if the 'dpkg-dev' package is installed.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2088
+#: cmdline/apt-get.cc:2097
 #, c-format
 msgid "Build command '%s' failed.\n"
 msgstr ""
 
 #, c-format
 msgid "Build command '%s' failed.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2107
+#: cmdline/apt-get.cc:2116
 msgid "Child process failed"
 msgstr ""
 
 msgid "Child process failed"
 msgstr ""
 
-#: cmdline/apt-get.cc:2123
+#: cmdline/apt-get.cc:2132
 msgid "Must specify at least one package to check builddeps for"
 msgstr ""
 
 msgid "Must specify at least one package to check builddeps for"
 msgstr ""
 
-#: cmdline/apt-get.cc:2151
+#: cmdline/apt-get.cc:2160
 #, c-format
 msgid "Unable to get build-dependency information for %s"
 msgstr ""
 
 #, c-format
 msgid "Unable to get build-dependency information for %s"
 msgstr ""
 
-#: cmdline/apt-get.cc:2171
+#: cmdline/apt-get.cc:2180
 #, c-format
 msgid "%s has no build depends.\n"
 msgstr ""
 
 #, c-format
 msgid "%s has no build depends.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2223
+#: cmdline/apt-get.cc:2232
 #, c-format
 msgid ""
 "%s dependency for %s cannot be satisfied because the package %s cannot be "
 "found"
 msgstr ""
 
 #, c-format
 msgid ""
 "%s dependency for %s cannot be satisfied because the package %s cannot be "
 "found"
 msgstr ""
 
-#: cmdline/apt-get.cc:2275
+#: cmdline/apt-get.cc:2284
 #, c-format
 msgid ""
 "%s dependency for %s cannot be satisfied because no available versions of "
 "package %s can satisfy version requirements"
 msgstr ""
 
 #, c-format
 msgid ""
 "%s dependency for %s cannot be satisfied because no available versions of "
 "package %s can satisfy version requirements"
 msgstr ""
 
-#: cmdline/apt-get.cc:2310
+#: cmdline/apt-get.cc:2319
 #, c-format
 msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
 msgstr ""
 
 #, c-format
 msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
 msgstr ""
 
-#: cmdline/apt-get.cc:2335
+#: cmdline/apt-get.cc:2344
 #, c-format
 msgid "Failed to satisfy %s dependency for %s: %s"
 msgstr ""
 
 #, c-format
 msgid "Failed to satisfy %s dependency for %s: %s"
 msgstr ""
 
-#: cmdline/apt-get.cc:2349
+#: cmdline/apt-get.cc:2358
 #, c-format
 msgid "Build-dependencies for %s could not be satisfied."
 msgstr ""
 
 #, c-format
 msgid "Build-dependencies for %s could not be satisfied."
 msgstr ""
 
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2362
 msgid "Failed to process build dependencies"
 msgstr ""
 
 msgid "Failed to process build dependencies"
 msgstr ""
 
-#: cmdline/apt-get.cc:2385
+#: cmdline/apt-get.cc:2394
 msgid "Supported modules:"
 msgstr ""
 
 msgid "Supported modules:"
 msgstr ""
 
-#: cmdline/apt-get.cc:2426
+#: cmdline/apt-get.cc:2435
 msgid ""
 "Usage: apt-get [options] command\n"
 "       apt-get [options] install|remove pkg1 [pkg2 ...]\n"
 msgid ""
 "Usage: apt-get [options] command\n"
 "       apt-get [options] install|remove pkg1 [pkg2 ...]\n"
@@ -2100,15 +2100,15 @@ msgstr ""
 msgid "extra"
 msgstr ""
 
 msgid "extra"
 msgstr ""
 
-#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
 msgid "Building dependency tree"
 msgstr ""
 
 msgid "Building dependency tree"
 msgstr ""
 
-#: apt-pkg/depcache.cc:62
+#: apt-pkg/depcache.cc:61
 msgid "Candidate versions"
 msgstr ""
 
 msgid "Candidate versions"
 msgstr ""
 
-#: apt-pkg/depcache.cc:91
+#: apt-pkg/depcache.cc:90
 msgid "Dependency generation"
 msgstr ""
 
 msgid "Dependency generation"
 msgstr ""
 
@@ -2238,12 +2238,12 @@ msgstr ""
 msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
 msgstr ""
 
 msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
 msgstr ""
 
-#: apt-pkg/init.cc:120
+#: apt-pkg/init.cc:122
 #, c-format
 msgid "Packaging system '%s' is not supported"
 msgstr ""
 
 #, c-format
 msgid "Packaging system '%s' is not supported"
 msgstr ""
 
-#: apt-pkg/init.cc:136
+#: apt-pkg/init.cc:138
 msgid "Unable to determine a suitable packaging system type"
 msgstr ""
 
 msgid "Unable to determine a suitable packaging system type"
 msgstr ""