libzypp 17.37.10

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.
ReferenceCounted & | operator= (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 ()
SolvableType & | operator= (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.
Related Symbols inherited from zypp::ResObject
template<class TRes>
ResTraits< TRes >::PtrType | asKind (const ResObject::Ptr &p)
| Convert ResObject::Ptr into Ptr of a certain Kind.
Related Symbols inherited from zypp::Resolvable
std::ostream & | operator<< (std::ostream &str, const Resolvable &obj)
| Stream output.
std::ostream & | dumpOn (std::ostream &str, const Resolvable &obj)
| More verbose stream output including dependencies.
template<class TRes>
bool | isKind (const Resolvable::constPtr &p)
| Test whether a Resolvable::Ptr is of a certain Kind.
template<class TRes>
ResTraits< TRes >::PtrType | asKind (const Resolvable::Ptr &p)
| Convert Resolvable::Ptr into Ptr of a certain Kind.
int | compareByN (const Resolvable::constPtr &lhs, const Resolvable::constPtr &rhs)
| Compare Resolvable::constPtr according to kind and name.
int | compareByNVR (const Resolvable::constPtr &lhs, const Resolvable::constPtr &rhs)
| Compare according to kind, name and edition.
int | compareByNVRA (const Resolvable::constPtr &lhs, const Resolvable::constPtr &rhs)
| Compare Resolvable::constPtr according to kind, name, edition and arch.
Related Symbols inherited from zypp::sat::SolvableType< Resolvable >
std::ostream & | operator<< (std::ostream &str, const SolvableType< Resolvable > &obj)
| Stream output.
std::ostream & | dumpOn (std::ostream &str, const SolvableType< Resolvable > &obj)
| More verbose stream output including dependencies.
bool | operator== (const SolvableType< LDerived > &lhs, const SolvableType< RDerived > &rhs)
| Equal.
bool | operator!= (const SolvableType< LDerived > &lhs, const SolvableType< RDerived > &rhs)
| NotEqual.
bool | operator< (const SolvableType< LDerived > &lhs, const SolvableType< RDerived > &rhs)
| Less.
bool | isKind (const SolvableType< Resolvable > &solvable_r)
| Test whether the Solvable is of a certain ResKind.
bool | identical (const SolvableType< LDerived > &lhs, const SolvableType< RDerived > &rhs)
| Test for same content.
bool | sameNVRA (const SolvableType< LDerived > &lhs, const SolvableType< RDerived > &rhs)
| Test for same name version release and arch.
int | compareByN (const SolvableType< LDerived > &lhs, const SolvableType< RDerived > &rhs)
| Compare according to kind and name.
int | compareByNVR (const SolvableType< LDerived > &lhs, const SolvableType< RDerived > &rhs)
| Compare according to kind, name and edition.
int | compareByNVRA (const SolvableType< LDerived > &lhs, const SolvableType< RDerived > &rhs)
| Compare according to kind, name, edition and arch.
Related Symbols inherited from zypp::base::ReferenceCounted
void | intrusive_ptr_add_ref (const ReferenceCounted *ptr_r)
| intrusive_ptr hook to add_ref.
void | intrusive_ptr_release (const ReferenceCounted *ptr_r)
| intrusive_ptr hook to release.
std::ostream & | operator<< (std::ostream &str, const ReferenceCounted &obj)
| Stream output.

## 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

using zypp::Patch::Self = Patch

Definition at line 40 of file Patch.h.

## ◆ TraitsType

using zypp::Patch::TraitsType = ResTraits<Self>

Definition at line 41 of file Patch.h.

## ◆ Ptr

using zypp::Patch::Ptr = TraitsType::PtrType

Definition at line 42 of file Patch.h.

## ◆ constPtr

using zypp::Patch::constPtr = TraitsType::constPtrType

Definition at line 43 of file Patch.h.

## ◆ Contents

using zypp::Patch::Contents = sat::SolvableSet

Definition at line 46 of file Patch.h.

## Member Enumeration Documentation

## ◆ Category

enum zypp::Patch::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

enum zypp::Patch::InteractiveFlag

Flags defining if and why this patch is interactive.

Enumerator
NoFlags |
Reboot |
Message |
License |

Definition at line 62 of file Patch.h.

## ◆ SeverityFlag

enum zypp::Patch::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 | ( |  | ) |
| override protected

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

sat::Solvable s;
ResObject::Ptr p( makeResObject( s ) );
ResObject::Ptr q( make<ResObject>( s ) );
Package::Ptr pkg( make<Package>( s ) );
zypp::Package::Ptr
TraitsType::PtrType Ptr
Definition Package.h:38
zypp::Patch::make
friend Ptr make(const sat::Solvable &solvable_r)
Directly create a certain kind of ResObject from sat::Solvable.
Definition ResObject.h:118
zypp::ResObject::makeResObject
friend ResObject::Ptr makeResObject(const sat::Solvable &solvable_r)
Create ResObject from sat::Solvable.
Definition ResObject.cc:43
zypp::ResObject::Ptr
TraitsType::PtrType Ptr
Definition ResObject.h:42
zypp::sat::Solvable
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:

- zypp/Patch.h
- zypp/Patch.cc