[R-pkg-devel] Appropriate usage of 'Suggests' -- package installed conditional on other software not found

Dirk Eddelbuettel edd @end|ng |rom deb|@n@org
Thu Oct 3 15:11:31 CEST 2019


Charles,

On 3 October 2019 at 10:10, Driver, Charles wrote:
| I have a function that outputs / compiles some latex. To do this I use Sys.which('pdflatex') and if nothing is found, prompt the user whether to install tinytex package. So, normally I understand the use of 'Suggests' in the package description to be for when there are only certain functions / tests that require the package. In this case, the package requirement is also conditional on other software (ie a tex distribution) not being found, otherwise it is unnecessary. There are no tests or examples that depend on the package. Should tinytex be in the 'Suggests' list?

A few suggestions:

 - IIRC CRAN Policy asks you to not have interactive prompts, and clearly
   prohibits messing with the system.  So no to the prompt to install.

 - CRAN and R have a perfectly working dependency system [1] so just use
   'Suggests: tinytex' and _then please condition your code on whether it is
   present_. [2]

 - Maybe add line breaks to your post?  ;-)

Dirk

[1] I continue to argue, as recently as yesterday in private mail with a
junior dev, that people misuse / misunderstand Depends and Suggests.
[2] Because if you don't your Suggests: really is a Depends:.

-- 
http://dirk.eddelbuettel.com | @eddelbuettel | edd using debian.org



More information about the R-package-devel mailing list