libzypp 17.31.23
zypp::Patch Class Reference

Class representing a patch. More...

#include <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...
 
typedef Patch Self
 
typedef ResTraits< SelfTraitsType
 
typedef TraitsType::PtrType Ptr
 
typedef TraitsType::constPtrType constPtr
 
typedef sat::SolvableSet Contents
 
- Public Types inherited from zypp::ResObject
typedef ResObject Self
 
typedef ResTraits< SelfTraitsType
 
typedef TraitsType::PtrType Ptr
 
typedef TraitsType::constPtrType constPtr
 
- Public Types inherited from zypp::Resolvable
typedef Resolvable Self
 
typedef ResTraits< SelfTraitsType
 
typedef TraitsType::KindType Kind
 
typedef TraitsType::PtrType Ptr
 
typedef TraitsType::constPtrType constPtr
 

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
 
bool isKind (const ResKind &kind_r) const
 
bool isKind () const
 
bool isKind (TIterator begin, TIterator end) 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
 
bool identical (const Solvable &rhs) const
 
bool identical (const SolvableType< RDerived > &rhs) const
 
bool sameNVRA (const Solvable &rhs) const
 
bool sameNVRA (const SolvableType< RDerived > &rhs) 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
 
Capabilities dep (Dep which_r) const
 
Capabilities operator[] (Dep which_r) 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 supportsLocale (const LocaleSet &locales_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
 
std::string lookupStrAttribute (const SolvAttr &attr, const Locale &lang_r) const
 
bool lookupBoolAttribute (const SolvAttr &attr) const
 
detail::IdType lookupIdAttribute (const SolvAttr &attr) const
 
unsigned long long lookupNumAttribute (const SolvAttr &attr) const
 
unsigned long long lookupNumAttribute (const SolvAttr &attr, unsigned long long notfound_r) 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? restart is suggested then.
 
bool reloginSuggested () const
 Does the patch needs the user to relogin to take effect? relogin is suggested then.
 
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? (does it need user input?)
 
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.
 
virtual ~Patch ()
 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.
 
virtual ~ResObject ()
 Dtor.
 
virtual std::ostream & dumpOn (std::ostream &str) const
 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.
 
virtual ~Resolvable ()
 Dtor.
 
virtual std::ostream & dumpOn (std::ostream &str) const
 Helper for stream output.
 
- Protected Member Functions inherited from zypp::sat::SolvableType< Resolvable >
 SolvableType ()
 
 SolvableType (const SolvableType &)
 
 SolvableType (SolvableType &&)
 
void operator= (const SolvableType &)
 
void operator= (SolvableType &&)
 
 ~SolvableType ()
 
- Protected Member Functions inherited from zypp::base::ReferenceCounted
virtual std::ostream & dumpOn (std::ostream &str) const
 Overload to realize std::ostream & operator<<.
 
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 ( )
protectedvirtual

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.

Friends And Related Function Documentation

◆ 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.

Package::Ptr pkg( make<Package>( s ) );
TraitsType::PtrType Ptr
Definition: Package.h:37
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
ResObject::Ptr make< ResObject >(const sat::Solvable &solvable_r)
Definition: ResObject.h:122
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: