[aur-general] Continuous integration of AUR packages

Baptiste Jonglez 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
because either:

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 [1] 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:

    cd opendht
    cd ../ring-daemon
    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?


[1] https://projects.archlinux.org/devtools.git/

PS : Some existing efforts I found about CI with Arch:

- https://lists.archlinux.org/pipermail/arch-dev-public/2014-November/026757.html
  No script provided, site appears to be down

- http://openbuildservice.org/2012/09/10/arch-linux-support/
  Source code is unreadable (enormous Perl scripts, no modularity)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <https://lists.archlinux.org/pipermail/aur-general/attachments/20160218/fccba4ff/attachment.asc>

More information about the aur-general mailing list