From murdoch.duncan at gmail.com  Fri Oct 14 15:26:38 2011
From: murdoch.duncan at gmail.com (Duncan Murdoch)
Date: Fri, 14 Oct 2011 09:26:38 -0400
Subject: [Rd] NOTE: unstated dependencies in examples
In-Reply-To: <1318598318.9098.14.camel@tagine>
References: <4E95C148.6010708@yorku.ca>	<CANROs4ejvnNGEwLreTg6_R4s65Dyxb_CipipVdHDSmDm51xv4w@mail.gmail.com>	<4E9704F8.1060306@statistik.tu-dortmund.de>
	<1318598318.9098.14.camel@tagine>
Message-ID: <4E98388E.4000802@gmail.com>

On 14/10/2011 9:18 AM, Jari Oksanen wrote:
> On Thu, 2011-10-13 at 17:34 +0200, Uwe Ligges wrote:
> >  I looked at the code and since this is not that trivial to change, I
> >  think we can well live with typing
> >
> >  grep -r gplots ./man
> >
> >  which is not too hard to run on the source package, I believe.
> >
> >  Best wishes,
> >  Uwe
> >
> Uwe&  others,
>
> This is OK if you want to identify the cause of the problems. However,
> the basic problem was that checking required something that is not
> required: there was one example that was not run, and one case where the
> loading of the package was not necessary (if(require(<package>))). I do
> believe that handling this kind of cases is difficult in automatic
> checking. However, I think they need not be checked: there should be a
> new case of package reference in addition to 'depends', 'suggests' and
> 'enhances' -- something like 'benefitsfrom'.

Users use those declarations when they ask to install dependencies.  If 
you don't declare a dependence on a contributed package, users will have 
to manually install it.

> This is now actual to me, since I'm adding 'parallel' support to my
> package, but there seems to be no clean way of doing this with the
> current checking procedures. I use the 'parallel' support only if the
> package is available (in R>= 2.14.0, not yet released), and there are
> multiple cores.

Temporarily maintain two releases of your package:  one for R < 2.14.0 
that doesn't mention parallel, and one for R >= 2.14.0 that does.  The 
second one should declare its dependence on R >= 2.14.0.  If support for 
parallel is your only change, you don't need to do anything for the 
previous one:  CRAN will not replace it in the 2.13.x repository if the 
new one needs a newer R.

Duncan Murdoch

> If there is only once cpu or there is not yet
> 'parallel' package, nothing bad will happen: things will only work like
> they worked earlier without 'parallel' package. I haven't found out how
> to do this cleanly for R CMD check (it is clean for my code since there
> the usage is checked). If I add "suggests: parallel" I get R CMD check
> error for the current and previous R -- for no reason. So currently I
> don't mention 'parallel' at all in DESCRIPTION: I get a NOTE and
> Warnings ('require' call not declared, no visible definitions), but this
> is a smaller  problem than having a spurious failure, and failing to
> have this package for a system where it works quite normally.
>
> The new DESCRIPTION keyword could be used for packages that are useful
> but not necessary, so that the package can be quite well be used without
> these packages, but it may have some extra options or functionality with
> those packages. This sounds like a suggestion to me, but in R language
> suggestions cannot be refused.
>
> Cheers, jari oksanen
>
> >
> >  On 13.10.2011 03:00, Yihui Xie wrote:
> >  >  You have this in Jevons.Rd:
> >  >
> >  >  # show as balloonplots
> >  >
> >  >  if (require(gplots)) {
> >  >
> >  >
> >  >  and this in Snow.Rd:
> >  >
> >  >  %\dontrun{
> >  >
> >  >  library(sp)
> >  >
> >  >
> >  >  It will certainly be helpful if R CMD check can provide more
> >  >  informative messages (in this case, e.g, point out the Rd files).
> >  >
> >  >  Regards,
> >  >  Yihui
> >  >  --
> >  >  Yihui Xie<xieyihui at gmail.com>
> >  >  Phone: 515-294-2465 Web: http://yihui.name
> >  >  Department of Statistics, Iowa State University
> >  >  2215 Snedecor Hall, Ames, IA
> >  >
> >  >
> >  >
> >  >  On Wed, Oct 12, 2011 at 11:33 AM, Michael Friendly<friendly at yorku.ca>   wrote:
> >  >>  Using R 2.13.1, I am now getting the following NOTE when I run R CMD check
> >  >>  on my HistData
> >  >>  package
> >  >>
> >  >>  * checking for unstated dependencies in examples ... NOTE
> >  >>  'library' or 'require' calls not declared from:
> >  >>    gplots sp
> >  >>
> >  >>  Under R 2.12.x, I didn't get these notes.
> >  >>
> >  >>  I have ~ 25 .Rd files in this package, and AFAICS, every example uses
> >  >>  library or require for the
> >  >>  functions used;  the DESCRIPTION file has the long list of Suggests, which
> >  >>  previously was sufficient
> >  >>  for packages used in examples.
> >  >>
> >  >>  Suggests: gtools, KernSmooth, maps, ggplot2, proto, grid, reshape, plyr,
> >  >>  lattice, ReadImages, car
> >  >>
> >  >>  But I have no way to find the .Rd file(s) that triggered this note.
> >  >>
> >  >>    What is the tool used in R CMD check to make this diagnosis?  It would be
> >  >>  better
> >  >>  if this reported the .Rd file(s) that triggered this note.
> >  >>  Is it possible that this note could be specious?
> >  >>
> >  >>  -Michael
> >  >>
> >  >>  --
> >  >>  Michael Friendly     Email: friendly AT yorku DOT ca
> >  >>  Professor, Psychology Dept.
> >  >>  York University      Voice: 416 736-5115 x66249 Fax: 416 736-5814
> >  >>  4700 Keele Street    Web:   http://www.datavis.ca
> >  >>  Toronto, ONT  M3J 1P3 CANADA
> >  >>
> >  >>  ______________________________________________
> >  >>  R-devel at r-project.org mailing list
> >  >>  https://stat.ethz.ch/mailman/listinfo/r-devel
> >  >>
> >  >
> >  >  ______________________________________________
> >  >  R-devel at r-project.org mailing list
> >  >  https://stat.ethz.ch/mailman/listinfo/r-devel
> >
> >  ______________________________________________
> >  R-devel at r-project.org mailing list
> >  https://stat.ethz.ch/mailman/listinfo/r-devel
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



[Rd] NOTE: unstated dependencies in examples
Duncan Murdoch