Pkgsync..
From the man pages:
pkgsync commit /path/to/package for each package to be shared.pkgsync sync. The client will install or upgrade all
packages found in the repository. That's it.ports -u to be sure you're working with a fresh ports tree, and install pkgsync however
you like (prt-get install pkgsync).
/etc/pkgsync.conf specifies where your main repository resides. The default path is
/usr/packages. You can change this by adjusting repository. You can create
a repository anywhere. The only criteria is that an old directory exists within it, and that it
has rw permissions for the user who will be committing packages to it.
pkgsync commit /path/to/package
will copy the specified package to the repository after moving any existing versions of the package to
$repository/old .pkgdeploy script
included with pkgsync suits just this purpose. To enable this feature, edit /etc/prt-get.conf
and add the line addcommand pkgdeploy wherever you like.
pkgsync sync after mounting the pkgsync repository. Since the
/usr/packages directory is installed by pkgsync, it makes an ideal mount point on clients too.
Clients need only read access to the repository.pkgsync diff command will print a summary of what would happen at the next pkgsync sync.
This is a safe way to preview things, and make sure that everything's setup properly. Use it.cron job so that
they sync a few times a day or whatever. pkgsync sync only takes a few seconds to execute
if no differences are found.