On Thu, 1 Dec 2005, Martin Morgan wrote: > Perhaps this earlier post slipped through the cracks? My apologies if > it's still 'in process', or I missed a response, or if the > contribution isn't helpful.
Have patience, it is `in process'. But if you consider such things important (and clearly you do enough to pester) you should file a bug report, not post to R-devel. This one appears to be a minor infelicity in a procedure only for packages with broken vignettes. (It _would_ have helped to have a clearer description of the problem being addressed: INSTALL --build is nothing to do with vignettes, and not many CRAN packages have vignettes and AFAIK none are broken. Think abut supplying a NEWS entry to describe the fix.) R.exe CMD is just a roundabout way of doing what Rcmd.exe does. Don't confuse `necessary' with `recommended' or `efficient'. > At any rate, I realized that the problem is not windows-specific. > > Also, generating $libdir by calling (a sligthly modified) R_tempfile > might give installation more of a fighting chance in a cluttered TMPDIR. Not sure we should be encouraging such bad housekeeping! > Index: src/scripts/build.in > =================================================================== > --- src/scripts/build.in (revision 36565) > +++ src/scripts/build.in (working copy) > @@ -76,7 +76,7 @@ > my $R_platform = R_getenv("R_PLATFORM", "unknown-binary"); > my $gzip = R_getenv("R_GZIPCMD", "gzip"); > my $tar = R_getenv("TAR", "tar"); > -my $libdir = &file_path(${R::Vars::TMPDIR}, "Rinst.$$"); > +my $libdir = R_tempfile("Rinst."); > > my $INSTALL_opts = ""; > $INSTALL_opts .= " --use-zip" if $opt_use_zip; > @@ -434,6 +434,8 @@ > if($doit && R_system($cmd)) { > $log->error(); > $log->print("Installation failed.\n"); > + $log->print("Removing '$libdir'\n"); > + rmtree($libdir); > exit(1); > } > my $R_LIBS = $ENV{'R_LIBS'}; > Index: share/perl/R/Utils.pm > =================================================================== > --- share/perl/R/Utils.pm (revision 36565) > +++ share/perl/R/Utils.pm (working copy) > @@ -75,7 +75,7 @@ > $pat . $$ . sprintf("%05d", rand(10**5))); > > my $n=0; > - while(-f $retval){ > + while(-e $retval){ > $retval = file_path($R::Vars::TMPDIR, > $pat . $$ . sprintf("%05d", rand(10**5))); > croak "Cannot find unused name for temporary file" > > > Martin Morgan <[EMAIL PROTECTED]> writes: > >> A command >> >> R CMD build <pkg> >> >> that fails, e.g., because of C code compilation errors, leaves a >> directory %TMPDIR%/Rinst.xxx containing the file R.css. Although R >> CMD INSTALL --build cleans up after itself, build does not. A fix is >> below. Also, build.in references Rcmd.exe, which I thought was no >> longer necessary? >> >> Index: build.in >> =================================================================== >> --- build.in (revision 36450) >> +++ build.in (working copy) >> @@ -434,6 +434,8 @@ >> if($doit && R_system($cmd)) { >> $log->error(); >> $log->print("Installation failed.\n"); >> + $log->print("Removing '$libdir'\n"); >> + rmtree($libdir); >> exit(1); >> } >> my $R_LIBS = $ENV{'R_LIBS'}; >> >> ______________________________________________ >> R-devel@r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-devel > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > > -- Brian D. Ripley, [EMAIL PROTECTED] Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595 ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel