14 #define ZYPP_USE_RESOLVER_INTERNALS 27 using namespace solver;
54 {
return _pimpl->setDefaultSolverFlags( all_r ); }
60 {
return _pimpl->verifySystem(); }
63 {
return _pimpl->resolvePool(); }
66 {
return _pimpl->resolveQueue(queue); }
72 {
return _pimpl->problems (); }
75 {
_pimpl->applySolutions (solutions); }
78 {
return _pimpl->getTransaction(); }
81 {
return _pimpl->doUpgrade(); }
123 #define ZOLV_FLAG_BOOL( ZSETTER, ZGETTER ) \ 124 void Resolver::ZSETTER( bool yesno_r ){ _pimpl->ZSETTER( yesno_r ); } \ 125 bool Resolver::ZGETTER() const { return _pimpl->ZGETTER(); } \ 127 #define ZOLV_FLAG_TRIBOOL( ZSETTER, ZDEFAULT, ZGETTER ) \ 128 ZOLV_FLAG_BOOL( ZSETTER , ZGETTER ) \ 129 void Resolver::ZDEFAULT() { _pimpl->ZSETTER( indeterminate ); } \ 132 ZOLV_FLAG_TRIBOOL( setAllowNameChange, setDefaultAllowNameChange, allowNameChange )
133 ZOLV_FLAG_TRIBOOL( setAllowArchChange, setDefaultAllowArchChange, allowArchChange )
134 ZOLV_FLAG_TRIBOOL( setAllowVendorChange, setDefaultAllowVendorChange, allowVendorChange )
137 ZOLV_FLAG_TRIBOOL( dupSetAllowNameChange, dupSetDefaultAllowNameChange, dupAllowNameChange )
139 ZOLV_FLAG_TRIBOOL( dupSetAllowVendorChange, dupSetDefaultAllowVendorChange, dupAllowVendorChange )
141 #undef ZOLV_FLAG_BOOL 142 #undef ZOLV_FLAG_TRIBOOL 159 {
return _pimpl->problematicUpdateItems(); }
163 solver::detail::Testcase testcase (dumpPath);
164 return testcase.createTestcase(*
_pimpl,
true, runSolver);
168 {
return _pimpl->isInstalledBy (item); }
171 {
return _pimpl->installs (item); }
174 {
return _pimpl->satifiedByInstalled (item); }
177 {
return _pimpl->installedSatisfied (item); }
180 {
_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...
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.
::s_Solver CSolver
Wrapped libsolv C data type exposed as backdoor.
void setRemoveOrphaned(bool yesno_r)
Set whether to remove unused orphans in 'upgrade' mode.
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).
ResolverFocus
The resolver's general attitude.
void setDefaultSolveSrcPackages()
void removeRequire(const Capability &capability)
Remove the additional requirement set by addRequire(Capability).
void setCleandepsOnRemove(bool yesno_r)
Cleanup when deleting packages.
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.
std::ostream & operator<<(std::ostream &str, const SerialNumber &obj)
void setOnlyRequires(bool yesno_r)
Setting whether required packages are installed ONLY So recommended packages, language packages and p...
Resolver ResolverInternal
Preferred name in API.
Libsolv transaction wrapper.
bool doUpgrade()
Do an distribution upgrade (DUP)
solver::detail::ItemCapKindList isInstalledBy(const PoolItem &item)
Gives information about WHO has pused an installation of an given item.
~Resolver() override
Dtor.
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.
_onlyRequires _dup_allowdowngrade dupAllowArchChange
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()
void setRemoveUnneeded(bool yesno_r)
File weak remove jobs for unneeded installed packages.
Dependency resolver interface.
std::list< ItemCapKind > ItemCapKindList
#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...
ResolverFocus focus() const
bool removeUnneeded() const
bool solveSrcPackages() const
IMPL_PTR_TYPE(Application)
bool forceResolve() const
void addConflict(const Capability &capability)
Adding additional conflict.
bool onlyRequires() const
bool cleandepsOnRemove() const
std::list< SolverQueueItem_Ptr > SolverQueueItemList
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
_onlyRequires dupAllowDowngrade
void addRequire(const Capability &capability)
Adding additional requirement.
void setDefaultSolverFlags(bool all_r=true)
Reset all solver flags to the systems default (e.g.
std::list< ResolverProblem_Ptr > ResolverProblemList
void removeConflict(const Capability &capability)
Remove the additional conflict set by addConflict(Capability).
sat::detail::CSolver * get() const
Expert backdoor.
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.
void setFocus(ResolverFocus focus_r)
Define the resolver's general attitude when resolving jobs.
bool upgradingRepo(Repository repo_r) const
Whether there is an UpgradeRepo request pending for this repo.
bool removeOrphaned() const
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.
void setSolveSrcPackages(bool yesno_r)
Set whether to solve source packages build dependencies per default.
Resolver(const ResPool &pool)
Ctor.
bool systemVerification() const
std::list< ProblemSolution_Ptr > ProblemSolutionList