Automated win32 build scripts and UPDATE_SOURCES, packaging dir, ...
janssens-geert at telenet.be
Sat Aug 11 12:23:35 EDT 2012
On 11-08-12 17:54, Derek Atkins wrote:
> I think there are two different types of builders: the automated builder,
> and a developer.
> The automated builder is always going to want to build the most recent
> changeset on any particular branch, and it's going to want to be able to
> update the build scripts while doing so.
I did think of that, but didn't mention it to not overly complicate the
I suspect there's only one automated builder in existence for GnuCash on
Windows, and that's our own build server. So I'll focus on this one only.
For this builder we have a set of scripts that wrap around the actual
As it happens these scripts already run svn update to get the latest
build sources in daily_build.sh and weekly_build.sh. This scripts
consisting of about 5 lines of code. So theoretically the risk of
invalidating the build script due to the update is here as well. We take
the risk there, since it such a small script that it rarely ever will
change in a way that running svn update on it will cause trouble. This
same svn update call also updates the meat of the build scripts before
they are actually called.
But this exact same scenario can continue to work when using the
packaging directory of the build repo directly. The risk remains the
same: the 5-line script can become outdated while running it, the others
are updated properly before they are called.
So suppose we drop the separate packaging directory requirement, then
the svn update would in one go update the build scripts and the source
to build, still automatically at each run. There would be no need
anymore for an UPDATE_SOURCES in the install.sh script.
> Developers probably do NOT want to sources to auto-update, and instead
> would probably want the build to work with the code as-is without an
Developers will disable UPDATE_SOURCES.
> I do think we need to support both situations.
Net result: in my opinion we don't really need UPDATE_SOURCES if we use
the packaging directory in the main repo straight away.
More information about the gnucash-devel