PORTVERSION(1) BSD General Commands Manual PORTVERSION(1)NAME
portversion — a tool to compare the versions of installed packages with
the ones in the ports tree
SYNOPSIS
portversion [-hFOoQqRrv] [-l limit_chars] [-L inv_limit_chars]
[-x pkgname_glob] [pkgname_glob]
portversion [-v] -t ver0 ver1 [ver2 ...]
DESCRIPTION
portversion is used to produce a report of installed ports/packages.
Each package's version number is checked against the corresponding entry
in the ports database to see if a newer version is available for upgrade.
If a package is not found in the database, portversion inspects the ori‐
gin port to get the version.
portversion is very similar to pkg_version(1), but is optimized for
portupgrade(1) and runs much faster than pkg_version(1) thanks to the
ports database generated from the INDEX file. See portsdb(1) for
details.
Each package name is printed, along with a one-character status flag:
= The installed version of the package is current.
< The installed version of the package is older than the current
version.
> The installed version of the package is newer than the current
version. This situation can arise with using an out-of-date
INDEX file, or when testing new ports.
? The installed package does not appear in the database nor does
the port directory exist. This could be because the port has
been removed from the official ports tree, or because the package
was installed from an unofficial (or not yet committed) port, or
because the INDEX file has not been synchronized (updated) with
the ports tree yet.
! The installed package does not appear in the database, the port
directory actually exists, the port's Makefile is broken and the
latest version number cannot be obtained.
# The installed package does not have an origin recorded. This
could be because the package was installed before the concept of
‘origin’ was introduced. You can run “pkgdb -F” to complete
missing origins.
You can resolve most out-of-date situations by updating the ports tree
and running “portsdb -U”. (See portsdb(1) for details)
Before reading these instructions, you must understand that a port/pack‐
age can have the following two types of related ports/packages:
required Ports/packages that a port/package needs for it to be built
and/or run. Port Makefiles refer to this type of ports/pack‐
ages using the BUILD_DEPENDS and RUN_DEPENDS macros, respec‐
tively.
dependent Ports/packages that need this port/package.
OPTIONS
The following command line arguments are supported:
pkgname_glob Specify one of these: a full pkgname, a pkgname
without version, a shell glob pattern in which you
can use wildcards ‘*’, ‘?’, and ‘[..]’, an extended
regular expression preceded by a colon ‘:’, or a
date range specification preceded by either ‘<’ or
‘>’. See pkg_glob(1) for details and concrete exam‐
ples.
If none is specified, portversion checks all the
installed packages.
In any case, the results will be listed in alphabet‐
ical order, not in dependency order as with other
tools.
-h
--help Show help and exit.
-c
--command-output Enable command output. Command output includes a
command of portupgrade(1) you should run to upgrade
your installed packages to the latest versions in
the ports system. This feature does not constitute
an automated packages upgrading system. Edit the
list of packages to upgrade and the options for
portupgrade(1) and run it to perform the upgrade.
-C ARGS
--command-args ARGS Specify options to pass to portupgrade(1) to be used
in the command output.
--ignore-moved Do not read MOVED file.
-F
--fullname Display a package full name.
-l CHARS
--limit CHARS Only include the packages with the specified status
flags.
-L CHARS
--inv-limit CHARS Exclude the packages with the specified status
flags.
-O
--omit-check Omit sanity checks for dependencies. By default,
portversion checks whether all packages it is to
check have consistent dependencies, though it takes
extra time to calculate dependencies. If you are
sure you have run “pkgdb -F” in advance, you can
specify this option to omit the sanity checks.
-o
--origin Display package origin instead of package name.
-q
--noconfig Do not read the configuration file. ($PRE‐
FIX/etc/pkgtools.conf)
-Q
--quiet Do not display status chars.
-r
--recursive Check all packages depending on the given packages
as well.
-R
--upward-recursive Check all packages required by the given packages as
well.
-t
--test Compare the version with the following one(s), and
print the result(s).
-v
--verbose Turn on verbose output.
-x GLOB
--exclude GLOB Exclude packages matching the specified glob pat‐
tern. Exclusion is performed after recursing depen‐
dency in response to -r and/or -R, which means, for
example, the following command will check for all
the packages depending on XFree86 but not for
XFree86:
portupgrade -rx XFree86 XFree86
ENVIRONMENT
PKG_DBDIR Alternative location for the installed package database.
The default is “/var/db/pkg”.
PORTSDIR Alternative location for the ports tree and the ports
database files. The default is “/usr/ports”.
PKGTOOLS_CONF Configuration file for the pkgtools suite. The default is
“$PREFIX/etc/pkgtools.conf”.
FILES
/var/db/pkg Default location of the installed package
database.
/usr/ports Default location of the ports tree and the
ports database files.
$PREFIX/etc/pkgtools.conf Default location of the pkgtools configuration
file.
SEE ALSOpkg_glob(1), pkg_info(1), pkg_sort(1), pkg_version(1), pkgdb(1),
portsdb(1), portupgrade(1), pkgtools.conf(5), ports(7)AUTHORS
Akinori MUSHA ⟨knu@iDaemons.org⟩
FreeBSD July 9, 2008 FreeBSD