OpenBSD has a environment variable PKG_PATH which you can set to a mix of local and remote directories.
Code:
PKG_PATH If a given package name cannot be found, the directories
named by PKG_PATH are searched. It should contain a series
of entries separated by colons. Each entry consists of a
directory name, ending in a slash. URL schemes such as FTP,
HTTP, HTTPS, or SCP are also appropriate. The current di-
rectory may be indicated implicitly by an empty directory
name, or explicitly by a single period (`./').
Doesn't the FreeBSD PKG_PATH do something similar? From the FBSD pkg_add man page:
Code:
The value of the PKG_PATH is used if a given package cannot be found.
The environment variable should be a series of entries separated by
colons. Each entry consists of a directory name. The current directory
may be indicated implicitly by an empty directory name, or explicitly by
a single period.
The question of course is what in the FreeBSD PKG_PATH is a 'directory name'
FreeBSD pkg_add also knows PACKAGESITE. From the FBSD man page
Code:
The environment variable PACKAGESITE specifies an alternate location for
pkg_add to fetch from. This variable subverts the automatic directory
logic that pkg_add uses when the -r option is invoked. Thus it should be
a complete URL to the remote package file(s).