Automatically build & distribute multi-arch Debian packages
Go to file
2024-06-02 08:58:09 +08:00
build-farm Getting lintian to quiet down 2024-05-30 13:54:12 +08:00
debian Updated changelog 3.1.0 2024-06-01 16:37:25 +08:00
manual Cleaned up manual a bit 2024-05-31 06:06:00 +08:00
repository Autobuild now creates a new Debian repo for the user 2024-06-01 16:32:02 +08:00
service Beginning to add systemd service 2024-05-28 16:27:40 +08:00
autobuild Allow -p arg to be package name, git url, or .tar.gz file path 2024-05-30 16:38:49 +08:00
autobuild-setup Removed non-acting line of code 2024-06-02 08:58:09 +08:00
autobuildd Minor fix 2024-06-01 16:47:32 +08:00
bell.ogg Replaced bell.wav with bell.ogg 2024-04-27 18:53:56 +08:00
config.toml Autobuild now creates a new Debian repo for the user 2024-06-01 16:32:02 +08:00
LICENSE Relicensed under the GNU Affero GPL 2023-12-21 16:17:12 +08:00 Updated readme 2024-06-01 16:35:51 +08:00


Automatically build & distribute Debian packages


What does it do?

This program can automatically:

  • Retrieve Debian package sources from a git repo or .tar.gz archive

  • Launch a virtual QEMU build-farm & build those packages for various architectures

  • Create GitHub/Forgejo release pages for those packages

  • Create a Debian Repository to distribute packages (which can be hosted either via GitHub Pages or local web server)

  • Push those packages to said Debian Repository

Autobuild is also used to build & distribute itself.

How do I use it?


Autobuild can be easily installed via the repository:

sudo curl -s -o /etc/apt/trusted.gpg.d/rail5-signing-key.gpg ""
sudo curl -s -o /etc/apt/sources.list.d/rail5.list ""
sudo apt update
sudo apt install autobuild


After installing, run sudo autobuild -s to complete set-up.

Your CONFIG file can be found at /var/autobuild/config.toml, and is where you can tell autobuild where to find your packages, as well as other settings


autobuild --amd64 --i386 --arm64 --package my-debian-package --package my-other-debian-package --github-page
autobuild -123 -p -p /path/to/my-other-debian-package.tar.gz -g

The above examples will build your packages "my-debian-package" and "my-other-debian-package" (as you've set them up in the CONFIG file) and then publish them to GitHub Release pages.

autobuild --local -p my-debian-package -o /home/user/

The above example will build your package locally (without using the virtual build farm) and save the resulting build in /home/user

See autobuild --help, autobuild -h, or man autobuild for a list of options and how to use them.