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

Geert Janssens janssens-geert at telenet.be
Thu Aug 16 05:39:59 EDT 2012


On 15-08-12 15:19, Derek Atkins wrote:
> Christian Stimming <christian at cstimming.de> writes:
>
>> Am Samstag, 11. August 2012, 18:23:35 schrieb Geert Janssens:
>>> 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.
>> As the automated builder runs on Windows, there's an additional twist here
>> that I haven't seen mentioned: On Windows, the OS will refuse to change a file
>> that's currently "in use" by the current process. That is, a script file that
>> runs "svn update" (or git pull) by definition is "in use", and its svn/git
>> child process will be refused to change this very script file. Essentially, if
>> the script runs an update that will change itself, the update will fail with
>> some very weird error message because of this.
>>
>> Hence, the "invalidation" of the script file might be one issue, but
>> Windows' refusal to change the currently active script file is
>> another. Because of this, the main update/pull of the working copy
>> needs to be somewhere else than the actual script file. At least
>> that's my understanding of this.
> The one that matters most, I believe, is the "gnucash.bat".  Luckily
> that one doesn't update frequently, so I think we can manually update
> that as necessary.  But yes, I do believe we have hit this issue before.
It's not "gnucash.bat". It's in the scripts that are called by 
"daily_build.bat". Those can be:
daily_build.sh
daily_build_git.sh
weekly_build.sh
weekly_build_git.sh
build_tags.sh
build_tags_git.sh

I have added a comment in each of these files to remind us of this 
Windows restriction. Thanks for bringing it up again.

Geert


More information about the gnucash-devel mailing list