$Idaemons: /home/cvs/pkgtools/README,v 1.40 2001/09/16 14:53:59 knu Exp $

You need to install the following ports to use these pkgtools.

	lang/ruby		- Ruby interpreter
	devel/ruby-fnmatch	- Ruby module that provides File::fnmatch
	devel/ruby-uri		- Ruby module to manipulate URIs
	devel/ruby-optparse	- Ruby option parser library
	sysutils/pkg_tarup	- Tool to generates binary package from
				  installed package

	devel/ruby-unit		- (Only if you do tests)

============
portupgrade
============

Portupgrade is a tool to upgrade installed packages via ports or
packages.  It allows you to upgrade installed packages without having
to reinstall depending or dependent packages by directly updating the
package registry database located under /var/db/pkg, while it can also
trace dependency chains up and down to upgrade packages recursively.

e.g.
	portupgrade gtk

============
portinstall
============

Portinstall is equivalent to `portupgrade -N', which means it by
default tries to install a new one when a specified package is not
installed.

e.g.
	portinstall shells/zsh

============
portversion
============

Portversion is a tool to compare the versions of install packages with
the ones in the ports tree.  It is a replacement for pkg_version(1),
which is cooperative with portupgrade and the command output is
optimized for portupgrade.  Also, it runs much faster than
pkg_version(1) utilizing the ports database. (See portsdb)

e.g.
	portversion

============
portsdb
============

Portsdb creates and updates ports database, which is made from the
ports index file.  It consists of INDEX.db (table part) and INDEX.rbo
(index part).  It is used by pkgdepfix's origin guesser, and other
tools.  The file is automatically updated when it is accessed through
the portsdb library, if it is older than INDEX.

e.g.
	portsdb -Uu

Optionally, portsdb can expand ports globs.  This is useful to see
what ports a port depends on, what ports depend on a port, and what
the master ports of a port are.

e.g.
	portsdb -M japanese/linux-netscape47-navigator

============
pkgdepfix
============

Pkgdepfix is an interactive tool for fixing the package registry
database.  It helps you resolve stale dependencies, unlink cyclic
dependencies, complete stale or missing origins and remove duplicates.
It is recommended to run this periodically so portupgrade and other
pkg_* tools can work effectively.

e.g.
	pkgdepfix -o

============
pkg_fetch
============

Pkg_fetch is a tool to download binary packages from a remote site.
Optionally, it can also download the required packages recursively.

e.g.
	pkg_fetch -r sawfish

============
pkg_glob
============

Pkg_glob is a tool for expanding package globs, which understands
wildcards and optionally recurses through dependent/depending packages
just as portupgrade does.  It would be useful to use from within a
shell script.

e.g.
	pkg_glob -R gnome

============
pkg_deinstall
============

Pkg_deinstall is a wrapper/replacement of pkg_delete(1), which
understands wildcards and can recurse through dependent/depending
packages.

e.g.
	pkg_deinstall -r xmms

============
portsclean
============

Portsclean is a tool to clean all the ports working directories, no
longer referenced distfiles, and/or old and orphan shared libraries.

e.g.
	portsclean -Di

============
portcvsweb
============

Portcvsweb is a tool to instantly browse a history via CVSweb.  It may
be more useful than you expect.  Try it with src, www, doc, NetBSD
pkgsrc, and OpenBSD ports files. :)

e.g.
	portcvsweb sysutils/portupgrade

-- 
                     /
                    /__  __            Akinori.org / MUSHA.org
                   / )  )  ) )  /     FreeBSD.org / Ruby-lang.org
Akinori MUSHA aka / (_ /  ( (__(  @ iDaemons.org / and.or.jp
