Swig code generation - git src vs tarball src
Geert Janssens
geert.gnucash at kobaltwit.be
Tue Mar 31 12:21:05 EDT 2015
On Tuesday 31 March 2015 08:59:03 John Ralls wrote:
> > On Mar 31, 2015, at 7:33 AM, Derek Atkins <warlord at mit.edu> wrote:
> >
> > John Ralls <jralls at ceridwen.us> writes:
> >> I also think that it’s good that the build from a tarball based on
> >> a
> >> random commit fails. Since that tarball doesn’t contain any version
> >> information other than what’s in configure.ac, the resulting
> >> GnuCash
> >> will look like the last release which could produce some confusing
> >> bug reports.
> >
> > Well, this isn't true. You can "make dist" from any random commit
> > and build from the resulting tarball. But no, you cannot just tar
> > up a random commit and build it.
>
> Hmm, valid point. So in addition to rejiggering the "do we need swig"
> logic we should also change the versioning logic with VCS builds so
> that the version that goes on the splash screen and Help>About is the
> output of `git describe`.
We have code in place that does something similar already (in src/core-
utils/Makefile.am). It was written in the svn days and works for 4
different vcs systems. It doesn't call git describe though for git. It
does alter the version text in the about dialog depending on whether the
build is a release build or just a random commit build however. Git
describe could be a better option for the git case.
> I suppose to be perfectly paranoid we
> should also disable make-dist for non-VCS builds, but perhaps that
> would be overdoing it.
>
Possibly. However if the version information is clear about whether it's
a pure release build or some random commit build, that would probably be
overkill.
As a followup on my nightly-on-fedora, I have managed to pull it off:
http://copr.fedoraproject.org/coprs/gjanssens/gnucash-maint/build/83952/
For these builds I'm tarring up my git source tree, add a manually
generated gnc-version.h and gnc-scm-info.h (which are used for the about
dialog version info) and fed that tarball to the fedora build system.
I had to tweak the build to include running autogen.sh of course and I
had to lie to the gnucash build system about building from git (I forced
it to assume building from git even though it only got a tarball).
In retrospect that was actually fairly easy to accomplish with the
current source tree.
Later I'll add documentation builds as well and perhaps set up a repo
similar to gnucash-on-windows to publish the build scripts.
I have more pressing matters on my desk now though that require
attention first.
Geert
More information about the gnucash-devel
mailing list