[Rd] R 2.8->2.9 change that breaks some upgrade scenarios
htl10 at users.sourceforge.net
Sat Jul 18 00:31:53 CEST 2009
--- On Fri, 17/7/09, Martin Maechler <maechler at stat.math.ethz.ch> wrote:
> >>>>> "HL" == Hin-Tak Leung <htl10 at users.sourceforge.net>
> >>>>> on Mon, 6 Jul 2009 15:23:07 -0700 (PDT) writes:
> HL> I finally got round to look at a
> little problem I have - most of the time when I use R I
> would be using snpMatrix (now part of bioconductor, I wrote
> a substantial part of), so I had $HOME/.Rprofile to save
> some typing. Upgrading, switching versions used to work fine
> with R 2.8 then it broke with 2.9..
> HL> Apparently it is because most of
> SHLIB, INSTALL, etc used to be fairly extensive shell
> scripts in R 2.8 where options not specific to a particular
> script is passed to R itself. Those scripts also do more of
> --vanilla (--no-site-files, --no-init-files, etc), and it is
> also possible to pass --vanilla, etc explicitly. The R 2.9
> implementations of these scripts are fairly thin wrappers of
> R routines, and they silently(?) ignore extra options.
> HL> The specific behaviors of the scripts
> are probably not gauranteed, and it is no problem
> temporarily moving .Rprofile away, etc for the occasional
> installations/upgrade of packages, but I think it is a valid
> scenario to want to have a site-/user-customized profile for
> day-to-day R usage, and a clean/vanilla R session for
> installation, etc. A few more of the
> HL> --no-site-files, --no-init-files,
> options should go into the R 2.9 versions of SHLIB, INSTALL,
> R 2.9.x uses R code instead of the previous perl code for
> INSTALL. That's the explanation for the difference.
> I agree that it would be quite useful if they supported
> features as you mention, and we (R-core) will be very willing to
> accept (well-tested) patches enabling that.
I had a bit more thoughts on this issue since - the R 2.8 behavior (disabling user/site customization) during package installation is probably more sensible; I don't know of any user/site customization that are useful/necessary during installation. Adding --vanilla to SHLIB, INSTALL is fairly trivial? (unfortunately, with R 2.9 one can no longer do 'R --vanilla CMD INSTALL ...' for reasons I already explained, as the --vanilla option in R 2.9 needs to go inside of the INSTALL script to have any effect). I can submit a patch fairly easily, but I guess the question is, is there any scenario where one *wants* site/user customization active during package installation?
Unfortunately with the R 2.9 implementation of those scripts, it is all or nothing. (all command line arguments are passed to R routines inside R for processing; there is no mechanism to modify how R is started in the new R 2..9 scripts. Well, with some extensive/painful change it is possible, but then it is basically and conceptually reverting back to the R 2.8 way with an extensive shell script wrapper).
More information about the R-devel