Go to the documentation of this file.
14 #define ZYPP_USE_RESOLVER_INTERNALS
30 using namespace solver;
39 Resolver::Resolver(
const ResPool & pool )
57 {
return _pimpl->verifySystem(); }
60 {
return _pimpl->resolvePool(); }
63 {
return _pimpl->resolveQueue(queue); }
69 {
return _pimpl->problems (); }
72 {
_pimpl->applySolutions (solutions); }
75 {
return _pimpl->getTransaction(); }
78 {
return _pimpl->doUpgrade(); }
111 #define ZOLV_FLAG_BOOL( ZSETTER, ZGETTER ) \
112 void Resolver::ZSETTER( bool yesno_r ){ _pimpl->ZSETTER( yesno_r ); } \
113 bool Resolver::ZGETTER() const { return _pimpl->ZGETTER(); } \
115 #define ZOLV_FLAG_TRIBOOL( ZSETTER, ZDEFAULT, ZGETTER ) \
116 ZOLV_FLAG_BOOL( ZSETTER , ZGETTER ) \
117 void Resolver::ZDEFAULT() { _pimpl->ZSETTER( indeterminate ); } \
120 ZOLV_FLAG_TRIBOOL( setAllowNameChange, setDefaultAllowNameChange, allowNameChange )
121 ZOLV_FLAG_TRIBOOL( setAllowArchChange, setDefaultAllowArchChange, allowArchChange )
129 #undef ZOLV_FLAG_BOOL
130 #undef ZOLV_FLAG_TRIBOOL
147 {
return _pimpl->problematicUpdateItems(); }
151 solver::detail::Testcase testcase (dumpPath);
152 return testcase.createTestcase(*
_pimpl,
true, runSolver);
156 {
return _pimpl->isInstalledBy (item); }
159 {
return _pimpl->installs (item); }
162 {
return _pimpl->satifiedByInstalled (item); }
165 {
return _pimpl->installedSatisfied (item); }
168 {
_pimpl->reset(
false ); }
void removeRequire(const Capability &capability)
Remove the additional requirement set by addRequire(Capability).
Combining sat::Solvable and ResStatus.
bool createSolverTestcase(const std::string &dumpPath="/var/log/YaST2/solverTestcase", bool runSolver=true)
Generates a solver Testcase of the current state.
zypp::RW_pointer< solver::detail::ResolverInternal > _pimpl
void setDefaultSystemVerification()
void doUpdate()
Update to newest package.
void setOnlyRequires(bool yesno_r)
Setting whether required packages are installed ONLY So recommended packages, language packages and p...
void setSolveSrcPackages(bool yesno_r)
Set whether to solve source packages build dependencies per default.
#define ZOLV_FLAG_TRIBOOL(ZSETTER, ZDEFAULT, ZGETTER)
bool systemVerification() const
void setUpdateMode(bool yesno_r)
Setting whether the solver should perform in 'update' mode or not.
void addUpgradeRepo(Repository repo_r)
Adding request to perform a dist upgrade restricted to this repository.
bool doUpgrade()
Do an distribution upgrade (DUP)
CapabilitySet getConflict() const
Get all the additional conflicts set by addConflict(Capability).
void setDefaultSolveSrcPackages()
bool ignoreAlreadyRecommended() const
void removeUpgradeRepo(Repository repo_r)
Remove an upgrade request for this repo.
CapabilitySet getRequire() const
Get all the additional requirements set by addRequire(Capability).
std::list< ProblemSolution_Ptr > ProblemSolutionList
bool solveSrcPackages() const
Libsolv transaction wrapper.
bool forceResolve() const
void setCleandepsOnRemove(bool yesno_r)
Cleanup when deleting packages.
solver::detail::ItemCapKindList isInstalledBy(const PoolItem &item)
Gives information about WHO has pused an installation of an given item.
bool resolveQueue(solver::detail::SolverQueueItemList &queue)
Resolve package dependencies:
void addConflict(const Capability &capability)
Adding additional conflict.
std::list< PoolItem > problematicUpdateItems() const
Unmaintained packages which does not fit to the updated system (broken dependencies) will be deleted.
std::unordered_set< Capability > CapabilitySet
solver::detail::ItemCapKindList installedSatisfied(const PoolItem &item)
Gives information about WHICH items require an already installed item.
ResolverProblemList problems()
Return the dependency problems found by the last call to resolveDependencies().
std::list< SolverQueueItem_Ptr > SolverQueueItemList
void applySolutions(const ProblemSolutionList &solutions)
Apply problem solutions.
Dependency resolver interface.
#define IMPL_PTR_TYPE(NAME)
bool cleandepsOnRemove() const
void setUpgradeMode(bool yesno_r)
Setting whether the solver should perform in 'upgrade' mode or not.
solver::detail::ItemCapKindList satifiedByInstalled(const PoolItem &item)
Gives information about WHICH installed items are requested by the installation of an item.
Easy-to use interface to the ZYPP dependency resolver.
void setSystemVerification(bool yesno_r)
System verification mode also monitors and repairs dependencies of already installed packages.
void setDefaultCleandepsOnRemove()
void addRequire(const Capability &capability)
Adding additional requirement.
std::list< ResolverProblem_Ptr > ResolverProblemList
void setIgnoreAlreadyRecommended(bool yesno_r)
Ignore recommended packages that were already recommended by the installed packages.
void setForceResolve(bool force)
Remove resolvables which are conflicts with others or have unfulfilled requirements.
std::ostream & operator<<(std::ostream &str, const Exception &obj)
bool onlyRequires() const
bool upgradingRepo(Repository repo_r) const
Whether there is an UpgradeRepo request pending for this repo.
bool verifySystem()
Resolve package dependencies:
solver::detail::ItemCapKindList installs(const PoolItem &item)
Gives information about WHICH additional items will be installed due the installation of an item.
Resolver ResolverInternal
Preferred name in API.
String related utilities and Regular expression matching.
std::list< ItemCapKind > ItemCapKindList
bool resolvePool()
Resolve package dependencies:
void removeUpgradeRepos()
Remove all upgrade repo requests.
bool upgradingRepos() const
Whether there is at least one UpgradeRepo request pending.
void removeConflict(const Capability &capability)
Remove the additional conflict set by addConflict(Capability).
sat::Transaction getTransaction()
Return the Transaction computed by the last solver run.