On Fri, Oct 30, 2015 at 01:33:59PM +0100, Johannes Schauer wrote: > Package: apt > Version: 1.0.10.2 > Severity: normal > > Hi,
Hi, > > The EDSP spec says that the Install field containing the installation > request does not contain version numbers. Instead, packages can contain > the APT-Candidate field set to Yes to denote that this version should be > selected for installation. > > Nevertheless, when I do: > > apt-get --simulate install --solver dump -o > APT::Solver::Strict-Pinning=false ghc=7.10.2-2 > > or > > apt-get --simulate install --solver dump -o > APT::Solver::Strict-Pinning=false ghc/experimental > > then the resulting /tmp/dump.edsp does not contain any such field and > thus the solver is not told which version of ghc to install. > > This is even though the second command tells me: > > Selected version '7.10.2-2' (Debian:experimental [amd64]) for 'ghc' > > Please make it so that specifying ghc=7.10.2-2 or ghc/experimental on > the apt command line both mark the right package stanza in the EDSP > output with APT-Candidate:Yes. > > I found this bug through bug #795827 but did not manage to find a > followup bug that described this problem. CC-ing Ralf as the submitter > of that bug and as the maintainer of apt-cudf in Debian. thanks for you bug report. The attached patch should in theory fix the issue. I pushed it to https://github.com/julian-klode/apt/commits/bugfix/deb-803471 and will see what the CI server says about it. -- Julian Andres Klode - Debian Developer, Ubuntu Member See http://wiki.debian.org/JulianAndresKlode and http://jak-linux.org/. Be friendly, do not top-post, and follow RFC 1855 "Netiquette". - If you don't I might ignore you.
>From 81a62b72b95766df2df3b0876e74fda2ed45f8a4 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode <[email protected]> Date: Fri, 30 Oct 2015 13:59:21 +0100 Subject: [PATCH] edsp: Use the selected candidate, not the policy candidate When printing if a version is a candidate, consider the candidate set in the depcache, and not the candidate in the policy. Closes: #803471 --- apt-pkg/edsp.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apt-pkg/edsp.cc b/apt-pkg/edsp.cc index 90f2047..8d7a5ae 100644 --- a/apt-pkg/edsp.cc +++ b/apt-pkg/edsp.cc @@ -84,7 +84,7 @@ static void WriteScenarioVersion(pkgDepCache &Cache, FILE* output, pkgCache::Pkg fprintf(output, " %s\n", R->c_str()); } fprintf(output, "APT-Pin: %d\n", Pin); - if (Cache.GetCandidateVer(Pkg) == Ver) + if (Cache[Pkg].CandidateVerIter(Cache) == Ver) fprintf(output, "APT-Candidate: yes\n"); if ((Cache[Pkg].Flags & pkgCache::Flag::Auto) == pkgCache::Flag::Auto) fprintf(output, "APT-Automatic: yes\n"); -- 2.6.2

