libzypp  17.25.2
zypp::VendorAttr Class Reference

Definition of vendor equivalence. More...

#include <VendorAttr.h>

Classes

class  Impl
 VendorAttr implementation. More...
 

Public Types

typedef std::vector< std::string > VendorList
 Preferred type to pass equivalent vendor strings. More...
 

Public Member Functions

 VendorAttr ()
 Ctor providing the default set. More...
 
 VendorAttr (const Pathname &initial_r)
 Ctor reading the initial_r definitions from a dir or file. More...
 
 ~VendorAttr ()
 Dtor. More...
 
bool addVendorDirectory (const Pathname &dirname_r)
 Adding new equivalent vendors described in a directory. More...
 
bool addVendorFile (const Pathname &filename_r)
 Adding new equivalent vendors described in a file. More...
 
void addVendorList (VendorList &&list_r)
 Adding new equivalent vendor strings container. More...
 
void addVendorList (const VendorList &list_r)
 
template<class TContainer >
void addVendorList (const TContainer &container_r)
 
template<class TStr >
void addVendorList (const std::initializer_list< TStr > &container_r)
 
bool equivalent (const Vendor &lVendor, const Vendor &rVendor) const
 Return whether two vendor strings should be treated as the same vendor. More...
 
bool equivalent (IdString lVendor, IdString rVendor) const
 
bool equivalent (sat::Solvable lVendor, sat::Solvable rVendor) const
 
bool equivalent (const PoolItem &lVendor, const PoolItem &rVendor) const
 
void _addVendorList (VendorList &&list_r)
 

Static Public Member Functions

static const VendorAttrinstance ()
 (Pseudo)Singleton, mapped to the current Target::vendorAttr settings or to noTargetInstance. More...
 
static VendorAttrnoTargetInstance ()
 Singleton, settings used if no Target is active. More...
 

Public Attributes

RWCOW_pointer< Impl_pimpl
 Implementation class. More...
 

Friends

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

Related Functions

(Note that these are not member functions.)

std::ostream & operator<< (std::ostream &str, const VendorAttr &obj)
 Stream output. More...
 

Detailed Description

Definition of vendor equivalence.

Packages with equivalent vendor strings may replace themselves without creating a solver error.

Per default vendor strings starting with "suse" are treated as being equivalent. This may be tuned by providing customized vendor description files in /etc/zypp/vendors.d.

[main]
vendors = MyVendor,AlternateName

By this vendor strings starting with "MyVendor" or "AlternateName" are considered to be equivalent. Packages from equivalent vendors may replace each other without being considered as a 'vendor change'.

Note
bnc#812608: Within the "opensuse*" namespace exact matches (case insensitive) are required. "vendors = suse,opensuse" will allow switching between "suse*" and "opensuse", but not e.g. "opensuse build service".
See also
Solver - Vendor protection

Definition at line 60 of file VendorAttr.h.

Member Typedef Documentation

◆ VendorList

typedef std::vector<std::string> zypp::VendorAttr::VendorList

Preferred type to pass equivalent vendor strings.

Definition at line 103 of file VendorAttr.h.

Constructor & Destructor Documentation

◆ VendorAttr() [1/2]

zypp::VendorAttr::VendorAttr ( )

Ctor providing the default set.

Definition at line 207 of file VendorAttr.cc.

◆ VendorAttr() [2/2]

zypp::VendorAttr::VendorAttr ( const Pathname initial_r)

Ctor reading the initial_r definitions from a dir or file.

Definition at line 213 of file VendorAttr.cc.

◆ ~VendorAttr()

zypp::VendorAttr::~VendorAttr ( )

Dtor.

Definition at line 220 of file VendorAttr.cc.

Member Function Documentation

◆ instance()

const VendorAttr & zypp::VendorAttr::instance ( )
static

(Pseudo)Singleton, mapped to the current Target::vendorAttr settings or to noTargetInstance.

Definition at line 195 of file VendorAttr.cc.

◆ noTargetInstance()

VendorAttr & zypp::VendorAttr::noTargetInstance ( )
static

Singleton, settings used if no Target is active.

The instance is initialized with the settings found in the system below /. The active Targets settings can be changed via Target::vendorAttr.

Definition at line 201 of file VendorAttr.cc.

◆ addVendorDirectory()

bool zypp::VendorAttr::addVendorDirectory ( const Pathname dirname_r)

Adding new equivalent vendors described in a directory.

Definition at line 223 of file VendorAttr.cc.

◆ addVendorFile()

bool zypp::VendorAttr::addVendorFile ( const Pathname filename_r)

Adding new equivalent vendors described in a file.

Definition at line 240 of file VendorAttr.cc.

◆ addVendorList() [1/4]

void zypp::VendorAttr::addVendorList ( VendorList &&  list_r)
inline

Adding new equivalent vendor strings container.

Definition at line 108 of file VendorAttr.h.

◆ addVendorList() [2/4]

void zypp::VendorAttr::addVendorList ( const VendorList list_r)
inline

Definition at line 111 of file VendorAttr.h.

◆ addVendorList() [3/4]

template<class TContainer >
void zypp::VendorAttr::addVendorList ( const TContainer &  container_r)
inline

Definition at line 115 of file VendorAttr.h.

◆ addVendorList() [4/4]

template<class TStr >
void zypp::VendorAttr::addVendorList ( const std::initializer_list< TStr > &  container_r)
inline

Definition at line 124 of file VendorAttr.h.

◆ equivalent() [1/4]

bool zypp::VendorAttr::equivalent ( const Vendor lVendor,
const Vendor rVendor 
) const

Return whether two vendor strings should be treated as the same vendor.

Usually the solver is allowed to automatically select a package of an equivalent vendor when updating. Replacing a package with one of a different vendor usually must be confirmed by the user.

Definition at line 293 of file VendorAttr.cc.

◆ equivalent() [2/4]

bool zypp::VendorAttr::equivalent ( IdString  lVendor,
IdString  rVendor 
) const

Definition at line 290 of file VendorAttr.cc.

◆ equivalent() [3/4]

bool zypp::VendorAttr::equivalent ( sat::Solvable  lVendor,
sat::Solvable  rVendor 
) const

Definition at line 296 of file VendorAttr.cc.

◆ equivalent() [4/4]

bool zypp::VendorAttr::equivalent ( const PoolItem lVendor,
const PoolItem rVendor 
) const

Definition at line 299 of file VendorAttr.cc.

◆ _addVendorList()

void zypp::VendorAttr::_addVendorList ( VendorList &&  list_r)

Definition at line 265 of file VendorAttr.cc.

Friends And Related Function Documentation

◆ operator<< [1/2]

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

Definition at line 304 of file VendorAttr.cc.

◆ operator<<() [2/2]

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

Stream output.

Definition at line 304 of file VendorAttr.cc.

Member Data Documentation

◆ _pimpl

RWCOW_pointer<Impl> zypp::VendorAttr::_pimpl

Implementation class.

Pointer to implementation.

Definition at line 147 of file VendorAttr.h.


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