Pkg

Manage BSD packages and repositories. Note that BSD package names are case-sensitive.

pkg.packages

Install/remove/update pkg packages. This will use pkg ... where available (FreeBSD) and the pkg_* variants elsewhere.

pkg.packages(packages=None, present=True, pkg_path=None)
  • packages: list of packages to ensure

  • present: whether the packages should be installed

  • pkg_path: the PKG_PATH environment variable to set

pkg_path:

By default this is autogenerated as follows (tested/working for OpenBSD): http://ftp.<OS>.org/pub/<OS>/<VERSION>/packages/<ARCH>/. Note that OpenBSD’s official mirrors only hold the latest two versions packages.

NetBSD/FreeBSD helpfully use their own directory structures, so the default won’t work.

Example:

pkg.packages(
    name='Install Vim and Vim Addon Manager',
    packages=['vim-addon-manager', 'vim'],
)