Ok,

there are obviously still build problems in a tarball. I propose to plan for a 1.9.0 next Sunday. Until then, everyone should at least once do a "make dist" and try to compile the resulting tarball from the tarball alone.

Chris Lyttle schrieb:
on amd64 I get,

Does anyone of the active developers have a amd64 machine at hand? (I don't.) I would certainly believe that some tests will fail on amd64 as long as this is none of our actively developed target platforms...

on x86 I get,

make[3]: Entering directory
`/home/chris/cvs/gnucash-test/gnucash-1.9.0/_build/po'
INTLTOOL_EXTRACT=../intltool-extract srcdir=../../po ../intltool-update
--gettext-package gnucash --pot
can't
open 
../../po/../src/gnome/schemas/apps_gnucash_dialog_scheduled_transctions.schemas.in:
 No such file or directory at ../intltool-extract line 204.
/usr/bin/xgettext: error while opening
"../../po/../src/backend/dwi/qofmap.c" for reading: No such file or
directory
ERROR: xgettext failed to generate PO template file. Please consult
       error message above if there is any.
make[3]: *** [gnucash.pot] Error 1
make[3]: Leaving directory
`/home/chris/cvs/gnucash-test/gnucash-1.9.0/_build/po'
make[2]: *** [check-recursive] Error 1

*sigh* Now this is the generated po/POTFILES.in striking back. There are obviously some files in SVN that don't make it into the tarball and nobody noticed so far. The generated po/POTFILES.in cannot distinguish those from the correct ones. Both src/gnome/schemas/apps_gnucash_dialog_scheduled_transctions.schemas.in and src/backend/dwi/qofmap.c are not included in the dist target, but are included into POTFILES.in by make-gnucash-potfiles because they are found in a SVN checkout.

(I wonder why the rule for po/gnucash.pot triggers at all -- it shouldn't in the tarball. But anyway, it should be allowed to call this rule in the tarball, so POTFILES.in needs to be fixed.)

Here's what we can do:

#1. Include po/POTFILES.in into SVN again; don't let it be generated automatically, but only on the manual rule "make pot"; remove those non-distributed files from the SVN version of POTFILES.in. Problem solved.

#2. Add those non-distributed files into the @ignorepatterns in make-gnucash-potfiles. This will fix this particular error from the generates POTFILES.in.

#3. Add some wonderful magic into make-gnucash-potfiles which will be able to tell apart the non-distributed files from the distributed ones.

I can't imagine any implementation of #3 that doesn't involve adding an extra rule to *all* Makefiles. Has something of "mit Kanonen auf Spatzen schießen", literally "Shoot sparrows by a cannon", in english "to break a butterfly on a wheel". So either #1 or #2.

Note that eventually #2 isn't any different from having the POTFILES.in directly in SVN, #1. It is still possible that someone removes a file from the dist target but leaves it in SVN, which will break the #2 solution, BUT (and that's the not-so-good part) only in the tarball and not in the normal SVN build, which means this breakage won't be discovered until the release manager tests the tarballs. :-(

Also a problem of the #2 solution is that it is much more subtle and less clear how to fix such files that should not be added to POTFILES.in. The #1 solution OTOH makes it extremely clear how to fix such files, it will show the build errors directly in the SVN build which is where it should also be fixed, and it enables the translation manager (myself) to edit this file into a form that will really include only those files that contain translations.

I propose #1, adding po/POTFILES.in back into SVN and having it regenerated only on the manual "make pot" rule.

Christian
_______________________________________________
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Reply via email to