Do not blow away checked out sources during clean.
This makes incremental development easier, especially in the kernel.
Add a file which takes the list of "add_port" invocations in
nanobsd/os-base, and creates config files which can be used
as input to poudriere.  This will be used as a basis for
experimenting with building the FreeNAS ports with poudriere.
Add script which can take a list of ports, and create a cache of
the distfiles, without building the ports.

Submitted by: Emanuel Haupt <ehaupt@FreeBSD.org>
Merge branch 'master' into poudriere
Pull in os-ports file to get the list of ports.
Cleanups.
Rename
Add scripts for building ports with poudriere.
Add top level targets for testing out building ports with poudriere.
We may need to play with this a little bit more to get things right.
Instead of using poudriere to check out the ports tree,
let poudriere use the ports tree that was already checked
out by the FreeNAS build.
Change paths of jail and ports to something shorter.  I hit MNAMELEN (88 characters) a few times
when doing nullfs mounts.
Create a valid /wrkdirs directory in the jail we will use to build ports.
Add this to /etc/make.conf in the jail.

This logic is taken from jail.sh in poudriere.  poudriere needs
this stuff set up properly before it can build ports.
Set USE_TMPFS so that tmpfs will only be used for the wrkdir of each port.
Add debug.
Use dirname to make the directory, not basename.
As specified in the "CUSTOMISATION" section of the poudriere man page:

https://fossil.etoilebsd.net/poudriere/doc/trunk/doc/poudriere.8.wiki#x435553544f4d49534154494f4e

poudriere will look for per-port options in a file:

etc/poudriere.d/options/<portname>/options

If poudriere is building net/samba41, then it will look for port-specific
options in:

etc/poudriere.d/options/net_samba41/options

The etc/poudriere.d/options/net_samba41 directory will be nullfs mounted
on the /var/db/ports directory of the jail.  This allows net/samba41 to be
built with custom options.
Put make.conf in etc/poudriere.d/make.conf, and not in /etc/make.conf of the jail itself.
Comment out ports which have been removed from FreeBSD ports tree.
Switch to using the 'poudriere' branch while we testing using
poudriere to compile ports.

    branch: poudriere
    Repository: freenas/ports
    Pushed by: git
    Pushed to: branch poudriere
    commit 4e691dc56b5ce7d186dd316ef979d2b39c71436
    Merge: 5e50e2f 08b15d0
    Author: Craig Rodrigues <rodrigc@ixsystems.com>
    Date:   Wed Apr 16 21:16:25 2014 -0700

        Merge remote-tracking branch 'upstream/master' into poudriere

          While testing building the FreeNAS ports tree with poudriere,
          poudriere encountered problems building net/samba41, due
          to dependencies introduced by the FAM port option.
          It turns out that the FreeNAS ports tree was missing a lot of
          infrastructure in ports/Mk/* related to this option.
          Figuring out which fixes to cherry-pick into our tree was too hard.

          Instead, I merged the master branch of the FreeBSD ports tree
          into the FreeNAS ports tree, on a separate poudriere branch.

          I left the net/rsync port at the 3.0.9 version in FreeNAS,
          instead of updating it to 3.1.0, because the FreeNAS-specific
          patches to net/rsync do not apply to 3.1.0 and it will be a little
          bit of work to forward-port those patches.
Check to see if ports-mgmt/poudriere-devel port is installed before building.