Re: [Vala] valac runs during make distcheck (and fails)



On Sun, 2014-10-26 at 17:40 +0100, Sébastien Wilmet wrote:
Hello,

'make distcheck' fails for a module I maintain (LaTeXila):

make[5]: Entering directory '/home/seb/gnome/latexila/latexila-3.14.1/_build/src'
rm -f ../../src/latexila_vala.stamp && echo stamp > ../../src/latexila_vala.stamp-t
rm: cannot remove ‘../../src/latexila_vala.stamp’: Permission denied
Makefile:1475: recipe for target '../../src/latexila_vala.stamp' failed
make[5]: *** [../../src/latexila_vala.stamp] Error 1

It's because the latexila-3.14.1/src/ directory doesn't have write
permissions, it's all read-only (make distcheck is testing builddir !=
srcdir after extracting the tarball).

Normally only the C code should be compiled, but it seems that valac
tries to run. It was not the case before. What has changed recently in
LaTeXila is that an internal library in C has been written, with GObject
Introspection support and vapigen to generate a .vapi that the Vala code
uses.

I know Vala has some problems with builddir != srcdir:
https://bugzilla.gnome.org/show_bug.cgi?id=694153

But I don't know why valac is run during 'make distcheck'. And I prefer to
run 'make distcheck' instead of 'make dist' for rolling tarballs. It's
maybe an interference with GOBJECT_INTROSPECTION_CHECK or VAPIGEN_CHECK
in configure.ac.

Any help would be greatly appreciated. LaTeXila is available there:
https://git.gnome.org/browse/latexila/

'make distcheck' fails for the master branch, but it succeeds for the
gnome-3-14 branch.

make distcheck is running because you have liblatexila/latexila.vapi in
latexila_SOURCES.  That means that make will rebuild latexila whenever
the timestamp on liblatexila/latexila.vapi is newer than the stamp file.
liblatexila/latexila.vapi isn't included in the dist tarball, so it will
always be generated and therefor newer than the version in the stamp
file.  Even if it *were* included in the dist tarball, it is
automatically rebuilt whenever the GIR changes.

You should probably add the VAPI to EXTRA_DIST if you want to avoid a
hard dependency on vapigen.  Additionally, instead of listing it in
latexila_SOURCES, change latexila_VALAFLAGS to include --vapidir
liblatexila --pkg latexila.  Patch attached.


-Evan

Attachment: latexila.patch
Description: Text Data

Attachment: signature.asc
Description: This is a digitally signed message part



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]