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

buildconflicts effect all architectures

David Kalnischkies лет назад: 15
Родитель
Сommit
e3a86238d2
2 измененных файлов с 15 добавлено и 12 удалено
  1. 13 11
      cmdline/apt-get.cc
  2. 2 1
      debian/changelog

+ 13 - 11
cmdline/apt-get.cc

@@ -2733,20 +2733,22 @@ bool DoBuildDep(CommandLine &CmdL)
          if ((*D).Type == pkgSrcRecords::Parser::BuildConflict ||
          if ((*D).Type == pkgSrcRecords::Parser::BuildConflict ||
 	     (*D).Type == pkgSrcRecords::Parser::BuildConflictIndep)
 	     (*D).Type == pkgSrcRecords::Parser::BuildConflictIndep)
          {
          {
-            pkgCache::PkgIterator Pkg = Cache->FindPkg((*D).Package);
+            pkgCache::GrpIterator Grp = Cache->FindGrp((*D).Package);
             // Build-conflicts on unknown packages are silently ignored
             // Build-conflicts on unknown packages are silently ignored
-            if (Pkg.end() == true)
+            if (Grp.end() == true)
                continue;
                continue;
 
 
-            pkgCache::VerIterator IV = (*Cache)[Pkg].InstVerIter(*Cache);
-
-            /* 
-             * Remove if we have an installed version that satisfies the 
-             * version criteria
-             */
-            if (IV.end() == false && 
-                Cache->VS().CheckDep(IV.VerStr(),(*D).Op,(*D).Version.c_str()) == true)
-               TryToInstallBuildDep(Pkg,Cache,Fix,true,false);
+	    for (pkgCache::PkgIterator Pkg = Grp.PackageList(); Pkg.end() == false; Pkg = Grp.NextPkg(Pkg))
+	    {
+	       pkgCache::VerIterator IV = (*Cache)[Pkg].InstVerIter(*Cache);
+	       /*
+		* Remove if we have an installed version that satisfies the
+		* version criteria
+		*/
+	       if (IV.end() == false &&
+		   Cache->VS().CheckDep(IV.VerStr(),(*D).Op,(*D).Version.c_str()) == true)
+		  TryToInstallBuildDep(Pkg,Cache,Fix,true,false);
+	    }
          }
          }
 	 else // BuildDep || BuildDepIndep
 	 else // BuildDep || BuildDepIndep
          {
          {

+ 2 - 1
debian/changelog

@@ -18,6 +18,7 @@ apt (0.8.15.3) UNRELEASED; urgency=low
   * cmdline/apt-get.cc:
   * cmdline/apt-get.cc:
     - restore all important dependencies for garbage packages (LP: #806274)
     - restore all important dependencies for garbage packages (LP: #806274)
     - do not require unused partial dirs in 'source' (Closes: #633510)
     - do not require unused partial dirs in 'source' (Closes: #633510)
+    - buildconflicts effect all architectures
   * apt-pkg/init.cc:
   * apt-pkg/init.cc:
     - use CndSet in pkgInitConfig (Closes: #629617)
     - use CndSet in pkgInitConfig (Closes: #629617)
   * apt-pkg/depcache.cc:
   * apt-pkg/depcache.cc:
@@ -31,7 +32,7 @@ apt (0.8.15.3) UNRELEASED; urgency=low
   * apt-pkg/policy.cc:
   * apt-pkg/policy.cc:
     - emit an error on unknown APT::Default-Release value (Closes: #407511)
     - emit an error on unknown APT::Default-Release value (Closes: #407511)
 
 
- -- David Kalnischkies <kalnischkies@gmail.com>  Sat, 16 Jul 2011 16:43:37 +0200
+ -- David Kalnischkies <kalnischkies@gmail.com>  Sun, 24 Jul 2011 18:41:43 +0200
 
 
 apt (0.8.15.2) unstable; urgency=high
 apt (0.8.15.2) unstable; urgency=high