Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0
Table of Contents

Nomenclature and concepts

Deb

Deb files have a "control" file with a set of fields that contain the dependency data:

  • Depends - States a required dependency on another plugin with optional version specification
  • Recommends - State recommended depenendecy
  • Suggests - States a suggested dependency
  • Pre-Depends - States a dependency that has to be configure before installation
  • Build-Depends - Not relevant
  • Build-Depends-Indep - Not relevant

Each field list a set of packages separated with comma (","). Where a dependency is either one of more packages, each option is separated with a bar ("|").

Code Block
Depends: libc6 (>= 2.2.1), exim | mail-transport-agent

Virtual packages

In addition Deb support a "virtual package" concept where more than one package can "implement" a package name. This give the user an option to choose an implementation when a package installed.

For example, both "openjdk", "sun-jdk" and "gcj" may packages may Provide "java".

Replacement

Deb also has a "Replaces" flag with two purposes:

  • "this package replace files in package foo"
  • "this package replaces this package entirely"

References

Rpm

Reference: http://rpm5.org/docs/rpm-guide.html#ch-dependencies

  • Requires, which tracks the capabilities a package requires
  • Provides, which tracks the capabilities a package provides for other packages
  • Conflicts, which describes the capabilities that if installed, conflict with capabilities in a package
  • Obsoletes, which describes the capabilities that this package will make obsolete

Possible mappings

UMP

Dependency

Recommends

Suggests

Pre-Depends

Provides

Conflict With

Deb

Depends

Recommends

Suggests

Pre-Depends

Provides

Rpm

Requires

 

 

 

%provides

%conflicts

provides defines a virtual package which is provided by the package being built
requires identifies a package that is required to be installed for the package being built to operate correctly
conflicts