Scroll to navigation

DEBSPAWN-BUILD(1) debspawn build DEBSPAWN-BUILD(1)

NAME

debspawn-build - Build Debian package in a container

SYNOPSIS

debspawn build [-h|--help] [--variant] [-a|--arch] [-s|--sign] [--only] [--include-orig] [--buildflags] [--results-dir] [--maintainer] {SUITE} [DIR|DSC_FILE]

DESCRIPTION

Build a Debian package from a directory or source package *.dsc file. debspawn will create a new container for the respective build using the base image specified, build the package and return build artifacts in the default output directory /var/lib/debspawn/results/ unless a different location was specified via --results-dir.

Packages downloaded prior to the actual build are cached and will be reused on subsequent builds.

EXAMPLES

You can build a package from its source directory, or just by passing a plain .dsc file to debspawn build. If the result should be automatically signed, the --sign flag needs to be passed too:

			$ cd ~/packages/hello
			$ debspawn build sid --sign
			$ debspawn build --arch=i386 cosmic ./hello_2.10-1.dsc
		

You can also build packages using git-buildpackage and debspawn:

			$ gbp buildpackage --git-builder='debspawn build sid --sign'
		

OPTIONS

-h|--help
Print brief help information about available commands.

--variant

Set the variant of the selected image, that was used for bootstrapping.

-a|--arch

The architecture of the base image that should be selected.

-s|--sign

Sign the resulting package.

--only

Select only a specific set of packages to be built. Choices are: binary: Build only binary packages, no source files are to be built and/or distributed. arch: Build only architecture-specific binary packages. indep: Build only architecture-independent (arch:all) binary packages. source: Do a source-only build, no binary packages are made.

--include-orig

Forces the inclusion of the original source.

--buildflags

Set flags passed through to dpkg-buildpackage.

--results-dir

Override the configured results directory and return artifacts at a custom location.

--maintainer

Set the name and email address of the maintainer for this package and upload, rather than using rather than using the information from the source tree's control file or changelog.

DIFFERENCES TO SBUILD

On Debian, sbuild is used primarily for package building, which uses different technology. So naturally, the question is whether the sbuild build environments and the debspawn build environments are be identical or at least compatible.

Due to the different technology used, there may be subtle differences between sbuild chroots and debspawn containers. The differences should not have any impact on package builds, and any such occurrence is highly likely a bug in the package's build process. If you think it is not, please file a bug against Debspawn. We try to be as close to sbuild's default environment as possible, but unfortunately can not make any guarantees.

One way the build environment of debspawn differs from Debian's default sbuild setup intentionally is in its consistent use of unicode. By default, debspawn will ensure that unicode is always available and default. If you do not want this behavior, you can pass the --no-unicode flag to debspawn build to disable unicode in the tool itself and in the build environment.

SEE ALSO

debspawn-update(1), debspawn-create(1), dpkg-buildpackage(1).

AUTHOR

This manual page was written by Matthias Klumpp <mak@debian.org>.

COPYRIGHT

Copyright © 2018 Matthias Klumpp
DebSpawn