Generate PACKAGES, PACKAGES.gz and PACKAGES.rds
  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, rds_compress = "xz")Character vector describing the location of the repository
    (directory including source or binary packages) to generate the
    PACKAGES, PACKAGES.gz and PACKAGES.rds files
    from and write them to.
a character vector giving the fields to be used in the
    PACKAGES, PACKAGES.gz and PACKAGES.rds 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",
    "License" and "Archs", 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 of packages: currently source .tar.{gz,bz2,xz} archives,
    and macOS or Windows binary (.tgz or .zip,
    respectively) packages are supported.  Defaults to
    "win.binary" on Windows and to "source" otherwise.
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 names of subdirectories to include (which are not recursed).
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.
The type of compression to be used for
    PACKAGES.rds: see saveRDS.  The default is the
    one found to give maximal compression, and is as used on CRAN.
Invisibly returns the number of packages described in the resulting
  PACKAGES, PACKAGES.gz and PACKAGES.rds files.  If
  0, no packages were found and no files were written.
write_PACKAGES scans the named directory for R packages,
  extracts information from each package's DESCRIPTION file, and
  writes this information into the PACKAGES, PACKAGES.gz
  and PACKAGES.rds files, where the first two represent the
  information in DCF format, and the third serializes it via
  saveRDS.
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 files.
Support for more general file names (e.g., other types of compression)
  via a "File" field in the PACKAGES files 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, PACKAGES.gz and PACKAGES.rds files from
  this information.
For a remote repository there is a tradeoff between download speed and
  time spent by available.packages processing the
  downloaded file(s).  For large repositories it is likely to be
  beneficial to use rds_compress = "xz".
See read.dcf and write.dcf for reading
  DESCRIPTION files and writing the PACKAGES and
  PACKAGES.gz files. See update_PACKAGES for
  efficiently updating existing 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
# }
Run the code above in your browser using DataLab