[Bioc-devel] Package dependencies, checking, others

Jeff Gentry jgentry at jimmy.harvard.edu
Tue Aug 31 20:47:55 CEST 2004


Hi all ...

For all of the BioC package maintainers (biocore & contributed
authors), please note it probably would be a good idea to start testing
your packages against relatively recent version of R-devel, as quite a bit
has changed in recent weeks. 

 One thing in particular is that now you'll find that packages listed
under the "Depends:" field will be autoloaded - this has a variety of side
effects:
  - Packages which are dependencies now no longer need to be loaded
elsewhere (First.lib, install.R, R_PROFILE.R, etc).
  - Packages which are listed as dependencies but aren't really are still
being loaded.  While "lazy loading" is around and the effect here is
lessened, it still makes it a bad idea to be putting in dependencies which
aren't really dependencies.  Now would be a good time to determine if
things listed under "Depends" are actually "Suggests" (which are not
autoloaded).  Packages which are used only in examples, vignettes, or
loaded only for particular functions (ie the package does not need to be
attached for basic functionality of your package) should be listed under
"Suggests" instead of "Depends".  More information is available in the
R-extensions guide in section 1.1.1.
  - Not really a concern to others, but due to the way our build system
works, it runs headless (no display).  If a package depends on 'tcltk' in
some manner (either directly or via widgetTools/tkWidgets), this will
cause the package to not build properly.  Now, AFAIK every package that
does this already checked 'if (interactive())' before loading the package,
as this was always a problem, but now that the dependencies get
auto-loaded, that check no longer works.  All instances of using packages
which need a DISPLAY (tcltk, RGtk, etc) should be put in Suggests and
wrapped w/ "if (interactive())" in your code.

Another thing I'd once again like to point out is the daily package
checking page (which up until today hadn't been updated for a while, but I
believe all of the problems have been ironed out now):
http://www.bioconductor.org/checkResults/checkResults.html

A lot of packages are broken under R-devel, which sparked my original
comment that people should start thinking along those lines - the more
work done now, the less that has to be done in a few weeks when we start
to move towards release (remember, packages which don't pass check are not
included in the release).  I'm going to be increasingly annoying toward
maintainers with failing packages over the next month or so - if you'd
like to avoid that :), please try to get things working - let me know if
you can't - and either commit your fixes (for biocore) or send them to me
(for contributed maintainers).

As always, let me know if you have any issues, problems, etc.

Thanks
-J



More information about the Bioc-devel mailing list