From edd at debian.org  Sun Nov 25 22:57:44 2012
From: edd at debian.org (Dirk Eddelbuettel)
Date: Sun, 25 Nov 2012 15:57:44 -0600
Subject: [Rd] Option to set permissions on directories and files after
	package installation
Message-ID: <20658.37976.821700.411018@max.nulle.part>


The R package on Debian (and hence Ubuntu) has had a default for close to a
decade to install into /usr/local/R/site-library/. This came from a
suggestion by Kurt and Fritz, and I still think of it as rather useful.

To me, this suggests multiuser mode, preferably without sudo.  One can get
close via group membership on the directory, but ultimate this always fails
because tools:::.install_packages() insists on putting 0644 / 0755 modes on
everything as seen from the following selection from that function:


                ## not clear if this is still necessary, but sh version did so
                if (!WINDOWS) Sys.chmod(file.path(dest, files), "755")


                if (file.exists(f)) {
                    file.copy(f, instdir, TRUE)
                    Sys.chmod(file.path(instdir, f), "644")
                }


		Sys.chmod(Sys.glob(file.path(instdir, "data", "*")), "644")


	    Sys.chmod(Sys.glob(file.path(instdir, "demo", "*")), "644")


                    Sys.chmod(Sys.glob(file.path(instdir, "exec", "*")), "755")


                Sys.chmod(i2_files[execs], "755")


I would like to have the option of haveing the effect of setting umask 0002
so that people in my group can replace packages.   The simplest may be to
replace "644"/"755" with "664"/"775" is a suitable option is set. More
involved schemes are of course possible too.

Naturally, I would be happy to work on patch if there was any indication that
the patch would be reviewed and possibly included.  

With that: comments, please. Is this seen as sensible or deemed nutty and
off-limits?

Thanks, Dirk

-- 
Dirk Eddelbuettel | edd at debian.org | http://dirk.eddelbuettel.com



[Rd] Option to set permissions on directories and files after package installation
Dirk Eddelbuettel