[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