子目录“tests”是用来存放附加的具体包的测试代码,类似于R中发行版本中的具体的测试。测试代码既可以直接由一个“.R”文件来提供,也过以由“.Rin”文件中的代码来创建相应的”.R”文件(例如:通过收集包中所有的函数对象,然后用临时参数来调用它们)。运行“.R”代码的结果被写入了文件“.Rout”中。如果已经存在一个相应的“.Rout.save”文件,就将比较这两个文件,将报告它们的不同之处,并不会引起错误。目录“tests”将被拷贝到检查区域,并且测试将在这个拷贝上运行,并且将拷贝作为工作目录,还设置了参数R_LIBS以确保安装的包在测试期间能够通过library(pkg_name)加载。
子目录“exec”可以包含附加的包需要的可执行文件,典型的文件是shell, Perl 或Tcl这些解释程序的脚本。这种机制现在只用在很少的一些包中,并且依然是试验性的。
子目录“po”是用来存放那些与本地化(localization)相关的文件的。参见1.9 国际化。
1.1.4 包的封装(Package bundles)
有时将几个小的包封装成一个大的包一起发行是比较方便的。(VR就是一个例子,它包含4个包。)在类Unix操作系统和Windowx上的安装程序都能处理这样的大包。
大包的“DESCRIPTION”文件中有一个“Bundle”字段,没有“Package”字段,如下所示:
Bundle: VR
Priority: recommended
Contains: MASS class nnet spatial
Version: 7.2-36
Date: 2007-08-29
Depends: R (>= 2.4.0), grDevices, graphics, stats, utils
Suggests: lattice, nlme, survival
Author: S original by Venables & Ripley.
R port by Brian Ripley <ripley@stats.ox.ac.uk>, following earlier
work by Kurt Hornik and Albrecht Gebhardt.
Maintainer: Brian Ripley <ripley@stats.ox.ac.uk>
BundleDescription: Functions and datasets to support Venables and
Ripley, ’Modern Applied Statistics with S’ (4th edition).
License: GPL-2 | GPL-3
URL:
http://www.stats.ox.ac.uk/pub/MASS4/
“Contains”字段列出了大包中包含的小包(空格分开),它们将按照它们的名字分别放到不同的子目录中。在创建和安装期间,包(后面的包指的是小包)将按指定的顺序安装。请确认列表的顺序与它们之间的依赖关系是对应的。
除了“DESCRIPTION”文件被替换为“DESCRIPTION.in”外,大包中的小包都是标准的包。在“DESCRIPTION.in”中只包含了附加到大包中文件“DESCRIPTION”的字段。比如:
Package: spatial
Description: Functions for kriging and point pattern analysis.
Title: Functions for Kriging and Point Pattern Analysis
除了“DESCRIPTION”文件和命了名的包之外,在大包中的所有文件,都将被忽略。
大包中的“DESCRIPTION”文件中的“Depends”字段将列出所有小包的从属(类似于“Imports”和“Suggests”),并且文件“DESCRIPTION.in”就不应再包含这些字段了。