[aur-general] Continuous integration of AUR packages
baptiste at bitsofnetworks.org
Thu Feb 18 11:51:19 UTC 2016
I would like to run some kind of continuous integration of my AUR
packages. The goal is to know when a package I maintain fails to build
1/ its dependencies have been updated (new API, new incompatible version
of GCC, ...)
2/ for -git packages, changes made upstream broke something (new
dependency needed, new build system...)
The scripts in devtools  look like they should work just fine to
automate these kind of builds. After all, they are used to build the
official Archlinux packages.
However, I found that the build scripts do not really handle dependencies.
When building a given package, they just install deps and makedeps from
the existing Archlinux repositories. This is an issue when AUR packages
depend on each other, because then dependencies cannot be installed from
the Archlinux repositories...
It *is* possible to manually pass packages to install in the chroot before
building, but this is far from convenient. For instance, ring-daemon
depends on opendht, so I would need to do this:
extra-x86_64-build -- -I ../opendht/opendht-0.5.1-1-x86_64.pkg.tar.xz
When there are multiple dependencies, it quickly becomes a nightmare to
automate (especially because dependencies need to be passed in the right
Is there any script that automates dependency handling when building?
Basically, it would probably need to perform a topological sort, build
packages in this order, and push them to a local repository to be able to
build later packages.
Or did I take the wrong approach entirely?
PS : Some existing efforts I found about CI with Arch:
No script provided, site appears to be down
Source code is unreadable (enormous Perl scripts, no modularity)
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 819 bytes
Desc: not available
More information about the aur-general