libzypp 17.31.23
zypp::target::TargetImpl Class Reference

Base class for concrete Target implementations. More...

#include <target/TargetImpl.h>

Inheritance diagram for zypp::target::TargetImpl:

Public Types

typedef std::list< PoolItemPoolItemList
 list of pool items

 
typedef std::set< PoolItemPoolItemSet
 set of pool items

 

Public Member Functions

 TargetImpl (const Pathname &root_r="/", bool doRebuild_r=false)
 Ctor.
 
virtual ~TargetImpl ()
 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.
 
ReferenceCountedoperator= (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 Functions

(Note that these are not member functions.)

std::ostream & operator<< (std::ostream &str, const TargetImpl &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.
 
virtual std::ostream & dumpOn (std::ostream &str) const
 Overload to realize stream output.
 
rpm::RpmDbrpm ()
 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 VendorAttrvendorAttr () 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 std::ostream & dumpOn (std::ostream &str) const
 Overload to realize std::ostream & operator<<.
 
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

list of pool items

Definition at line 59 of file TargetImpl.h.

◆ PoolItemSet

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

◆ ~TargetImpl()

zypp::target::TargetImpl::~TargetImpl ( )
virtual

Dtor.

Definition at line 978 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 920 of file TargetImpl.cc.

◆ createLastDistributionFlavorCache()

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

generates a cache of the last product flavor

Definition at line 942 of file TargetImpl.cc.

◆ defaultSolvfilesPath()

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

The systems default solv file location.

Definition at line 991 of file TargetImpl.cc.

◆ solvfilesPath()

Pathname zypp::target::TargetImpl::solvfilesPath ( ) const
inlineprivate

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
inlineprivate

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

◆ unload()

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

Definition at line 1152 of file TargetImpl.cc.

◆ reload()

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

Definition at line 1147 of file TargetImpl.cc.

◆ clearCache()

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

Definition at line 996 of file TargetImpl.cc.

◆ buildCache()

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

Definition at line 1002 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]

static Pathname zypp::target::TargetImpl::home ( const Pathname root_r)
inlinestatic

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 1295 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 3062 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 3073 of file TargetImpl.cc.

◆ dumpOn()

virtual std::ostream & zypp::target::TargetImpl::dumpOn ( std::ostream &  str) const
inlinevirtual

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 2847 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 2852 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 2910 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 2922 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 2931 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 2940 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 2943 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 2946 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 2949 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 2952 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 2955 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 2958 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 2967 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 2976 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 2987 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 3017 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 3022 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 3043 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 3048 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 3055 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 1601 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 1946 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 Function 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
mutableprotected

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: