Relax!

PC-BSD is a free operating system with ease of use in mind. Like any modern system, you can listen to your favorite music, watch your movies, work with office documents and install your favorite applications with a setup wizard at a click.

PBI Builder README1ST PDF Print
     Program: PBI Builder
      Author: Kris Moore (PC-BSD Software)
Last Updated: 12/5/07

README1ST
-----------------------------------------------------------------------------

This program will allow you to build + test modules which create a PBI file
from a port. Before you begin there are a few important things you will need
to be aware of:

INSTALLATION
-----------------------------------------------------------------------------

The pbi-build system expects itself to be located at /pbi-build on the root
partition. However, you may place this program elsewhere, and make a link
to it at /pbi-build. This may be necessary depending on your free space
situation, since the PBI builder needs between 2-5GB of free space to build
some of the larger ports.


CONFIGURATION
-----------------------------------------------------------------------------

First you will want to modify the conf/ports-supfile, and change the line:
*default host=cvsup17.us.FreeBSD.org

Set the host to whichever cvsup server is fastest for your location.

Next, you will need to download the complete FreeBSD system source into
"/usr/src". This will be used the first time you run the buildpbi.sh script,
to create a "sandbox" environment for your PBI creation. After the first
run, you may safely remove /usr/src if you wish.


USAGE
-----------------------------------------------------------------------------
Running the PBI Build system is rather easy, you simply run the ./buildpbi.sh
script in the main directory. If this this is the first time you have
run the script, it will create a buildworld environment from /usr/src
and then do a cvsup of the latest ports and place them in /pbi-build/usr/ports.

Before you run this script you will need to copy or setup a module directory
to the /pbi-build/modules/ directory. Please see the docs/HOWTO-MODULES file
for more information on building your own module. Or you may also copy over
an example from docs/module-examples/ and build it.

After the buildpbi.sh script starts processing your module, it will create
an entry in /pbi-build/outgoing/<module> which will contain the finished
PBI file, along with a build.log, which you can use to monitor the build
progress.


AUTOMATION (CRON)
-----------------------------------------------------------------------------

The PBI build system is also able to be run from cron. We provide two scripts
which make this process easy:

/pbi-build/cron/cvsup-nightly.sh

This script will update your cvs ports tree, if you want to keep your
ports source current.

/pbi-build/cron/build-nightly.sh

This script will start the build process, and update any modules which have
been updated in ports, or you have triggered a rebuild of in the pbi.conf
file. (See the HOWTO-MODULES in docs/ for more information)


ADVANCED USAGE
-----------------------------------------------------------------------------
The PBI Builder has a few extra options which you may wish to use during the
creation of your PBI. These all exist in the /pbi-build/scripts directory:

-> 2.makeport.sh
This script searches through the modules/ directory and starts the build
process for any modules which are in need of a rebuild. There may be times
when you want to single out a single module for a rebuild, ignoring all
the rest. You can do so by running "./2.makeport.sh <modulename>"

-> 3.makepbi.sh
This script is run after the port build is finished, and performs the
creation of the PBI file from the installed port. This script can be very
useful when you have already finished a build of a particular port, and want
to tweak your modules configuration and just rebuild the PBI, without
rebuilding the entire port from scratch. (A very lenghtly process sometimes)
Again, you would run this script with a module as a argument, such as
"./3.makepbi.sh <modulename>" or "./3.makepbi.sh firefox"


CONTACT US
-----------------------------------------------------------------------------

Have questions or comments about the PBI Build system? Have a finished module
you want added to the PBI Build Server so we can build it? If so please
let us know at the PBI Developers mailing list:

http://lists.pcbsd.org/mailman/listinfo/pbi-dev