12#ifndef ZYPP_RESOLVER_H
13#define ZYPP_RESOLVER_H
18#include <zypp/base/ReferenceCounted.h>
20#include <zypp/solver/Types.h>
21#include <zypp/solver/detail/Types.h>
348 void addRequire(
const Capability & capability );
386 bool createSolverTestcase(
const std::string & dumpPath =
"/var/log/YaST2/solverTestcase",
bool runSolver =
true );
458 friend std::ostream &
operator<<( std::ostream &
str,
const Resolver & obj );
464 std::ostream &
operator<<( std::ostream &
str,
const Resolver & obj );
void setDefaultCleandepsOnRemove()
void setDefaultAllowVendorChange()
void setSolveSrcPackages(bool yesno_r)
Set whether to solve source packages build dependencies per default.
bool cleandepsOnRemove() const
bool resolveQueue(solver::detail::SolverQueueItemList &queue)
Resolve package dependencies:
sat::detail::CSolver * get() const
Expert backdoor.
void setCleandepsOnRemove(bool yesno_r)
Cleanup when deleting packages.
void setAllowNameChange(bool yesno_r)
Whether to allow one to change name of installed solvable.
void setDefaultSolverFlags(bool all_r=true)
Reset all solver flags to the systems default (e.g.
ResolverProblemList problems()
Return the dependency problems found by the last call to resolveDependencies().
bool forceResolve() const
void setOnlyRequires(bool yesno_r)
Setting whether required packages are installed ONLY So recommended packages, language packages and p...
sat::Transaction getTransaction()
Return the Transaction computed by the last solver run.
void dupSetAllowNameChange(bool yesno_r)
dup mode: allow one to change name of installed solvable
void addRequire(const Capability &capability)
Adding additional requirement.
friend std::ostream & operator<<(std::ostream &str, const Resolver &obj)
void doUpdate()
Update to newest package.
void addUpgradeRepo(Repository repo_r)
Adding request to perform a dist upgrade restricted to this repository.
std::list< PoolItem > problematicUpdateItems() const
Unmaintained packages which does not fit to the updated system (broken dependencies) will be deleted.
bool upgradingRepo(Repository repo_r) const
Whether there is an UpgradeRepo request pending for this repo.
void applySolutions(const ProblemSolutionList &solutions)
Apply problem solutions.
Resolver(const ResPool &pool)
Ctor.
void dupSetAllowVendorChange(bool yesno_r)
dup mode: allow one to change vendor of installed solvables
bool dupAllowDowngrade() const
solver::detail::ItemCapKindList isInstalledBy(const PoolItem &item)
Gives information about WHO has pused an installation of an given item.
void setDefaultAllowArchChange()
bool ignoreAlreadyRecommended() const
void dupSetDefaultAllowVendorChange()
bool allowNameChange() const
solver::detail::ItemCapKindList installs(const PoolItem &item)
Gives information about WHICH additional items will be installed due the installation of an item.
void dupSetDefaultAllowNameChange()
bool allowDowngrade() const
bool resolvePool()
Resolve package dependencies:
void setFocus(ResolverFocus focus_r)
Define the resolver's general attitude when resolving jobs.
void removeUpgradeRepos()
Remove all upgrade repo requests.
void setDefaultAllowNameChange()
void dupSetDefaultAllowDowngrade()
void setAllowVendorChange(bool yesno_r)
Whether to allow one to change vendor of installed solvables.
bool dupAllowArchChange() const
bool systemVerification() const
bool verifySystem()
Resolve package dependencies:
CapabilitySet getConflict() const
Get all the additional conflicts set by addConflict(Capability).
void removeUpgradeRepo(Repository repo_r)
Remove an upgrade request for this repo.
void setAllowDowngrade(bool yesno_r)
Whether to allow one to downgrade installed solvable.
void setIgnoreAlreadyRecommended(bool yesno_r)
Ignore recommended packages that were already recommended by the installed packages.
bool solveSrcPackages() const
bool createSolverTestcase(const std::string &dumpPath="/var/log/YaST2/solverTestcase", bool runSolver=true)
Generates a solver Testcase of the current state.
void addConflict(const Capability &capability)
Adding additional conflict.
bool dupAllowNameChange() const
bool doUpgrade()
Do an distribution upgrade (DUP)
void dupSetDefaultAllowArchChange()
void setForceResolve(bool force)
Remove resolvables which are conflicts with others or have unfulfilled requirements.
bool allowArchChange() const
void removeRequire(const Capability &capability)
Remove the additional requirement set by addRequire(Capability).
void removeConflict(const Capability &capability)
Remove the additional conflict set by addConflict(Capability).
bool dupAllowVendorChange() const
bool upgradingRepos() const
Whether there is at least one UpgradeRepo request pending.
ResolverFocus focus() const
void setDefaultAllowDowngrade()
bool allowVendorChange() const
solver::detail::ItemCapKindList installedSatisfied(const PoolItem &item)
Gives information about WHICH items require an already installed item.
void setDefaultSolveSrcPackages()
zypp::RW_pointer< solver::detail::ResolverInternal > _pimpl
void setAllowArchChange(bool yesno_r)
Whether to allow one to change architecture of installed solvables.
void setUpgradeMode(bool yesno_r)
Setting whether the solver should perform in 'upgrade' mode or not.
CapabilitySet getRequire() const
Get all the additional requirements set by addRequire(Capability).
void setDefaultSystemVerification()
void setUpdateMode(bool yesno_r)
Setting whether the solver should perform in 'update' 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 dupSetAllowArchChange(bool yesno_r)
dup mode: allow one to change architecture of installed solvables
bool onlyRequires() const
void dupSetAllowDowngrade(bool yesno_r)
dup mode: allow one to downgrade installed solvable
void setSystemVerification(bool yesno_r)
System verification mode also monitors and repairs dependencies of already installed packages.
String related utilities and Regular expression matching.
boost::noncopyable NonCopyable
Ensure derived classes cannot be copied.
::s_Solver CSolver
Wrapped libsolv C data type exposed as backdoor.
std::list< ItemCapKind > ItemCapKindList
std::list< SolverQueueItem_Ptr > SolverQueueItemList
Easy-to use interface to the ZYPP dependency resolver.
std::unordered_set< Capability > CapabilitySet
ResolverFocus
The resolver's general attitude.
std::list< ResolverProblem_Ptr > ResolverProblemList
std::ostream & operator<<(std::ostream &str, const SerialNumber &obj)
std::list< ProblemSolution_Ptr > ProblemSolutionList
Wrapper for const correct access via Smart pointer types.