buildconflicts effect all architectures
authorDavid Kalnischkies <kalnischkies@gmail.com>
Sun, 24 Jul 2011 17:03:15 +0000 (19:03 +0200)
committerDavid Kalnischkies <kalnischkies@gmail.com>
Sun, 24 Jul 2011 17:03:15 +0000 (19:03 +0200)
cmdline/apt-get.cc
debian/changelog

index 748ebe6..1df3b52 100644 (file)
@@ -2733,20 +2733,22 @@ bool DoBuildDep(CommandLine &CmdL)
          if ((*D).Type == pkgSrcRecords::Parser::BuildConflict ||
             (*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
-            if (Pkg.end() == true)
+            if (Grp.end() == true)
                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
          {
index 607f7c6..c965939 100644 (file)
@@ -18,6 +18,7 @@ apt (0.8.15.3) UNRELEASED; urgency=low
   * cmdline/apt-get.cc:
     - restore all important dependencies for garbage packages (LP: #806274)
     - do not require unused partial dirs in 'source' (Closes: #633510)
+    - buildconflicts effect all architectures
   * apt-pkg/init.cc:
     - use CndSet in pkgInitConfig (Closes: #629617)
   * apt-pkg/depcache.cc:
@@ -31,7 +32,7 @@ apt (0.8.15.3) UNRELEASED; urgency=low
   * apt-pkg/policy.cc:
     - 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