[arch-dev-public] Package checking

Allan McRae allan at archlinux.org
Wed Jun 2 09:32:53 EDT 2010

On 02/06/10 23:02, Jan de Groot wrote:
> A lot of projects include a "check" target in their makefiles. Right
> now, we don't use these checks and just upload a package after compiling
> it, sometimes even without a runtime test.
> I would propose to add checks to important packages. Examples include
> glibc, glib2, cairo, MySQL, Mozilla stuff and more. Running make check
> can result in better package quality. Upstream usually runs these tests
> before releasing, but they don't test every possible combinations of
> packages that a distribution ships.
> To implement this, I would propose to have some kind of check function
> inside the PKGBUILD, which can be called by makepkg if "check" is in the
> options array. Other option is to include make check inside the build()
> function, but that will make it non-optional.
> This package checking stuff could get implemented in an automatic build
> bot in the future. Not only will that build bot detect packages which
> don't build anymore, but it will also detect regressions caused by
> package updates. A package like xulrunner or firefox could pass the
> check without errors on package upload, but it could break after
> updating cairo or gtk2 for example.

I agree and have filed a bug a while back 
(http://bugs.archlinux.org/task/15145) - I am still thinking about how 
to invoke the check function (all the time if it is there, global config 
option, flag?), but the same consideration needs to be address for 
(e.g.) splitting debug symbols into a separate package.

I do run the test suites within the build function for the numeric 
libraries used by gcc (gmp/mpfr/ppl/cloog-ppl/libmpc).  For the 
toolchain, I usually manually run the test suite in the build directory 
(requires stopping makechrootpkg from deleting it...).  The gcc test 
suite requires some packages not in [core] so I did not want to add them 
as makedepends.


More information about the arch-dev-public mailing list