libzypp 17.37.10

zypp::Package Class Reference

Package interface. More...

`#include <zypp/Package.h>`

Inheritance diagram for zypp::Package:

## Public Types
using | Self = Package
using | TraitsType = ResTraits<Self>
using | Ptr = TraitsType::PtrType
using | constPtr = TraitsType::constPtrType
using | Keywords = sat::ArrayAttr<PackageKeyword, IdString>
using | FileList = sat::ArrayAttr<std::string, std::string>
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
VendorSupportOption | vendorSupport () const
| Returns the level of supportability the vendor gives to this package.
bool | maybeUnsupported () const
| True if the vendor support for this package is unknown or explicitly unsupported.
std::vector< std::string > | supersededBy () const
| The name(s) of the successor package if vendorSupport is VendorSupportSuperseded.
std::pair< std::vector< IdString >, std::vector< std::string > > | supersededByItems () const
| The successor package(s) if vendorSupport is VendorSupportSuperseded.
Changelog | changelog () const
| Get the package change log.
std::string | buildhost () const
std::string | distribution () const
std::string | license () const
std::string | packager () const
std::string | group () const
Keywords | keywords () const
std::string | url () const
| Don't ship it as class Url, because it might be in fact anything but a legal Url.
ByteCount | sourcesize () const
| Size of corresponding the source package.
std::list< std::string > | authors () const
FileList | filelist () const
| Return the packages filelist (if available).
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.

## Source package handling
std::string | sourcePkgName () const
| Name of the source rpm this package was built from.
Edition | sourcePkgEdition () const
| Edition of the source rpm this package was built from.
std::string | sourcePkgType () const
| The type of the source rpm (`"src"` or `"nosrc"`).
std::string | sourcePkgLongName () const
| The source rpms `"name-version-release.type"`.
CheckSum | checksum () const
| Checksum the source says this package should have.
OnMediaLocation | location () const
| Location of the resolvable in the repository.
Pathname | cachedLocation () const
| Location of the downloaded package in cache or an empty path.
bool | isCached () const
| Whether the package is cached.
Ptr | make (const sat::Solvable &solvable_r)
| Directly create a certain kind of ResObject from sat::Solvable.
| Package (const sat::Solvable &solvable_r)
| Ctor.
| ~Package () 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

Package interface.

Definition at line 33 of file Package.h.

## Member Typedef Documentation

## ◆ Self

using zypp::Package::Self = Package

Definition at line 36 of file Package.h.

## ◆ TraitsType

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

Definition at line 37 of file Package.h.

## ◆ Ptr

using zypp::Package::Ptr = TraitsType::PtrType

Definition at line 38 of file Package.h.

## ◆ constPtr

using zypp::Package::constPtr = TraitsType::constPtrType

Definition at line 39 of file Package.h.

## ◆ Keywords

using zypp::Package::Keywords = sat::ArrayAttr<PackageKeyword, IdString>

Definition at line 42 of file Package.h.

## ◆ FileList

using zypp::Package::FileList = sat::ArrayAttr<std::string, std::string>

Definition at line 43 of file Package.h.

## Constructor & Destructor Documentation

## ◆ Package()

zypp::Package::Package | ( | const sat::Solvable & | solvable_r | ) |
| protected

Ctor.

Definition at line 139 of file Package.cc.

## ◆ ~Package()

zypp::Package::~Package | ( |  | ) |
| override protected

Dtor.

Definition at line 148 of file Package.cc.

## Member Function Documentation

## ◆ vendorSupport()

VendorSupportOption zypp::Package::vendorSupport | ( |  | ) | const

Returns the level of supportability the vendor gives to this package.

If the identical package happens to appear in multiple repos with different support levels, the maximum level is returned.

This is one value from VendorSupportOption.

Definition at line 151 of file Package.cc.

## ◆ maybeUnsupported()

bool zypp::Package::maybeUnsupported | ( |  | ) | const

True if the vendor support for this package is unknown or explicitly unsupported.

Definition at line 154 of file Package.cc.

## ◆ supersededBy()

std::vector< std::string > zypp::Package::supersededBy | ( |  | ) | const

The name(s) of the successor package if vendorSupport is VendorSupportSuperseded.

Ideally only one name, but it might be that different repos provide different successor names. These are the pure metadata values.

See also
  supersededByItems and ui::Selectable::supersededBy

Definition at line 172 of file Package.cc.

## ◆ supersededByItems()

std::pair< std::vector< IdString >, std::vector< std::string > > zypp::Package::supersededByItems | ( |  | ) | const

The successor package(s) if vendorSupport is VendorSupportSuperseded.

Each name returned by supersededBy is resolved into the Solvable::ident of an Item in the pool (collapsing chains of superseeded packages).

The std::pair returned contains the IdString idents of superseeding packages and any std::strings which could not be resolved into a package name.

Ideally you get back one IdString and no unresolved names. Multiple IdStrings express a choice. Unresolved names hint to broken repo metadata, as superseeding packages should be available in the repo.

Definition at line 185 of file Package.cc.

## ◆ changelog()

Changelog zypp::Package::changelog | ( |  | ) | const

Get the package change log.

Definition at line 220 of file Package.cc.

## ◆ buildhost()

std::string zypp::Package::buildhost | ( |  | ) | const

Definition at line 239 of file Package.cc.

## ◆ distribution()

std::string zypp::Package::distribution | ( |  | ) | const

Definition at line 242 of file Package.cc.

## ◆ license()

std::string zypp::Package::license | ( |  | ) | const

Definition at line 245 of file Package.cc.

## ◆ packager()

std::string zypp::Package::packager | ( |  | ) | const

Definition at line 248 of file Package.cc.

## ◆ group()

std::string zypp::Package::group | ( |  | ) | const

Definition at line 251 of file Package.cc.

## ◆ keywords()

Package::Keywords zypp::Package::keywords | ( |  | ) | const

Definition at line 254 of file Package.cc.

## ◆ url()

std::string zypp::Package::url | ( |  | ) | const

Don't ship it as class Url, because it might be in fact anything but a legal Url.

Definition at line 257 of file Package.cc.

## ◆ sourcesize()

ByteCount zypp::Package::sourcesize | ( |  | ) | const

Size of corresponding the source package.

Definition at line 260 of file Package.cc.

## ◆ authors()

std::list< std::string > zypp::Package::authors | ( |  | ) | const

Definition at line 263 of file Package.cc.

## ◆ filelist()

Package::FileList zypp::Package::filelist | ( |  | ) | const

Return the packages filelist (if available).

The returned FileList appears to be a container of `std::string`. In fact it is a query, so it does not consume much memory.

Definition at line 270 of file Package.cc.

## ◆ sourcePkgName()

std::string zypp::Package::sourcePkgName | ( |  | ) | const

Name of the source rpm this package was built from.

Definition at line 282 of file Package.cc.

## ◆ sourcePkgEdition()

Edition zypp::Package::sourcePkgEdition | ( |  | ) | const

Edition of the source rpm this package was built from.

Definition at line 289 of file Package.cc.

## ◆ sourcePkgType()

std::string zypp::Package::sourcePkgType | ( |  | ) | const

The type of the source rpm (`"src"` or `"nosrc"`).

Definition at line 296 of file Package.cc.

## ◆ sourcePkgLongName()

std::string zypp::Package::sourcePkgLongName | ( |  | ) | const

The source rpms `"name-version-release.type"`.

Definition at line 299 of file Package.cc.

## ◆ checksum()

CheckSum zypp::Package::checksum | ( |  | ) | const

Checksum the source says this package should have.

See also
  location

Definition at line 273 of file Package.cc.

## ◆ location()

OnMediaLocation zypp::Package::location | ( |  | ) | const

Location of the resolvable in the repository.

OnMediaLocation conatins all information required to retrieve the packge (url, checksum, etc.).

Definition at line 276 of file Package.cc.

## ◆ cachedLocation()

Pathname zypp::Package::cachedLocation | ( |  | ) | const

Location of the downloaded package in cache or an empty path.

Definition at line 279 of file Package.cc.

## ◆ isCached()

bool zypp::Package::isCached | ( |  | ) | const
| inline

Whether the package is cached.

Definition at line 151 of file Package.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::make
friend Ptr make(const sat::Solvable &solvable_r)
Directly create a certain kind of ResObject from sat::Solvable.
Definition ResObject.h:118
zypp::Package::Ptr
TraitsType::PtrType Ptr
Definition Package.h:38
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/Package.h
- zypp/Package.cc