libzypp: zypp::Package Class Reference

libzypp 17.38.11

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
bool | isKind (const ResKind &kind_r) 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
Capability | patternProvides () const
bool | isPatternPackage () const
Capability | productProvides () const
bool | isProductPackage () 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 | sameNVRA (const Solvable &rhs) 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.

## 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 140 of file Package.cc.

## ◆ ~Package()

zypp::Package::~Package | ( |  | ) |
| overrideprotected

Dtor.

Definition at line 149 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 152 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 155 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 173 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 186 of file Package.cc.

## ◆ changelog()

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

Get the package change log.

Definition at line 221 of file Package.cc.

## ◆ buildhost()

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

Definition at line 240 of file Package.cc.

## ◆ distribution()

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

Definition at line 243 of file Package.cc.

## ◆ license()

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

Definition at line 246 of file Package.cc.

## ◆ packager()

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

Definition at line 249 of file Package.cc.

## ◆ group()

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

Definition at line 252 of file Package.cc.

## ◆ keywords()

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

Definition at line 255 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 258 of file Package.cc.

## ◆ sourcesize()

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

Size of corresponding the source package.

Definition at line 261 of file Package.cc.

## ◆ authors()

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

Definition at line 264 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 271 of file Package.cc.

## ◆ sourcePkgName()

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

Name of the source rpm this package was built from.

Definition at line 283 of file Package.cc.

## ◆ sourcePkgEdition()

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

Edition of the source rpm this package was built from.

Definition at line 290 of file Package.cc.

## ◆ sourcePkgType()

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

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

Definition at line 297 of file Package.cc.

## ◆ sourcePkgLongName()

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

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

Definition at line 300 of file Package.cc.

## ◆ checksum()

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

Checksum the source says this package should have.

See also
  location

Definition at line 274 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 277 of file Package.cc.

## ◆ cachedLocation()

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

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

Definition at line 280 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