Automatically build & distribute multi-arch Debian packages
Find a file
2024-05-30 13:54:12 +08:00
build-farm Getting lintian to quiet down 2024-05-30 13:54:12 +08:00
debian Getting lintian to quiet down 2024-05-30 13:54:12 +08:00
service Beginning to add systemd service 2024-05-28 16:27:40 +08:00
autobuild Fixed -o option, added -r option to remove old builds in /var 2024-05-30 13:19:30 +08:00
autobuild-setup Removed 'set up github over https' option, added 'clear builds directory' option 2024-05-30 12:28:08 +08:00
autobuildd Fixed -o option, added -r option to remove old builds in /var 2024-05-30 13:19:30 +08:00
bell.ogg Replaced bell.wav with bell.ogg 2024-04-27 18:53:56 +08:00
config.toml Added support for creating forgejo release pages 2024-05-03 21:02:17 +08:00
LICENSE Relicensed under the GNU Affero GPL 2023-12-21 16:17:12 +08:00
README.md Updated READMEs 2024-05-25 22:57:25 +08:00

autobuild

Automatically build & distribute Debian packages

AGPL

What does it do?

This program will automatically:

  • Download Debian package sources from a git repo

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

  • Create GitHub/Forgejo release pages for those packages

  • Push those packages to a Debian Repository hosted on GitHub Pages (or similar service)

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.gpg "https://deb.rail5.org/rail5.gpg"
sudo curl -s -o /etc/apt/sources.list.d/rail5.list "https://deb.rail5.org/debian/rail5.list"
sudo apt update
sudo apt install autobuild

Set-up

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

Your CONFIG file can be edited with autobuild -c, and is where you will tell autobuild where to find your packages, as well as other settings

Usage

autobuild --amd64 --i386 --arm64 --package my-debian-package --package my-other-debian-package --github-page
autobuild -1 -2 -3 -p my-debian-package -p my-other-debian-package -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.