From ligges at statistik.tu-dortmund.de  Mon Apr 11 17:13:36 2011
From: ligges at statistik.tu-dortmund.de (Uwe Ligges)
Date: Mon, 11 Apr 2011 17:13:36 +0200
Subject: [Rd] R CMD build --resave-data
In-Reply-To: <4DA24F8A.7030405@fhcrc.org>
References: <4DA24F8A.7030405@fhcrc.org>
Message-ID: <4DA31AA0.2050209@statistik.tu-dortmund.de>



On 11.04.2011 02:47, Herv? Pag?s wrote:
> Hi,
>
> More about the new --resave-data option
>
> As mentioned previously here
>
> https://stat.ethz.ch/pipermail/r-devel/2011-April/060511.html
>
> 'R CMD build' and 'R CMD INSTALL' handle this new option
> inconsistently. The former does --resave-data="gzip" by default.
> The latter doesn't seem to support the --resave-data= syntax:
> the --resave-data flag must either be present or not. And by
> default 'R CMD INSTALL' won't resave the data.
>
> Also, because now 'R CMD build' is resaving the data, shouldn't it
> reinstall the package in order to be able to do this correctly?
>
> Here is why. There is this new warning in 'R CMD check' that complains
> about files not of a type allowed in a 'data' directory:
>
>
> http://bioconductor.org/checkResults/2.8/bioc-LATEST/Icens/lamb1-checksrc.html
>
>
> The Icens package also has .R files under data/ with things like:
>
> bet <- matrix(scan("CMVdata", quiet=TRUE),nc=5,byr=TRUE)
>
> i.e. the R code needs to access some of the text files located
> in the data/ folder. So in order to get rid of this warning I
> tried to move those text files to inst/extdata/ and I modified
> the code in the .R file so it does:
>
> CMVdata_filepath <- system.file("extdata", "CMVdata", package="Icens")
> bet <- matrix(scan(CMVdata_filepath, quiet=TRUE),nc=5,byr=TRUE)
>
> But now 'R CMD build' fails to resave the data because the package
> was not installed first and the CMVdata file could not be found.
>
> Unfortunately, for a lot of people that means that the safe way to
> build a source tarball now is with
>
> R CMD build --keep-empty-dirs --no-resave-data


Herv?,

actually is makes some sense to have these defaults from a CRAN 
maintainer's point of view:

--keep-empty-dirs:
we found many packages containing empty dirs unnecessarily and the idea 
is to exclude them at the build state rather than at the later 
installation stage. Note that the package maintainer is supposed to run 
build (and knows if the empty dirs are to be included, the user who runs 
INSTALL does not).

--no-resave-data:
We found many packages with unsufficiently compressed data. This should 
be fixed when building the package, not later when installing it, since 
the reduces size is useful in the source tarball already.

So it does make some sense to have different defaults in build as 
opposed to INSTALL from my point of view (although I could live with 
different, tough).

If you need further arguments for the discussion: I also tend to use 
--no-vignettes nowadays if my code does not change considerably. ;-)

Best wishes,
Uwe



> I hope the list of options/flags that we need to use to "fix" 'R CMD
> build' (and make it consistent with R CMD INSTALL) is not going to
> grow too much ;-)
>
> Thanks,
> H.
>
>



[Rd] R CMD build --resave-data
Uwe Ligges