Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
PORTVERSION(1)          FreeBSD General Commands Manual         PORTVERSION(1)

     portversion - a tool to compare the versions of installed packages with
     the ones in the ports tree

     portversion [-hFOoQqRrv] [-l limit_chars] [-L inv_limit_chars]
                 [-x pkgname_glob] [pkgname_glob]
     portversion [-v] -t ver0 ver1 [ver2 ...]

     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
     origin 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

     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

     >       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/package 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/packages using the BUILD_DEPENDS and RUN_DEPENDS macros,
     dependent  Ports/packages that need this port/package.

     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

                          If none is specified, portversion checks all the
                          installed packages.

                          In any case, the results will be listed in
                          alphabetical order, not in dependency order as with
                          other tools.

     --help               Show help and exit.

     --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.

     --fullname           Display a package full name.

     -l CHARS
     --limit CHARS        Only include the packages with the specified status

     -L CHARS
     --inv-limit CHARS    Exclude the packages with the specified status

     --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.

     --origin             Display package origin instead of package name.

     --noconfig           Do not read the configuration file.

     --quiet              Do not display status chars.

     --recursive          Check all packages depending on the given packages
                          as well.

     --upward-recursive   Check all packages required by the given packages as

     --test               Compare the version with the following one(s), and
                          print the result(s).

     --verbose            Turn on verbose output.

     -x GLOB
     --exclude GLOB       Exclude packages matching the specified glob
                          pattern.  Exclusion is performed after recursing
                          dependency 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

                          portupgrade -rx XFree86 XFree86

     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

     /var/db/pkg                Default location of the installed package

     /usr/ports                 Default location of the ports tree and the
                                ports database files.

     $PREFIX/etc/pkgtools.conf  Default location of the pkgtools configuration

     pkg_glob(1), pkg_info(1), pkg_sort(1), pkg_version(1), pkgdb(1),
     portsdb(1), portupgrade(1), pkgtools.conf(5), ports(7)

     Akinori MUSHA <>

FreeBSD                          July 9, 2008                          FreeBSD


Want to link to this manual page? Use this URL:

home | help