NAME¶
dose-builddebcheck - Check if a package can be built on a Debian system
SYNOPSIS¶
- dose-builddebcheck --deb-native-arch=name [options]
binary-repositories source-repository
DESCRIPTION¶
dose-builddebcheck determines, for a set of debian source package control
stanzas, called the source repository, whether a build environment for the
packages of the source repository can be installed on the specified native
architecture by using packages from the binary repository. For this, only
package meta-information is taken into account: build-dependencies and
build-conflicts in the source package, and inter-package relationsships
expressed in the binary repository. The constraint solving algorithm is
complete, that is it finds a solution whenever there exists one, even for
multiple disjunctive dependencies and deep package conflicts. This problem is
computationally infeasible in theory (that is, NP-complete), but can be solved
very efficiently for package repositories that actually occur in practice.
Installability of binary packages is analyzed according to their
Depends,
Conflicts, and
Provides fields with their
meaning as of Debian policy version 3.9.0.
Pre-depends are treated like
Depends, and
Breaks are treated like
Conflicts.
The
binary-repositories argument is a list of filenames containing
stanzas in the format of
deb-control(5), separated by one blank line.
For instance, the Packages files as found on a Debian mirror server, or in the
directory
/var/lib/apt/lists/ of a Debian system, are suitable. The
source-repository argument is the name of a file containing debian
source control stanzas, separated by one blank line. For instance, the Sources
files as found on a Debian mirror server, or in the directory
/var/lib/apt/lists/ of a Debian system, are suitable.
Multi-arch annotations are correctly considered by dose-builddebcheck. Packages
whose's architecture is neither the native architecture nor in the list of
foreign architectures (see below) are ignored. Here, native and foreign refers
at the same time to the architecture on which the compilation will be run, and
to the host architecture of the compilation. Cross-compilation is supported by
specifying the
host architecture.
OPTIONS¶
OPTIONS FOR SPECIFYING ARCHITECTURES¶
- --deb-native-arch=name
- Specify the native architecture. This argument is mandatory.
- --deb-foreign-archs=name [,name] ...
- Specify a comma-separated list of foreign architectures. The default is an
empty list of foreign architectures. If --deb-host-arch is set, it
is used as an implicit foreign architecture.
- --deb-host-arch=name...
- Specify the host architecture. If this option is given,
--deb-native-arch must also be set.
- --latest
- Only the latest version of each package is kept, older versions of
packages are ignored.
OPTIONS CONTROLLING OUTPUT¶
- -f --failures
- Only show broken packages that fail the installability check.
- -s --successes
- Only show packages that do not fail the installability check.
- -e --explain
- Give explanations. If used together with --failures then the explanation
consists of dependency chains leading to a conflict or a dependency on a
missing package. If used together with --successes then the explanation
consists of an installation set.
- -o file
- Send output to file.
MISC OPTIONS¶
- -v
- Enable info / warnings / debug messages. This option may be repeated up to
three times in order to increase verbosity.
- -h, --help
- Display this list of options.
EXIT CODES¶
Exit codes 0-63 indicate a normal termination of the program, codes 64-127
indicate abnormal termination of the program (such as parse errors, I/O
errors).
In case of normal program termination:
- exit code 0 indicates that all foreground packages are found installable;
- exit code 1 indicates that at least one foreground package is found
uninstallable.
EXAMPLE¶
Compute the list of source packages in Sources for which it is not possible to
install a build environment on i386, assuming that the binary packages
described in file Packages are available:
dose-builddebcheck -v -f -e --arch amd64 \
/var/lib/apt/lists/ftp.fr.debian.org_debian_dists_sid_main_binary-amd64_Packages\
/var/lib/apt/lists/ftp.fr.debian.org_debian_dists_sid_main_source_Sources
Compute the list of source packages for armel in Sources for which it is not
possible to install a mix build environment on amd64 plus armel, assuming that
the binary packages described in file Packages are available:
deb-builddebcheck --failures --successes --deb-native-arch=amd64 \
--deb-foreign-archs=armel,linux-any --deb-host-arch=armel \
DebianPackages/Sid-amd64-armel-Packages-050812.bz2
DebianPackages/Sid-Sources-single-version-050812.bz2
AUTHOR¶
The current version has been rewritten on the basis of the dose3 library by
Pietro Abate; it replaces an earlier version that was simply a wrapper for
edos-distcheck.
SEE ALSO¶
deb-control(5),
dose-distcheck(1)
<
http://www.edos-project.org> is the home page of the EDOS project.
<
http://www.mancoosi.org> is the home page of the Mancoosi
project.