libzypp 17.37.10

zypp::Resolver Class Reference

Dependency resolver interface. More...

`#include <zypp/Resolver.h>`

Inheritance diagram for zypp::Resolver:

## Public Member Functions
| Resolver (const ResPool &pool)
| Ctor.
| ~Resolver () override
| Dtor.
void | setDefaultSolverFlags (bool all_r=true)
| Reset all solver flags to the systems default (e.g.
bool | verifySystem ()
| Resolve package dependencies:
bool | resolvePool ()
| Resolve package dependencies:
bool | resolveQueue (solver::detail::SolverQueueItemList &queue)
| Resolve package dependencies:
void | undo ()
void | reset ()
bool | doUpgrade ()
| Do an distribution upgrade (DUP)
void | doUpdate ()
| Update to newest package.
std::list< PoolItem > | problematicUpdateItems () const
| Unmaintained packages which does not fit to the updated system (broken dependencies) will be deleted.
ResolverProblemList | problems ()
| Return the dependency problems found by the last call to resolveDependencies().
void | applySolutions (const ProblemSolutionList &solutions)
| Apply problem solutions.
sat::Transaction | getTransaction ()
| Return the Transaction computed by the last solver run.
void | setFocus (ResolverFocus focus_r)
| Define the resolver's general attitude when resolving jobs.
ResolverFocus | focus () const
void | setForceResolve (bool force)
| Remove resolvables which are conflicts with others or have unfulfilled requirements.
bool | forceResolve () const
void | setIgnoreAlreadyRecommended (bool yesno_r)
| Ignore recommended packages that were already recommended by the installed packages.
bool | ignoreAlreadyRecommended () const
void | setOnlyRequires (bool yesno_r)
| Setting whether required packages are installed ONLY So recommended packages, language packages and packages which depend on hardware (modalias) will not be regarded.
void | resetOnlyRequires ()
bool | onlyRequires () const
void | setUpgradeMode (bool yesno_r)
| Setting whether the solver should perform in 'upgrade' mode or not.
bool | upgradeMode () const
void | setUpdateMode (bool yesno_r)
| Setting whether the solver should perform in 'update' mode or not.
bool | updateMode () const
void | setRemoveOrphaned (bool yesno_r)
| Set whether to remove unused orphans in 'upgrade' mode.
bool | removeOrphaned () const
void | setRemoveUnneeded (bool yesno_r)
| File weak remove jobs for unneeded installed packages.
bool | removeUnneeded () const
Solver flags (non DUP modes)
Default for all flags is `false` unless overwritten by zypp.conf.
void | setAllowDowngrade (bool yesno_r)
| Whether to allow one to downgrade installed solvable.
void | setDefaultAllowDowngrade ()
bool | allowDowngrade () const
void | setAllowNameChange (bool yesno_r)
| Whether to allow one to change name of installed solvable.
void | setDefaultAllowNameChange ()
bool | allowNameChange () const
void | setAllowArchChange (bool yesno_r)
| Whether to allow one to change architecture of installed solvables.
void | setDefaultAllowArchChange ()
bool | allowArchChange () const
void | setAllowVendorChange (bool yesno_r)
| Whether to allow one to change vendor of installed solvables.
void | setDefaultAllowVendorChange ()
bool | allowVendorChange () const
void | setSystemVerification (bool yesno_r)
| System verification mode also monitors and repairs dependencies of already installed packages.
void | setDefaultSystemVerification ()
bool | systemVerification () const
void | setSolveSrcPackages (bool yesno_r)
| Set whether to solve source packages build dependencies per default.
void | setDefaultSolveSrcPackages ()
bool | solveSrcPackages () const
void | setCleandepsOnRemove (bool yesno_r)
| Cleanup when deleting packages.
void | setDefaultCleandepsOnRemove ()
bool | cleandepsOnRemove () const
Solver flags for DUP mode.
DUP mode default settings differ from 'ordinary' ones. Default for all DUP flags is `true` unless overwritten by zypp.conf.
void | dupSetAllowDowngrade (bool yesno_r)
| dup mode: allow one to downgrade installed solvable
void | dupSetDefaultAllowDowngrade ()
bool | dupAllowDowngrade () const
void | dupSetAllowNameChange (bool yesno_r)
| dup mode: allow one to change name of installed solvable
void | dupSetDefaultAllowNameChange ()
bool | dupAllowNameChange () const
void | dupSetAllowArchChange (bool yesno_r)
| dup mode: allow one to change architecture of installed solvables
void | dupSetDefaultAllowArchChange ()
bool | dupAllowArchChange () const
void | dupSetAllowVendorChange (bool yesno_r)
| dup mode: allow one to change vendor of installed solvables
void | dupSetDefaultAllowVendorChange ()
bool | dupAllowVendorChange () const
Public Member Functions inherited from zypp::base::ReferenceCounted
| ReferenceCounted ()
| Default ctor.
| ReferenceCounted (const ReferenceCounted &rhs)
| Copy ctor.
virtual | ~ReferenceCounted ()
| Dtor.
ReferenceCounted & | operator= (const ReferenceCounted &)
| Assignment.
unsigned | refCount () const
| Return reference counter value.
void | ref () const
| Add a reference.
void | unref () const
| Release a reference.

## Related Symbols
(Note that these are not member symbols.)
std::ostream & | operator<< (std::ostream &str, const Resolver &obj)
| Stream output.
Related Symbols inherited from zypp::base::ReferenceCounted
void | intrusive_ptr_add_ref (const ReferenceCounted *ptr_r)
| intrusive_ptr hook to add_ref.
void | intrusive_ptr_release (const ReferenceCounted *ptr_r)
| intrusive_ptr hook to release.
std::ostream & | operator<< (std::ostream &str, const ReferenceCounted &obj)
| Stream output.

## Upgrade to content of a specific repository.
Note This is an ordinary solver request. You should simply resolvePool to execute, and not doUpgrade.
zypp::RW_pointer< solver::detail::ResolverInternal > | _pimpl
void | addUpgradeRepo (Repository repo_r)
| Adding request to perform a dist upgrade restricted to this repository.
bool | upgradingRepos () const
| Whether there is at least one `UpgradeRepo` request pending.
bool | upgradingRepo (Repository repo_r) const
| Whether there is an `UpgradeRepo` request pending for this repo.
void | removeUpgradeRepo (Repository repo_r)
| Remove an upgrade request for this repo.
void | removeUpgradeRepos ()
| Remove all upgrade repo requests.
void | addRequire (const Capability &capability)
| Adding additional requirement.
void | addConflict (const Capability &capability)
| Adding additional conflict.
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).
CapabilitySet | getRequire () const
| Get all the additional requirements set by addRequire(Capability).
CapabilitySet | getConflict () const
| Get all the additional conflicts set by addConflict(Capability).
bool | createSolverTestcase (const std::string &dumpPath="/var/log/YaST2/solverTestcase", bool runSolver=true)
| Generates a solver Testcase of the current state.
solver::detail::ItemCapKindList | isInstalledBy (const PoolItem &item)
| Gives information about WHO has pused an installation of an given item.
solver::detail::ItemCapKindList | installs (const PoolItem &item)
| Gives information about WHICH additional items will be installed due the installation of an item.
solver::detail::ItemCapKindList | satifiedByInstalled (const PoolItem &item)
| Gives information about WHICH installed items are requested by the installation of an item.
solver::detail::ItemCapKindList | installedSatisfied (const PoolItem &item)
| Gives information about WHICH items require an already installed item.
sat::detail::CSolver * | get () const
| Expert backdoor.
std::ostream & | operator<< (std::ostream &str, const Resolver &obj)

## Additional Inherited Members
Static Public Member Functions inherited from zypp::base::ReferenceCounted
static void | add_ref (const ReferenceCounted *ptr_r)
| Called by zypp::intrusive_ptr to add a reference.
static void | release (const ReferenceCounted *ptr_r)
| Called by zypp::intrusive_ptr to add a reference.
Protected Member Functions inherited from zypp::base::ReferenceCounted
virtual std::ostream & | dumpOn (std::ostream &str) const
| Overload to realize std::ostream & operator<<.
virtual void | ref_to (unsigned) const
| Trigger derived classes after refCount was increased.
virtual void | unref_to (unsigned) const
| Trigger derived classes after refCount was decreased.

## Detailed Description

Dependency resolver interface.

To resolve dependencies after making changes to the ResPool (using addRequire(), addConflict(), applySolutions(), or by making the changes directly on the PoolItem status objects, call the resolvePool() method.

Definition at line 44 of file Resolver.h.

## Constructor & Destructor Documentation

## ◆ Resolver()

zypp::solver::detail::Resolver::Resolver | ( | const ResPool & | pool | ) |

Ctor.

Definition at line 36 of file Resolver.cc.

## ◆ ~Resolver()

zypp::solver::detail::Resolver::~Resolver | ( |  | ) |
| override

Dtor.

Definition at line 45 of file Resolver.cc.

## Member Function Documentation

## ◆ setDefaultSolverFlags()

void zypp::solver::detail::Resolver::setDefaultSolverFlags | ( | bool | all_r = true | ) |

Reset all solver flags to the systems default (e.g.

from zypp.conf).

Call this to discard all settings you explicitly applied here. All flags are adjusted to follow the current systems default. If you want to reset just a specific flag, call its 'setDefault...' method.

Calling the method with all_r is set to `false`, is used internally. It updates only those flags which were not explicitly changed. E.g after switching to a target which uses different defaults in its zypp.conf..

Definition at line 53 of file Resolver.cc.

## ◆ verifySystem()

bool zypp::solver::detail::Resolver::verifySystem | ( |  | ) |

Resolve package dependencies:

Enter systemVerification mode to monitor and repair dependencies of already installed packages, and solve immediately.

Call setSystemVerification to turn of this mode.

Definition at line 59 of file Resolver.cc.

## ◆ resolvePool()

bool zypp::solver::detail::Resolver::resolvePool | ( |  | ) |

Resolve package dependencies:

Try to execute all pending transactions (there may be more than one!). The solver collects all transactions (install/delete resolvables) from the pool, generates task, solving it and writes the results back to pool

Returns "true" on success (i.e., if there were no problems that need user interaction) and "false" if there were problems. In the latter case, use problems() and later applySolutions() below.

Definition at line 62 of file Resolver.cc.

## ◆ resolveQueue()

bool zypp::solver::detail::Resolver::resolveQueue | ( | solver::detail::SolverQueueItemList & | queue | ) |

Resolve package dependencies:

The solver works off the given queue and writes back the solution to pool.

Returns "true" on success (i.e., if there were no problems that need user interaction) and "false" if there were problems. In the latter case, use problems() and later applySolutions() below. The solution could be that the solver remove/add some entries in the task queue. So make a new call of resolveQueue after you have applied any solution AND check the parameter "queue" if there has been any changes by the solver and adapt these changes to e.g. the selectables.

Definition at line 65 of file Resolver.cc.

## ◆ undo()

void zypp::solver::detail::Resolver::undo | ( |  | ) |

Definition at line 68 of file Resolver.cc.

## ◆ reset()

void zypp::Resolver::reset | ( |  | ) |

Definition at line 179 of file Resolver.cc.

## ◆ doUpgrade()

bool zypp::solver::detail::Resolver::doUpgrade | ( |  | ) |

Do an distribution upgrade (DUP)

Perform a distribution upgrade. This performs an update of all packages with a special resolver algorithm which takes care of package splits, pattern and product updates, etc. This call also turns the solver into upgradeMode, so consecutive calls to resolvePool performed in this mode too. Call setUpgradeMode to turn this mode off.

See also
  addUpgradeRepo

Definition at line 80 of file Resolver.cc.

## ◆ doUpdate()

void zypp::solver::detail::Resolver::doUpdate | ( |  | ) |

Update to newest package.

Install the newest version of your installed packages as far as possible. This means a newer package will NOT be installed if it generates dependency problems. So the user will not get an error message.

Definition at line 83 of file Resolver.cc.

## ◆ problematicUpdateItems()

PoolItemList zypp::solver::detail::Resolver::problematicUpdateItems | ( |  | ) | const

Unmaintained packages which does not fit to the updated system (broken dependencies) will be deleted.

Return the list of deleted items. Note : This list is valid after the call doUpgrade() only.

Definition at line 158 of file Resolver.cc.

## ◆ problems()

ResolverProblemList zypp::solver::detail::Resolver::problems | ( |  | ) |

Return the dependency problems found by the last call to resolveDependencies().

If there were no problems, the returned list will be empty.

Definition at line 71 of file Resolver.cc.

## ◆ applySolutions()

void zypp::solver::detail::Resolver::applySolutions | ( | const ProblemSolutionList & | solutions | ) |

Apply problem solutions.

No more than one solution per problem can be applied.

Definition at line 74 of file Resolver.cc.

## ◆ getTransaction()

sat::Transaction zypp::solver::detail::Resolver::getTransaction | ( |  | ) |

Return the Transaction computed by the last solver run.

Definition at line 77 of file Resolver.cc.

## ◆ setFocus()

void zypp::solver::detail::Resolver::setFocus | ( | ResolverFocus | focus_r | ) |

Define the resolver's general attitude when resolving jobs.

See also
  ResolverFocus

Definition at line 86 of file Resolver.cc.

## ◆ focus()

ResolverFocus zypp::solver::detail::Resolver::focus | ( |  | ) | const

Definition at line 87 of file Resolver.cc.

## ◆ setForceResolve()

void zypp::Resolver::setForceResolve | ( | bool | force | ) |

Remove resolvables which are conflicts with others or have unfulfilled requirements.

This behaviour is favourited by ZMD.

Definition at line 89 of file Resolver.cc.

## ◆ forceResolve()

bool zypp::Resolver::forceResolve | ( |  | ) | const

Definition at line 90 of file Resolver.cc.

## ◆ setIgnoreAlreadyRecommended()

void zypp::Resolver::setIgnoreAlreadyRecommended | ( | bool | yesno_r | ) |

Ignore recommended packages that were already recommended by the installed packages.

Definition at line 92 of file Resolver.cc.

## ◆ ignoreAlreadyRecommended()

bool zypp::Resolver::ignoreAlreadyRecommended | ( |  | ) | const

Definition at line 93 of file Resolver.cc.

## ◆ setOnlyRequires()

void zypp::Resolver::setOnlyRequires | ( | bool | yesno_r | ) |

Setting whether required packages are installed ONLY So recommended packages, language packages and packages which depend on hardware (modalias) will not be regarded.

Definition at line 95 of file Resolver.cc.

## ◆ resetOnlyRequires()

void zypp::Resolver::resetOnlyRequires | ( |  | ) |

Definition at line 96 of file Resolver.cc.

## ◆ onlyRequires()

bool zypp::Resolver::onlyRequires | ( |  | ) | const

Definition at line 97 of file Resolver.cc.

## ◆ setUpgradeMode()

void zypp::Resolver::setUpgradeMode | ( | bool | yesno_r | ) |

Setting whether the solver should perform in 'upgrade' mode or not.

See also
  doUpgrade.

Definition at line 99 of file Resolver.cc.

## ◆ upgradeMode()

bool zypp::Resolver::upgradeMode | ( |  | ) | const

Definition at line 100 of file Resolver.cc.

## ◆ setUpdateMode()

void zypp::Resolver::setUpdateMode | ( | bool | yesno_r | ) |

Setting whether the solver should perform in 'update' mode or not.

If on, it will add a resolver job to update all packages.

See also
  doUpdate.

Definition at line 102 of file Resolver.cc.

## ◆ updateMode()

bool zypp::Resolver::updateMode | ( |  | ) | const

Definition at line 103 of file Resolver.cc.

## ◆ setRemoveOrphaned()

void zypp::solver::detail::Resolver::setRemoveOrphaned | ( | bool | yesno_r | ) |

Set whether to remove unused orphans in 'upgrade' mode.

Orphaned packages are those which are neither provided by any repository not have update candidates within any repository. They often denoted as dropped or not-wanted. They are leftovers of previous distribution versions.

\Note 3rd party .rpm packages simply installed are seen as orphaned and may be removed by dup. Collecting these packages in a directory and adding this directory as a (plaindir) repo turns them into wanted packages. They are kind of protected by being part of an enabled repository.

Definition at line 105 of file Resolver.cc.

## ◆ removeOrphaned()

bool zypp::solver::detail::Resolver::removeOrphaned | ( |  | ) | const

Definition at line 106 of file Resolver.cc.

## ◆ setRemoveUnneeded()

void zypp::solver::detail::Resolver::setRemoveUnneeded | ( | bool | yesno_r | ) |

File weak remove jobs for unneeded installed packages.

\Note There needs to be one (even if empty) solver run before unneeded installed packages are determined. So this does not contribute to the very first solver run.

\Note In order to tailor the `unneeded` classification one needs to be able to control the `autoinstalled` property of a package. Only autoinstalled packages can be unneeded. So switching the autoinstalled property is the way to (potentially) add or (surely) remove a package from the unneeded set.

Definition at line 108 of file Resolver.cc.

## ◆ removeUnneeded()

bool zypp::solver::detail::Resolver::removeUnneeded | ( |  | ) | const

Definition at line 109 of file Resolver.cc.

## ◆ setAllowDowngrade()

void zypp::Resolver::setAllowDowngrade | ( | bool | yesno_r | ) |

Whether to allow one to downgrade installed solvable.

## ◆ setDefaultAllowDowngrade()

void zypp::Resolver::setDefaultAllowDowngrade | ( |  | ) |

## ◆ allowDowngrade()

bool zypp::Resolver::allowDowngrade | ( |  | ) | const

## ◆ setAllowNameChange()

void zypp::Resolver::setAllowNameChange | ( | bool | yesno_r | ) |

Whether to allow one to change name of installed solvable.

## ◆ setDefaultAllowNameChange()

void zypp::Resolver::setDefaultAllowNameChange | ( |  | ) |

## ◆ allowNameChange()

bool zypp::Resolver::allowNameChange | ( |  | ) | const

## ◆ setAllowArchChange()

void zypp::Resolver::setAllowArchChange | ( | bool | yesno_r | ) |

Whether to allow one to change architecture of installed solvables.

## ◆ setDefaultAllowArchChange()

void zypp::Resolver::setDefaultAllowArchChange | ( |  | ) |

## ◆ allowArchChange()

bool zypp::Resolver::allowArchChange | ( |  | ) | const

## ◆ setAllowVendorChange()

void zypp::Resolver::setAllowVendorChange | ( | bool | yesno_r | ) |

Whether to allow one to change vendor of installed solvables.

See also
  VendorAttr for definition of vendor equivalence.

## ◆ setDefaultAllowVendorChange()

void zypp::Resolver::setDefaultAllowVendorChange | ( |  | ) |

## ◆ allowVendorChange()

bool zypp::Resolver::allowVendorChange | ( |  | ) | const

## ◆ setSystemVerification()

void zypp::Resolver::setSystemVerification | ( | bool | yesno_r | ) |

System verification mode also monitors and repairs dependencies of already installed packages.

See also
  verifySystem

Definition at line 111 of file Resolver.cc.

## ◆ setDefaultSystemVerification()

void zypp::Resolver::setDefaultSystemVerification | ( |  | ) |

Definition at line 112 of file Resolver.cc.

## ◆ systemVerification()

bool zypp::Resolver::systemVerification | ( |  | ) | const

Definition at line 113 of file Resolver.cc.

## ◆ setSolveSrcPackages()

void zypp::Resolver::setSolveSrcPackages | ( | bool | yesno_r | ) |

Set whether to solve source packages build dependencies per default.

Usually turned off and if, enabled per source package. \NOTE This affects only source packges selected in the ResPool. No solver rule will be generated for them. Source packages requested via e.g. addRequire will always be solved. \NOTE Be carefull. The older the source package is, the stranger may be the result of solving its build dependencies.

Definition at line 115 of file Resolver.cc.

## ◆ setDefaultSolveSrcPackages()

void zypp::Resolver::setDefaultSolveSrcPackages | ( |  | ) |

Definition at line 116 of file Resolver.cc.

## ◆ solveSrcPackages()

bool zypp::Resolver::solveSrcPackages | ( |  | ) | const

Definition at line 117 of file Resolver.cc.

## ◆ setCleandepsOnRemove()

void zypp::Resolver::setCleandepsOnRemove | ( | bool | yesno_r | ) |

Cleanup when deleting packages.

Whether the solver should, per default, try to remove packages exclusively required by the ones it's asked to delete.

Definition at line 119 of file Resolver.cc.

## ◆ setDefaultCleandepsOnRemove()

void zypp::Resolver::setDefaultCleandepsOnRemove | ( |  | ) |

Definition at line 120 of file Resolver.cc.

## ◆ cleandepsOnRemove()

bool zypp::Resolver::cleandepsOnRemove | ( |  | ) | const

Definition at line 121 of file Resolver.cc.

## ◆ dupSetAllowDowngrade()

void zypp::Resolver::dupSetAllowDowngrade | ( | bool | yesno_r | ) |

dup mode: allow one to downgrade installed solvable

## ◆ dupSetDefaultAllowDowngrade()

void zypp::Resolver::dupSetDefaultAllowDowngrade | ( |  | ) |

## ◆ dupAllowDowngrade()

bool zypp::Resolver::dupAllowDowngrade | ( |  | ) | const

## ◆ dupSetAllowNameChange()

void zypp::Resolver::dupSetAllowNameChange | ( | bool | yesno_r | ) |

dup mode: allow one to change name of installed solvable

## ◆ dupSetDefaultAllowNameChange()

void zypp::Resolver::dupSetDefaultAllowNameChange | ( |  | ) |

## ◆ dupAllowNameChange()

bool zypp::Resolver::dupAllowNameChange | ( |  | ) | const

## ◆ dupSetAllowArchChange()

void zypp::Resolver::dupSetAllowArchChange | ( | bool | yesno_r | ) |

dup mode: allow one to change architecture of installed solvables

## ◆ dupSetDefaultAllowArchChange()

void zypp::Resolver::dupSetDefaultAllowArchChange | ( |  | ) |

## ◆ dupAllowArchChange()

bool zypp::Resolver::dupAllowArchChange | ( |  | ) | const

## ◆ dupSetAllowVendorChange()

void zypp::Resolver::dupSetAllowVendorChange | ( | bool | yesno_r | ) |

dup mode: allow one to change vendor of installed solvables

## ◆ dupSetDefaultAllowVendorChange()

void zypp::Resolver::dupSetDefaultAllowVendorChange | ( |  | ) |

## ◆ dupAllowVendorChange()

bool zypp::Resolver::dupAllowVendorChange | ( |  | ) | const

## ◆ addUpgradeRepo()

void zypp::Resolver::addUpgradeRepo | ( | Repository | repo_r | ) |

Adding request to perform a dist upgrade restricted to this repository.

This is what e.g. zypper dup –repo myrepo should perform.

See also
  doUpgrade

Definition at line 144 of file Resolver.cc.

## ◆ upgradingRepos()

bool zypp::Resolver::upgradingRepos | ( |  | ) | const

Whether there is at least one `UpgradeRepo` request pending.

Definition at line 145 of file Resolver.cc.

## ◆ upgradingRepo()

bool zypp::Resolver::upgradingRepo | ( | Repository | repo_r | ) | const

Whether there is an `UpgradeRepo` request pending for this repo.

Definition at line 146 of file Resolver.cc.

## ◆ removeUpgradeRepo()

void zypp::Resolver::removeUpgradeRepo | ( | Repository | repo_r | ) |

Remove an upgrade request for this repo.

Definition at line 147 of file Resolver.cc.

## ◆ removeUpgradeRepos()

void zypp::Resolver::removeUpgradeRepos | ( |  | ) |

Remove all upgrade repo requests.

Definition at line 148 of file Resolver.cc.

## ◆ addRequire()

void zypp::Resolver::addRequire | ( | const Capability & | capability | ) |

Adding additional requirement.

Definition at line 150 of file Resolver.cc.

## ◆ addConflict()

void zypp::Resolver::addConflict | ( | const Capability & | capability | ) |

Adding additional conflict.

Definition at line 151 of file Resolver.cc.

## ◆ removeRequire()

void zypp::Resolver::removeRequire | ( | const Capability & | capability | ) |

Remove the additional requirement set by addRequire(Capability).

Definition at line 152 of file Resolver.cc.

## ◆ removeConflict()

void zypp::Resolver::removeConflict | ( | const Capability & | capability | ) |

Remove the additional conflict set by addConflict(Capability).

Definition at line 153 of file Resolver.cc.

## ◆ getRequire()

CapabilitySet zypp::Resolver::getRequire | ( |  | ) | const

Get all the additional requirements set by addRequire(Capability).

Definition at line 155 of file Resolver.cc.

## ◆ getConflict()

CapabilitySet zypp::Resolver::getConflict | ( |  | ) | const

Get all the additional conflicts set by addConflict(Capability).

Definition at line 156 of file Resolver.cc.

## ◆ createSolverTestcase()

bool zypp::Resolver::createSolverTestcase | ( | const std::string & | dumpPath = "/var/log/YaST2/solverTestcase",
|  | bool | runSolver = true )

Generates a solver Testcase of the current state.

\parame dumpPath destination directory of the created directory

Returns
  true if it was successful

Definition at line 161 of file Resolver.cc.

## ◆ isInstalledBy()

ItemCapKindList zypp::solver::detail::Resolver::isInstalledBy | ( | const PoolItem & | item | ) |

Gives information about WHO has pused an installation of an given item.

Parameters

  item | Evaluate additional information for this resolvable.

Returns
  A list of structures which contains: item Item which has triggered the installation of the given param item. initialInstallation This item has triggered the installation Not already fullfilled requierement only. cap Capability which has triggerd this installation capKind Kind of that capability (e.g. Dep::REQUIRES,Dep::RECOMMENDS,... )

Note: In order to have a result start a solver run before. Not matter if it is valid or invalid.

Definition at line 167 of file Resolver.cc.

## ◆ installs()

ItemCapKindList zypp::solver::detail::Resolver::installs | ( | const PoolItem & | item | ) |

Gives information about WHICH additional items will be installed due the installation of an item.

Parameters

  item | Evaluate additional information for this resolvable.

Returns
  A list of structures which contains: item Item which has triggered the installation of the given param item. initialInstallation This item has triggered the installation Not already fullfilled requierement only. cap Capability which has triggerd this installation capKind Kind of that capability (e.g. Dep::REQUIRES,Dep::RECOMMENDS,... )

Note: In order to have a result start a solver run before. Not matter if it is valid or invalid.

Definition at line 170 of file Resolver.cc.

## ◆ satifiedByInstalled()

ItemCapKindList zypp::solver::detail::Resolver::satifiedByInstalled | ( | const PoolItem & | item | ) |

Gives information about WHICH installed items are requested by the installation of an item.

Parameters

  item | Evaluate additional information for this resolvable.

Returns
  A list of structures which contains: item Item which has triggered the installation of the given param item. initialInstallation This item has triggered the installation Not already fullfilled requierement only. cap Capability which has triggerd this installation capKind Kind of that capability (e.g. Dep::REQUIRES,Dep::RECOMMENDS,... )

Note: In order to have a result start a solver run before. Not matter if it is valid or invalid.

Definition at line 173 of file Resolver.cc.

## ◆ installedSatisfied()

ItemCapKindList zypp::solver::detail::Resolver::installedSatisfied | ( | const PoolItem & | item | ) |

Gives information about WHICH items require an already installed item.

Parameters

  item | Evaluate additional information for this resolvable.

Returns
  A list of structures which contains: item Item which has triggered the installation of the given param item. initialInstallation This item has triggered the installation Not already fullfilled requierement only. cap Capability which has triggerd this installation capKind Kind of that capability (e.g. Dep::REQUIRES,Dep::RECOMMENDS,... )

Note: In order to have a result start a solver run before. Not matter if it is valid or invalid.

Definition at line 176 of file Resolver.cc.

## ◆ get()

sat::detail::CSolver * zypp::solver::detail::Resolver::get | ( |  | ) | const

Expert backdoor.

Definition at line 56 of file Resolver.cc.

## Friends And Related Symbol Documentation

## ◆ operator<< [1/2]

std::ostream & operator<< | ( | std::ostream & | str,
|  | const Resolver & | obj )
| friend

Definition at line 182 of file Resolver.cc.

## ◆ operator<<() [2/2]

std::ostream & operator<< | ( | std::ostream & | str,
|  | const Resolver & | obj )
| related

Stream output.

Definition at line 182 of file Resolver.cc.

## Member Data Documentation

## ◆ _pimpl

zypp::RW_pointer<solver::detail::ResolverInternal> zypp::Resolver::_pimpl
| private

Definition at line 491 of file Resolver.h.

The documentation for this class was generated from the following files:

- zypp/Resolver.h
- zypp/Resolver.cc
- zypp/solver/detail/Resolver.cc