Edos-builddebcheck(1) Check satisfiability of Debian package build-dependencies


edos-builddebcheck [option] ... Packagefile Sourcepackagefile


edos-builddebcheck reads a set of Debian package descriptions from the file Packagefile, each of which is in the format of deb-control(5), and a set of source package descriptions from the file Sourcepackagefile. All packages described in the file Packagefile must have the same value of their Architecture (if it is different from all).

For instance, the Packages and Sources files as found on a Debian mirror server, or in the directory /var/lib/apt/lists/ of a Debian system, are suitable as input files.

edos-builddebcheck verifies for every of the source packages (from Sourcepackagefile) whether its build-dependencies, build-indep-dependencies and build-conflicts can be satisfied from the binary packages provided in Packagefile. Only build-relations that apply to the architecture (see below on how the architecture is determined) are taken into account.

Note that this is not the same thing as checking whether a distribution can be rebuild from scratch, for several reasons:

1. No actual compilation is taking place, this tool only does a static analysis of package relationships.

2. The binary packages in Packages are not necessarily those that are the result of the compilation of the source packages in Sourcepackagefile.

3. We do not check for cycles. For instance, suppose that we have source packages a and b both generating one binary package of respectively the same name, and that a build-depends on b and b build-depends on a. Then we can not rebuild the set of packages from scratch because of the cycle. However, if we already have binary packages a and b then we can recompile both of them. Consequently, edos-builddebcheck will not report an error in this case.

4. The underlying logical machine does a complete analysis of alternatives, and might report satisfiability of constraints in case actual tools (like apt) fail to find a solution.

Build-essential packages are ignored in unversioned build-dependencies. The (architecture dependant) list of build-essential packages is read from the configuration file. If that file is not available than an architecture independent default value is used.


-a, --architecture architecture
Check for compilation on architecture. Usually it is not necessary to specify the architecture since it can be derived from the Packages file.
-be, --binexplain
Add all explanations why build-dependencies are not satisfiable. Without that option some of these explanations may be missing from the output in case a source package build-depends on a binary package that exists in Packagefile file but that edos-debchecks finds not to be installable inside Packagefile.


Configuration file for edos-builddebcheck


Edos-builddebcheck has been written by Stefano Zacchiroli <[email protected]> and Ralf Treinen <[email protected]>. It heavily relies on edos-debcheck which has been written by Jerome Vouillon for the EDOS project.