Просмотр исходного кода

* Improve build-depends handling of virtual packages ev...
Author: mdz
Date: 2003-07-25 22:03:49 GMT
* Improve build-depends handling of virtual packages even further, so that
it will now also try to satisfy build-depends on virtual packages if they
are not installed. Note that this only works if there is only one
package providing the virtual package, as in other cases (Closes: #165404)

Arch Librarian лет назад: 22
Родитель
Сommit
a8a0fdcf63
2 измененных файлов с 9 добавлено и 3 удалено
  1. 5 3
      cmdline/apt-get.cc
  2. 4 0
      debian/changelog

+ 5 - 3
cmdline/apt-get.cc

@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // -*- mode: cpp; mode: fold -*-
 // Description								/*{{{*/
 // Description								/*{{{*/
-// $Id: apt-get.cc,v 1.132 2003/07/22 03:00:19 mdz Exp $
+// $Id: apt-get.cc,v 1.133 2003/07/25 22:03:49 mdz Exp $
 /* ######################################################################
 /* ######################################################################
    
    
    apt-get - Cover for dpkg
    apt-get - Cover for dpkg
@@ -2093,7 +2093,9 @@ bool DoBuildDep(CommandLine &CmdL)
 	     * installed
 	     * installed
 	     */
 	     */
             pkgCache::PrvIterator Prv = Pkg.ProvidesList();
             pkgCache::PrvIterator Prv = Pkg.ProvidesList();
-            for (; Prv.end() != true; Prv++) {
+	    bool providedBySomething = !Prv.end();
+            for (; Prv.end() != true; Prv++)
+	    {
 	       if ((*Cache)[Prv.OwnerPkg()].InstVerIter(*Cache).end() == false)
 	       if ((*Cache)[Prv.OwnerPkg()].InstVerIter(*Cache).end() == false)
 	          break;
 	          break;
             }
             }
@@ -2101,7 +2103,7 @@ bool DoBuildDep(CommandLine &CmdL)
             // Get installed version and version we are going to install
             // Get installed version and version we are going to install
 	    pkgCache::VerIterator IV = (*Cache)[Pkg].InstVerIter(*Cache);
 	    pkgCache::VerIterator IV = (*Cache)[Pkg].InstVerIter(*Cache);
 
 
-            if (Prv.end() == true || (*D).Version != "") {
+            if (!providedBySomething || (*D).Version[0] != '\0') {
                  /* We either have a versioned dependency (so a provides won't do)
                  /* We either have a versioned dependency (so a provides won't do)
                     or nothing is providing this package */
                     or nothing is providing this package */
 
 

+ 4 - 0
debian/changelog

@@ -5,6 +5,10 @@ apt (0.5.8) unstable; urgency=low
     <philippe.batailler@free.fr> (Closes: #182194)
     <philippe.batailler@free.fr> (Closes: #182194)
   * Give a warning if an illegal type abbreviation is used when looking up a
   * Give a warning if an illegal type abbreviation is used when looking up a
     configuration item (Closes: #168453)
     configuration item (Closes: #168453)
+  * Improve build-depends handling of virtual packages even further, so that
+    it will now also try to satisfy build-depends on virtual packages if they
+    are not installed.  Note that this only works if there is only one
+    package providing the virtual package, as in other cases (Closes: #165404)
 
 
  --
  --