Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#905 closed enhancement (fixed)

WinGrass: include patched msys.bat in the WinGrass-Installer

Reported by: hellik Owned by: grass-dev@…
Priority: normal Milestone: 6.4.0
Component: Packaging Version: svn-develbranch6
Keywords: wingrass, msys Cc:
CPU: Unspecified Platform: MSWindows Vista

Description

because i'm not at my laptop for some days, I add a patch for GRASS-Installer.nsi and GRASS-Packager.bat (for test in Grass65) to include (for spaces in installation path) patched msys.bat (https://trac.osgeo.org/grass/attachment/ticket/629/msys.bat) in the WInGrass-installer.

the patch assumes that the patched msys.bat lives in mswindows\osgeo4w\msys.bat in the svn-source-tree

Helmut

Attachments (1)

WinGrass65_include_msys.patch (1.4 KB) - added by hellik 10 years ago.

Download all attachments as: .zip

Change History (8)

Changed 10 years ago by hellik

comment:1 Changed 10 years ago by hamish

ok, I'll commit it as soon as the svn server comes back to life.

Hamish

comment:2 Changed 10 years ago by hamish

Resolution: fixed
Status: newclosed

thanks. done in r40817-9.

In CompileOnWindows it mentions that trunk wants PYTHONPATH to be set as part of msys.bat. Is that still valid?

Hamish

comment:3 in reply to:  2 ; Changed 10 years ago by glynn

Replying to hamish:

In CompileOnWindows it mentions that trunk wants PYTHONPATH to be set as part of msys.bat. Is that still valid?

I don't think that it was ever valid. If PYTHONPATH is set anywhere, it probably ought to be in grass70.bat.

And where does msys.bat come into this? A binary version of 7.0 shouldn't even include MSys; with the shell scripts having been converted to Python, it's unnecessary.

Even 6.x probably shouldn't be using msys.bat. The default shell on Windows should be %COMSPEC% or cmd.exe. If you want to offer bash as an alternative, run it in a Windows console, not the brain-dead rxvt port which doesn't work with anything (mostly because it's not a tty according to isatty()).

We have to include MSys in 6.x for the shell scripts, but that doesn't mean that we have to use it for anything else.

comment:4 in reply to:  3 ; Changed 10 years ago by hamish

Replying to glynn:

And where does msys.bat come into this? A binary version of 7.0 shouldn't even include MSys; with the shell scripts having been converted to Python, it's unnecessary.

yeah, I think right now it's just along for the ride while we figure out WinGrass packaging in 6.x and try to keep trunk somewhat in sync with those changes even if we're not really worried about final packaging for that yet.

Even 6.x probably shouldn't be using msys.bat.

it's there, it works, it does no immediate harm AFAIK, it's optional.

The default shell on Windows should be %COMSPEC% or cmd.exe. If you want to offer bash as an alternative, run it in a Windows console, not the brain-dead rxvt port which doesn't work with anything (mostly because it's not a tty according to isatty()).

accckk... I'll take a brain-dead rxvt over a fully functional cmd.exe box any day. If only because you can resize to something other than 80 columns on a modern widescreen LCD. Examples in the help pages work, it's rather useful, ...

anyway, the intaller gives 3 menu items/icons: with no terminal, with a cmd.exe terminal, and with the MSys terminal. The user gets to pick which one they want. There isn't really a default pick beyond which icon you stick on the desktop.

We have to include MSys in 6.x for the shell scripts, but that doesn't mean that we have to use it for anything else.

maybe not, but I'm glad we ship a msys terminal as an option.

Hamish

comment:5 in reply to:  4 Changed 10 years ago by hamish

Replying to hamish:

maybe not, but I'm glad we ship a msys terminal as an option.

and it is probably not very surprising that our Mac+Linux developers testing MS Win find themselves picking the MSys option. others more familiar with DOS will probably gravitate towards that option, and users unfamiliar with any command line will probably gravitate towards the built in Cmd> prompt in the GUI, if at all.

Hamish

comment:6 in reply to:  4 Changed 10 years ago by glynn

Replying to hamish:

The default shell on Windows should be %COMSPEC% or cmd.exe. If you want to offer bash as an alternative, run it in a Windows console, not the brain-dead rxvt port which doesn't work with anything (mostly because it's not a tty according to isatty()).

accckk... I'll take a brain-dead rxvt over a fully functional cmd.exe box any day. If only because you can resize to something other than 80 columns on a modern widescreen LCD.

The console isn't limited to 80 columns; that restriction only applied to the DOS-based branch (95/98/ME), not to NT/2K/XP. From the Window menu (Alt-Space), select Properties, then the Layout tab: there are controls to change the width.

Examples in the help pages work, it's rather useful, ...

However, it's not a tty, so trying to use python, wish, gdb, etc interactively doesn't work as expected. Also, rxvt seems to have a roughly 50% chance of crashing every time you try to paste text into it.

anyway, the intaller gives 3 menu items/icons: with no terminal, with a cmd.exe terminal, and with the MSys terminal.

Don't conflate console/rxvt with cmd.exe/bash; either shell can be run in either terminal emulator. If you want a bash option, bash-in-console is somewhat more robust than bash-in-rxvt.

comment:7 Changed 10 years ago by hamish

Re: rxvt isatty(0) on Windows

Keith Marshall wrote:
> This feature has been known for a long time.  Considerable futile effort
> has been expended on trying to fix it; we will not pursue it further.
>
> Since the formal release of MSYS-1.0.11, IIRC, we have recommended against
> using rxvt as a terminal emulator for MSYS; you should use a standard
> Windows console, or Console2, (a separate SF hosted project), instead.  The
> maintainer of rxvt, (for both MSYS and Cygwin), is on record recently on
> the MinGW-dvlpr list, stating that "rxvt *must* die" on both platforms.
Note: See TracTickets for help on using tickets.