libzypp 17.37.17
zypp::Patch Class Reference

Class representing a patch. More...

#include <zypp/Patch.h>

Inheritance diagram for zypp::Patch:

Classes

class  ReferenceIterator
 Query class for Patch issue references like bugzilla and security issues the patch is supposed to fix. More...

Public Types

enum  Category {
  CAT_OTHER = 1 , CAT_YAST = 1<<1 , CAT_SECURITY = 1<<2 , CAT_RECOMMENDED = 1<<3 ,
  CAT_OPTIONAL = 1<<4 , CAT_DOCUMENT = 1<<5
}
enum  InteractiveFlag { NoFlags = 0x0000 , Reboot = 0x0001 , Message = 0x0002 , License = 0x0004 }
 Flags defining if and why this patch is interactive. More...
enum  SeverityFlag {
  SEV_OTHER = 1 , SEV_NONE = 1<<1 , SEV_LOW = 1<<2 , SEV_MODERATE = 1<<3 ,
  SEV_IMPORTANT = 1<<4 , SEV_CRITICAL = 1<<5
}
 Possible severity levels for (security) patches. More...
using Self = Patch
using TraitsType = ResTraits<Self>
using Ptr = TraitsType::PtrType
using constPtr = TraitsType::constPtrType
using Contents = sat::SolvableSet
Public Types inherited from zypp::ResObject
using Self = ResObject
using TraitsType = ResTraits<Self>
using Ptr = TraitsType::PtrType
using constPtr = TraitsType::constPtrType
Public Types inherited from zypp::Resolvable
using Self = Resolvable
using TraitsType = ResTraits<Self>
using Kind = TraitsType::KindType
using Ptr = TraitsType::PtrType
using constPtr = TraitsType::constPtrType

Public Member Functions

 ZYPP_DECLARE_FLAGS (Categories, Category)
 ZYPP_DECLARE_FLAGS (InteractiveFlags, InteractiveFlag)
 ZYPP_DECLARE_FLAGS (SeverityFlags, SeverityFlag)
Date timestamp () const
 Issue date time.
Public Member Functions inherited from zypp::ResObject
template<class TRes>
ResTraits< TRes >::constPtrType asKind () const
 Convert this into a Ptr of a certain Kind.
template<class TRes>
ResTraits< TRes >::PtrType asKind ()
Vendor vendor () const
 Vendor.
Public Member Functions inherited from zypp::Resolvable
 operator sat::Solvable () const
 This is a sat::SolvableType.
PoolItem poolItem () const
 Access the corresponding PoolItem.
Public Member Functions inherited from zypp::sat::SolvableType< Resolvable >
Solvable satSolvable () const
 Return the corresponding sat::Solvable.
 operator bool () const
IdString ident () const
ResKind kind () const
std::string name () const
Edition edition () const
Arch arch () const
IdString vendor () const
Repository repository () const
RepoInfo repoInfo () const
bool isSystem () const
bool onSystemByUser () const
bool onSystemByAuto () const
bool identIsAutoInstalled () const
bool multiversionInstall () const
bool isNeedreboot () const
bool isBlacklisted () const
bool isRetracted () const
bool isPtf () const
bool isPtfMaster () const
bool isPtfPackage () const
Date buildtime () const
Date installtime () const
std::string asString () const
std::string asUserString () const
Capabilities dep_provides () const
Capabilities dep_requires () const
Capabilities dep_conflicts () const
Capabilities dep_obsoletes () const
Capabilities dep_recommends () const
Capabilities dep_suggests () const
Capabilities dep_enhances () const
Capabilities dep_supplements () const
Capabilities dep_prerequires () const
Capabilities dep (Dep which_r) const
Capabilities operator[] (Dep which_r) const
Capabilities provides () const
Capabilities conflicts () const
Capabilities obsoletes () const
Capabilities recommends () const
Capabilities suggests () const
Capabilities enhances () const
Capabilities supplements () const
Capabilities prerequires () const
CapabilitySet providesNamespace (const std::string &namespace_r) const
CapabilitySet valuesOfNamespace (const std::string &namespace_r) const
bool supportsLocales () const
bool supportsLocale (const Locale &locale_r) const
bool supportsRequestedLocales () const
LocaleSet getSupportedLocales () const
CpeId cpeId () const
unsigned mediaNr () const
ByteCount installSize () const
ByteCount downloadSize () const
std::string distribution () const
std::string summary (const Locale &lang_r=Locale()) const
std::string description (const Locale &lang_r=Locale()) const
std::string insnotify (const Locale &lang_r=Locale()) const
std::string delnotify (const Locale &lang_r=Locale()) const
std::string licenseToConfirm (const Locale &lang_r=Locale()) const
bool needToAcceptLicense () const
std::string lookupStrAttribute (const SolvAttr &attr) const
bool lookupBoolAttribute (const SolvAttr &attr) const
detail::IdType lookupIdAttribute (const SolvAttr &attr) const
unsigned long long lookupNumAttribute (const SolvAttr &attr) const
CheckSum lookupCheckSumAttribute (const SolvAttr &attr) const
OnMediaLocation lookupLocation () const
Solvable::IdType id () const
Public Member Functions inherited from zypp::base::ReferenceCounted
 ReferenceCounted ()
 Default ctor.
 ReferenceCounted (const ReferenceCounted &rhs)
 Copy ctor.
virtual ~ReferenceCounted ()
 Dtor.
ReferenceCountedoperator= (const ReferenceCounted &)
 Assignment.
unsigned refCount () const
 Return reference counter value.
void ref () const
 Add a reference.
void unref () const
 Release a reference.

Patch Category

std::string category () const
 Patch category (recommended, security,...)
Category categoryEnum () const
 This patch's category as enum of wellknown categories.
bool isCategory (const std::string &category_r) const
 Whether this patch's category matches category_r.
bool isCategory (Categories category_r) const
template<class TContainer, typename = typename TContainer::value_type>
bool isCategory (const TContainer &categories_r) const
static Category categoryEnum (const std::string &category_r)
 Patch category as enum of wellknown categories.

Patch Severity

std::string severity () const
 Severity string as specified in metadata.
SeverityFlag severityFlag () const
 Severity string mapped to an enum.
bool isSeverity (const std::string &severity_r) const
 Whether this patch's severity matches severity_r.
bool isSeverity (SeverityFlags severity_r) const
template<class TContainer, typename = typename TContainer::value_type>
bool isSeverity (const TContainer &severities_r) const
bool rebootSuggested () const
 Does the system need to reboot to finish the update process?
bool restartSuggested () const
 Does the patch affect the package manager itself?
bool reloginSuggested () const
 Does the patch needs the user to relogin to take effect?
std::string message (const Locale &lang_r=Locale()) const
 Information or warning to be displayed to the user.
InteractiveFlags interactiveFlags () const
 Get the InteractiveFlags of this Patch.
bool interactiveWhenIgnoring (InteractiveFlags flags_r=NoFlags) const
 Is the patch still interactive when ignoring this flags?
bool interactive () const
 Is the patch installation interactive?
Contents contents () const
 The collection of packages associated with this patch.
ReferenceIterator referencesBegin () const
 Get an iterator to the beginning of the patch references.
ReferenceIterator referencesEnd () const
 Get an iterator to the end of the patch references.
static SeverityFlag severityFlag (const std::string &category_r)
 Severity string mapped to an enum.
Ptr make (const sat::Solvable &solvable_r)
 Directly create a certain kind of ResObject from sat::Solvable.
 Patch (const sat::Solvable &solvable_r)
 Ctor.
 ~Patch () override
 Dtor.

Additional Inherited Members

Static Public Member Functions inherited from zypp::base::ReferenceCounted
static void add_ref (const ReferenceCounted *ptr_r)
 Called by zypp::intrusive_ptr to add a reference.
static void release (const ReferenceCounted *ptr_r)
 Called by zypp::intrusive_ptr to add a reference.
Public Attributes inherited from zypp::sat::SolvableType< Resolvable >
Capabilities const
Protected Member Functions inherited from zypp::ResObject
 ResObject (const sat::Solvable &solvable_r)
 Ctor.
 ~ResObject () override
 Dtor.
std::ostream & dumpOn (std::ostream &str) const override
 Helper for stream output.
 operator sat::Solvable () const
 This is a sat::SolvableType (allow implicit conversion in derived classes).
Protected Member Functions inherited from zypp::Resolvable
 Resolvable (const sat::Solvable &solvable_r)
 Ctor.
 ~Resolvable () override
 Dtor.
std::ostream & dumpOn (std::ostream &str) const override
 Helper for stream output.
Protected Member Functions inherited from zypp::sat::SolvableType< Resolvable >
 SolvableType ()
SolvableTypeoperator= (const SolvableType &)=default
 ~SolvableType ()
Protected Member Functions inherited from zypp::base::ReferenceCounted
virtual void ref_to (unsigned) const
 Trigger derived classes after refCount was increased.
virtual void unref_to (unsigned) const
 Trigger derived classes after refCount was decreased.

Detailed Description

Class representing a patch.

A patch represents a specific problem that can be fixed by pulling in the patch dependencies.

Patches can be marked for installation but their installation is a no-op.

Definition at line 37 of file Patch.h.

Member Typedef Documentation

◆ Self

Definition at line 40 of file Patch.h.

◆ TraitsType

Definition at line 41 of file Patch.h.

◆ Ptr

Definition at line 42 of file Patch.h.

◆ constPtr

Definition at line 43 of file Patch.h.

◆ Contents

Definition at line 46 of file Patch.h.

Member Enumeration Documentation

◆ Category

Enumerator
CAT_OTHER 

unknown value specified

CAT_YAST 
CAT_SECURITY 
CAT_RECOMMENDED 
CAT_OPTIONAL 
CAT_DOCUMENT 

Definition at line 48 of file Patch.h.

◆ InteractiveFlag

Flags defining if and why this patch is interactive.

Enumerator
NoFlags 
Reboot 
Message 
License 

Definition at line 62 of file Patch.h.

◆ SeverityFlag

Possible severity levels for (security) patches.

Metadata string values are mapped to this enum to ease computations. For a string representation call asSring( const Patch::SeverityFlag & ).

Enumerator
SEV_OTHER 

unknown value specified

SEV_NONE 

no value specified

SEV_LOW 

Low.

SEV_MODERATE 

Moderate.

SEV_IMPORTANT 

Important.

SEV_CRITICAL 

Critical.

Definition at line 76 of file Patch.h.

Constructor & Destructor Documentation

◆ Patch()

zypp::Patch::Patch ( const sat::Solvable & solvable_r)
protected

Ctor.

Definition at line 32 of file Patch.cc.

◆ ~Patch()

zypp::Patch::~Patch ( )
overrideprotected

Dtor.

Definition at line 41 of file Patch.cc.

Member Function Documentation

◆ ZYPP_DECLARE_FLAGS() [1/3]

zypp::Patch::ZYPP_DECLARE_FLAGS ( Categories ,
Category  )

◆ ZYPP_DECLARE_FLAGS() [2/3]

zypp::Patch::ZYPP_DECLARE_FLAGS ( InteractiveFlags ,
InteractiveFlag  )

◆ ZYPP_DECLARE_FLAGS() [3/3]

zypp::Patch::ZYPP_DECLARE_FLAGS ( SeverityFlags ,
SeverityFlag  )

◆ timestamp()

Date zypp::Patch::timestamp ( ) const
inline

Issue date time.

For now it is the same as buildtime().

Definition at line 91 of file Patch.h.

◆ category()

std::string zypp::Patch::category ( ) const

Patch category (recommended, security,...)

Definition at line 46 of file Patch.cc.

◆ categoryEnum() [1/2]

Patch::Category zypp::Patch::categoryEnum ( ) const

This patch's category as enum of wellknown categories.

Unknown values are mapped to CAT_OTHER.

Definition at line 49 of file Patch.cc.

◆ isCategory() [1/3]

bool zypp::Patch::isCategory ( const std::string & category_r) const

Whether this patch's category matches category_r.

Definition at line 52 of file Patch.cc.

◆ isCategory() [2/3]

bool zypp::Patch::isCategory ( Categories category_r) const

Definition at line 60 of file Patch.cc.

◆ isCategory() [3/3]

template<class TContainer, typename = typename TContainer::value_type>
bool zypp::Patch::isCategory ( const TContainer & categories_r) const
inline

Definition at line 115 of file Patch.h.

◆ categoryEnum() [2/2]

Patch::Category zypp::Patch::categoryEnum ( const std::string & category_r)
static

Patch category as enum of wellknown categories.

Unknown values are mapped to CAT_OTHER.

Definition at line 63 of file Patch.cc.

◆ severity()

std::string zypp::Patch::severity ( ) const

Severity string as specified in metadata.

For use in computaions see severityFlag.

Definition at line 139 of file Patch.cc.

◆ severityFlag() [1/2]

Patch::SeverityFlag zypp::Patch::severityFlag ( ) const

Severity string mapped to an enum.

Unknown string values are mapped to SEV_OTHER

Definition at line 142 of file Patch.cc.

◆ isSeverity() [1/3]

bool zypp::Patch::isSeverity ( const std::string & severity_r) const

Whether this patch's severity matches severity_r.

Definition at line 145 of file Patch.cc.

◆ isSeverity() [2/3]

bool zypp::Patch::isSeverity ( SeverityFlags severity_r) const

Definition at line 148 of file Patch.cc.

◆ isSeverity() [3/3]

template<class TContainer, typename = typename TContainer::value_type>
bool zypp::Patch::isSeverity ( const TContainer & severities_r) const
inline

Definition at line 151 of file Patch.h.

◆ severityFlag() [2/2]

Patch::SeverityFlag zypp::Patch::severityFlag ( const std::string & category_r)
static

Severity string mapped to an enum.

Unknown string values are mapped to SEV_OTHER

Definition at line 151 of file Patch.cc.

◆ rebootSuggested()

bool zypp::Patch::rebootSuggested ( ) const

Does the system need to reboot to finish the update process?

Definition at line 214 of file Patch.cc.

◆ restartSuggested()

bool zypp::Patch::restartSuggested ( ) const

Does the patch affect the package manager itself?

restart is suggested then

Definition at line 217 of file Patch.cc.

◆ reloginSuggested()

bool zypp::Patch::reloginSuggested ( ) const

Does the patch needs the user to relogin to take effect?

relogin is suggested then

Definition at line 220 of file Patch.cc.

◆ message()

std::string zypp::Patch::message ( const Locale & lang_r = Locale()) const

Information or warning to be displayed to the user.

Definition at line 211 of file Patch.cc.

◆ interactiveFlags()

Patch::InteractiveFlags zypp::Patch::interactiveFlags ( ) const

Get the InteractiveFlags of this Patch.

Definition at line 223 of file Patch.cc.

◆ interactiveWhenIgnoring()

bool zypp::Patch::interactiveWhenIgnoring ( InteractiveFlags flags_r = NoFlags) const

Is the patch still interactive when ignoring this flags?

Definition at line 247 of file Patch.cc.

◆ interactive()

bool zypp::Patch::interactive ( ) const

Is the patch installation interactive?

(does it need user input?)

For security reasons patches requiring a reboot are not installed in an unattended mode. They are considered to be interactive so the user gets informed about the need for reboot. ignoreRebootFlag_r may be used to explicitly turn off this behavior and include those patches (unless they actually contain interactive components as well, like messages or licenses).

Definition at line 259 of file Patch.cc.

◆ contents()

Patch::Contents zypp::Patch::contents ( ) const

The collection of packages associated with this patch.

Definition at line 276 of file Patch.cc.

◆ referencesBegin()

Patch::ReferenceIterator zypp::Patch::referencesBegin ( ) const
inline

Get an iterator to the beginning of the patch references.

See also
Patch::ReferenceIterator

Definition at line 305 of file Patch.h.

◆ referencesEnd()

Patch::ReferenceIterator zypp::Patch::referencesEnd ( ) const
inline

Get an iterator to the end of the patch references.

See also
Patch::ReferenceIterator

Definition at line 308 of file Patch.h.

◆ make

Ptr make ( const sat::Solvable & solvable_r)
friend

Directly create a certain kind of ResObject from sat::Solvable.

If the sat::Solvables kind is not appropriate, a NULL pointer is returned.

TraitsType::PtrType Ptr
Definition Package.h:38
friend Ptr make(const sat::Solvable &solvable_r)
Directly create a certain kind of ResObject from sat::Solvable.
Definition ResObject.h:118
friend ResObject::Ptr makeResObject(const sat::Solvable &solvable_r)
Create ResObject from sat::Solvable.
Definition ResObject.cc:43
TraitsType::PtrType Ptr
Definition ResObject.h:42
A Solvable object within the sat Pool.
Definition Solvable.h:54
Todo
make<> was a poor choice (AFAIR because gcc had some trouble with asKind<>(sat::Solvable)). Remove it in favour of asKind<>(sat::Solvable)

Definition at line 118 of file ResObject.h.


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