summaryrefslogtreecommitdiff
path: root/apt-pkg/edsp/edsplistparser.cc
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2015-10-30 16:34:25 +0100
committerDavid Kalnischkies <david@kalnischkies.de>2015-11-04 18:04:05 +0100
commit294a80209a0c6ea617a14fb2ae650d4fd329eab5 (patch)
tree6430408a0b5ceaae3bb862fb144c265adb116b46 /apt-pkg/edsp/edsplistparser.cc
parent51818f26c784bb574dafc545e8ae320845e5e8fc (diff)
sanify API to get 'the' candidate version
This was discussed a while ago on #debian-apt and now that I see myself making this mistake lets bite the bullet and fix it in the easy way out version: Using a new name which fits with a similar named setter and deprecate the old method instead of 'hostily' changing API. Closes: #803471
Diffstat (limited to 'apt-pkg/edsp/edsplistparser.cc')
-rw-r--r--apt-pkg/edsp/edsplistparser.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/apt-pkg/edsp/edsplistparser.cc b/apt-pkg/edsp/edsplistparser.cc
index 5c90cf1fc..77a0edc22 100644
--- a/apt-pkg/edsp/edsplistparser.cc
+++ b/apt-pkg/edsp/edsplistparser.cc
@@ -111,6 +111,15 @@ bool edspListParser::ParseStatus(pkgCache::PkgIterator &Pkg,
return false;
}
+ // FIXME: Using an overriding pin is wrong.
+ if (Section.FindB("APT-Candidate", false))
+ {
+ std::string out;
+ strprintf(out, "Package: %s\nPin: version %s\nPin-Priority: 9999\n\n", Pkg.FullName().c_str(), Ver.VerStr());
+ if (d->preferences.Write(out.c_str(), out.length()) == false)
+ return false;
+ }
+
signed short const pinvalue = Section.FindI("APT-Pin", 500);
if (pinvalue != 500)
{