#+TITLE: Auto-build package repository for Arch Linux
|
|
* What is this?
|
This is a package autobuild solution for Arch Linux.
|
It supports the automated building of packages from the AUR.
|
|
Currently it supports package signing and building clean from source.
|
It can help to set itself up and generate GPG keys if need be.
|
|
The chroot files are here from an older version of this project and are here as I think they're interesting.
|
|
* Set-up
|
Edit the variables at the top of ~main.sh~ to suit your repository details.
|
Have a look at the init function near the bottom of the file to decide if you want to run it.
|
If you decide to generate a GPG key, edit the name, comment and email so that it fits you.
|
|
You may also want to set ~MAKEFLAGS="-j$(nproc)"~ within the chroot to enable parallel compilation.
|
For xz compression, add the ~--threads=0~ option to COMPRESSXZ such that it reads ~COMPRESSXZ=(xz -c -z - --threads=0)~.
|
ccache may be useful to decrease the times of git packages, due to the little changes.
|
|
* Usage
|
To add a package ~main.sh add [package]~ should be run. Currently I only support adding one package at a time.
|
To update all packages, use ~main.sh build-all~. A ~-f~ flag can be used to force a rebuild of all the packages.
|
To allow automatic building, use a cronjob or write a systemd unit, there are many guides out there, although I may add examples if I feel like it.
|
|
* To Dos
|
# - Multiple packages from a single PKGBUILD :: Some PKGBUILDs can create many packages at once, currently I am unable to handle this.
|
- AUR dependency checking and automatic resolution :: Something like what aurutils does, maybe I can steal it from there
|
- Error catching for builds which fail. :: Have emailing, but nothing more advanced. Would be nice to have some basic error handling in the script
|
# - Create a universal variables file :: Not sure how useful this would be, but could be nice
|