[GRASS-dev] fix for build, ERROR: MAPSET PERMANENT - permission denied

Glynn Clements glynn at gclements.plus.com
Thu Nov 12 10:56:39 EST 2009


Raymond Burns wrote:

> > Can you check the permissions on the dist.<arch>/demolocation
> > directory?
> 
> yes;
> 
> grass-6.4.0RC5# ls dist.sparc64-unknown-linux-gnu/demolocation/ -ld
> drwxr-xr-x   3 1338     1200         4096 Nov 11 14:30
> dist.sparc64-unknown-linux-gnu/demolocation
> 
> not a known user so yes I'm probably going to fix a couple of things
> at one time here.
> 
> user and group are probably from the grass-6.4.0RC5 tarball, I
> untarred it as root.

That would explain it; you can use the -o flag to create files as the
current user/group rather than using the user/group from the tar file.

> The original tree I first used was built by root on an ia32 many times
> and works well (start from known good and change as few variables as
> possible before proceeding). I would not know if all the details of
> the html pages are correct. I have read some of them, with lynx, they
> hold information.

The NAME, KEYWORDS and SYNOPSIS sections are generated by the
--html-description flag; everything from DESCRIPTION onwards is copied
from the description.html or <modulename>.html files. If the NAME,
KEYWORDS and SYNOPSIS sections are missing, then the --html-description
step failed.

> after # chown -R root.root * ; make clean; make 
> 
> yes, the message is gone and yes it ran code with --html-description
> 
> I wonder, the user who configures the package ultimately has write
> permissions in the tree, is it worth a chown $USER dist.<arch> or
> would that be stepping over a line. Many of the admins who read me the
> riot act for compiling as root also veto code that has a chown in it.

It shouldn't be necessary. When dist.<arch> ends up containing files
or directories owned by another user, it's usually caused by the
Makefiles using the "tar c | tar x" idiom to copy a directory, which
is really laziness on our part. We should be using $(INSTALL), even if
that means a command for each directory.

Although the current Makefile uses the -o flag when extracting
demolocation it doesn't do this for "make install", and there's no
guarantee that -o works on other "tar" programs (the "tar" program
isn't specified by POSIX).

-- 
Glynn Clements <glynn at gclements.plus.com>


More information about the grass-dev mailing list