PKG-REGISTER(8)

NAME
pkg register - registers a package into the local package database

SYNOPSIS
pkg register [-dlOt] [-f plist-file] -m metadatadir -i input-path
pkg register [-dlOt] -M metadatafile

DESCRIPTION
pkg register is used for registering a package into the local package database.

pkg register assembles a full set of package meta-data from various possible inputs, and writes the meta-data into the package registry database. This is one of the final steps when installing software from ports: the package files are installed into the filesystem, and then pkg register is called to record what was installed into the package database.

pkg register can derive package meta-data from a number of different sources:

•   The package manifest

•   The metadata directory

•   Direct analysis of files installed by the package

The package manifest is a YAML format listing of package meta-data. It can contain all of the necessary meta-data needed by the package, but the more usual approach is to provide selected items via the manifest, and fill in the rest, either from legacy files such as pkg-plist, +DESC, +DISPLAY, +MESSAGE or +MTREE_DIRS which are optional and mostly located in the metadatadir given as the argument to the -m option.

Other information about shared library requirements and the packages necessary to provide them may be obtained by direct analysis of the files installed by the package. This is the mechanism currently used when installing software directly from the ports tree, as it provides reasonable backwards compatibility with the old style pkg_add(1) command.

Reading in a complete and comprehensive manifest from one file is a simpler alternative, but requires all the meta-data to have been assembled beforehand.

Direct analysis of the installed files can be suppressed by use of the -t option. This is intended for testing the functionality of pkg(8) itself, and should not be routinely used.

OPTIONS
The following options are supported by pkg register:

-d  Mark the package to be automatically removed if no other packages depend on it. For more information please refer to pkg-autoremove(8)

-f plist-file
    Specifies a pkg-plist style packing list file

-i input-path
    Specifies the package input path or staging directory.

-l  Tells pkg register to generate an old-style package registry entry in a sub-directory of $PKG_DBDIR rather than updating the local.sqlite database.

-M manifest
    Specifies the package manifest file. Use of this option means that the only file which will be used as a source of package meta-data is the named manifest file. The -M option is mutually exclusive with -m.

-m metadatadir
    Specifies the meta data directory to use when registering the package. This directory will hold the package manifest, and optionally may contain a number of other old-style metadata input files. The -m option is mutually exclusive with -M.

-t  Enable testing mode. This allows pkg register to update the package database without performing any of the usual analyses of files installed by the package. This option should only be used with caution, and preferably only for the intended purpose of performing regression tests on pkg(8) itself.

ENVIRONMENT
The following environment variables affect the execution of pkg register. See pkg.conf(5) for further description.

PKG_DBDIR

FILES
See pkg.conf(5).

SEE ALSO
pkg.conf(5), pkg(8), pkg-add(8), pkg-annotate(8), pkg-audit(8), pkg-autoremove(8), pkg-backup(8), pkg-check(8), pkg-clean(8), pkg-convert(8), pkg-create(8), pkg-delete(8), pkg-fetch(8), pkg-info(8), pkg-install(8), pkg-lock(8), pkg-query(8), pkg-repo(8), pkg-rquery(8), pkg-search(8), pkg-set(8), pkg-shell(8), pkg-shlib(8), pkg-stats(8), pkg-update(8), pkg-updating(8), pkg-upgrade(8), pkg-version(8), pkg-which(8)