Martin Morgan
2014-Jun-14 11:48 UTC
[Rd] Should a package that indirectly Suggests: a vignette engine pass R CMD check?
A package uses VignetteEngine: knitr; the package itself does not Suggests: knitr, but it Suggests: BiocStyle which in turn Suggests: knitr. Nonetheless, R CMD check fails indicating that a package required for checking is not declared. Is it really the intention that the original package duplicate Suggests: knitr? This is only with a recent R. In detail, with $ Rdev --version|head -3 R Under development (unstable) (2014-06-14 r65947) -- "Unsuffered Consequences" Copyright (C) 2014 The R Foundation for Statistical Computing Platform: x86_64-unknown-linux-gnu (64-bit) trying to check the Bioconductor genefilter package leads to $ Rdev --vanilla CMD check genefilter_1.47.5.tar.gz * using log directory ?/home/mtmorgan/b/Rpacks/genefilter.Rcheck? * using R Under development (unstable) (2014-06-13 r65941) * using platform: x86_64-unknown-linux-gnu (64-bit) * using session charset: UTF-8 * checking for file ?genefilter/DESCRIPTION? ... OK * this is package ?genefilter? version ?1.47.5? * checking package namespace information ... OK * checking package dependencies ... ERROR VignetteBuilder package not declared: ?knitr? See the information on DESCRIPTION files in the chapter ?Creating R packages? of the ?Writing R Extensions? manual. I interpret this to mean that knitr should be mentioned in Suggests: or other dependency field. The package does not Suggests: knitr, but it does Suggests: BiocStyle, which itself Suggests: knitr. The author knows that they are using the BiocStyle package for their vignette, and the BiocStyle package suggests the appropriate builder. Martin Morgan -- Computational Biology / Fred Hutchinson Cancer Research Center 1100 Fairview Ave. N. PO Box 19024 Seattle, WA 98109 Location: Arnold Building M1 B861 Phone: (206) 667-2793
Duncan Murdoch
2014-Jun-14 12:54 UTC
[Rd] Should a package that indirectly Suggests: a vignette engine pass R CMD check?
On 14/06/2014, 7:48 AM, Martin Morgan wrote:> A package uses VignetteEngine: knitr; the package itself does not Suggests: > knitr, but it Suggests: BiocStyle which in turn Suggests: knitr. Nonetheless, R > CMD check fails indicating that a package required for checking is not declared. > Is it really the intention that the original package duplicate Suggests: knitr?Yes. The VignetteEngine setting requires that knitr be available for building and checking, but it doesn't imply how. You need to also declare knitr in one of the other ways (Depends, Suggests, etc.). It would be possible to change the checks so that a dependency of a dependency was sufficient, but a suggestion of a suggestion would not be. You can pass a check without having the Suggests of BiocStyle present, because checking your package doesn't require doing anything with BiocStyle that would need its suggestions. However, I don't think it's worth complicating the check code to support this. If you need knitr to be present to build your vignettes, why not just declare it explicitly? Duncan Murdoch> > This is only with a recent R. In detail, with > > $ Rdev --version|head -3 > R Under development (unstable) (2014-06-14 r65947) -- "Unsuffered Consequences" > Copyright (C) 2014 The R Foundation for Statistical Computing > Platform: x86_64-unknown-linux-gnu (64-bit) > > trying to check the Bioconductor genefilter package leads to > > $ Rdev --vanilla CMD check genefilter_1.47.5.tar.gz > * using log directory ?/home/mtmorgan/b/Rpacks/genefilter.Rcheck? > * using R Under development (unstable) (2014-06-13 r65941) > * using platform: x86_64-unknown-linux-gnu (64-bit) > * using session charset: UTF-8 > * checking for file ?genefilter/DESCRIPTION? ... OK > * this is package ?genefilter? version ?1.47.5? > * checking package namespace information ... OK > * checking package dependencies ... ERROR > VignetteBuilder package not declared: ?knitr? > > See the information on DESCRIPTION files in the chapter ?Creating R > packages? of the ?Writing R Extensions? manual. > > I interpret this to mean that knitr should be mentioned in Suggests: or other > dependency field. The package does not Suggests: knitr, but it does Suggests: > BiocStyle, which itself Suggests: knitr. The author knows that they are using > the BiocStyle package for their vignette, and the BiocStyle package suggests the > appropriate builder. > > Martin Morgan >
Reasonably Related Threads
- Slow ttests in R-devel
- Select single probe-set with median expression from multiple probe-sets corresponding to same gene -AFFY
- Error in opening .RData containing a genefilter object
- Suggested Patch: Adding commas to list of packages after R CMD check
- bugs when using R-2.12.0 Please HELP!