Generate PACKAGES files
Generate PACKAGES and PACKAGES.gz files for a repository of source or Mac/Windows binary packages.
write_PACKAGES(dir = ".", fields = NULL, type = c("source", "mac.binary", "win.binary"), verbose = FALSE, unpacked = FALSE, subdirs = FALSE, latestOnly = TRUE, addFiles = FALSE)
- Character vector describing the location of the repository (directory including source or binary packages) to generate the PACKAGES and PACKAGES.gz files from and write them to.
a character vector giving the fields to be used in the
PACKAGES and PACKAGES.gz files in addition to the
default ones, or
NULL(default). The default corresponds to the fields needed by
"Archs", and those fields will always be included, plus the file name in field
addFile = TRUEand the path to the subdirectory in field
"Path"if subdirectories are used.
Type of packages: currently source .tar.gz archives, and Mac
or Windows binary (.tgz or .zip, respectively)
packages are supported. Defaults to
"win.binary"on Windows and to
- logical. Should packages be listed as they are processed?
- a logical indicating whether the package contents are available in unpacked form or not (default).
- either logical (to indicate if subdirectories should be included, recursively) or a character vector of name of subdirectories to include.
- logical: if multiple versions of a package are available should only the latest version be included?
- logical: should the filenames be included as field File in the PACKAGES file.
write_PACKAGES scans the named directory for R packages,
extracts information from each package's DESCRIPTION file, and
writes this information into the PACKAGES and
Including non-latest versions of packages is only useful if they have
less constraining version requirements, so for example
latestOnly = FALSE could be used for a source repository when
foo_1.0 depends on R >= 2.15.0 but foo_0.9 is
available which depends on R >= 2.11.0.
Support for repositories with subdirectories and hence for
subdirs != FALSE depends on recording a
"Path" field in
the PACKAGES file.
Support for more general file names (e.g. other types of compression)
"File" field in the PACKAGES file can be
download.packages. If the file names are not of
the standard form, use
addFiles = TRUE.
type = "win.binary" uses
unz connections to read
all DESCRIPTION files contained in the (zipped) binary packages
for Windows in the given directory
dir, and builds files
PACKAGES and PACKAGES.gz files from this information.
Invisibly returns the number of packages described in the resulting
PACKAGES and PACKAGES.gz files. If
0, no packages were found and no files were written.
Processing .tar.gz archives to extract the DESCRIPTION files is quite slow.
This function can be useful on other OSes to prepare a repository to
be accessed by Windows machines, so
type = "win.binary" should
work on all OSes.
## Not run: # write_PACKAGES("c:/myFolder/myRepository") # on Windows # write_PACKAGES("/pub/RWin/bin/windows/contrib/2.9", # type = "win.binary") # on Linux # ## End(Not run)