write_PACKAGES {tools} | R Documentation |
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)
dir |
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. |
fields |
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 available.packages :
"Package" , "Version" , "Priority" ,
"Depends" , "Imports" , "LinkingTo" ,
"Suggests" , "Enhances" , "OS_type" ,
and "License" and those fields will always be included, plus
the file name in field "File" if addFile = TRUE
and the path to the subdirectory in field "Path" if subdirectories
are used.
|
type |
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 "source" otherwise.
|
verbose |
logical. Should packages be listed as they are processed? |
unpacked |
a logical indicating whether the package contents are available in unpacked form or not (default). |
subdirs |
either logical (to indicate if subdirectories should be included, recursively) or a character vector of name of subdirectories to include. |
latestOnly |
logical: if multiple versions of a package are available should only the latest version be included? |
addFiles |
logical: should the filenames be included as field File in the ‘PACKAGES’ file. |
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.10.0 but foo_0.9 is
available which depends on R >= 2.7.0.
Support for repositories with subdirectories and hence for
subdirs != FALSE
was added in R 2.7.0: this depends on
recording a "Path"
field in the ‘PACKAGES’ file.
Support for more general file names (e.g. other types of compression)
via a "File"
field in the ‘PACKAGES’ file was added
in R 2.10.0 and can be used by 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.
Uwe Ligges and R-core.
See read.dcf
and write.dcf
for reading
‘DESCRIPTION’ files and writing the ‘PACKAGES’ and
‘PACKAGES.gz’ files.
## 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)