Automatically build & distribute multi-arch Debian packages
Find a file
2024-10-07 16:35:07 +08:00
build-farm Added locale generation to initrd preseed 2024-10-01 11:57:20 +08:00
debian Added gpg to dependencies list 2024-10-07 16:35:07 +08:00
manual Allow -L option to be a directory 2024-10-03 20:45:37 +08:00
repository Autobuild now creates a new Debian repo for the user 2024-06-01 16:32:02 +08:00
service Output errors to the socket until we're more production-ready 2024-07-18 16:07:32 +08:00
web github_is_configured: check for email 2024-10-07 14:16:07 +08:00
webconf Run PHP as autobuild user rather than www-data 2024-10-07 12:08:51 +08:00
autobuild Much more sensible way to kill the daemon 2024-10-05 15:23:20 +08:00
autobuild-setup Removing old unused variable 2024-10-05 22:40:27 +08:00
autobuildd Cleaning up the graceful interrupt function a bit 2024-10-05 17:02:32 +08:00
bell.ogg Replaced bell.wav with bell.ogg 2024-04-27 18:53:56 +08:00
config.toml Removed obsolete setting from config.toml 2024-10-05 20:55:12 +08:00
LICENSE Relicensed under the GNU Affero GPL 2023-12-21 16:17:12 +08:00
README.md Updated readme 2024-10-06 12:52:38 +08:00

autobuild

Automatically build & distribute Debian packages

AGPL

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?

Installation

Autobuild can be easily installed via the deb.rail5.org repository:

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

Set-up

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

Your CONFIG file can be found at /var/autobuild/config.toml

Command-line usage

autobuild --amd64 --i386 --arm64 --package my-debian-package --package my-other-debian-package --github-page
autobuild -123 -p https://github.com/user/my-debian-package -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" 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.

Autobuild-web

A web interface is provided by the autobuild-web package:

sudo apt install autobuild-web

After installing, it will be available on your web-server at http://your-domain-or.ip/autobuild

Desktop Mobile
build-menu build-menu
log-success log-success