libzypp 17.38.6
zyppng::sat::PackagePolicyComponent Class Reference

Component managing package-level policies: retracted packages, PTF tracking, and the "reboot needed" hint. More...

#include <zypp/ng/sat/components/packagepolicycomponent.h>

Inheritance diagram for zyppng::sat::PackagePolicyComponent:

Public Member Functions

 PackagePolicyComponent ()
 ~PackagePolicyComponent () override=default
PreparedStage stage () const override
void attach (Pool &p) override
 called when the component is attached to a pool
void prepare (PreparedPool &pp) override
 Called by Pool::prepare() — evaluates all specs against the prepared pool.
void onInvalidate (Pool &pool, PoolInvalidation invalidation) override
 Called when pool content changes — resets all evaluated forms.
void onReset (Pool &pool) override
 Called on full pool reset — resets all evaluated forms.
Retracted packages
bool isRetracted (const Solvable &solv_r) const
PTF (Program Temporary Fix)
bool isPtfMaster (const Solvable &solv_r) const
bool isPtfPackage (const Solvable &solv_r) const
Public Member Functions inherited from zyppng::sat::IPreparedPoolComponent
virtual int priority () const
 Fine-grained ordering within a stage.
Public Member Functions inherited from zyppng::sat::detail::IBasicPoolComponent
virtual void checkDirty (Pool &)
 Probe external state.
virtual void onRepoAdded (Pool &, RepoIdType)
virtual void onRepoRemoved (Pool &, RepoIdType)
virtual ~IBasicPoolComponent ()=default
 IBasicPoolComponent ()=default
 IBasicPoolComponent (const IBasicPoolComponent &)=delete
 IBasicPoolComponent (IBasicPoolComponent &&)=delete
IBasicPoolComponentoperator= (const IBasicPoolComponent &)=delete
IBasicPoolComponentoperator= (IBasicPoolComponent &&)=delete

Reboot-needed hint

Pool_pool = nullptr
SolvableSpec _retractedSpec
 hardwired: provides retracted-patch-package()
SolvableSpec _ptfMasterSpec
 hardwired: provides ptf()
SolvableSpec _ptfPackageSpec
 hardwired: provides ptf-package()
SolvableSpec _needrebootSpec
 user-supplied
std::optional< EvaluatedSolvableSpec_retractedEval
std::optional< EvaluatedSolvableSpec_ptfMasterEval
std::optional< EvaluatedSolvableSpec_ptfPackageEval
std::optional< EvaluatedSolvableSpec_needrebootEval
void setNeedrebootSpec (SolvableSpec spec)
 Replace the reboot-needed spec.
bool isNeedreboot (const Solvable &solv_r) const

Detailed Description

Component managing package-level policies: retracted packages, PTF tracking, and the "reboot needed" hint.

Design
Each policy is represented by two pieces of state:
  • A SolvableSpec (pure data: idents + provides tokens). This is the definition of the set and is what callers configure via setNeedrebootSpec(). The retracted/PTF specs are hardwired.
  • An std::optional<EvaluatedSolvableSpec> that is constructed in prepare(Pool&) and reset to nullopt by onInvalidate(). Once evaluated, contains() is O(1) with no pool access.
Lifecycle
  • prepare(Pool&) is called by the Pool during its own prepare() cycle. This is where the specs are expanded and the evaluated forms constructed.
  • onInvalidate() resets the evaluated forms so they are rebuilt on the next prepare() call.
Note
The hardwired retracted/PTF provides tokens are the same strings used in the legacy zypp::sat::Pool: "retracted-patch-package()", "ptf()", "ptf-package()".

Definition at line 47 of file packagepolicycomponent.h.

Constructor & Destructor Documentation

◆ PackagePolicyComponent()

zyppng::sat::PackagePolicyComponent::PackagePolicyComponent ( )

Definition at line 21 of file packagepolicycomponent.cc.

◆ ~PackagePolicyComponent()

zyppng::sat::PackagePolicyComponent::~PackagePolicyComponent ( )
overridedefault

Member Function Documentation

◆ stage()

PreparedStage zyppng::sat::PackagePolicyComponent::stage ( ) const
inlineoverridevirtual

Reimplemented from zyppng::sat::IPreparedPoolComponent.

Definition at line 53 of file packagepolicycomponent.h.

◆ attach()

void zyppng::sat::PackagePolicyComponent::attach ( Pool & p)
overridevirtual

called when the component is attached to a pool

Reimplemented from zyppng::sat::IPreparedPoolComponent.

Definition at line 40 of file packagepolicycomponent.cc.

◆ prepare()

void zyppng::sat::PackagePolicyComponent::prepare ( PreparedPool & pp)
overridevirtual

Called by Pool::prepare() — evaluates all specs against the prepared pool.

Reimplemented from zyppng::sat::IPreparedPoolComponent.

Definition at line 46 of file packagepolicycomponent.cc.

◆ onInvalidate()

void zyppng::sat::PackagePolicyComponent::onInvalidate ( Pool & pool,
PoolInvalidation invalidation )
overridevirtual

Called when pool content changes — resets all evaluated forms.

Reimplemented from zyppng::sat::detail::IBasicPoolComponent.

Definition at line 54 of file packagepolicycomponent.cc.

◆ onReset()

void zyppng::sat::PackagePolicyComponent::onReset ( Pool & pool)
overridevirtual

Called on full pool reset — resets all evaluated forms.

Reimplemented from zyppng::sat::detail::IBasicPoolComponent.

Definition at line 66 of file packagepolicycomponent.cc.

◆ isRetracted()

bool zyppng::sat::PackagePolicyComponent::isRetracted ( const Solvable & solv_r) const

Definition at line 78 of file packagepolicycomponent.cc.

◆ isPtfMaster()

bool zyppng::sat::PackagePolicyComponent::isPtfMaster ( const Solvable & solv_r) const

Definition at line 81 of file packagepolicycomponent.cc.

◆ isPtfPackage()

bool zyppng::sat::PackagePolicyComponent::isPtfPackage ( const Solvable & solv_r) const

Definition at line 84 of file packagepolicycomponent.cc.

◆ setNeedrebootSpec()

void zyppng::sat::PackagePolicyComponent::setNeedrebootSpec ( SolvableSpec spec)

Replace the reboot-needed spec.

The spec is evaluated on the next prepare() call. Pass an empty SolvableSpec to disable the hint entirely.

Definition at line 87 of file packagepolicycomponent.cc.

◆ isNeedreboot()

bool zyppng::sat::PackagePolicyComponent::isNeedreboot ( const Solvable & solv_r) const

Definition at line 97 of file packagepolicycomponent.cc.

Member Data Documentation

◆ _pool

Pool* zyppng::sat::PackagePolicyComponent::_pool = nullptr
private

Definition at line 92 of file packagepolicycomponent.h.

◆ _retractedSpec

SolvableSpec zyppng::sat::PackagePolicyComponent::_retractedSpec
private

hardwired: provides retracted-patch-package()

Definition at line 94 of file packagepolicycomponent.h.

◆ _ptfMasterSpec

SolvableSpec zyppng::sat::PackagePolicyComponent::_ptfMasterSpec
private

hardwired: provides ptf()

Definition at line 95 of file packagepolicycomponent.h.

◆ _ptfPackageSpec

SolvableSpec zyppng::sat::PackagePolicyComponent::_ptfPackageSpec
private

hardwired: provides ptf-package()

Definition at line 96 of file packagepolicycomponent.h.

◆ _needrebootSpec

SolvableSpec zyppng::sat::PackagePolicyComponent::_needrebootSpec
private

user-supplied

Definition at line 97 of file packagepolicycomponent.h.

◆ _retractedEval

std::optional<EvaluatedSolvableSpec> zyppng::sat::PackagePolicyComponent::_retractedEval
private

Definition at line 101 of file packagepolicycomponent.h.

◆ _ptfMasterEval

std::optional<EvaluatedSolvableSpec> zyppng::sat::PackagePolicyComponent::_ptfMasterEval
private

Definition at line 102 of file packagepolicycomponent.h.

◆ _ptfPackageEval

std::optional<EvaluatedSolvableSpec> zyppng::sat::PackagePolicyComponent::_ptfPackageEval
private

Definition at line 103 of file packagepolicycomponent.h.

◆ _needrebootEval

std::optional<EvaluatedSolvableSpec> zyppng::sat::PackagePolicyComponent::_needrebootEval
private

Definition at line 104 of file packagepolicycomponent.h.


The documentation for this class was generated from the following files: