Chapter 7. Declaring relationships between packages
50
postrm
script will be run with a special argument to allow the package to do any final cleanup
required. See `Summary of ways maintainer scripts are called' on page
40
.
1
For this usage of
Replaces
, virtual packages (see `Virtual packages
Provides
' on page
48
)
are not considered when looking at a
Replaces
field the packages declared as being replaced
must be mentioned by their real names.
Furthermore, this usage of
Replaces
only takes effect when both packages are at least par
tially on the system at once, so that it can only happen if they do not conflict or if the conflict
has been overridden.
7.5.2 Replacing whole packages, forcing their removal
Secondly,
Replaces
allows the packaging system to resolve which package should be re
moved when there is a conflict see `Conflicting binary packages
Conflicts
' on page
48
.
This usage only takes effect when the two packages do conflict, so that the two usages of this
field do not interfere with each other.
In this situation, the package declared as being replaced can be a virtual package, so for exam
ple, all mail transport agents (MTAs) would have the following fields in their control files:
Provides: mail transport agent
Conflicts: mail transport agent
Replaces: mail transport agent
ensuring that only one MTA can be installed at any one time.
7.6 Relationships
between
source
and
binary
pack
ages
Build Depends
,
Build Depends Indep
,
Build Conflicts
,
Build Conflicts Indep
Source packages that require certain binary packages to be installed or absent at the time of
building the package can declare relationships to those binary packages.
This is done using the
Build Depends
,
Build Depends Indep
,
Build Conflicts
and
Build Conflicts Indep
control file fields.
Build dependencies on build essential binary packages can be omitted. Please see `Package
relationships' on page
19
for more information.
The dependencies and conflicts they define must be satisfied (as defined earlier for binary
packages) in order to invoke the targets in
debian/rules
, as follows:
2
1
Replaces is a one way relationship you have to install the replacing package after the replaced package.
2
If you make build arch or binary arch , you need Build Depends. If you make build indep or binary
indep , you need Build Depends and Build Depends Indep. If you make build or binary , you need both.
There is no Build Depends Arch; the autobuilders will only need the Build Depends if they know how to build
footer
Our partners:
PHP: Hypertext Preprocessor Best Web Hosting
Java Web Hosting
Inexpensive Web Hosting
Jsp Web Hosting
Cheapest Web Hosting
Jsp Hosting
Cheap Hosting
Visionwebhosting.net Business web hosting division of Web
Design Plus. All rights reserved