libzypp 17.38.14
zypp::solver::detail Namespace Reference

Classes

struct  UndoTransact
struct  DoTransact
struct  ScopedAutoTestCaseWriter
 Write automatic testcases if ZYPP_FULLLOG=1 is set. More...
class  SATCollectTransact
 Commit helper functor distributing PoolItem by status into lists. More...
class  CheckIfUpdate
struct  FindPackage
class  SolverQueueItemDelete
class  SolverQueueItemInstall
class  SolverQueueItemInstallOneOf
class  SolverQueueItemLock
class  SolverQueueItemUpdate
class  HelixResolvable
 Creates a file in helix format which includes all available or installed packages,patches,selections.... More...
class  HelixControl
 Creates a file in helix format which contains all controll action of a testcase ( file is known as *-test.xml). More...

Typedefs

typedef std::map< Repository, HelixResolvable_Ptr > RepositoryTable
using ResolverInternal = Resolver
 Preferred name in API.
using ItemCapKindList = std::list<ItemCapKind>
using SolverQueueItemList = std::list<SolverQueueItem_Ptr>
using SolutionActionList = std::list<SolutionAction_Ptr>

Functions

void establish (sat::Queue &pseudoItems_r, sat::Queue &pseudoFlags_r)
 ResPool helper to compute the initial status of Patches etc.
 ZOLV_FLAG_SATSOLV (setCleandepsOnRemove, cleandepsOnRemove, ZConfig::instance().solver_cleandepsOnRemove(), _cleandepsOnRemove) ZOLV_FLAG_SATSOLV(setNoUpdateProvide
_noUpdateProvide ZOLV_FLAG_SATSOLV (setOnlyRequires, onlyRequires, ZConfig::instance().solver_onlyRequires(), _onlyRequires) ZOLV_FLAG_SATSOLV(setAllowVendorChange
_noUpdateProvide _allowvendorchange ZOLV_FLAG_SATSOLV (dupSetAllowDowngrade, dupAllowDowngrade, ZConfig::instance().solver_dupAllowDowngrade(), _dup_allowdowngrade) ZOLV_FLAG_SATSOLV(dupSetAllowNameChange
_noUpdateProvide _allowvendorchange _dup_allownamechange ZOLV_FLAG_SATSOLV (dupSetAllowArchChange, dupAllowArchChange, ZConfig::instance().solver_dupAllowArchChange(), _dup_allowarchchange) ZOLV_FLAG_SATSOLV(dupSetAllowVendorChange
 IMPL_PTR_TYPE (SATResolver)
int vendorCheck (sat::detail::CPool *pool, Solvable *solvable1, Solvable *solvable2)
int relaxedVendorCheck (sat::detail::CPool *pool, Solvable *solvable1, Solvable *solvable2)
std::string itemToString (const PoolItem &item)
static void SATSolutionToPool (const PoolItem &item, const ResStatus &status, const ResStatus::TransactByValue causer)
sat::Solvable mapBuddy (const PoolItem &item_r)
sat::Solvable mapBuddy (sat::Solvable item_r)
 IMPL_PTR_TYPE (SolutionAction)
std::ostream & operator<< (std::ostream &str, const SolutionActionList &actionlist)
 IMPL_PTR_TYPE (SolverQueueItem)
std::ostream & operator<< (std::ostream &os, const SolverQueueItemList &itemlist)
 IMPL_PTR_TYPE (SolverQueueItemDelete)
 IMPL_PTR_TYPE (SolverQueueItemInstall)
 IMPL_PTR_TYPE (SolverQueueItemInstallOneOf)
 IMPL_PTR_TYPE (SolverQueueItemLock)
 IMPL_PTR_TYPE (SolverQueueItemUpdate)
std::string xml_escape (const std::string &text)
std::string xml_tag_enclose (const std::string &text, const std::string &tag, bool escape=false)
template<class T>
std::string helixXML (const T &obj)
template<>
std::string helixXML (const Edition &edition)
template<>
std::string helixXML (const Arch &arch)
template<>
std::string helixXML (const Capability &cap)
template<>
std::string helixXML (const Capabilities &caps)
template<>
std::string helixXML (const CapabilitySet &caps)
std::string helixXML (const PoolItem &obj, Dep deptag_r)
std::string helixXML (const PoolItem &item)
 DEFINE_PTR_TYPE (HelixResolvable)
 IMPL_PTR_TYPE (HelixResolvable)
 DEFINE_PTR_TYPE (SolverQueueItem)
 DEFINE_PTR_TYPE (SolutionAction)

Variables

 noUpdateProvide
_noUpdateProvide allowVendorChange
_noUpdateProvide _allowvendorchange dupAllowNameChange
_noUpdateProvide _allowvendorchange _dup_allownamechange dupAllowVendorChange

Typedef Documentation

◆ RepositoryTable

typedef std::map<Repository, HelixResolvable_Ptr> zypp::solver::detail::RepositoryTable

Definition at line 249 of file Testcase_helix.cc.

◆ ResolverInternal

Preferred name in API.

Definition at line 39 of file Types.h.

◆ ItemCapKindList

using zypp::solver::detail::ItemCapKindList = std::list<ItemCapKind>

Definition at line 42 of file Types.h.

◆ SolverQueueItemList

using zypp::solver::detail::SolverQueueItemList = std::list<SolverQueueItem_Ptr>

Definition at line 45 of file Types.h.

◆ SolutionActionList

using zypp::solver::detail::SolutionActionList = std::list<SolutionAction_Ptr>

Definition at line 48 of file Types.h.

Function Documentation

◆ establish()

void zypp::solver::detail::establish ( sat::Queue & pseudoItems_r,
sat::Queue & pseudoFlags_r )

ResPool helper to compute the initial status of Patches etc.

An empty solver run (no jobs) just to compute the initial status of pseudo installed items (patches).

Definition at line 188 of file SATResolver.cc.

◆ ZOLV_FLAG_SATSOLV() [1/4]

zypp::solver::detail::ZOLV_FLAG_SATSOLV ( setCleandepsOnRemove ,
cleandepsOnRemove ,
ZConfig::instance().solver_cleandepsOnRemove() ,
_cleandepsOnRemove  )

◆ ZOLV_FLAG_SATSOLV() [2/4]

_noUpdateProvide zypp::solver::detail::ZOLV_FLAG_SATSOLV ( setOnlyRequires ,
onlyRequires ,
ZConfig::instance().solver_onlyRequires() ,
_onlyRequires  )

◆ ZOLV_FLAG_SATSOLV() [3/4]

_noUpdateProvide _allowvendorchange zypp::solver::detail::ZOLV_FLAG_SATSOLV ( dupSetAllowDowngrade ,
dupAllowDowngrade ,
ZConfig::instance().solver_dupAllowDowngrade() ,
_dup_allowdowngrade  )

◆ ZOLV_FLAG_SATSOLV() [4/4]

_noUpdateProvide _allowvendorchange _dup_allownamechange zypp::solver::detail::ZOLV_FLAG_SATSOLV ( dupSetAllowArchChange ,
dupAllowArchChange ,
ZConfig::instance().solver_dupAllowArchChange() ,
_dup_allowarchchange  )

◆ IMPL_PTR_TYPE() [1/9]

zypp::solver::detail::IMPL_PTR_TYPE ( SATResolver )

◆ vendorCheck()

int zypp::solver::detail::vendorCheck ( sat::detail::CPool * pool,
Solvable * solvable1,
Solvable * solvable2 )

Definition at line 178 of file SATResolver.cc.

◆ relaxedVendorCheck()

int zypp::solver::detail::relaxedVendorCheck ( sat::detail::CPool * pool,
Solvable * solvable1,
Solvable * solvable2 )

Definition at line 181 of file SATResolver.cc.

◆ itemToString()

std::string zypp::solver::detail::itemToString ( const PoolItem & item)
inline

Definition at line 230 of file SATResolver.cc.

◆ SATSolutionToPool()

void zypp::solver::detail::SATSolutionToPool ( const PoolItem & item,
const ResStatus & status,
const ResStatus::TransactByValue causer )
static

Definition at line 338 of file SATResolver.cc.

◆ mapBuddy() [1/2]

sat::Solvable zypp::solver::detail::mapBuddy ( const PoolItem & item_r)
inline

Definition at line 1081 of file SATResolver.cc.

◆ mapBuddy() [2/2]

sat::Solvable zypp::solver::detail::mapBuddy ( sat::Solvable item_r)
inline

Definition at line 1091 of file SATResolver.cc.

◆ IMPL_PTR_TYPE() [2/9]

zypp::solver::detail::IMPL_PTR_TYPE ( SolutionAction )

◆ operator<<() [1/2]

std::ostream & zypp::solver::detail::operator<< ( std::ostream & str,
const SolutionActionList & actionlist )

Definition at line 58 of file SolutionAction.cc.

◆ IMPL_PTR_TYPE() [3/9]

zypp::solver::detail::IMPL_PTR_TYPE ( SolverQueueItem )

◆ operator<<() [2/2]

std::ostream & zypp::solver::detail::operator<< ( std::ostream & os,
const SolverQueueItemList & itemlist )

Definition at line 65 of file SolverQueueItem.cc.

◆ IMPL_PTR_TYPE() [4/9]

zypp::solver::detail::IMPL_PTR_TYPE ( SolverQueueItemDelete )

◆ IMPL_PTR_TYPE() [5/9]

zypp::solver::detail::IMPL_PTR_TYPE ( SolverQueueItemInstall )

◆ IMPL_PTR_TYPE() [6/9]

zypp::solver::detail::IMPL_PTR_TYPE ( SolverQueueItemInstallOneOf )

◆ IMPL_PTR_TYPE() [7/9]

zypp::solver::detail::IMPL_PTR_TYPE ( SolverQueueItemLock )

◆ IMPL_PTR_TYPE() [8/9]

zypp::solver::detail::IMPL_PTR_TYPE ( SolverQueueItemUpdate )

◆ xml_escape()

std::string zypp::solver::detail::xml_escape ( const std::string & text)
inline

Definition at line 59 of file Testcase_helix.cc.

◆ xml_tag_enclose()

std::string zypp::solver::detail::xml_tag_enclose ( const std::string & text,
const std::string & tag,
bool escape = false )
inline

Definition at line 64 of file Testcase_helix.cc.

◆ helixXML() [1/8]

template<class T>
std::string zypp::solver::detail::helixXML ( const T & obj)

◆ helixXML() [2/8]

template<>
std::string zypp::solver::detail::helixXML ( const Edition & edition)

Definition at line 82 of file Testcase_helix.cc.

◆ helixXML() [3/8]

template<>
std::string zypp::solver::detail::helixXML ( const Arch & arch)

Definition at line 94 of file Testcase_helix.cc.

◆ helixXML() [4/8]

template<>
std::string zypp::solver::detail::helixXML ( const Capability & cap)

Definition at line 102 of file Testcase_helix.cc.

◆ helixXML() [5/8]

template<>
std::string zypp::solver::detail::helixXML ( const Capabilities & caps)

Definition at line 156 of file Testcase_helix.cc.

◆ helixXML() [6/8]

template<>
std::string zypp::solver::detail::helixXML ( const CapabilitySet & caps)

Definition at line 170 of file Testcase_helix.cc.

◆ helixXML() [7/8]

std::string zypp::solver::detail::helixXML ( const PoolItem & obj,
Dep deptag_r )
inline

Definition at line 183 of file Testcase_helix.cc.

◆ helixXML() [8/8]

std::string zypp::solver::detail::helixXML ( const PoolItem & item)

Definition at line 192 of file Testcase_helix.cc.

◆ DEFINE_PTR_TYPE() [1/3]

zypp::solver::detail::DEFINE_PTR_TYPE ( HelixResolvable )

◆ IMPL_PTR_TYPE() [9/9]

zypp::solver::detail::IMPL_PTR_TYPE ( HelixResolvable )

◆ DEFINE_PTR_TYPE() [2/3]

zypp::solver::detail::DEFINE_PTR_TYPE ( SolverQueueItem )

◆ DEFINE_PTR_TYPE() [3/3]

zypp::solver::detail::DEFINE_PTR_TYPE ( SolutionAction )

Variable Documentation

◆ noUpdateProvide

zypp::solver::detail::noUpdateProvide

Definition at line 171 of file Resolver.cc.

◆ allowVendorChange

_noUpdateProvide zypp::solver::detail::allowVendorChange

Definition at line 176 of file Resolver.cc.

◆ dupAllowNameChange

_noUpdateProvide _allowvendorchange zypp::solver::detail::dupAllowNameChange

Definition at line 178 of file Resolver.cc.

◆ dupAllowVendorChange

_noUpdateProvide _allowvendorchange _dup_allownamechange zypp::solver::detail::dupAllowVendorChange

Definition at line 180 of file Resolver.cc.