summaryrefslogtreecommitdiff
path: root/apt-pkg/depcache.h
diff options
context:
space:
mode:
authorMichael Vogt <mvo@debian.org>2011-02-08 10:27:51 +0100
committerMichael Vogt <mvo@debian.org>2011-02-08 10:27:51 +0100
commit09b8bd3226a68272f98e4020d10348ff26642500 (patch)
tree1394a74a187ce61982c6c8649721de2f543459a1 /apt-pkg/depcache.h
parent7c748f4aa1bd47089672353fd1a401d1c5c94723 (diff)
parent4c6cf49317769725fee34a132c52ec1fe076b8b5 (diff)
merged from lp:~mvo/apt/mvo (which is really lp:~donkult/apt/sid with some updated comments ;)
Diffstat (limited to 'apt-pkg/depcache.h')
-rw-r--r--apt-pkg/depcache.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/apt-pkg/depcache.h b/apt-pkg/depcache.h
index 2d3dbdf77..dba3e22dc 100644
--- a/apt-pkg/depcache.h
+++ b/apt-pkg/depcache.h
@@ -396,6 +396,25 @@ class pkgDepCache : protected pkgCache::Namespace
void SetReInstall(PkgIterator const &Pkg,bool To);
void SetCandidateVersion(VerIterator TargetVer, bool const &Pseudo = true);
+ bool SetCandidateRelease(pkgCache::VerIterator TargetVer,
+ std::string const &TargetRel);
+ /** Set the candidate version for dependencies too if needed.
+ *
+ * Sets not only the candidate version as SetCandidateVersion does,
+ * but walks also down the dependency tree and checks if it is required
+ * to set the candidate of the dependency to a version from the given
+ * release, too.
+ *
+ * \param TargetVer new candidate version of the package
+ * \param TargetRel try to switch to this release if needed
+ * \param[out] Changed a list of pairs consisting of the \b old
+ * version of the changed package and the version which
+ * required the switch of this dependency
+ * \return \b true if the switch was successful, \b false otherwise
+ */
+ bool SetCandidateRelease(pkgCache::VerIterator TargetVer,
+ std::string const &TargetRel,
+ std::list<std::pair<pkgCache::VerIterator, pkgCache::VerIterator> > &Changed);
/** Set the "is automatically installed" flag of Pkg. */
void MarkAuto(const PkgIterator &Pkg, bool Auto);