[GRASS-dev] New WinGRASS Installer

Hi all,

I’m very close to the 6.3.0-4 WinGRASS release; I made some changes to the installer, mainly bug fixing in the sample data download section and changes in the install procedure.

Sample Data Download

I updated the tarball http addresses (specially to fix http://trac.osgeo.org/grass/ticket/189) and the extracted folder names, then I added a new message box before to start the download process; it’s something like that: http://www.webalice.it/marco.pasetti/temp/img02.png
if the user press cancel the following message appears: http://www.webalice.it/marco.pasetti/temp/img03.png

Install Procedure

There are mainly four options that we must consider:

  1. FIRST INSTALL

the user is installing GRASS for the first time
No problems. Normal install procedure.

  1. UPGRADE INSTALL

the user is installing GRASS over a previous installed and older version;
the following message appears: http://www.webalice.it/marco.pasetti/temp/img04.png
before to install the new version, we need to unistall the old one. The procedure is:

2.1. if OK is pressed, it calls the Uninstaller
2.2. if the user quits the uninstall procedure, the whole upgrade install procedure quits
2.3. if the uninstall procedure succeded, the upgrade install procedure goes on installing GRASS in the same path of the previous installation (so without asking for the install path again)

  1. DOWNGRADE INSTALL

the user is installing GRASS over a previous installed and newer version;
the following message appears: http://www.webalice.it/marco.pasetti/temp/img01.png
before to install the older version, we need to unistall the newer one. The procedure is:

3.1. if OK is pressed, it calls the Uninstaller
3.2. if the user quits the uninstall procedure, the whole downgrade install procedure quits
3.3. if the uninstall procedure succeded, the downgrade install procedure goes on installing GRASS in the same path of the previous installation (so without asking for the install path again)

  1. REPAIR INSTALL/RE-INSTALL

the user is installing GRASS over a previous installed and same version;
the following message appears: http://www.webalice.it/marco.pasetti/temp/img05.png
the uninstall procedure is not needed here. The procedure simply calls the installer re-asking the user for the install path.

Comments and suggestions are wellcome. Regards,

Marco

Marco,

On 11/07/08 16:46, marco.pasetti@alice.it wrote:

Hi all,

I'm very close to the 6.3.0-4 WinGRASS release;

Great !!

Just one small remark:

2. UPGRADE INSTALL

the user is installing GRASS over a previous installed and older version;
the following message appears: http://www.webalice.it/marco.pasetti/temp/img04.png

In this image, the installer suggests that it will install a newer version of GRASS which is 6.3.0-4 instead of 6.3.0-3. In my understanding these are not two different versions of GRASS, but rather two different versions of the installer. If this is not correct, then it shouldn't be 6.3.0 in both cases. If it is correct, then why resinstall GRASS ?

Moritz

Hi Moritz,

In this image, the installer suggests that it will install a newer version of GRASS which is 6.3.0-4 instead of 6.3.0-3. In my understanding these are not two different versions of GRASS, but rather two different versions of the installer. If this is not correct, then it shouldn't be 6.3.0 in both cases. If it is correct, then why resinstall GRASS ?

sorry, I'm late... yesterday night I had my first "friends, music and beer meeting" since last 3 months... so... you can understand :slight_smile:

yes, there's something to discuss here. You're right when you say that it's not a different version of GRASS, it's still 6.3.0, but it's not exactly a simple different version of the installer. Yes, the installer may be different, but I usually release a new "installer" (that is a new binary release) when I introduced changes in GRASS or its dependencies binaries (adding new supports to GRASS or updating dependencies); that is because WinGRASS is still at a high development stage, and it may happen that, between source releases, I add new features or complete some To-Do items about supports/dependencies.

This said, could we replace the word "version" in the message box with "binary release" or simply "release"? that would be, actually more "honest"; do you agree?

Regards,

Marco

Marco,

On 12/07/08 10:23, Marco Pasetti wrote:

Hi Moritz,

In this image, the installer suggests that it will install a newer version of GRASS which is 6.3.0-4 instead of 6.3.0-3. In my understanding these are not two different versions of GRASS, but rather two different versions of the installer. If this is not correct, then it shouldn't be 6.3.0 in both cases. If it is correct, then why resinstall GRASS ?

yes, there's something to discuss here. You're right when you say that it's not a different version of GRASS, it's still 6.3.0, but it's not exactly a simple different version of the installer. Yes, the installer may be different, but I usually release a new "installer" (that is a new binary release) when I introduced changes in GRASS

Which kinds of changes do you introduce in GRASS ?

or its dependencies binaries (adding new supports to GRASS or updating dependencies);

This is why it was suggested to separate GRASS from its dependencies in the installer...

But since (AFAIK) GRASS binaries compiled with one version of e.g. gdal or proj will not necessarily work with another version of these libraries, I see the problem of having to create new "versions" of GRASS whenever you update dependencies.

So, the question is double:

1) Should the winGRASS package of a particular version of GRASS be recompiled regularly with new versions of its dependencies ? Arguably, it would be much easier to decide on a particular version of these dependencies, in order not to introduce several possible sources of new bugs... And I don't think that having bleeding edge dependencies is absolutely necessary for winGRASS testing.
2) If yes, and you recompile regularly with new version of the dependencies, how should versioning be handled ?

that is because WinGRASS is still at a high development stage, and it may happen that, between source releases, I add new features or complete some To-Do items about supports/dependencies.

Well all depends on what you call "features". If any of this implies actual changes to the GRASS code, then you actually have a new version of GRASS.

This said, could we replace the word "version" in the message box with "binary release" or simply "release"? that would be, actually more "honest"; do you agree?

I think we need to find an answer to above questions before we can decide. Personally, I would plead for a very stable build environment where only the GRASS source changes. AFAICT, your current winGRASS package is already more up to date and feature packed than most Linux distribution packages of GRASS, so no need to push this much further.

Moritz