R: Generate PACKAGES files

write_PACKAGES {tools} | R Documentation

## Generate PACKAGES files

### Description

Generate ‘PACKAGES’ and ‘PACKAGES.gz’ files for a repository of source or Mac/Windows binary packages.

### Usage

    write_PACKAGES(dir, fields = NULL,
                   type = c("source", "mac.binary", "win.binary"),
                   verbose = FALSE, unpacked = FALSE, subdirs = FALSE)

### Arguments

`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"`, `"Bundle"`, `"Priority"`, `"Version"`, `"Depends"`, `"Suggests"`, `"Imports"` and `"Contains"`.
`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) or a character vector of subdirectories to include.

### Details

`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 ‘PACKAGES’ and ‘PACKAGES.gz’ files from this information.

### Value

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.

### Note

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.

### Author(s)

Uwe Ligges and R-core.

### See Also

See `read.dcf` and `write.dcf` for reading ‘DESCRIPTION’ files and writing the ‘PACKAGES’ and ‘PACKAGES.gz’ files.

### Examples

    ## Not run:
    write_PACKAGES("c:/myFolder/myRepository")  # on Windows
    write_PACKAGES("/pub/RWin/bin/windows/contrib/2.1",
                   type="win.binary")  # on Linux
    ## End(Not run)

[Package tools version 2.8.1 Index]