From 2c1f718bb2b0d64a14ab53d323704f034b69c13a Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Sun, 16 Feb 2020 11:40:07 +0100 Subject: policy: Add SetPriority() methods These allow overriding priorities, however, pins set by SetPriority for package files will be overriden by calls to InitDefaults(). --- apt-pkg/policy.cc | 15 +++++++++++++++ apt-pkg/policy.h | 2 ++ 2 files changed, 17 insertions(+) diff --git a/apt-pkg/policy.cc b/apt-pkg/policy.cc index b9bdfd20f..5f9ece85f 100644 --- a/apt-pkg/policy.cc +++ b/apt-pkg/policy.cc @@ -284,6 +284,21 @@ APT_PURE signed short pkgPolicy::GetPriority(pkgCache::PkgFileIterator const &Fi { return PFPriority[File->ID]; } + /*}}}*/ +// SetPriority - Directly set priority /*{{{*/ +// --------------------------------------------------------------------- +void pkgPolicy::SetPriority(pkgCache::VerIterator const &Ver, signed short Priority) +{ + Pin pin; + pin.Data = "pkgPolicy::SetPriority"; + pin.Priority = Priority; + VerPins[Ver->ID] = pin; +} +void pkgPolicy::SetPriority(pkgCache::PkgFileIterator const &File, signed short Priority) +{ + PFPriority[File->ID] = Priority; +} + /*}}}*/ // ReadPinDir - Load the pin files from this dir into a Policy /*{{{*/ // --------------------------------------------------------------------- diff --git a/apt-pkg/policy.h b/apt-pkg/policy.h index 277aff3dd..2fd2f8197 100644 --- a/apt-pkg/policy.h +++ b/apt-pkg/policy.h @@ -76,6 +76,8 @@ class pkgPolicy : public pkgDepCache::Policy virtual signed short GetPriority(pkgCache::VerIterator const &Ver, bool ConsiderFiles = true) APT_OVERRIDE; virtual signed short GetPriority(pkgCache::PkgFileIterator const &File) APT_OVERRIDE; + void SetPriority(pkgCache::VerIterator const &Ver, signed short Priority); + void SetPriority(pkgCache::PkgFileIterator const &File, signed short Priority); bool InitDefaults(); explicit pkgPolicy(pkgCache *Owner); -- cgit v1.2.3