Automated win32 build scripts and UPDATE_SOURCES, packaging dir, ...
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:
I have added a comment in each of these files to remind us of this
Windows restriction. Thanks for bringing it up again.
More information about the gnucash-devel