Tools to help with the packaging process. For more information about packaging, see Packaging. For tools to create basic Debian packages, see AutomaticPackagingTools.
Contents
Package maintenance tools
Tools to manage the overall process of packaging software.
for use with git repositories
Features
Language: Python
Features
Language: shell
Features
Language: shell
for use with Subversion repositories
Features
Language: Perl
- for use with Breezy repositories
Features
Language: Python
- for use with Darcs repositories
Features
Language: C
Automatic packaging tools
Tools to create basic working Debian packages.
Automatic debian/copyright tools
Tools to maintain copyright information in debian/copyright.
See CopyrightReviewTools.
Package-checking tools
Tools to ensure your package conforms to various requirements and guidelines.
- checks installed packages for bugs and policy violations
may be useful as an autopkgtest
Features
Language: Perl
find missing hardening tags in complex build systems
Features
Language: Perl
- tests binary packages as specified by their source packages
Features
Language: Python
- reports bugs and policy violations
Features
Language: Perl
- checks packages handle installation, upgrading, and removal correctly
Features
Language: Python
rebuilds reverse-build-dependencies of a .changes file
- e.g. check whether your new library version breaks any existing packages
Features
Language: C
Package build tools
Tools to build .deb packages from Debian-formatted sources.
used by official buildds
- chroot/unshare/schroot for isolation
- calls autopkgtest, which uses schroot/lxc/chroot/qemu/ssh for isolation
Features
Language: Perl
- chroot for isolation
Features
Language: Bash
- chroot for isolation
cowdancer via LD_PRELOAD for copy-on-write
Features
Language: C
- qemu for isolation
Features
Language: C
- systemd-nspawn for isolation
Features
Language: Python
- systemd-nspawn for isolation
Features
Language: Python
whalebuilder (package)
- docker for isolation
Features
Language: Ruby
whalebuilder (script)
- docker for isolation
not related to whalebuilder
Features
Language: Shell
- docker for isolation
Features
Language: Bash
- docker for isolation
Features
Language: Python
- docker for isolation
Features
Language: Bash
- docker for isolation
Features
Language: Bash
- docker for isolation
Features
Language: Bash
- docker for isolation
Features
Language: Bash
- docker for isolation
Features
Language: Shell
- docker for isolation
integrates with Jenkins & VSCode
Features
Language: Python
- podman and docker for isolation
- all steps automated, easiest to use
Features
Language: shell
- docker for isolation
Features
Language: Python
Debian repository build tools
Tools to maintain APT-compatible repositories of packages.
Tools to create a build system
Tools to create minimal Debian systems for building packages.
- works on systems without apt, used in d-i
Features
Language: shell, Perl
Formats: directory
Features
Formats: directory
- no superuser privileges required
- multiple mirrors possible
- stable includes security mirrors by default
- twice as fast as debootstrap
chroots with only Essential:yes or without apt possible
bit-by-bit reproducible with SOURCE_DATE_EPOCH set
- foreign architecture chroots supported
Features
Language: Perl, Python
Formats: directory, tarball, ext2, squashfs, null
sbuild-createchroot
deprecated - use mmdebstrap instead
- research project for fast install bootstrap through parallelism
Features
Language: C++
Formats: directory
Features
Formats: directory
- only for rpm packages
- build rpm distro chroot on Debian
Features
Language: Perl
Formats: directory
fai dirinstall creates a chroot
Features
Language: shell, Perl
Formats: directory
Wrappers
Specialisations of the above tools.
- vmdebootstrap successor
Features
Language: python, configuration specified in yaml
Read-only/Writable: read/write
Formats: raw
- little shell wrapper around debootstrap
- supports multiple architectures via qemu-user
Features
Language: shell
Formats: directory
- wrapper around mmdebstrap
Features
Language: shell
Formats: ZIP file containing rootfs, kernel, initrd
- wrapper around mmdebstrap for YAML configuration
Features
Language: Python
- wrapper around mmdebstrap
- targeted at building Debian testing → stable backports
Features
Language: shell
- wrapper around debootstrap
- reproducible rootfs builds (especially for application containers)
Features
Language: Bash
- wrapper around mmdebstrap
Features
Language: Bash
See also
PackagesForBuildingPackages - should always be installed build environments
- other packaging solutions
- package/system hybrids
other packaging solutions blur the line between packages and whole systems
docker and podman can be used like whole systems or just sandboxed apps
