Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
FreeBSD ports and packages management app
Ruby C Shell Makefile
Failed to load latest commit information.
bin Don't install missing dependencies which are already satisfied.
compat Use DESTDIR when creating directories during install
etc Deprecate rc script handling in lieu of pkg(8)'s HANDLE_RC_SCRIPTS
lib
man
misc Fix detection of pkg-devel
scripts Support generating revision with git-format
tests Fixed TSort name clash
.gitattributes Support generating revision with git-format
.gitignore Install script(1) into PREFIX/libexec/pkgtools
COPYING Update copyrights/AUTHORS
Makefile Remove all RCS/FreeBSD tags as they are stale and unused
Makefile.compat Remove all RCS/FreeBSD tags as they are stale and unused
Makefile.inc Remove all RCS/FreeBSD tags as they are stale and unused
NEWS.md
README.md

README.md

PKGTOOLS

Installation.

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

  • lang/ruby18 -- Ruby 1.8 interpreter, or
  • lang/ruby19 -- Ruby 1.9 interpreter.

If you want to be able to run tests, you will also need to install devel/ruby-testunit.

Tools included.

portupgrade

Portupgrade is a tool to upgrade installed packages via ports or packages. It allows you to upgrade installed packages without having to reinstall dependent/required packages by directly adjusting the package database located under /var/db/pkg, while it can also upgrade packages recursively.

Example: portupgrade gtk.

portinstall

Portinstall is equivalent to `portupgrade -N', which means it tries to install the latest version when a specified package is not installed. Prior to the installation of a new package, all the required packages are upgraded.

Example: portinstall shells/zsh.

portversion

Portversion is a tool to compare the versions of install packages with those in the ports tree. It is a replacement for pkg_version(1) cooperative with portupgrade, that is, the command output is optimized for portupgrade. Besides, it runs much faster than pkg_version(1) because it utilizes the prebuilt ports database. (See portsdb)

Example: portversion.

portsdb

Portsdb generates the ports database named INDEX.db from the ports INDEX file. It is commonly used among the tool suite and automatically updated on demand when it gets older than the ports INDEX file.

Example: portsdb -Uu.

ports_glob

Ports_glob expands ports globs. It understands wildcards and is capable of listing the required, dependent or master ports of a given port. It would be handy to use from within a shell script.

Example: ports_glob '*/*firefox*'.

pkg_fetch

Pkg_fetch is a tool to download binary packages from remote sites. It can optionally download packages recursively through dependencies.

Example: pkg_fetch -r sawfish.

pkg_glob

Pkg_glob expands package globs. It understands wildcards and is capable of listing the required or dependent packages of a package. It would be handy to use from within a shell script.

Example: pkg_glob -R gnome.

pkg_deinstall

Pkg_deinstall is a wrapper/replacement of pkg_delete(1), which understands wildcards and is capable of recursing through dependencies. It has an option to preserve shared libraries.

Example: pkg_deinstall -r xmms.

pkgdb

Pkgdb creates and updates the packages database which is commonly used among the tool suite. It keeps a hash that maps an installed file to a package name, a hash that maps a package to an origin, and a list of installed packages. The database file is automatically updated on demand when any package is installed or deinstalled after the database was last updated.

Example: pkgdb -u.

Pkgdb also works as an interactive tool for fixing the package registry database when -F is specified. It helps you resolve stale dependencies, unlink cyclic dependencies, complete stale or missing origins, and remove duplicates. You have to run this periodically so that portupgrade and other tools can work effectively and unfailingly.

Example: pkgdb -Fv.

pkg_which

Pkg_which inquires of the packages database which package each given file came from. If you do not have permission to update the database although it is outdated, it delegates tasks to pkg_info(1).

Example: pkg_which patgen.

portsclean

Portsclean is a tool to clean ports working directories, no longer referenced distfiles, outdated package files, and/or obsolete and orphan shared libraries.

Example: portsclean -Di.

portcvsweb

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

Example: portcvsweb sysutils/portupgrade.

Something went wrong with that request. Please try again.