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)

### 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?

### 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 these 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.4.1 Index]