27 using namespace solver;
36 Resolver::Resolver(
const ResPool & pool )
37 : _pimpl( new
Impl(pool) )
54 {
return _pimpl->verifySystem(); }
57 {
return _pimpl->resolvePool(); }
60 {
return _pimpl->resolveQueue(queue); }
66 {
return _pimpl->problems (); }
69 {
_pimpl->applySolutions (solutions); }
72 {
return _pimpl->getTransaction(); }
75 {
return _pimpl->doUpgrade(); }
123 {
return _pimpl->problematicUpdateItems(); }
132 {
return _pimpl->isInstalledBy (item); }
135 {
return _pimpl->installs (item); }
138 {
return _pimpl->satifiedByInstalled (item); }
141 {
return _pimpl->installedSatisfied (item); }
144 {
_pimpl->reset(
false ); }
147 {
return str << *obj.
_pimpl; }
std::list< ProblemSolution_Ptr > ProblemSolutionList
solver::detail::ItemCapKindList installs(const PoolItem &item)
Gives information about WHICH additional items will be installed due the installation of an item...
void addUpgradeRepo(Repository repo_r)
Adding request to perform a dist upgrade restricted to this repository.
void setDefaultAllowVendorChange()
bool createSolverTestcase(const std::string &dumpPath="/var/log/YaST2/solverTestcase", bool runSolver=true)
Generates a solver Testcase of the current state.
bool allowVendorChange() const
void setDefaultSolveSrcPackages()
void removeRequire(const Capability &capability)
Remove the additional requirement set by addRequire(Capability).
void setCleandepsOnRemove(bool yesno_r)
Cleanup when deleting packages.
void setAllowVendorChange(bool yesno_r)
Setting whether the solver should allow or disallow vendor changes.
std::list< PoolItem > problematicUpdateItems() const
Unmaintained packages which does not fit to the updated system (broken dependencies) will be deleted...
void setOnlyRequires(bool yesno_r)
Setting whether required packages are installed ONLY So recommended packages, language packages and p...
ResolverProblemList problems()
Return the dependency problems found by the last call to resolveDependencies().
Libsolv transaction wrapper.
bool upgradingRepo(Repository repo_r) const
Whether there is an UpgradeRepo request pending for this repo.
Generating a testcase of the current pool and solver state.
std::list< SolverQueueItem_Ptr > SolverQueueItemList
bool ignoreAlreadyRecommended() const
std::tr1::unordered_set< Capability > CapabilitySet
bool solveSrcPackages() const
solver::detail::ItemCapKindList satifiedByInstalled(const PoolItem &item)
Gives information about WHICH installed items are requested by the installation of an item...
bool doUpgrade()
Do an distribution upgrade.
void removeUpgradeRepo(Repository repo_r)
Remove an upgrade request for this repo.
void setUpgradeMode(bool yesno_r)
Setting whether the solver should perform in 'upgrade' mode or not.
A mid layer class we should remove.
bool systemVerification() const
void setDefaultCleandepsOnRemove()
std::list< ResolverProblem_Ptr > ResolverProblemList
Dependency resolver interface.
std::ostream & operator<<(std::ostream &str, const Exception &obj)
bool cleandepsOnRemove() const
bool verifySystem()
Resolve package dependencies:
CapabilitySet getConflict() const
Get all the additional conflicts set by addConflict(Capability).
CapabilitySet getRequire() const
Get all the additional requirements set by addRequire(Capability).
bool forceResolve() const
void addConflict(const Capability &capability)
Adding additional conflict.
sat::Transaction getTransaction()
Return the Transaction computed by the last solver run.
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.
bool resolvePool()
Resolve package dependencies:
void addRequire(const Capability &capability)
Adding additional requirement.
std::list< ItemCapKind > ItemCapKindList
bool createTestcase(Resolver &resolver, bool dumpPool=true, bool runSolver=true)
void removeConflict(const Capability &capability)
Remove the additional conflict set by addConflict(Capability).
void setForceResolve(bool force)
Remove resolvables which are conflicts with others or have unfulfilled requirements.
void doUpdate()
Update to newest package.
Reference to a PoolItem connecting ResObject and ResStatus.
solver::detail::ItemCapKindList installedSatisfied(const PoolItem &item)
Gives information about WHICH items require an already installed item.
void setIgnoreAlreadyRecommended(bool yesno_r)
Ignore recommended packages that were already recommended by the installed packages.
bool onlyRequires() const
void setDefaultSystemVerification()
solver::detail::ItemCapKindList isInstalledBy(const PoolItem &item)
Gives information about WHO has pused an installation of an given item.
void removeUpgradeRepos()
Remove all upgrade repo requests.
zypp::RW_pointer< Impl, rw_pointer::Intrusive< Impl > > _pimpl
#define IMPL_PTR_TYPE(NAME)
bool resolveQueue(solver::detail::SolverQueueItemList &queue)
Resolve package dependencies:
void setSolveSrcPackages(bool yesno_r)
Set whether to solve source packages build dependencies per default.