Swig code generation - git src vs tarball src

John Ralls jralls at ceridwen.us
Sat Mar 28 15:56:10 EDT 2015


> On Mar 28, 2015, at 3:16 AM, Geert Janssens <geert.gnucash at kobaltwit.be> wrote:
> 
> Our build system behaves differently when a build is started from a git 
> cloned repository or from a release tarball: swig interface files are 
> only converted into c files when building from git. The tarball assumes 
> these should be present.
> 
> What is the original reason it was implemented this way ? Or put 
> differently is there (still) a good reason to avoid on the fly swig code 
> generation for a (release) tarball build ?
> 
> It seems to me these diverging code paths are needlessly complicating 
> the code.
> 
> Background: I ran into this while trying to set up a nightly build 
> system for fedora/rhel rpms. Based on the guidelines I found for 
> Fedora's copr and tito tools I'm trying to build from a tarball that is 
> created from the git repository (not via make dist).
> 
> The build system detects it's not running from git and will fail because 
> the swig generated files are missing.
> 
> Pretending I'm building from git using BUILDING_FROM_SCM=yes will cause 
> the build to fail as well when trying to extract version information 
> from git...
> 
> I'm not sure my experiment is achievable. But it got me thinking about 
> this diverging code path in our source anyway. So to summarize again:
> 
> What is the original reason it was implemented this way ? Or put 
> differently is there (still) a good reason to avoid on the fly swig code 
> generation for a (release) tarball build ?

I wasn’t actually around for it, but I suspect that the reason was to avoid having SWIG as a dependency for building release tarballs. I think that that’s still worthy.

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.

Regards,
John Ralls




More information about the gnucash-devel mailing list