Portupgrade (aka pkgtools) is a tool set for working with ports and packages. It enhances abilities of system tools and adds many new ones. It is highly tunable via its configuration file and allows you to create individual svariable environment for every port you like, to define commands that will be executed before/after port upgrade stages.

pkgtools uses hash databases to keep information about available ports (in the ports tree), installed ports, dependencies, etc. So access to the information is fast. (But note: you have to have a fresh INDEX file for relevant results).

pkgtools consist of the utils:

and a few other.


Initially pkgtools was written by Akinori MUSHA <knu AT FreeBSD DOT org>

It is currently maintained by BryanDrewery <bdrewery AT FreeBSD DOT org>

Past Maintainers

These people have maintained the project over time.


Tips and hints for using

    '*' => proc { |origin|

  portsdb -Fu

  portupgrade -a -x ruby -x portupgrade

  pkgdu -tr ruby

  portupgrade -fa -x '>=2008-07-10'


Send your wishes, bug reports to http://github.com/pkgtools/pkgtools or <bdrewery AT FreeBSD DOT org>

Desired features

From: MatthiasAndree

From: Hannes Hauswedell <hannes.hauswedell at gmail.com>

From: RW <list-freebsd-2004 at morbius.sent.com>

From: AndrewPantyukhin

From: AlexanderLeidinger

From: Chris Calvey <chris at securityforensics.co.uk>


portupgrade (last edited 2021-04-26T03:19:27+0000 by JethroNederhof)