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 doUpdate()
Update to newest package.
solver::detail::ItemCapKindList installs(const PoolItem &item)
Gives information about WHICH additional items will be installed due the installation of an item...
std::list< ProblemSolution_Ptr > ProblemSolutionList
bool resolvePool()
Resolve package dependencies:
sat::Transaction getTransaction()
Return the Transaction computed by the last solver run.
bool upgradingRepos() const
Whether there is at least one UpgradeRepo request pending.
void addUpgradeRepo(Repository repo_r)
Adding request to perform a dist upgrade restricted to this repository.
bool createSolverTestcase(const std::string &dumpPath="/var/log/YaST2/solverTestcase", bool runSolver=true)
Generates a solver Testcase of the current state.
CapabilitySet getRequire() const
Get all the additional requirements set by addRequire(Capability).
void setDefaultSolveSrcPackages()
void setCleandepsOnRemove(bool yesno_r)
Cleanup when deleting packages.
void removeRequire(const Capability &capability)
Remove the additional requirement set by addRequire(Capability).
String related utilities and Regular expression matching.
zypp::RW_pointer< solver::detail::ResolverInternal > _pimpl
void setUpdateMode(bool yesno_r)
Setting whether the solver should perform in 'update' mode or not.
void setOnlyRequires(bool yesno_r)
Setting whether required packages are installed ONLY So recommended packages, language packages and p...
Libsolv transaction wrapper.
bool doUpgrade()
Do an distribution upgrade (DUP)
std::list< SolverQueueItem_Ptr > SolverQueueItemList
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:
bool ignoreAlreadyRecommended() const
ResolverProblemList problems()
Return the dependency problems found by the last call to resolveDependencies().
void removeUpgradeRepo(Repository repo_r)
Remove an upgrade request for this repo.
solver::detail::ItemCapKindList installedSatisfied(const PoolItem &item)
Gives information about WHICH items require an already installed item.
CapabilitySet getConflict() const
Get all the additional conflicts set by addConflict(Capability).
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...
void setDefaultCleandepsOnRemove()
std::list< ResolverProblem_Ptr > ResolverProblemList
Dependency resolver interface.
std::ostream & operator<<(std::ostream &str, const Exception &obj)
#define ZOLV_FLAG_TRIBOOL(ZSETTER, ZDEFAULT, ZGETTER)
std::list< PoolItem > problematicUpdateItems() const
Unmaintained packages which does not fit to the updated system (broken dependencies) will be deleted...
bool solveSrcPackages() const
bool forceResolve() const
void addConflict(const Capability &capability)
Adding additional conflict.
bool onlyRequires() const
bool cleandepsOnRemove() const
void setSystemVerification(bool yesno_r)
System verification mode also monitors and repairs dependencies of already installed packages...
void applySolutions(const ProblemSolutionList &solutions)
Apply problem solutions.
std::unordered_set< Capability > CapabilitySet
Resolver ResolverInternal
Preferred name in API.
void addRequire(const Capability &capability)
Adding additional requirement.
std::list< ItemCapKind > ItemCapKindList
void removeConflict(const Capability &capability)
Remove the additional conflict set by addConflict(Capability).
bool verifySystem()
Resolve package dependencies:
void setForceResolve(bool force)
Remove resolvables which are conflicts with others or have unfulfilled requirements.
Combining sat::Solvable and ResStatus.
bool upgradingRepo(Repository repo_r) const
Whether there is an UpgradeRepo request pending for this repo.
void setIgnoreAlreadyRecommended(bool yesno_r)
Ignore recommended packages that were already recommended by the installed packages.
Easy-to use interface to the ZYPP dependency resolver.
void setDefaultSystemVerification()
void removeUpgradeRepos()
Remove all upgrade repo requests.
#define IMPL_PTR_TYPE(NAME)
void setSolveSrcPackages(bool yesno_r)
Set whether to solve source packages build dependencies per default.
bool systemVerification() const