[GRASS5] Proposal for make

Hello all

In view of the "disaster" that happened to one of our users today I
would like to propose the following changes for the Makefile.

I think it is vital that grass should NOT be compiled as the root user.
The standard way to compile open source software is usually

configure
make
make install

where only the "make install" step is run as the root user. Our problem
is that we do not have the Makefile system required for this type of
installation. Thus, I propose the following as a means for removing the
need to be root user to compile grass.

We can change the Makefile to have a new target (say binaries) that
would perform basically the same task as what "make install" does now
but it would not require root access and would not install anything
under /usr/local. Instead, GISBASE would be defined as the current
directory and all compilation would occur below this directory. Grass
can currently do this now since this is how I compile grass. Now the
only problem is that we need to copy the files to the installation
directories. So, we redefine "make install" to do this and the only
problem would be to change the value of GISBASE in the grass5 script
after it is copied. This should be a simple task to do. Now a user can
compile grass with

configure
make binaries
make install

and the only step that may require root access will be the "make
install". In fact we could even check that the uid is not root for make
binaries and suggest that the user not compile as user root.

Of course we would also need to provide a "make uninstall" that deleted
the files copied by "make install".

If people agree to this proposal then I further propose that this system
be incorporated for grass5.0 stable.

As always, any comments and/or criticisms are more than welcome.

--
Sincerely,

Jazzman (a.k.a. Justin Hickey) e-mail: jhickey@hpcc.nectec.or.th
High Performance Computing Center
National Electronics and Computer Technology Center (NECTEC)
Bangkok, Thailand

People who think they know everything are very irritating to those
of us who do. ---Anonymous

Jazz and Trek Rule!!!

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

Hello again

Just a couple of notes I missed.

This Makefile proposal would not be a replacement for the new Makefile
system but a "not too difficult to implement fix" that can be used to
minimize the chances of such an event happening again until the new
system is implemented for 5.1.

And I am prepared to implement this if people agree to it.

--
Sincerely,

Jazzman (a.k.a. Justin Hickey) e-mail: jhickey@hpcc.nectec.or.th
High Performance Computing Center
National Electronics and Computer Technology Center (NECTEC)
Bangkok, Thailand

People who think they know everything are very irritating to those
of us who do. ---Anonymous

Jazz and Trek Rule!!!

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

On Tue, Dec 19, 2000 at 03:23:42PM +0700, Justin Hickey wrote:

Hello all

In view of the "disaster" that happened to one of our users today I
would like to propose the following changes for the Makefile.

I think it is vital that grass should NOT be compiled as the root user.
The standard way to compile open source software is usually

configure
make
make install

where only the "make install" step is run as the root user. Our problem
is that we do not have the Makefile system required for this type of
installation. Thus, I propose the following as a means for removing the
need to be root user to compile grass.

We can change the Makefile to have a new target (say binaries) that
would perform basically the same task as what "make install" does now
but it would not require root access and would not install anything
under /usr/local. Instead, GISBASE would be defined as the current
directory and all compilation would occur below this directory. Grass
can currently do this now since this is how I compile grass. Now the
only problem is that we need to copy the files to the installation
directories. So, we redefine "make install" to do this and the only
problem would be to change the value of GISBASE in the grass5 script
after it is copied. This should be a simple task to do. Now a user can
compile grass with

configure
make binaries
make install

and the only step that may require root access will be the "make
install". In fact we could even check that the uid is not root for make
binaries and suggest that the user not compile as user root.

Of course we would also need to provide a "make uninstall" that deleted
the files copied by "make install".

If people agree to this proposal then I further propose that this system
be incorporated for grass5.0 stable.

As always, any comments and/or criticisms are more than welcome.

Hi Justin,

your proposal sounds reasonable. It seems to be a good workaround unless
the new Makefile system comes for 5.1.
A "simple" copy as root to put the binaries in place shouldn't be
dangerous.
Why didn't we think of this earlier?

From my side: Please go ahead. Thanks you for looking into this problem.

Yours

Markus

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

Most of the open/free software projects work in such a manner.
i.e. "make" generates all the libraries, executables, etc. and
"make install" copies them to their final destinations.

As far as grass goes, you may have to add to the list of library
directories for the linking of executables, as you can't just
reference -L$GISBASE/lib and pick up all the libraries.

Markus Neteler wrote:

On Tue, Dec 19, 2000 at 03:23:42PM +0700, Justin Hickey wrote:
> Hello all
>
> In view of the "disaster" that happened to one of our users today I
> would like to propose the following changes for the Makefile.
>
> I think it is vital that grass should NOT be compiled as the root user.
> The standard way to compile open source software is usually
>
> configure
> make
> make install
>
> where only the "make install" step is run as the root user. Our problem
> is that we do not have the Makefile system required for this type of
> installation. Thus, I propose the following as a means for removing the
> need to be root user to compile grass.
>
> We can change the Makefile to have a new target (say binaries) that
> would perform basically the same task as what "make install" does now
> but it would not require root access and would not install anything
> under /usr/local. Instead, GISBASE would be defined as the current
> directory and all compilation would occur below this directory. Grass
> can currently do this now since this is how I compile grass. Now the
> only problem is that we need to copy the files to the installation
> directories. So, we redefine "make install" to do this and the only
> problem would be to change the value of GISBASE in the grass5 script
> after it is copied. This should be a simple task to do. Now a user can
> compile grass with
>
> configure
> make binaries
> make install
>
> and the only step that may require root access will be the "make
> install". In fact we could even check that the uid is not root for make
> binaries and suggest that the user not compile as user root.
>
> Of course we would also need to provide a "make uninstall" that deleted
> the files copied by "make install".
>
> If people agree to this proposal then I further propose that this system
> be incorporated for grass5.0 stable.
>
> As always, any comments and/or criticisms are more than welcome.
Hi Justin,

your proposal sounds reasonable. It seems to be a good workaround unless
the new Makefile system comes for 5.1.
A "simple" copy as root to put the binaries in place shouldn't be
dangerous.
Why didn't we think of this earlier?

>From my side: Please go ahead. Thanks you for looking into this problem.

Yours

Markus

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

--
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=+
| Eric B. Mitchell mailto:emitchell@altaira.com |
| tel: (301) 809 - 3534 Altair Aerospace Corporation |
| tel: (800) 7 - ALTAIR 4201 Northview Dr. Suite 410 |
| fax: (301) 805 - 8122 Bowie, MD 20716 |
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=+
              ,___
          /"\ / o=\ /"""---===/
         / \_/ \__/ ---===/
         | //\ || /""TT""/ //\ || ||""\
         | // \ || || // \ || ||__/
         | //--==\ |L--/ || //--==\ || || "=,
          \ ---===/
           \____---===/

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'