[GRASS5] Re: [GRASSLIST:3785] make install 5.7

Sabine Grabner wrote:

i made 'make install' and had a look to /usr/local/bin to check my
new command to run grass-5.7.0.

what i found was:

-rwxr-xr-x 1 root root 1173 2004-01-26 15:57 grass5
lrwxrwxrwx 1 root root 33 2004-05-12 09:57 grass57 -> /usr/
local/bin/grass57-10_05_2004
-rwxr-xr-x 1 root root 1170 2004-06-30 10:05 grass57-10_05_2004
-rwxr-xr-x 1 root root 2391 2004-01-26 15:57 grass5uninstall.sh

i am wondering if my old command grass57-10_05_2004 is now
overwritten as the date is doday's?

Yes. The "install" target generates the script using shell
redirection:

  -sed -e "s#^GISBASE.*#GISBASE=${INST_DIR}#" ${ARCH_BINDIR}/grass${VERSION_MAJOR}${VERSION_MINOR} > ${BINDIR}/grass${VERSION_MAJOR}${VERSION_MINOR}

This will overwrite any existing target.

[Developers: the correct fix is to create a temporary file and then
install it using the INSTALL variable which is set by autoconf's
AC_PROG_INSTALL macro. That will be the path to the "install" program
if it is found, or the "install-sh" script otherwise. Both of these
would have replaced the symlink with the new script rather than
overwriting the symlink's target.]

is 'grass57-10_05_2004' executing 'grass57-10_05_2004' or 'grass-5.7.0' now?

It will have been updated. It's a script, so you can see what it
contains. It just sets GISBASE then executes Init.sh.

--
Glynn Clements <glynn.clements@virgin.net>

On Wed, Jun 30, 2004 at 09:36:02AM +0100, Glynn Clements wrote:

Sabine Grabner wrote:

> i made 'make install' and had a look to /usr/local/bin to check my
> new command to run grass-5.7.0.
>
> what i found was:
>
>
> -rwxr-xr-x 1 root root 1173 2004-01-26 15:57 grass5
> lrwxrwxrwx 1 root root 33 2004-05-12 09:57 grass57 -> /usr/
> local/bin/grass57-10_05_2004
> -rwxr-xr-x 1 root root 1170 2004-06-30 10:05 grass57-10_05_2004
> -rwxr-xr-x 1 root root 2391 2004-01-26 15:57 grass5uninstall.sh
>
> i am wondering if my old command grass57-10_05_2004 is now
> overwritten as the date is doday's?

Yes. The "install" target generates the script using shell
redirection:

  -sed -e "s#^GISBASE.*#GISBASE=${INST_DIR}#" ${ARCH_BINDIR}/grass${VERSION_MAJOR}${VERSION_MINOR} > ${BINDIR}/grass${VERSION_MAJOR}${VERSION_MINOR}

This will overwrite any existing target.

[Developers: the correct fix is to create a temporary file and then
install it using the INSTALL variable which is set by autoconf's
AC_PROG_INSTALL macro. That will be the path to the "install" program
if it is found, or the "install-sh" script otherwise. Both of these
would have replaced the symlink with the new script rather than
overwriting the symlink's target.]

If possible, please fix it directly in CVS.

Thanks,

Markus