351 lines
9.3 KiB
Groff
351 lines
9.3 KiB
Groff
.\" $NetBSD: pkg_info.1,v 1.51 2006/04/24 13:36:22 dillo Exp $
|
|
.\"
|
|
.\" FreeBSD install - a package for the installation and maintenance
|
|
.\" of non-core utilities.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\"
|
|
.\" Jordan K. Hubbard
|
|
.\"
|
|
.\"
|
|
.\" @(#)pkg_info.1
|
|
.\"
|
|
.Dd April 15, 2006
|
|
.Dt PKG_INFO 1
|
|
.Os
|
|
.Sh NAME
|
|
.Nm pkg_info
|
|
.Nd a utility for displaying information on software packages
|
|
.Sh SYNOPSIS
|
|
.Nm
|
|
.Op Fl BbcDdFfhIikLmNnpqRrSsVvX
|
|
.Op Fl e Ar package
|
|
.Op Fl K Ar pkg_dbdir
|
|
.Op Fl l Ar prefix
|
|
.Ar pkg-name ...
|
|
.Nm
|
|
.Op Fl a | Fl u
|
|
.Op flags
|
|
.Nm
|
|
.Op Fl Q Ar variable
|
|
.Ar pkg-name ...
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Nm
|
|
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
|
|
.Xr pkg_create 1
|
|
command.
|
|
.Pp
|
|
The
|
|
.Ar pkg-name
|
|
may be the name of an installed package (with our without version), a
|
|
pattern matching several installed packages (see the
|
|
.Sx PACKAGE WILDCARDS
|
|
section for a description of possible patterns),
|
|
the pathname to a
|
|
binary package, a filename belonging to an installed
|
|
package (if
|
|
.Fl F
|
|
is also given), or a URL to an ftp-available package.
|
|
.Pp
|
|
The following command-line options are supported:
|
|
.Bl -tag -width indent
|
|
.It Fl a
|
|
Show information for all currently installed packages.
|
|
See also
|
|
.Fl u .
|
|
.It Fl B
|
|
Show some of the important definitions used when building
|
|
the binary package (the
|
|
.Dq Build information )
|
|
for each package.
|
|
Additionally, any installation information variables
|
|
(lowercase) can be queried, too.
|
|
In particular,
|
|
.Ar automatic
|
|
tells if a package was installed automatically
|
|
as a dependency of another package.
|
|
.It Fl b
|
|
Show the
|
|
.Nx
|
|
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.
|
|
.It Fl c
|
|
Show the one-line comment field for each package.
|
|
.It Fl D
|
|
Show the install-message file (if any) for each package.
|
|
.It Fl d
|
|
Show the long-description field for each package.
|
|
.It Fl e Ar pkg-name
|
|
This option
|
|
allows you to test for the existence of a given package.
|
|
If the package identified by
|
|
.Ar 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
|
|
.Fl q
|
|
option.
|
|
.Ar pkg-name
|
|
can contain wildcards (see the
|
|
.Sx PACKAGE WILDCARDS
|
|
section below).
|
|
.It Fl F
|
|
Interpret any pkg-name given as filename, and translate it to a
|
|
package name using the Package Database.
|
|
This can be used to query information on a per-file basis, e.g. in
|
|
conjunction with the
|
|
.Fl e
|
|
flag to find out which package a file belongs to.
|
|
.It Fl f
|
|
Show the packing list instructions for each package.
|
|
.It Fl I
|
|
Show the index entry for each package.
|
|
.It Fl i
|
|
Show the install script (if any) for each package.
|
|
.It Fl K Ar pkg_dbdir
|
|
Set
|
|
.Ar pkg_dbdir
|
|
as the package database directory.
|
|
If this option isn't specified, then the package database directory is
|
|
taken from the value of the environment variable
|
|
.Ev PKG_DBDIR
|
|
if it's set, otherwise it defaults to
|
|
.Pa /var/db/pkg .
|
|
.It Fl k
|
|
Show the de-install script (if any) for each package.
|
|
.It Fl 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.
|
|
.It Fl l Ar str
|
|
Prefix each information category header (see
|
|
.Fl q )
|
|
shown with
|
|
.Ar str .
|
|
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.
|
|
.It Fl m
|
|
Show the mtree file (if any) for each package.
|
|
.It Fl N
|
|
Show which packages each package was built with (exact dependencies), if any.
|
|
.It Fl n
|
|
Show which packages each package needs (depends upon), if any.
|
|
.It Fl p
|
|
Show the installation prefix for each package.
|
|
.It Fl Q
|
|
Show the definition of
|
|
.Ar variable
|
|
from the build information for each package.
|
|
An empty string is returned if no such variable definition is found for
|
|
the package(s).
|
|
.It Fl q
|
|
Be
|
|
.Dq quiet
|
|
in emitting report headers and such, just dump the
|
|
raw info (basically, assume a non-human reading).
|
|
.It Fl R
|
|
For each package, show the packages that require it.
|
|
.It Fl r
|
|
Show the requirements script (if any) for each package.
|
|
.It Fl S
|
|
Show the size of this package and all the packages it requires,
|
|
in bytes.
|
|
.It Fl s
|
|
Show the size of this package in bytes.
|
|
The size is calculated by adding up the size of each file of the package.
|
|
.It Fl u
|
|
Show information for all user-installed packages.
|
|
Automatically installed packages (as dependencies
|
|
of other packages) are not displayed.
|
|
See also
|
|
.Fl a .
|
|
.It Fl V
|
|
Print version number and exit.
|
|
.It Fl v
|
|
Turn on verbose output.
|
|
.It Fl X
|
|
Print summary information for each package.
|
|
The summary format is
|
|
described in
|
|
.Xr 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.
|
|
.El
|
|
.Sh TECHNICAL DETAILS
|
|
Package info is either extracted from package files named on the
|
|
command line, or from already installed package information
|
|
in
|
|
.Pa /var/db/pkg/\*[Lt]pkg-name\*[Gt] .
|
|
.Pp
|
|
A filename can be given instead of a (installed) package name to query
|
|
information on the package this file belongs to.
|
|
This filename is then resolved to a package name using the Package Database.
|
|
For this translation to take place, the
|
|
.Fl F
|
|
flag must be given.
|
|
The filename must be absolute, compare the output of pkg_info
|
|
.Fl aF .
|
|
.Sh PACKAGE WILDCARDS
|
|
In the places where a package name/version is expected, e.g. for the
|
|
.Fl e
|
|
switch, 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.
|
|
.Pp
|
|
Package wildcards use
|
|
.Xr fnmatch 3 .
|
|
In addition,
|
|
.Xr csh 1
|
|
style {,} alternates have been implemented.
|
|
Package version numbers can also be matched in a relational manner
|
|
using the
|
|
.Pa \*[Ge] , \*[Le] , \*[Gt] ,
|
|
and
|
|
.Pa \*[Lt]
|
|
operators.
|
|
For example,
|
|
.Pa pkg_info -e 'name\*[Ge]1.3'
|
|
will match versions 1.3 and later of the
|
|
.Pa name
|
|
package.
|
|
Additionally, ranges can be defined by giving a lower bound with
|
|
\*[Gt] or \*[Ge] and an upper bound with \*[Lt] or \*[Le].
|
|
The lower bound has to come first.
|
|
For example,
|
|
.Pa pkg_info -e 'name\*[Ge]1.3\*[Lt]2.0'
|
|
will match versions 1.3 (inclusive) to 2.0 (exclusive)
|
|
of package
|
|
.Pa name .
|
|
.Pp
|
|
The collating sequence of the various package version numbers is
|
|
unusual, but strives to be consistent.
|
|
The magic string
|
|
.Dq alpha
|
|
equates to
|
|
.Pa alpha version
|
|
and sorts before a beta version.
|
|
The magic string
|
|
.Dq beta
|
|
equates to
|
|
.Pa beta version
|
|
and sorts before a release candidate.
|
|
The magic string
|
|
.Dq rc
|
|
equates to
|
|
.Pa release candidate
|
|
and sorts before a release.
|
|
The magic string
|
|
.Dq pre ,
|
|
short for
|
|
.Dq pre-release ,
|
|
is a synonym for
|
|
.Dq rc .
|
|
For example,
|
|
.Pa name-1.3rc3
|
|
will sort before
|
|
.Pa name-1.3
|
|
and after
|
|
.Pa name-1.2.9 .
|
|
Similarly
|
|
.Pa name-1.3alpha2
|
|
will sort before
|
|
.Pa name-1.3beta1
|
|
and they both sort before
|
|
.Pa name-1.3rc1 .
|
|
In addition, alphabetic characters sort in the same place as
|
|
their numeric counterparts, so that
|
|
.Pa name-1.2e
|
|
has the same sorting value as
|
|
.Pa name-1.2.5
|
|
The magic string
|
|
.Dq pl
|
|
equates to a
|
|
.Pa patch level
|
|
and has the same value as a dot in the dewey-decimal ordering schemes.
|
|
.Sh ENVIRONMENT
|
|
.Bl -tag -width PKG_DBDIR
|
|
.It Ev PKG_DBDIR
|
|
If the
|
|
.Fl K
|
|
flag isn't given, then
|
|
.Ev PKG_DBDIR
|
|
is the location of the package database directory.
|
|
The default package database directory is
|
|
.Pa /var/db/pkg .
|
|
.It Ev PKG_PATH
|
|
This can be used to specify a semicolon-separated list of paths and URLs to search for
|
|
package files.
|
|
If
|
|
.Ev PKG_PATH
|
|
is used, the suffix
|
|
.Pa .tgz
|
|
is automatically appended to the
|
|
.Ar pkg-name ,
|
|
whereas searching in the current directory uses
|
|
.Ar pkg-name
|
|
literally.
|
|
.It Ev PKG_TMPDIR , Ev TMPDIR
|
|
These are tried in turn (if set) as candidate directories in which
|
|
to create a
|
|
.Dq staging area
|
|
for any files extracted by
|
|
.Nm
|
|
from package files.
|
|
If neither
|
|
.Ev PKG_TMPDIR
|
|
nor
|
|
.Ev TMPDIR
|
|
yields a suitable scratch directory,
|
|
.Pa /var/tmp ,
|
|
.Pa /tmp ,
|
|
and
|
|
.Pa /usr/tmp
|
|
are tried in turn.
|
|
Note that
|
|
.Pa /usr/tmp
|
|
may be created, if it doesn't already exist.
|
|
.Pp
|
|
Since
|
|
.Nm
|
|
requires very little information to be extracted from any package
|
|
files examined, it is unlikely that these environment variables would
|
|
ever need to be used to work around limited available space in the
|
|
default locations.
|
|
.El
|
|
.Sh SEE ALSO
|
|
.Xr pkg_add 1 ,
|
|
.Xr pkg_admin 1 ,
|
|
.Xr pkg_create 1 ,
|
|
.Xr pkg_delete 1 ,
|
|
.Xr mktemp 3 ,
|
|
.Xr packages 7 ,
|
|
.Xr mtree 8
|
|
.Sh AUTHORS
|
|
.Bl -tag -width indent -compact
|
|
.It "Jordan Hubbard"
|
|
most of the work
|
|
.It "John Kohl"
|
|
refined it for
|
|
.Nx
|
|
.It "Hubert Feyrer"
|
|
.Nx
|
|
wildcard dependency processing, pkgdb, depends displaying,
|
|
pkg size display etc.
|
|
.El
|