Updating packages for 2.0.0 =========================== Package maintainers should be aware of the following changes scheduled to appear in 2.0.0. 1) Package R code should only create R objects via assignments (possibly conditionally or via load()), and not execute functions with side effects such as data(), require() and options() -- the latter should be in .First.lib or .onLoad (the latter for packages with namespaces). This is necessary to allow the `lazy loading' of R objects. 2) data/*.R files must be self-sufficient, and in particular not depend on the package or standard packages other than base. (This has always been documented, but is now enforced.) If necessary, include a call like require(foo, quietly = TRUE, save = FALSE) in the .R file or if your package has a namespace, use calls like stats::ts. 3) When a package is installed, all the data sets are loaded to see what they produce. If this is undesirable (because they are enormous, or depend on other packages that need to be installed later, ...), add a `datalist' file to the data subdirectory as described in `Writing R Extensions' (in R 2.0.0). 4) If your package uses an empty install.R just to force the save of an image, consider replacing it by either SaveImage: yes or LazyLoad: yes fields in your DESCRIPTION file, preferably the latter except for small packages. 5) Packages named in the Depends: field will be loaded first. So please check the difference between Depends: and Suggests: in `writing R Extensions'. You can probably remove all calls to require() in R_PROFILE.R, install.R and .First.lib/.onLoad by proper use of the Depends: field. 6) The description of the Depends: field in the DESCRIPTION file has been clarified, and a new Imports: field added. Please check your usage against `Writing R Extensions'. 7) Packages whose data directory cannot be zipped should add `ZipData: no' to the DESCRIPTION file. Examples include anm, mlbench, pls.pcr, RadioSonde and tapiR. 8) Packages which access files via stdio.h and which might conceivably be used for files of > 2Gb on 32-bit platforms should consider making the transitional large file support available. This needs a configure test for off_t, fseeko and ftello (which should be used in place of fseek and ftell) plus some way for the user to indicate the suitable C flags (probably -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1). 9) Please do NOT install a copy of the (L)GPL COPYING[.LIB] files, but refer to the ones in the R distribution (which are always installed). So if you have a file COPYING in the top-level directory of your package it might be something like Licence ======= This is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. The file COPYING in the R top-level directory is a copy of the 'GNU General Public License'. [The place might chgange prior to release.]