Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


PKG_INFO(1)                 General Commands Manual                PKG_INFO(1)

NAME
     pkg_info - a utility for displaying information on software packages

SYNOPSIS
     pkg_info [-BbcDdFfhIikLmNnpqRrSsVvX] [-E pkg-name] [-e pkg-name]
              [-K pkg_dbdir] [-l prefix] pkg-name ...
     pkg_info [-a | -u] [flags]
     pkg_info [-Q variable] pkg-name ...

DESCRIPTION
     The pkg_info command is used to dump out information for packages, which
     may be either packed up in files or already installed on the system with
     the pkg_create(1) command.

     The pkg-name may be the name of an installed package (with or without
     version), a pattern matching several installed packages (see the PACKAGE
     WILDCARDS section for a description of possible patterns), the pathname
     to a binary package, a filename belonging to an installed package (with
     -F), or a URL to an FTP-available package.

     The following command line options are available:

     -a      Show information for all currently installed packages.  See also
             -u.  When neither -a nor -u is given, the former is assumed.

     -B      Show some of the important definitions used when building the
             binary package (the "Build information") for each package.
             Additionally, any installation information variables (lowercase)
             can be queried, too.  In particular, automatic tells if a package
             was installed automatically as a dependency of another package.

     -b      Show the NetBSD RCS Id strings from the files used in the
             construction of the binary package (the "Build version") for each
             package.  These files are the package Makefile, any patch files,
             any checksum files, and the packing list file.

     -c      Show the one-line comment field for each package.

     -D      Show the install-message file (if any) for each package.

     -d      Show the long-description field for each package.

     -E pkg-name
             This option allows you to test for the existence of a given
             package.  If a package identified by pkg-name is currently
             installed, return code is 0, otherwise 1.  The name of the best
             matching package found installed is printed to stdout unless
             turned off using the -q option.  pkg-name can contain wildcards
             (see the PACKAGE WILDCARDS section below).

     -e pkg-name
             This option allows you to test for the existence of a given
             package.  If a package identified by pkg-name is currently
             installed, return code is 0, otherwise 1.  The names of any
             package(s) found installed are printed to stdout unless turned
             off using the -q option.  pkg-name can contain wildcards (see the
             PACKAGE WILDCARDS section below).

     -F      Interpret any pkg-name given as filename, and query information
             on the package that file belongs to.  This can be used to query
             information on a per-file basis.  See the TECHNICAL DETAILS
             section below for more information.

     -f      Show the packing list instructions for each package.

     -h      Print usage message and exit.

     -I      Show the index entry for each package.  This option is assumed
             when no arguments or relevant flags are specified.

     -i      Show the install script (if any) for each package.

     -K pkg_dbdir
             Override the value of the PKG_DBDIR configuration option with the
             value pkg_dbdir.

     -k      Show the de-install script (if any) for each package.

     -L      Show the files within each package.  This is different from just
             viewing the packing list, since full pathnames for everything are
             generated.  Files that were created dynamically during
             installation of the package are not listed.

     -l prefix
             Prefix each information category header (see -q) shown with
             prefix.  This is primarily of use to front-end programs that want
             to request a lot of different information fields at once for a
             package, but don't necessary want the output intermingled in such
             a way that they can't organize it.  This lets you add a special
             token to the start of each field.

     -m      Show the mtree file (if any) for each package.

     -N      Show which packages each package was built with (exact
             dependencies), if any.

     -n      Show which packages each package needs (depends upon), if any.

     -p      Show the installation prefix for each package.

     -Q variable
             Show the definition of variable from the build information for
             each package.  An empty string is returned if no such variable
             definition is found for the package(s).

     -q      Be "quiet" in emitting report headers and such, just dump the raw
             info (basically, assume a non-human reading).

     -R      For each package, show the packages that require it.

     -r      For each package, show the packages that require it.  Continue
             recursively to show all dependents.

     -S      Show the size of this package and all the packages it requires,
             in bytes.

     -s      Show the size of this package in bytes.  The size is calculated
             by adding up the size of each file of the package.

     -u      Show information for all user-installed packages: automatically
             installed packages (as dependencies of other packages) are not
             displayed.  See also -a.

     -V      Print version number and exit.

     -v      Turn on verbose output.

     -X      Print summary information for each package.  The summary format
             is described in pkg_summary(5).  Its primary use is to contain
             all information about the contents of a (remote) binary package
             repository needed by package managing software.

TECHNICAL DETAILS
     Package info is either extracted from package files named on the command
     line, or from already installed package information in
     <PKG_DBDIR>/<pkg-name>.

     When the -F option is used, a filename can be given instead of a package
     name to query information on the (installed) package that file belongs
     to.  The filename is resolved to a package name using the package
     database.  The filename must be absolute, as in the output of
           pkg_info -aF.
     For example,
           pkg_info -Fe /path/to/file
     can be used to display the package the given file belongs to, and
           pkg_info -LF /path/to/file
     can be used to display all files belonging to the package the given file
     belongs to.

PACKAGE WILDCARDS
     In the places where a package name/version is expected, e.g., for the -e
     option, several forms can be used.  Either use a package name with or
     without version, or specify a package wildcard that gets matched against
     all installed packages.

     Package wildcards use fnmatch(3).  In addition, csh(1) style {,}
     alternates have been implemented.  Package version numbers can also be
     matched in a relational manner using the ">=", "<=", ">", and "<"
     operators.  For example,
           pkg_info -e 'name>=1.3'
     will match versions 1.3 and later of the "name" package.  (Make sure to
     use shell quoting.)  Additionally, ranges can be defined, by giving both
     a lower bound (with ">" or ">=") as well as an upper bound (with "<" or
     "<=").  The lower bound has to come first.  For example,
           pkg_info -e 'name>=1.3<2.0'
     will match versions 1.3 (inclusive) to 2.0 (exclusive) of package "name".

     The collating sequence of the various package version numbers is unusual,
     but strives to be consistent.  The magic string "alpha" equates to "alpha
     version", and sorts before a beta version.  The magic string "beta"
     equates to "beta version", and sorts before a release candidate.  The
     magic string "rc" equates to "release candidate", and sorts before a
     release.  The magic string "pre", short for "pre-release", is a synonym
     for "rc".  For example, "name-1.3alpha2" will sort before
     "name-1.3beta1", and they both sort before "name-1.3rc1".  Similarly,
     "name-1.3rc3" will sort before "name-1.3", and after "name-1.2.9".  The
     magic string "pl" equates to "patch level", and has the same value as a
     dot (`.') in the dewey-decimal ordering schemes, as does the underscore
     (`_').  Additionally, alphabetic characters sort in the same place as
     their numeric counterparts, so that "name-1.2e" has the same sorting
     value as "name-1.2.5".

ENVIRONMENT
     See pkg_install.conf(5) for options, that can also be specified using the
     environment.

SEE ALSO
     pkg_add(1), pkg_admin(1), pkg_create(1), pkg_delete(1),
     pkg_install.conf(5) pkgsrc(7)

AUTHORS
     Jordan Hubbard
             most of the work
     John Kohl
             refined it for NetBSD
     Hubert Feyrer
             NetBSD wildcard dependency processing, pkgdb, depends displaying,
             pkg size display, and more.

NetBSD 10.99                   January 11, 2015                   NetBSD 10.99