libzypp  17.7.0
zypp::sat::Solvable Class Reference

A Solvable object within the sat Pool. More...

#include <Solvable.h>

Inheritance diagram for zypp::sat::Solvable:

Classes

class  SplitIdent
 Helper that splits an identifier into kind and name or vice versa. More...
 

Public Types

typedef sat::detail::SolvableIdType IdType
 

Public Member Functions

 Solvable ()
 Default ctor creates noSolvable. More...
 
 Solvable (IdType id_r)
 PoolImpl ctor. More...
 
 operator bool () const
 Evaluate Solvable in a boolean context (!= noSolvable). More...
 
IdString ident () const
 The identifier. More...
 
ResKind kind () const
 The Solvables ResKind. More...
 
bool isKind (const ResKind &kind_r) const
 Test whether a Solvable is of a certain ResKind. More...
 
template<class TRes >
bool isKind () const
 
template<class TIterator >
bool isKind (TIterator begin, TIterator end) const
 
std::string name () const
 The name (without any ResKind prefix). More...
 
Edition edition () const
 The edition (version-release). More...
 
Arch arch () const
 The architecture. More...
 
IdString vendor () const
 The vendor. More...
 
Repository repository () const
 The Repository this Solvable belongs to. More...
 
RepoInfo repoInfo () const
 The repositories RepoInfo. More...
 
bool isSystem () const
 Return whether this Solvable belongs to the system repo. More...
 
bool onSystemByUser () const
 Whether this is known to be installed on behalf of a user request. More...
 
bool onSystemByAuto () const
 Whether this is known to be automatically installed (as dependency of a user request package). More...
 
bool identIsAutoInstalled () const
 Whether an installed solvable with the same ident is flagged as AutoInstalled. More...
 
bool multiversionInstall () const
 Whether different versions of this package can be installed at the same time. More...
 
Date buildtime () const
 The items build time. More...
 
Date installtime () const
 The items install time (false if not installed). More...
 
std::string asString () const
 String representation "ident-edition.arch" or "noSolvable". More...
 
std::string asUserString () const
 String representation "ident-edition.arch(repo)" or "noSolvable". More...
 
bool identical (const Solvable &rhs) const
 Test whether two Solvables have the same content. More...
 
bool sameNVRA (const Solvable &rhs) const
 Test for same name-version-release.arch. More...
 
CpeId cpeId () const
 The solvables CpeId if available. More...
 
unsigned mediaNr () const
 Media number the solvable is located on (0 if no media access required). More...
 
ByteCount installSize () const
 Installed (unpacked) size. More...
 
ByteCount downloadSize () const
 Download size. More...
 
std::string distribution () const
 The distribution string. More...
 
std::string summary (const Locale &lang_r=Locale()) const
 Short (singleline) text describing the solvable (opt. More...
 
std::string description (const Locale &lang_r=Locale()) const
 Long (multiline) text describing the solvable (opt. More...
 
std::string insnotify (const Locale &lang_r=Locale()) const
 UI hint text when selecting the solvable for install (opt. More...
 
std::string delnotify (const Locale &lang_r=Locale()) const
 UI hint text when selecting the solvable for uninstall (opt. More...
 
std::string licenseToConfirm (const Locale &lang_r=Locale()) const
 License or agreement to accept before installing the solvable (opt. More...
 
bool needToAcceptLicense () const
 True except for well known exceptions (i.e show license but no need to accept it). More...
 
Solvable nextInPool () const
 Return next Solvable in Pool (or noSolvable). More...
 
Solvable nextInRepo () const
 Return next Solvable in Repo (or noSolvable). More...
 
detail::CSolvableget () const
 Expert backdoor. More...
 
IdType id () const
 Expert backdoor. More...
 
Access to the \ref Solvable dependencies.
Note
Prerequires are a subset of requires.
Capabilities provides () const
 
Capabilities requires () 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
 Return Capabilities selected by Dep constant. More...
 
Capabilities operator[] (Dep which_r) const
 
CapabilitySet providesNamespace (const std::string &namespace_r) const
 Return the namespaced provides 'namespace([value])[ op edition]' of this Solvable. More...
 
CapabilitySet valuesOfNamespace (const std::string &namespace_r) const
 Return 'value[ op edition]' for namespaced provides 'namespace(value)[ op edition]'. More...
 
Locale support.
bool supportsLocales () const
 Whether this Solvable claims to support locales. More...
 
bool supportsLocale (const Locale &locale_r) const
 Whether this Solvable supports a specific Locale. More...
 
bool supportsLocale (const LocaleSet &locales_r) const
 Whether this Solvable supports at least one of the specified locales. More...
 
bool supportsRequestedLocales () const
 Whether this Solvable supports at least one requested locale. More...
 
LocaleSet getSupportedLocales () const
 Return the supported locales. More...
 
void getSupportedLocales (LocaleSet &locales_r) const
 
Attribute lookup.
See also
LookupAttr and ArrayAttr providing a general, more query like interface for attribute retrieval.
std::string lookupStrAttribute (const SolvAttr &attr) const
 returns the string attribute value for attr or an empty string if it does not exists. More...
 
std::string lookupStrAttribute (const SolvAttr &attr, const Locale &lang_r) const
 
unsigned long long lookupNumAttribute (const SolvAttr &attr) const
 returns the numeric attribute value for attr or 0 if it does not exists. More...
 
unsigned long long lookupNumAttribute (const SolvAttr &attr, unsigned long long notfound_r) const
 
bool lookupBoolAttribute (const SolvAttr &attr) const
 returns the boolean attribute value for attr or false if it does not exists. More...
 
detail::IdType lookupIdAttribute (const SolvAttr &attr) const
 returns the id attribute value for attr or detail::noId if it does not exists. More...
 
CheckSum lookupCheckSumAttribute (const SolvAttr &attr) const
 returns the CheckSum attribute value for attr or an empty CheckSum if ir does not exist. More...
 
OnMediaLocation lookupLocation () const
 returns OnMediaLocation data: This is everything we need to download e.g. More...
 

Static Public Member Functions

static bool identIsAutoInstalled (const IdString &ident_r)
 

Static Public Attributes

static const Solvable noSolvable
 Represents no Solvable. More...
 

Private Attributes

IdType _id
 

Related Functions

(Note that these are not member functions.)

std::ostream & operator<< (std::ostream &str, const Solvable &obj)
 
std::ostream & dumpOn (std::ostream &str, const Solvable &obj)
 
std::ostream & dumpAsXmlOn (std::ostream &str, const Solvable &obj)
 
bool operator== (const Solvable &lhs, const Solvable &rhs)
 
bool operator!= (const Solvable &lhs, const Solvable &rhs)
 
bool operator< (const Solvable &lhs, const Solvable &rhs)
 
template<class TRes >
bool isKind (const Solvable &solvable_r)
 
bool identical (const Solvable &lhs, const Solvable &rhs)
 
bool sameNVRA (const Solvable &lhs, const Solvable &rhs)
 
int compareByN (const Solvable &lhs, const Solvable &rhs)
 
int compareByNVR (const Solvable &lhs, const Solvable &rhs)
 
int compareByNVRA (const Solvable &lhs, const Solvable &rhs)
 

Additional Inherited Members

- Static Protected Member Functions inherited from zypp::sat::detail::PoolMember
static PoolImplmyPool ()
 

Detailed Description

A Solvable object within the sat Pool.

Note
Unfortunately libsolv combines the objects kind and name in a single identifier "pattern:kde_multimedia", except for packages and source packes. They are not prefixed by any kind string. Instead the architecture is abused to store "src" and "nosrc" values.

Solvable will hide this inconsistency by treating source packages as an own kind of solvable and map their arch to Arch_noarch.

Definition at line 53 of file Solvable.h.

Member Typedef Documentation

◆ IdType

Constructor & Destructor Documentation

◆ Solvable() [1/2]

zypp::sat::Solvable::Solvable ( )
inline

Default ctor creates noSolvable.

Definition at line 60 of file Solvable.h.

◆ Solvable() [2/2]

zypp::sat::Solvable::Solvable ( IdType  id_r)
inlineexplicit

PoolImpl ctor.

Definition at line 65 of file Solvable.h.

Member Function Documentation

◆ operator bool()

zypp::sat::Solvable::operator bool ( ) const
inlineexplicit

Evaluate Solvable in a boolean context (!= noSolvable).

Definition at line 74 of file Solvable.h.

◆ ident()

IdString zypp::sat::Solvable::ident ( ) const

The identifier.

This is the solvables name, except for packages and source packes, prefixed by it's kind.

Definition at line 265 of file Solvable.cc.

◆ kind()

ResKind zypp::sat::Solvable::kind ( ) const

The Solvables ResKind.

Definition at line 271 of file Solvable.cc.

◆ isKind() [1/3]

bool zypp::sat::Solvable::isKind ( const ResKind kind_r) const

Test whether a Solvable is of a certain ResKind.

The test is far cheaper than actually retrieving and comparing the kind.

Definition at line 298 of file Solvable.cc.

◆ isKind() [2/3]

template<class TRes >
bool zypp::sat::Solvable::isKind ( ) const
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 94 of file Solvable.h.

◆ isKind() [3/3]

template<class TIterator >
bool zypp::sat::Solvable::isKind ( TIterator  begin,
TIterator  end 
) const
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 98 of file Solvable.h.

◆ name()

std::string zypp::sat::Solvable::name ( ) const

The name (without any ResKind prefix).

Definition at line 325 of file Solvable.cc.

◆ edition()

Edition zypp::sat::Solvable::edition ( ) const

The edition (version-release).

Definition at line 333 of file Solvable.cc.

◆ arch()

Arch zypp::sat::Solvable::arch ( ) const

The architecture.

Definition at line 339 of file Solvable.cc.

◆ vendor()

IdString zypp::sat::Solvable::vendor ( ) const

The vendor.

Definition at line 353 of file Solvable.cc.

◆ repository()

Repository zypp::sat::Solvable::repository ( ) const

The Repository this Solvable belongs to.

Definition at line 359 of file Solvable.cc.

◆ repoInfo()

RepoInfo zypp::sat::Solvable::repoInfo ( ) const

The repositories RepoInfo.

Definition at line 365 of file Solvable.cc.

◆ isSystem()

bool zypp::sat::Solvable::isSystem ( ) const

Return whether this Solvable belongs to the system repo.

Note
This includes the otherwise hidden systemSolvable.

Definition at line 369 of file Solvable.cc.

◆ onSystemByUser()

bool zypp::sat::Solvable::onSystemByUser ( ) const

Whether this is known to be installed on behalf of a user request.

Note
Returns false for non-system (uninstalled) solvables.

Definition at line 375 of file Solvable.cc.

◆ onSystemByAuto()

bool zypp::sat::Solvable::onSystemByAuto ( ) const

Whether this is known to be automatically installed (as dependency of a user request package).

Note
Returns false for non-system (uninstalled) solvables.

Definition at line 380 of file Solvable.cc.

◆ identIsAutoInstalled() [1/2]

bool zypp::sat::Solvable::identIsAutoInstalled ( ) const
inline

Whether an installed solvable with the same ident is flagged as AutoInstalled.

Definition at line 134 of file Solvable.h.

◆ identIsAutoInstalled() [2/2]

bool zypp::sat::Solvable::identIsAutoInstalled ( const IdString ident_r)
static

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 385 of file Solvable.cc.

◆ multiversionInstall()

bool zypp::sat::Solvable::multiversionInstall ( ) const

Whether different versions of this package can be installed at the same time.

Per default false.

See also
also ZConfig::multiversion.

Definition at line 390 of file Solvable.cc.

◆ buildtime()

Date zypp::sat::Solvable::buildtime ( ) const

The items build time.

Definition at line 396 of file Solvable.cc.

◆ installtime()

Date zypp::sat::Solvable::installtime ( ) const

The items install time (false if not installed).

Definition at line 402 of file Solvable.cc.

◆ asString()

std::string zypp::sat::Solvable::asString ( ) const

String representation "ident-edition.arch" or "noSolvable".

product:openSUSE-11.1.x86_64
autoyast2-2.16.19-0.1.src

Definition at line 408 of file Solvable.cc.

◆ asUserString()

std::string zypp::sat::Solvable::asUserString ( ) const

String representation "ident-edition.arch(repo)" or "noSolvable".

Definition at line 417 of file Solvable.cc.

◆ identical()

bool zypp::sat::Solvable::identical ( const Solvable rhs) const

Test whether two Solvables have the same content.

Basically the same name, edition, arch, vendor and buildtime.

Definition at line 427 of file Solvable.cc.

◆ sameNVRA()

bool zypp::sat::Solvable::sameNVRA ( const Solvable rhs) const
inline

Test for same name-version-release.arch.

Definition at line 169 of file Solvable.h.

◆ provides()

Capabilities zypp::sat::Solvable::provides ( ) const

Definition at line 444 of file Solvable.cc.

◆ requires()

Capabilities zypp::sat::Solvable::requires ( ) const

Definition at line 449 of file Solvable.cc.

◆ conflicts()

Capabilities zypp::sat::Solvable::conflicts ( ) const

Definition at line 454 of file Solvable.cc.

◆ obsoletes()

Capabilities zypp::sat::Solvable::obsoletes ( ) const

Definition at line 459 of file Solvable.cc.

◆ recommends()

Capabilities zypp::sat::Solvable::recommends ( ) const

Definition at line 464 of file Solvable.cc.

◆ suggests()

Capabilities zypp::sat::Solvable::suggests ( ) const

Definition at line 469 of file Solvable.cc.

◆ enhances()

Capabilities zypp::sat::Solvable::enhances ( ) const

Definition at line 474 of file Solvable.cc.

◆ supplements()

Capabilities zypp::sat::Solvable::supplements ( ) const

Definition at line 479 of file Solvable.cc.

◆ prerequires()

Capabilities zypp::sat::Solvable::prerequires ( ) const

Definition at line 484 of file Solvable.cc.

◆ dep()

Capabilities zypp::sat::Solvable::dep ( Dep  which_r) const
inline

Return Capabilities selected by Dep constant.

Definition at line 189 of file Solvable.h.

◆ operator[]()

Capabilities zypp::sat::Solvable::operator[] ( Dep  which_r) const
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 206 of file Solvable.h.

◆ providesNamespace()

CapabilitySet zypp::sat::Solvable::providesNamespace ( const std::string &  namespace_r) const

Return the namespaced provides 'namespace([value])[ op edition]' of this Solvable.

Definition at line 493 of file Solvable.cc.

◆ valuesOfNamespace()

CapabilitySet zypp::sat::Solvable::valuesOfNamespace ( const std::string &  namespace_r) const

Return 'value[ op edition]' for namespaced provides 'namespace(value)[ op edition]'.

Similar to providesNamespace, but the namespace is stripped from the dependencies. This is convenient if the namespace denotes packages that should be looked up. E.g. the weakremover namespace used in a products release package denotes the packages that were dropped from the distribution.

See also
Product::droplist

Definition at line 507 of file Solvable.cc.

◆ supportsLocales()

bool zypp::sat::Solvable::supportsLocales ( ) const

Whether this Solvable claims to support locales.

Definition at line 602 of file Solvable.cc.

◆ supportsLocale() [1/2]

bool zypp::sat::Solvable::supportsLocale ( const Locale locale_r) const

Whether this Solvable supports a specific Locale.

Definition at line 608 of file Solvable.cc.

◆ supportsLocale() [2/2]

bool zypp::sat::Solvable::supportsLocale ( const LocaleSet locales_r) const

Whether this Solvable supports at least one of the specified locales.

Definition at line 614 of file Solvable.cc.

◆ supportsRequestedLocales()

bool zypp::sat::Solvable::supportsRequestedLocales ( ) const

Whether this Solvable supports at least one requested locale.

See also
Pool::setRequestedLocales

Definition at line 622 of file Solvable.cc.

◆ getSupportedLocales() [1/2]

LocaleSet zypp::sat::Solvable::getSupportedLocales ( ) const

Return the supported locales.

Definition at line 625 of file Solvable.cc.

◆ getSupportedLocales() [2/2]

void zypp::sat::Solvable::getSupportedLocales ( LocaleSet locales_r) const
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 239 of file Solvable.h.

◆ cpeId()

CpeId zypp::sat::Solvable::cpeId ( ) const

The solvables CpeId if available.

Definition at line 632 of file Solvable.cc.

◆ mediaNr()

unsigned zypp::sat::Solvable::mediaNr ( ) const

Media number the solvable is located on (0 if no media access required).

Definition at line 638 of file Solvable.cc.

◆ installSize()

ByteCount zypp::sat::Solvable::installSize ( ) const

Installed (unpacked) size.

This is just a total number. Many objects provide even more detailed disk usage data. You can use DiskUsageCounter to find out how objects data are distributed across partitions/directories.

// Load directory set into ducounter
DiskUsageCounter ducounter( { "/", "/usr", "/var" } );
// see how noch space the packages use
for ( const PoolItem & pi : pool )
{
cout << pi << ducounter.disk_usage( pi ) << endl;
// I__s_(7)GeoIP-1.4.8-3.1.2.x86_64(@System) {
// dir:[/] [ bs: 0 B ts: 0 B us: 0 B (+-: 1.0 KiB)]
// dir:[/usr] [ bs: 0 B ts: 0 B us: 0 B (+-: 133.0 KiB)]
// dir:[/var] [ bs: 0 B ts: 0 B us: 0 B (+-: 1.1 MiB)]
// }
}
See also
DiskUsageCounter

Definition at line 651 of file Solvable.cc.

◆ downloadSize()

ByteCount zypp::sat::Solvable::downloadSize ( ) const

Download size.

Definition at line 657 of file Solvable.cc.

◆ distribution()

std::string zypp::sat::Solvable::distribution ( ) const

The distribution string.

Definition at line 663 of file Solvable.cc.

◆ summary()

std::string zypp::sat::Solvable::summary ( const Locale lang_r = Locale()) const

Short (singleline) text describing the solvable (opt.

translated).

Definition at line 669 of file Solvable.cc.

◆ description()

std::string zypp::sat::Solvable::description ( const Locale lang_r = Locale()) const

Long (multiline) text describing the solvable (opt.

translated).

Definition at line 675 of file Solvable.cc.

◆ insnotify()

std::string zypp::sat::Solvable::insnotify ( const Locale lang_r = Locale()) const

UI hint text when selecting the solvable for install (opt.

translated).

Definition at line 681 of file Solvable.cc.

◆ delnotify()

std::string zypp::sat::Solvable::delnotify ( const Locale lang_r = Locale()) const

UI hint text when selecting the solvable for uninstall (opt.

translated).

Definition at line 687 of file Solvable.cc.

◆ licenseToConfirm()

std::string zypp::sat::Solvable::licenseToConfirm ( const Locale lang_r = Locale()) const

License or agreement to accept before installing the solvable (opt.

translated).

Definition at line 693 of file Solvable.cc.

◆ needToAcceptLicense()

bool zypp::sat::Solvable::needToAcceptLicense ( ) const

True except for well known exceptions (i.e show license but no need to accept it).

Definition at line 710 of file Solvable.cc.

◆ lookupStrAttribute() [1/2]

std::string zypp::sat::Solvable::lookupStrAttribute ( const SolvAttr attr) const

returns the string attribute value for attr or an empty string if it does not exists.

Definition at line 126 of file Solvable.cc.

◆ lookupStrAttribute() [2/2]

std::string zypp::sat::Solvable::lookupStrAttribute ( const SolvAttr attr,
const Locale lang_r 
) const

Definition at line 133 of file Solvable.cc.

◆ lookupNumAttribute() [1/2]

unsigned long long zypp::sat::Solvable::lookupNumAttribute ( const SolvAttr attr) const

returns the numeric attribute value for attr or 0 if it does not exists.

Definition at line 154 of file Solvable.cc.

◆ lookupNumAttribute() [2/2]

unsigned long long zypp::sat::Solvable::lookupNumAttribute ( const SolvAttr attr,
unsigned long long  notfound_r 
) const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 160 of file Solvable.cc.

◆ lookupBoolAttribute()

bool zypp::sat::Solvable::lookupBoolAttribute ( const SolvAttr attr) const

returns the boolean attribute value for attr or false if it does not exists.

Definition at line 166 of file Solvable.cc.

◆ lookupIdAttribute()

detail::IdType zypp::sat::Solvable::lookupIdAttribute ( const SolvAttr attr) const

returns the id attribute value for attr or detail::noId if it does not exists.

Definition at line 172 of file Solvable.cc.

◆ lookupCheckSumAttribute()

CheckSum zypp::sat::Solvable::lookupCheckSumAttribute ( const SolvAttr attr) const

returns the CheckSum attribute value for attr or an empty CheckSum if ir does not exist.

Definition at line 178 of file Solvable.cc.

◆ lookupLocation()

OnMediaLocation zypp::sat::Solvable::lookupLocation ( ) const

returns OnMediaLocation data: This is everything we need to download e.g.

an rpm (path, checksum, downloadsize, etc.).

Definition at line 220 of file Solvable.cc.

◆ nextInPool()

Solvable zypp::sat::Solvable::nextInPool ( ) const

Return next Solvable in Pool (or noSolvable).

Definition at line 109 of file Solvable.cc.

◆ nextInRepo()

Solvable zypp::sat::Solvable::nextInRepo ( ) const

Return next Solvable in Repo (or noSolvable).

Definition at line 112 of file Solvable.cc.

◆ get()

detail::CSolvable * zypp::sat::Solvable::get ( ) const

Expert backdoor.

Definition at line 102 of file Solvable.cc.

◆ id()

IdType zypp::sat::Solvable::id ( ) const
inline

Expert backdoor.

Definition at line 385 of file Solvable.h.

Friends And Related Function Documentation

◆ operator<<()

std::ostream & operator<< ( std::ostream &  str,
const Solvable obj 
)
related

Stream output

Definition at line 726 of file Solvable.cc.

◆ dumpOn()

std::ostream & dumpOn ( std::ostream &  str,
const Solvable obj 
)
related

More verbose stream output including dependencies

Definition at line 737 of file Solvable.cc.

◆ dumpAsXmlOn()

std::ostream & dumpAsXmlOn ( std::ostream &  str,
const Solvable obj 
)
related

XML output

Definition at line 757 of file Solvable.cc.

◆ operator==()

bool operator== ( const Solvable lhs,
const Solvable rhs 
)
related

Definition at line 402 of file Solvable.h.

◆ operator!=()

bool operator!= ( const Solvable lhs,
const Solvable rhs 
)
related

Definition at line 406 of file Solvable.h.

◆ operator<()

bool operator< ( const Solvable lhs,
const Solvable rhs 
)
related

Definition at line 410 of file Solvable.h.

◆ isKind()

template<class TRes >
bool isKind ( const Solvable solvable_r)
related

Test whether a Solvable is of a certain Kind.

Definition at line 415 of file Solvable.h.

◆ identical()

bool identical ( const Solvable lhs,
const Solvable rhs 
)
related

Test for same content.

Definition at line 419 of file Solvable.h.

◆ sameNVRA()

bool sameNVRA ( const Solvable lhs,
const Solvable rhs 
)
related

Test for same name version release and arch.

Definition at line 423 of file Solvable.h.

◆ compareByN()

int compareByN ( const Solvable lhs,
const Solvable rhs 
)
related

Compare according to kind and name.

Definition at line 428 of file Solvable.h.

◆ compareByNVR()

int compareByNVR ( const Solvable lhs,
const Solvable rhs 
)
related

Compare according to kind, name and edition.

Definition at line 440 of file Solvable.h.

◆ compareByNVRA()

int compareByNVRA ( const Solvable lhs,
const Solvable rhs 
)
related

Compare according to kind, name, edition and arch.

Definition at line 449 of file Solvable.h.

Member Data Documentation

◆ noSolvable

const Solvable zypp::sat::Solvable::noSolvable
static

Represents no Solvable.

Definition at line 71 of file Solvable.h.

◆ _id

IdType zypp::sat::Solvable::_id
private

Definition at line 388 of file Solvable.h.


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