Software Management/Dependencies
From openSUSE
Contents |
[edit]
Visualization
[edit]
Special Dependency Types
[edit]
Supported Dependencies
All Resolvables are treated alike during dependency resolution. There is no semantical difference between different kinds of Resolvables.
This page describes the possible dependencies a Resolvable can express and their semantics.
It is heavily based on rpm (for the strong dependencies) and debian (for
the weak dependencies).
The reverse dependencies were made on suggestion by
Michael Schroeder.
If in doubt, look at RPM and Debian.
Definition of words
- Edition
- The combination of epoch, version, and release. Just like RPM.
i.e. 1.0-42 or 1:1.47-11
- Capability
- A name with an optional operator and an edition.
i.e. foo, foo = 1.0-42, bar > 1.47
- Dependency
- A combination of capabilities and a what (i.e. Requires, Provides, ...)
[edit]
Strong dependencies
- Requires
- An absolute dependency. All requirements must be fulfilled.
- Provides
- Capabilities this resolvable provides. They can be used to match Requires from others.
Every Resolvable has a self-provide by default, its own name and edition.
i.e package bar-1.42-1 provides capability bar = 1.42-1
- Conflicts
- This Resolvable cannot be installed if another Resolvable is installed and provides matching capabilities
- Obsoletes
- When this Resolvable is installed, it will uninstall any other Resolvable with a matching name.
[edit]
Weak dependencies
- Recommends
- A weak Requires. A best-try approach is made to fulfill Recommends but they are silently dropped if no match is possible.
- Suggests
- Suggests are just hints for an application and not handled during dependency resolution.
Think of Amazons Customers who bought this item also bought
[edit]
Reverse dependencies
Unlike the above mentioned dependencies, which are kind-of top-down, the following dependencies work the other way around. Read on.
| 'essentialfor' is deprecated and will be removed post-openSUSE 11.2 |
- Essentialfor
- A reverse requires.
This resolvable must be installed if this capability is provided by an installed resolvable.
Uninstalling it will produce an error (which the user can ignore ...)
- Supplements
- A reverse recommends.
This resolvable will be installed if this capability is provided by an installed resolvable.
The dependency resolver will install it. Uninstalling it is silently accepted.
- Enhances
- A reverse Suggests.
This resolvable can be installed if this capability is provided by an installed resolvable.
Its just a hint for an application. I.e. SuSEplugger can suggest packages for installation if a specific hardware is found.
[edit]
Conditional dependencies
| Version: 10.x
| This is only used by 'Code10' distributions like SLE10 or openSUSE 10.x |
- Freshens
- Freshens define the relationship between an uninstalled Resolvable and an installed one.
If an uninstalled resolvable defines a freshen dependency, it is only considered for installation if an installed resolvable matches.
Its primary use is for Patches which express via freshen when they are to be considered.

