From 72cf877c2e11cafe4809b2530af17881ec3c2ebe Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Thu, 24 May 2012 19:42:57 +0200 Subject: * cmdline/apt-get.cc: - do not show 'list of broken packages' header if no package is broken as it happens e.g. for external resolver errors --- cmdline/apt-get.cc | 3 +++ 1 file changed, 3 insertions(+) (limited to 'cmdline') diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index c996017b8..6ef046089 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -254,6 +254,9 @@ bool ShowList(ostream &out,string Title,string List,string VersionsList) */ void ShowBroken(ostream &out,CacheFile &Cache,bool Now) { + if (Cache->BrokenCount() == 0) + return; + out << _("The following packages have unmet dependencies:") << endl; for (unsigned J = 0; J < Cache->Head().PackageCount; J++) { -- cgit v1.2.3 From a98b6615254f8f7251d43c52de8f1f605c821ed7 Mon Sep 17 00:00:00 2001 From: Daniel Hartwig Date: Sun, 10 Jun 2012 00:18:19 +0200 Subject: * cmdline/apt-get.cc: - print URIs for all changelogs in case of --print-uris, thanks to Daniel Hartwig for the patch! (Closes: #674897) --- cmdline/apt-get.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'cmdline') diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index 6ef046089..0636489cb 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -3244,9 +3244,13 @@ bool DoChangelog(CommandLine &CmdL) pkgAcquire Fetcher; if (_config->FindB("APT::Get::Print-URIs", false) == true) + { + bool Success = true; for (APT::VersionList::const_iterator Ver = verset.begin(); Ver != verset.end(); ++Ver) - return DownloadChangelog(Cache, Fetcher, Ver, ""); + Success &= DownloadChangelog(Cache, Fetcher, Ver, ""); + return Success; + } AcqTextStatus Stat(ScreenWidth, _config->FindI("quiet",0)); Fetcher.Setup(&Stat); -- cgit v1.2.3 From f3e3a2d40e736e368678adf1c4d2793535dc9acc Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sun, 10 Jun 2012 12:27:24 +0200 Subject: show 'bzr branch' as 'bzr get' is deprecated (LP: #1011032) --- cmdline/apt-get.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'cmdline') diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index 0636489cb..ef16a7870 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -2499,7 +2499,7 @@ bool DoSource(CommandLine &CmdL) Src.c_str(), vcs.c_str(), uri.c_str()); if(vcs == "Bzr") ioprintf(c1out,_("Please use:\n" - "bzr get %s\n" + "bzr branch %s\n" "to retrieve the latest (possibly unreleased) " "updates to the package.\n"), uri.c_str()); -- cgit v1.2.3 From a9a370d92c490f3f28cc1a1b1619971832c76de5 Mon Sep 17 00:00:00 2001 From: Thibaut Girka Date: Sun, 10 Jun 2012 13:06:11 +0200 Subject: * cmdline/apt-get.cc: - complain correctly about :any build-dep on M-A:none packages --- cmdline/apt-get.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'cmdline') diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index ef16a7870..a4fd3cfb9 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -2919,9 +2919,9 @@ bool DoBuildDep(CommandLine &CmdL) if (Ver->MultiArch == pkgCache::Version::None || Ver->MultiArch == pkgCache::Version::All) { if (colon == string::npos) - { Pkg = Ver.ParentPkg().Group().FindPkg(hostArch); - } + else if (strcmp(D->Package.c_str() + colon, ":any") == 0) + forbidden = "Multi-Arch: none"; } else if (Ver->MultiArch == pkgCache::Version::Same) { @@ -2956,13 +2956,13 @@ bool DoBuildDep(CommandLine &CmdL) if (forbidden.empty() == false) { if (_config->FindB("Debug::BuildDeps",false) == true) - cout << " :any is not allowed from M-A: same package " << (*D).Package << endl; + cout << D->Package.substr(colon, string::npos) << " is not allowed from " << forbidden << " package " << (*D).Package << endl; if (hasAlternatives) continue; return _error->Error(_("%s dependency for %s can't be satisfied " "because %s is not allowed on '%s' packages"), Last->BuildDepType(D->Type), Src.c_str(), - D->Package.c_str(), "Multi-Arch: same"); + D->Package.c_str(), forbidden.c_str()); } } else if (_config->FindB("Debug::BuildDeps",false) == true) -- cgit v1.2.3 From d5dea0bed00ff1811fac1b56c2046d63c937a3f6 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Mon, 11 Jun 2012 00:16:51 +0200 Subject: check build-dep candidate if install is forbidden --- cmdline/apt-get.cc | 58 ++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 39 insertions(+), 19 deletions(-) (limited to 'cmdline') diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index a4fd3cfb9..870c77280 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -2889,33 +2889,42 @@ bool DoBuildDep(CommandLine &CmdL) else Pkg = Cache->FindPkg(D->Package); - // We need to decide if host or build arch, so find a version we can look at - pkgCache::VerIterator Ver; - // a bad version either is invalid or doesn't satify dependency - #define BADVER(Ver) Ver.end() == true || \ - (Ver.end() == false && D->Version.empty() == false && \ - Cache->VS().CheckDep(Ver.VerStr(),D->Op,D->Version.c_str()) == false) + #define BADVER(Ver) (Ver.end() == true || \ + (D->Version.empty() == false && \ + Cache->VS().CheckDep(Ver.VerStr(),D->Op,D->Version.c_str()) == false)) + APT::VersionList verlist; if (Pkg.end() == false) { - Ver = (*Cache)[Pkg].InstVerIter(*Cache); - if (BADVER(Ver)) - Ver = (*Cache)[Pkg].CandidateVerIter(*Cache); + pkgCache::VerIterator Ver = (*Cache)[Pkg].InstVerIter(*Cache); + if (BADVER(Ver) == false) + verlist.insert(Ver); + Ver = (*Cache)[Pkg].CandidateVerIter(*Cache); + if (BADVER(Ver) == false) + verlist.insert(Ver); } - if (BADVER(Ver)) + if (verlist.empty() == true) { pkgCache::PkgIterator HostPkg = Cache->FindPkg(D->Package, hostArch); if (HostPkg.end() == false) { - Ver = (*Cache)[HostPkg].InstVerIter(*Cache); - if (BADVER(Ver)) - Ver = (*Cache)[HostPkg].CandidateVerIter(*Cache); + pkgCache::VerIterator Ver = (*Cache)[HostPkg].InstVerIter(*Cache); + if (BADVER(Ver) == false) + verlist.insert(Ver); + Ver = (*Cache)[HostPkg].CandidateVerIter(*Cache); + if (BADVER(Ver) == false) + verlist.insert(Ver); } } - if ((BADVER(Ver)) == false) + #undef BADVER + + string forbidden; + // We need to decide if host or build arch, so find a version we can look at + APT::VersionList::const_iterator Ver = verlist.begin(); + for (; Ver != verlist.end(); ++Ver) { - string forbidden; + forbidden.clear(); if (Ver->MultiArch == pkgCache::Version::None || Ver->MultiArch == pkgCache::Version::All) { if (colon == string::npos) @@ -2953,10 +2962,24 @@ bool DoBuildDep(CommandLine &CmdL) } // native gets buildArch } + if (forbidden.empty() == false) { if (_config->FindB("Debug::BuildDeps",false) == true) - cout << D->Package.substr(colon, string::npos) << " is not allowed from " << forbidden << " package " << (*D).Package << endl; + cout << D->Package.substr(colon, string::npos) << " is not allowed from " << forbidden << " package " << (*D).Package << " (" << Ver.VerStr() << ")" << endl; + continue; + } + + //we found a good version + break; + } + if (Ver == verlist.end()) + { + if (_config->FindB("Debug::BuildDeps",false) == true) + cout << " No multiarch info as we have no satisfying installed nor candidate for " << D->Package << " on build or host arch" << endl; + + if (forbidden.empty() == false) + { if (hasAlternatives) continue; return _error->Error(_("%s dependency for %s can't be satisfied " @@ -2965,9 +2988,6 @@ bool DoBuildDep(CommandLine &CmdL) D->Package.c_str(), forbidden.c_str()); } } - else if (_config->FindB("Debug::BuildDeps",false) == true) - cout << " No multiarch info as we have no satisfying installed nor candidate for " << D->Package << " on build or host arch" << endl; - #undef BADVER } else Pkg = Cache->FindPkg(D->Package); -- cgit v1.2.3