table of contents
| DEBCRAFT(1) | Debcraft usage | DEBCRAFT(1) |
NAME¶
Debcraft - Easy, fast and secure way to build Debian packages
DESCRIPTION¶
usage: debcraft <build|improve|test|release|update|shell|logs|prune> [options] [<path|pkg|srcpkg|dsc|git-url>]
Debcraft is a tool to easily build .deb packages. The 'build' argument accepts any of the following:
- * path to directory with program sources including a debian/ subdirectory with
- the Debian packaging instructions
- * path to a .dsc file and source tarballs that can be built into a .deb
- * Debian package name or source package name that apt can download
- * git http(s) or ssh URL that can be downloaded and built
The command 'improve' will try to apply various improvements to the package based on tools in Debian that automate package maintenance. The command 'test' will run the Debian-specific regression test suite if the package has autopkgtest support, and drops to a shell for investigation if tests fail to pass. The command 'release' uploads a package that is ready to be released and the command 'update' tries to update the package to the latest upstream version if the package git repository layout is compatible. The command 'shell' can be used to explore the container and run various tests and build commands one-by-one, typically for debugging purposes.
The command 'logs' lists previous builds and their logs and 'prune' cleans up the build directories of all packages, and reports how much disk space Debcraft occupies before it deletes anything. These two commands are not tied to any source package and can be invoked from anywhere.
In addition to parameters below, anything passed in DEB_BUILD_OPTIONS will also be honored. Successful builds include running './debian/rules clean' to clean up artifacts, while failed builds will leave them around for inspection.
optional arguments:¶
- --build-dirs-path
- Path for writing build files and artifacts (default: ~/.cache/debcraft)
- --distribution
- Linux distribution to build in (default: from debian/changelog)
- --container-command
- Container command to use (default: autodetect Podman or Docker)
- --host-architecture
- Host architecture to use when performing a cross build
- --skip-sources
- Build only binaries and skip creating a source tarball to make the build slightly faster ('debcraft build' only)
- --with-binaries
- Create a release with both source and binaries, for example with the intent to upload to NEW ('debcraft release' only)
- --copy
- Perform the build on a copy of the package directory
- --clean
- Ensure sources are clean before and after build (only needed for packages with incomplete 'debian/clean' or 'debian/.gitignore' definitions)
- --pull
- Ensure latest container base image version is pulled
- --extra-repository
- Use directory as local package repository for builds
- --config
- Path to debcraft configuration file
- --release-to
- After build or release, copy artefacts to specified dir
- --older-than
- Only prune files and directories that are older than the given number of days (default: 365) ('debcraft prune' only)
- --yes
- Don't ask for confirmation ('debcraft prune' and PPA uploads)
- --debug
- Emit debug information
- -h, --help
- Display this help and exit
- --version
- Display version and exit
To learn more, or to contribute to Debcraft, see project page at ?]8;;https://salsa.debian.org/debian/debcraft?salsa.debian.org/debian/debcraft?]8;;?
To gain more Debian Developer knowledge, please read ?]8;;https://www.debian.org/doc/manuals/developers-reference/?www.debian.org/doc/manuals/developers-reference/?]8;;? and ?]8;;https://www.debian.org/doc/debian-policy/?www.debian.org/doc/debian-policy/?]8;;?
| October 2026 | Debcraft version unknown: neither git version control nor installed package was found |