packagesbootstrap

Superceded

packagesbootstrap has now been superceded by pkg_add -uin with an appropriately set PKG_CACHE. This page is left for information only.

Overview

See screenshots of packagesbootstrap in action!

packagesbootstrap is a small utility which bulk downloads OpenBSD binary packages. The downloaded packages can then be installed en masse, minimising downtime. packagesbootstrap has a number of useful features:

Running packagesbootstrap

When you run packagesbootstrap, it goes to the specified FTP server and downloads the list of packages stored there. It then looks at the list of packages you wish to download, and attempts to find an appropriate match for each one on the FTP server. When multiple versions of the package exist (e.g. typically autoconf has several versions for download), packagesbootstrap will interactively ask you which version you wish to download. You may download more than one version.

Once matches have been found for packages, packagesbootstrap then downloads each package, one by one. Once it has downloaded all packages, it warns you of any packages you requested for which it was unable to find a match. Typically such packages are ones with restrictive licenses, which you will have to build manually from the ports system.

You can get a good idea of how packagesbootstrap works by looking at the screenshots of it in action.

Command-line options

packagesbootstrap can be called as follows:
packagesbootstrap [<options>] [<packages list>]
<packages list> is either a list of package names, separated by newlines, or the output from the pkg_info command. If <packages list> is not specified, the list of packages installed on current machine will be used. Other options are as follows:

packagesbootstrap in use

There are various potential ways that packagesbootstrap could be used. I typically use it either to get a freshly installed machine into shape, to minimise downtime when updating a server, or just as a quick way to update a desktop machine to the latest snapshot. Such uses tend to look as follows:
packagesbootstrap -f ftp://ftp.plig.org/pub/OpenBSD/ -d packages
pkg_info | cut -d " " -f 1 | xargs sudo pkg_delete
cd packages
sudo pkg_add *
This downloads new packages for everything that is installed on my machine, then deletes all the currently installed packages. Finally all the downloaded packages are then installed. There are various other ways that one can imagine the utility being used.

Download

packagesbootstrap is released under a BSD / MIT licence.