[Rd] Should a package that indirectly Suggests: a vignette engine pass R CMD check?

Martin Morgan mtmorgan at fhcrc.org
Sat Jun 14 13:48:44 CEST 2014

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

More information about the R-devel mailing list