NIH(1)

NAME
pkg_update_plan - generates the update plan

SYNOPSIS
pkg_update_plan [options] <inst_summary> <avail_summary> [packages...]

DESCRIPTION
pkg_update_plan takes a list of installed packages in inst_summary file (in pkg_summary(5) format), packages available for installation in avail_summary file (also in pkg_summary(5) format), packages to install and/or remove, and outputs so called "update plan" to stdout (also in pkg_summary(5) format). Update plan is a list of packages expected after installing, removing and updating packages listed in packages, satisfying all dependencies and resolving conflicts. At least the following fields are expected in inst_summary file: PKGNAME, PKGPATH, COMMENT, CONFLICTS, DEPENDS, BUILD_DATE, PROVIDES, REQUIRES and automatic (set to "yes" for packages installed as a dependency). At least the following fields are expected in avail_summary file: PKGNAME, PKGPATH, COMMENT, CONFLICTS, DEPENDS, BUILD_DATE, LICENSE, FILE_NAME, PROVIDES and REQUIRES. In stdout packages marked for installation or update are marked by force_update field set to yes.

packages may be specified as PKGBASEs (e.g. emacs), PKGNAMEs (e.g. emacs-22.3nb12) or PKGPATHs (editors/emacs22) optionally prepended by `-' (marker for removal), `+' or `*' (marker for auto-installed), `_' or `?' (auto-installed flag is not changed) or `/' (marker that means "do not update"). If "_" is specified as a package, all packages for which update is available will be updated. Packages without prefix are marked as installed by user. pkg_update_plan tries to resolve conflicts and satisfy dependencies automatically. If it fails, error messages are output to stderr and exit status is non-zero. By default PKGPATH of installed packages remains unchanged, that is, if, for example, emacs-21 was installed from editors/emacs21, it will not be updated to emacs-23 from editors/emacs23. If you want to do this, run the following:
   pkg_update_plan inst_summary avail_summary editors/emacs23 emacs-

EXAMPLES
   pkg_update_plan installed.txt pkg_summary.txt \
      mawk lang/gawk
   pkg_update_plan installed.txt pkg_summary.txt \
      audio/flac123 libao-alsa+ libao-oss-
   pkg_update_plan installed.txt pkg_summary.txt \
      sysutils/mc wip/mc-

OPTIONS

-h  Display help message.

-v  Enable verbose mode. Repeated -v flag increases verbosity level.

-i  Obtain packages from stdin.

-t  Mark packages to be installed with "try out" marker.

-l  Do not mark leaf packages installed as a dependency for removal.

-p  Do not run REQUIRES/PROVIDES consistency check.

-r  Mark dependencies for install/update.

-R  Mark dependent packages for install/update.

-B  Consider packages different if their BUILD_DATE differ.

-w  If requested package is not found, write a warning message to stderr and continue to work.

SEE ALSO
pkg_summary-utils(7), pkg_summary(5)

AUTHOR
Aleksey Cheusov <vle@gmx.net>