embuilddeps(1) handle native and cross build-dependency installation.

Usage

 embuilddeps [-a|--arch] [--use-sudo]
 embuilddeps -?|-h|--help|--version

Options

 -a|--arch:          Install cross packages for the specified arch.
 -d|--dir DIR:       Location of the unpacked source (./debian/control)
    --dsc DSCFILE:   Path to a .dsc file for the package.
 -m|--multiarch:     Make dpkg-cross convert Multi-Arch packages.
 -k|--preserve:      Pass the -k option down to xapt.
 -v|--verbose:       Make the output more verbose
 -q|--quiet:         Make the output less verbose
 -n|--dry-run:       Only output the commands which would be used.
 --use-sudo:         Call apt-get using sudo.

Description

"embuilddeps" is a simple build dependency checker for cross-building. Native build dependencies are checked using the debian/control file in the source package being built and installed with "apt-get".

Cross build dependencies are checked using a debian/xcontrol file or the debian/control file if no xcontrol file exists.

"embuilddeps" uses "xapt" to install cross build dependencies.

Output

To see more about what is going on (and to check the results of parsing the dependencies and architecture limits.

See also Term::ANSIColor (3) for information on ANSI_COLORS_DISABLED.

pbuilder

"embuilddeps" can be used as a native and cross-dependency resolver in a pbuilder chroot using "pbuilder", "pdebuild" or "pdebuild-cross" and supports pbuilder options to locate the chroot and execute calls within the chroot.

 --control indicates the location of the .dsc file
 --internal-chrootexec indicates the command to execute inside the chroot
 --chroot indicates the location of the chroot
 --binary-all is supported as a no-op by C<embuilddeps>.

If other build tools need particular options to be supported, please file a wishlist bug against "xapt" and describe the exact options which are necessary.

"embuilddeps" does require that "xapt" is installed inside the chroot - it will try to install it for you but it is much easier if you install it once and for all. "pdebuild-cross" will add "xapt" when creating a new chroot. See pdebuild-cross (1) for more information on how to manipulate a pdebuild-cross chroot after creation.

Source packages and dsc files

"embuilddeps" can also parse the build dependencies of a package via the .dsc file. The rest of the source package (the files listed in the .dsc) do not need to exist and the source does not need to have been unpacked. Use the "embuilddeps --dsc FILE" option.

The alternative method is to parse the ./debian/control file at the location specified by the "--dir" option which defaults to the current working directory.

Multi-Arch transition

Some packages already have multi-arch paths which dpkg-cross does not normally convert. This can cause missing dependencies when trying to install the converted packages. Use the "--multiarch" option to "embuilddeps" to pass this down to "xapt" and hence to "dpkg-cross".

Retaining downloaded binaries

"embuilddeps" can pass the "-k" option to "xapt" to retain the foreign architecture packages downloaded by "xapt" and the packages built using "dpkg-cross".

Note that "xapt" should be asked to clean up the downloaded files once these lists have been handled by calling the "xapt -c" option which removes the contents of /var/lib/xapt/*.