I'm working to automate the building of RPM packages for CRAN &c. In the process, I'm trying to get a sense of the correct dependencies. It's my sense that R CMD CHECK is the Right Way to check to see if a package is built properly. But according to Writing R Extensions, I could reasonably expect anything in Suggests or Imports to be used by CHECK. In RPM parlance, this turns all of those packages into a 'build requires'. In other words, to check properly, I need to treat Suggests and Imports as Depends. This is a short road to -lots- of installed packages. :) ggplot2, which was the initial itch I was trying to scratch, 'Depends' only on R. But if I have to recursively expand according to these 'build requires', I need 63 packages. And more painfully, I have to leave CRAN and go grok Bioconductor. Yow. So: does this seem silly, or is that just The Way It is? - Allen S. Rout
Allen S. Rout wrote:> > > I'm working to automate the building of RPM packages for CRAN &c. In > the process, I'm trying to get a sense of the correct dependencies. > > It's my sense that R CMD CHECK is the Right Way to check to see if a > package is built properly. But according to Writing R Extensions, I > could reasonably expect anything in Suggests or Imports to be used by > CHECK. In RPM parlance, this turns all of those packages into a > 'build requires'. > > In other words, to check properly, I need to treat Suggests and > Imports as Depends. > > This is a short road to -lots- of installed packages. :) ggplot2, > which was the initial itch I was trying to scratch, 'Depends' only on > R. But if I have to recursively expand according to these 'build > requires', I need 63 packages. And more painfully, I have to leave > CRAN and go grok Bioconductor. Yow. > > > So: does this seem silly, or is that just The Way It is?Yes, it is the way it is says the Windows binary package maintainer. Best, Uwe Ligges> > - Allen S. Rout > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel
Allen, On Sep 2, 2009, at 2:53 , Allen S. Rout wrote:> I'm working to automate the building of RPM packages for CRAN &c. > In the process, I'm trying to get a sense of the correct dependencies. > > It's my sense that R CMD CHECK is the Right Way to check to see if a > package is built properly. But according to Writing R Extensions, I > could reasonably expect anything in Suggests or Imports to be used > by CHECK. In RPM parlance, this turns all of those packages into a > 'build requires'. > > In other words, to check properly, I need to treat Suggests and > Imports as Depends. > > This is a short road to -lots- of installed packages. :) ggplot2, > which was the initial itch I was trying to scratch, 'Depends' only > on R. But if I have to recursively expand according to these 'build > requires', I need 63 packages. And more painfully, I have to leave > CRAN and go grok Bioconductor. Yow. > > > So: does this seem silly, or is that just The Way It is? >Think about it - if you want to check all the functionality properly, you have to install all packages. If you omit some of them, the functionality related to those packages clearly cannot be tested even if it's just in the conditional suggests branch. You can decide to run checks without forcing suggests (see _R_CHECK_FORCE_SUGGESTS_) at the risk of not checking the advanced functionality - that's up to you, but you'll be skipping parts of the code. However, as a binary maintainer, you'll have to install all CRAN and parts of BioC anyway, so in practice this is not an issue at all. Cheers, Simon