libzypp 17.37.10

zypp::target::TargetImpl Class Reference

Base class for concrete Target implementations. More...

`#include <zypp/target/TargetImpl.h>`

Inheritance diagram for zypp::target::TargetImpl:

## Public Types
using | PoolItemList = std::list<PoolItem>
| list of pool items
using | PoolItemSet = std::set<PoolItem>
| set of pool items

## Public Member Functions
| TargetImpl (const Pathname &root_r="/", bool doRebuild_r=false)
| Ctor.
| ~TargetImpl () override
| Dtor.
void | createAnonymousId () const
| generates the unique anonymous id which is called when creating the target
void | createLastDistributionFlavorCache () const
| generates a cache of the last product flavor
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.

## Friends
std::ostream & | operator<< (std::ostream &str, const TargetImpl &obj)

## Related Symbols
(Note that these are not member symbols.)
std::ostream & | operator<< (std::ostream &str, const TargetImpl &obj)
| Stream output.
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.

## Solv file handling.
If target solv file is outdated, but (non-root-)user has no permission to create it at the default location, we use a temporary one.
Pathname | _tmpSolvfilesPath
Pathname | _root
| Path to the target.
rpm::RpmDb | _rpm
| RPM database.
RequestedLocalesFile | _requestedLocalesFile
| Requested Locales database.
SolvIdentFile | _autoInstalledFile
| user/auto installed database
HardLocksFile | _hardLocksFile
| Hard-Locks database.
std::string | _distributionVersion
| Cache distributionVersion.
VendorAttr | _vendorAttr
| vendor equivalence settings.
void | load (bool force=true)
void | unload ()
void | reload ()
void | clearCache ()
bool | buildCache ()
Pathname | root () const
| The root set for this target.
Pathname | home () const
| The directory to store things.
ZYppCommitResult | commit (ResPool pool_r, const ZYppCommitPolicy &policy_r)
| Commit changes in the pool.
void | installSrcPackage (const SrcPackage_constPtr &srcPackage_r)
| Install a source package on the Target.
ManagedFile | provideSrcPackage (const SrcPackage_constPtr &srcPackage_r)
| Provides a source package on the Target.
std::ostream & | dumpOn (std::ostream &str) const override
| Overload to realize stream output.
rpm::RpmDb & | rpm ()
| The RPM database.
bool | providesFile (const std::string &path_str, const std::string &name_str) const
| If the package is installed and provides the file Needed to evaluate split provides during Resolver::Upgrade()
std::string | whoOwnsFile (const std::string &path_str) const
| Return name of package owning path_str or empty string if no installed package owns path_str.
Product::constPtr | baseProduct () const
| returns the target base installed product, also known as the distribution or platform.
LocaleSet | requestedLocales () const
| Languages to be supported by the system.
void | updateAutoInstalled ()
| Update the database of autoinstalled packages.
std::string | targetDistribution () const
| This is `register.target` attribute of the installed base product.
std::string | targetDistributionRelease () const
| This is `register.release` attribute of the installed base product.
std::string | targetDistributionFlavor () const
| This is `register.flavor` attribute of the installed base product.
Target::DistributionLabel | distributionLabel () const
| This is `shortName` and `summary` attribute of the installed base product.
std::string | distributionVersion () const
| This is `version` attribute of the installed base product.
std::string | distributionFlavor () const
| This is `flavor` attribute of the installed base product but does not require the target to be loaded as it remembers the last used one.
std::string | anonymousUniqueId () const
| anonymous unique id
const VendorAttr & | vendorAttr () const
| The targets current vendor equivalence settings.
void | vendorAttr (VendorAttr vendorAttr_r)
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Pathname | defaultSolvfilesPath () const
| The systems default solv file location.
Pathname | solvfilesPath () const
| The solv file location actually in use (default or temp).
bool | solvfilesPathIsTemp () const
| Whether we're using a temp.
void | commit (const ZYppCommitPolicy &policy_r, CommitPackageCache &packageCache_r, ZYppCommitResult &result_r)
| Commit ordered changes (internal helper)
void | commitInSingleTransaction (const ZYppCommitPolicy &policy_r, CommitPackageCache &packageCache_r, ZYppCommitResult &result_r)
| Commit ordered changes (internal helper)
void | commitFindFileConflicts (const ZYppCommitPolicy &policy_r, ZYppCommitResult &result_r)
| Commit helper checking for file conflicts after download.
static Pathname | home (const Pathname &root_r)
static LocaleSet | requestedLocales (const Pathname &root_r)
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
static std::string | targetDistribution (const Pathname &root_r)
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
static std::string | targetDistributionRelease (const Pathname &root_r)
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
static std::string | targetDistributionFlavor (const Pathname &root_r)
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
static Target::DistributionLabel | distributionLabel (const Pathname &root_r)
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
static std::string | distributionVersion (const Pathname &root_r)
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
static std::string | distributionFlavor (const Pathname &root_r)
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
static std::string | anonymousUniqueId (const Pathname &root_r)
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

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

Base class for concrete Target implementations.

Constructed by TargetFactory. Public access via Target interface.

Definition at line 53 of file TargetImpl.h.

## Member Typedef Documentation

## ◆ PoolItemList

using zypp::target::TargetImpl::PoolItemList = std::list<PoolItem>

list of pool items

Definition at line 59 of file TargetImpl.h.

## ◆ PoolItemSet

using zypp::target::TargetImpl::PoolItemSet = std::set<PoolItem>

set of pool items

Definition at line 62 of file TargetImpl.h.

## Constructor & Destructor Documentation

## ◆ TargetImpl()

zypp::target::TargetImpl::TargetImpl | ( | const Pathname & | root_r = "/",
|  | bool | doRebuild_r = false )

Ctor.

Definition at line 959 of file TargetImpl.cc.

## ◆ ~TargetImpl()

zypp::target::TargetImpl::~TargetImpl | ( |  | ) |
| override

Dtor.

Definition at line 1087 of file TargetImpl.cc.

## Member Function Documentation

## ◆ createAnonymousId()

void zypp::target::TargetImpl::createAnonymousId | ( |  | ) | const

generates the unique anonymous id which is called when creating the target

Definition at line 1029 of file TargetImpl.cc.

## ◆ createLastDistributionFlavorCache()

void zypp::target::TargetImpl::createLastDistributionFlavorCache | ( |  | ) | const

generates a cache of the last product flavor

Definition at line 1051 of file TargetImpl.cc.

## ◆ defaultSolvfilesPath()

Pathname zypp::target::TargetImpl::defaultSolvfilesPath | ( |  | ) | const
| private

The systems default solv file location.

Definition at line 1100 of file TargetImpl.cc.

## ◆ solvfilesPath()

Pathname zypp::target::TargetImpl::solvfilesPath | ( |  | ) | const
| inline private

The solv file location actually in use (default or temp).

Definition at line 92 of file TargetImpl.h.

## ◆ solvfilesPathIsTemp()

bool zypp::target::TargetImpl::solvfilesPathIsTemp | ( |  | ) | const
| inline private

Whether we're using a temp.

solvfile.

Definition at line 96 of file TargetImpl.h.

## ◆ load()

void zypp::target::TargetImpl::load | ( | bool | force = true | ) |

Definition at line 1272 of file TargetImpl.cc.

## ◆ unload()

void zypp::target::TargetImpl::unload | ( |  | ) |

Definition at line 1265 of file TargetImpl.cc.

## ◆ reload()

void zypp::target::TargetImpl::reload | ( |  | ) |

Definition at line 1260 of file TargetImpl.cc.

## ◆ clearCache()

void zypp::target::TargetImpl::clearCache | ( |  | ) |

Definition at line 1105 of file TargetImpl.cc.

## ◆ buildCache()

bool zypp::target::TargetImpl::buildCache | ( |  | ) |

Definition at line 1111 of file TargetImpl.cc.

## ◆ root()

Pathname zypp::target::TargetImpl::root | ( |  | ) | const
| inline

The root set for this target.

Definition at line 116 of file TargetImpl.h.

## ◆ home() [1/2]

Pathname zypp::target::TargetImpl::home | ( |  | ) | const
| inline

The directory to store things.

Definition at line 120 of file TargetImpl.h.

## ◆ home() [2/2]

Pathname zypp::target::TargetImpl::home | ( | const Pathname & | root_r | ) |
| inline static

Definition at line 123 of file TargetImpl.h.

## ◆ commit() [1/2]

ZYppCommitResult zypp::target::TargetImpl::commit | ( | ResPool | pool_r,
|  | const ZYppCommitPolicy & | policy_r )

Commit changes in the pool.

Definition at line 1408 of file TargetImpl.cc.

## ◆ installSrcPackage()

void zypp::target::TargetImpl::installSrcPackage | ( | const SrcPackage_constPtr & | srcPackage_r | ) |

Install a source package on the Target.

Definition at line 3143 of file TargetImpl.cc.

## ◆ provideSrcPackage()

ManagedFile zypp::target::TargetImpl::provideSrcPackage | ( | const SrcPackage_constPtr & | srcPackage_r | ) |

Provides a source package on the Target.

Definition at line 3154 of file TargetImpl.cc.

## ◆ dumpOn()

std::ostream & zypp::target::TargetImpl::dumpOn | ( | std::ostream & | str | ) | const
| inline override virtual

Overload to realize stream output.

Reimplemented from zypp::base::ReferenceCounted.

Definition at line 136 of file TargetImpl.h.

## ◆ rpm()

rpm::RpmDb & zypp::target::TargetImpl::rpm | ( |  | ) |

The RPM database.

Definition at line 2940 of file TargetImpl.cc.

## ◆ providesFile()

bool zypp::target::TargetImpl::providesFile | ( | const std::string & | path_str,
|  | const std::string & | name_str ) const

If the package is installed and provides the file Needed to evaluate split provides during Resolver::Upgrade()

Definition at line 2945 of file TargetImpl.cc.

## ◆ whoOwnsFile()

std::string zypp::target::TargetImpl::whoOwnsFile | ( | const std::string & | path_str | ) | const
| inline

Return name of package owning path_str or empty string if no installed package owns path_str.

Definition at line 148 of file TargetImpl.h.

## ◆ baseProduct()

Product::constPtr zypp::target::TargetImpl::baseProduct | ( |  | ) | const

returns the target base installed product, also known as the distribution or platform.

returns 0 if there is no base installed product in the pool.

Note
  this method requires the target to be loaded, otherwise it will return 0 as no product is found.

if you require some base product attributes when the target is not loaded into the pool, see targetDistribution , targetDistributionRelease and distributionVersion that obtain the data on demand from the installed product information.

Definition at line 3003 of file TargetImpl.cc.

## ◆ requestedLocales() [1/2]

LocaleSet zypp::target::TargetImpl::requestedLocales | ( |  | ) | const
| inline

Languages to be supported by the system.

E.g. language specific packages to be installed.

Definition at line 155 of file TargetImpl.h.

## ◆ requestedLocales() [2/2]

LocaleSet zypp::target::TargetImpl::requestedLocales | ( | const Pathname & | root_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 3015 of file TargetImpl.cc.

## ◆ updateAutoInstalled()

void zypp::target::TargetImpl::updateAutoInstalled | ( |  | ) |

Update the database of autoinstalled packages.

This is done on commit, so you usually don't need to call this explicitly.

Definition at line 3024 of file TargetImpl.cc.

## ◆ targetDistribution() [1/2]

std::string zypp::target::TargetImpl::targetDistribution | ( |  | ) | const

This is `register.target` attribute of the installed base product.

Used for registration and Service refresh.

Definition at line 3033 of file TargetImpl.cc.

## ◆ targetDistribution() [2/2]

std::string zypp::target::TargetImpl::targetDistribution | ( | const Pathname & | root_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 3036 of file TargetImpl.cc.

## ◆ targetDistributionRelease() [1/2]

std::string zypp::target::TargetImpl::targetDistributionRelease | ( |  | ) | const

This is `register.release` attribute of the installed base product.

Used for registration.

Definition at line 3039 of file TargetImpl.cc.

## ◆ targetDistributionRelease() [2/2]

std::string zypp::target::TargetImpl::targetDistributionRelease | ( | const Pathname & | root_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 3042 of file TargetImpl.cc.

## ◆ targetDistributionFlavor() [1/2]

std::string zypp::target::TargetImpl::targetDistributionFlavor | ( |  | ) | const

This is `register.flavor` attribute of the installed base product.

Used for registration.

Note
  don't mistake this for distributionFlavor

Definition at line 3045 of file TargetImpl.cc.

## ◆ targetDistributionFlavor() [2/2]

std::string zypp::target::TargetImpl::targetDistributionFlavor | ( | const Pathname & | root_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 3048 of file TargetImpl.cc.

## ◆ distributionLabel() [1/2]

Target::DistributionLabel zypp::target::TargetImpl::distributionLabel | ( |  | ) | const

This is `shortName` and `summary` attribute of the installed base product.

Used e.g. for the bootloader menu.

Definition at line 3051 of file TargetImpl.cc.

## ◆ distributionLabel() [2/2]

Target::DistributionLabel zypp::target::TargetImpl::distributionLabel | ( | const Pathname & | root_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 3060 of file TargetImpl.cc.

## ◆ distributionVersion() [1/2]

std::string zypp::target::TargetImpl::distributionVersion | ( |  | ) | const

This is `version` attribute of the installed base product.

For example http://download.opensue.org/update/11.0 The 11.0 corresponds to the base product version.

Definition at line 3069 of file TargetImpl.cc.

## ◆ distributionVersion() [2/2]

std::string zypp::target::TargetImpl::distributionVersion | ( | const Pathname & | root_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 3080 of file TargetImpl.cc.

## ◆ distributionFlavor() [1/2]

std::string zypp::target::TargetImpl::distributionFlavor | ( |  | ) | const

This is `flavor` attribute of the installed base product but does not require the target to be loaded as it remembers the last used one.

It can be empty is the target has never been loaded, as the value is not present in the system but computer from a package provides

Note
  don't mistake this for targetDistributionFlavor

Definition at line 3098 of file TargetImpl.cc.

## ◆ distributionFlavor() [2/2]

std::string zypp::target::TargetImpl::distributionFlavor | ( | const Pathname & | root_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 3103 of file TargetImpl.cc.

## ◆ anonymousUniqueId() [1/2]

std::string zypp::target::TargetImpl::anonymousUniqueId | ( |  | ) | const

anonymous unique id

This id is generated once and stays in the saved in the target. It is unique and is used only for statistics.

Definition at line 3124 of file TargetImpl.cc.

## ◆ anonymousUniqueId() [2/2]

std::string zypp::target::TargetImpl::anonymousUniqueId | ( | const Pathname & | root_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 3129 of file TargetImpl.cc.

## ◆ vendorAttr() [1/2]

const VendorAttr & zypp::target::TargetImpl::vendorAttr | ( |  | ) | const
| inline

The targets current vendor equivalence settings.

Initialized from the targets /etc/zypp/vendors.d.

Definition at line 199 of file TargetImpl.h.

## ◆ vendorAttr() [2/2]

void zypp::target::TargetImpl::vendorAttr | ( | VendorAttr | vendorAttr_r | ) |

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 3136 of file TargetImpl.cc.

## ◆ commit() [2/2]

void zypp::target::TargetImpl::commit | ( | const ZYppCommitPolicy & | policy_r,
|  | CommitPackageCache & | packageCache_r,
|  | ZYppCommitResult & | result_r )
| private

Commit ordered changes (internal helper)

Definition at line 1728 of file TargetImpl.cc.

## ◆ commitInSingleTransaction()

void zypp::target::TargetImpl::commitInSingleTransaction | ( | const ZYppCommitPolicy & | policy_r,
|  | CommitPackageCache & | packageCache_r,
|  | ZYppCommitResult & | result_r )
| private

Commit ordered changes (internal helper)

Definition at line 2070 of file TargetImpl.cc.

## ◆ commitFindFileConflicts()

void zypp::target::TargetImpl::commitFindFileConflicts | ( | const ZYppCommitPolicy & | policy_r,
|  | ZYppCommitResult & | result_r )
| private

Commit helper checking for file conflicts after download.

Definition at line 122 of file TargetImpl.commitFindFileConflicts.cc.

## Friends And Related Symbol Documentation

## ◆ operator<< [1/2]

std::ostream & operator<< | ( | std::ostream & | str,
|  | const TargetImpl & | obj )
| friend

## ◆ operator<<() [2/2]

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

Stream output.

Definition at line 239 of file TargetImpl.h.

## Member Data Documentation

## ◆ _tmpSolvfilesPath

Pathname zypp::target::TargetImpl::_tmpSolvfilesPath
| private

Definition at line 99 of file TargetImpl.h.

## ◆ _root

Pathname zypp::target::TargetImpl::_root
| protected

Path to the target.

Definition at line 222 of file TargetImpl.h.

## ◆ _rpm

rpm::RpmDb zypp::target::TargetImpl::_rpm
| protected

RPM database.

Definition at line 224 of file TargetImpl.h.

## ◆ _requestedLocalesFile

RequestedLocalesFile zypp::target::TargetImpl::_requestedLocalesFile
| protected

Requested Locales database.

Definition at line 226 of file TargetImpl.h.

## ◆ _autoInstalledFile

SolvIdentFile zypp::target::TargetImpl::_autoInstalledFile
| protected

user/auto installed database

Definition at line 228 of file TargetImpl.h.

## ◆ _hardLocksFile

HardLocksFile zypp::target::TargetImpl::_hardLocksFile
| protected

Hard-Locks database.

Definition at line 230 of file TargetImpl.h.

## ◆ _distributionVersion

std::string zypp::target::TargetImpl::_distributionVersion
| mutable protected

Cache distributionVersion.

Definition at line 232 of file TargetImpl.h.

## ◆ _vendorAttr

VendorAttr zypp::target::TargetImpl::_vendorAttr
| protected

vendor equivalence settings.

Definition at line 234 of file TargetImpl.h.

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

- zypp/target/TargetImpl.h
- zypp/target/TargetImpl.cc
- zypp/target/TargetImpl.commitFindFileConflicts.cc