[Dev] autobuilder

Luke Shumaker lukeshu at lukeshu.com
Tue Apr 25 05:19:56 GMT 2017

Hi all,

I've installed autobuilder[1] on winston, and enabled it for:

 - blacklist.git->libre/your-freedom
 - hackers.git->libre/parabola-keyring

[1]: https://git.parabola.nu/server/autobuilder.git/

For those who weren't arround back in the days of rshg082 (one of the
previous servers; back when we didn't believe in practical server
names), here's how autobuilder does:

 - On a git repository, you set up a post-recieve hook telling it the
   name of a package ("libre/your-freedom"), and the files in that
   repository that when updated need to trigger an update to the
   package ("blacklist.txt").

 - When you push a change to those files in that git repository,
   autobuilder will look at the most recent git commit to touch those
   files, and use that to update a few variables in the PKGBUILD of
   the named package:

    * "pkgver" : The current date, with an optional ".N" suffix if
                 there are multiple versions in one day

    * "pkgrel" : Reset to "1"

    * "_gitver" : The git commit hash

    * "*sums" : It runs `updpkgsums`

 - Then, it builds the the package with `sudo libremakepkg`.  It used
   to use `makepkg -c`, as it was designed for really simple packages;
   but these days dbscripts rejects packages not built in a chroot.

Currently, there is no way to make autobuilder run in response to a
PKGBUILD being changed in abslibre.git.  And you wouldn't want it to:
We don't want to have the kind of resource usage of builting a kernel
happening on the server.

Autobuilder is designed for the simple packages.  It has no notion of
dependencies, build order, caching, parallelism, et c.  It isn't
adequate as a general build server.  That will have to come later.

Happy hacking,
~ Luke Shumaker

More information about the Dev mailing list