Automated win32 build scripts and UPDATE_SOURCES, packaging dir, ...

Geert Janssens janssens-geert at telenet.be
Sat Aug 11 12:23:35 EDT 2012


On 11-08-12 17:54, Derek Atkins wrote:
> Geert,
>
> 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 
whole story.

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 
install script.

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
> update.
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.
> -derek
Geert


More information about the gnucash-devel mailing list