Building and running new package versions not yet in ports?

Matthew Seaman m.seaman at
Fri Aug 13 08:31:12 UTC 2010

On 13/08/2010 07:44, Thomas Mueller wrote:
> What do I do if I want to build and run a package where version in
> ports collection is not up-to-date, and I want to build and run the
> current release version of that package, like Abiword 2.8.6 for
> instance, when version in ports is behind? Or maybe I want to try a new
> alpha or beta development release of a package like Firefox or
> Seamonkey, but don't want to burn my bridges on the already installed
> and running version.

Contact the port maintainers in the first instance -- they may well have
beta test versions of the ports you can download.  Failing that, it is
perfectly feasible for you to update a port yourself.

Generally, you will want to work on a copy of the port directory
somewhere.  You can check out what you need from anonymous CVS, which
gives you all the extra VCS goodness you could want for serious code
hacking.  Your working directory doesn't have to be anywhere special in
relation to the ports tree.  Anywhere you like will be fine.  Well,
assuming the port you're working on is pretty much stand alone -- if you
need to look at a collection of highly interconnected ports then it gets
harder, but that's not something particularly common.

Refer to the Porter's Handbook for a guide on how it all should work,
and read the comments and code in /usr/ports/Mk/*.mk for the
nitty-gritty details.  Ion-Mihail's guide at has plenty of
good tips too.

If you do generate a usable upgrade for a port, please submit it as a PR
so the rest of the world can benefit.  Beware though: thus begins the
slippery path to port maintainership and possibly even a coveted e-mail address.

> Can I create a testing install base such as /extra or /usr/extra,
> and set something like
> PATH=/usr/extra/bin:$PATH and perhaps modify some other environment
> variables, and then be able to return to the regular environment? I
> would only want to change a few things temporarily and would not want
> to create an entire chroot system.

Sure.  When testing ports, I regularly have the following set in the

setenv WRKDIRPREFIX	${HOME}/tmp/ports
setenv PKG_DBDIR	${HOME}/tmp/db/pkgs
setenv PORT_DBDIR	${HOME}/tmp/db/ports
setenv PREFIX		${HOME}/tmp/local
setenv INSTALL_AS_USER	yes
setenv PACKAGES		${HOME}/tmp/packages

> Is this the proper list for this question, or should I have posted
> to freebsd-ports at ?

You're more likely to find interested and knowledgeable people on
freebsd-ports@ -- certainly post there if you run into difficulties
trying to work with ports.



Dr Matthew J Seaman MA, D.Phil.                   7 Priory Courtyard
                                                  Flat 3
PGP:     Ramsgate
JID: matthew at               Kent, CT11 9PW

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 267 bytes
Desc: OpenPGP digital signature
Url :

More information about the freebsd-questions mailing list