From e3a86238d2fac37c5573079d70dbf3d31a638cfd Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sun, 24 Jul 2011 19:03:15 +0200 Subject: buildconflicts effect all architectures --- cmdline/apt-get.cc | 24 +++++++++++++----------- debian/changelog | 3 ++- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index 748ebe6ab..1df3b520e 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -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 { diff --git a/debian/changelog b/debian/changelog index 607f7c64a..c9659395f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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 Sat, 16 Jul 2011 16:43:37 +0200 + -- David Kalnischkies Sun, 24 Jul 2011 18:41:43 +0200 apt (0.8.15.2) unstable; urgency=high -- cgit v1.2.3