Links to online reference material will refer to a number (I.E.  is reference 1)
 Freshports.org (FreeBSD ports reference):
 PC-BSD PBI build servers output:
 PC-BSD Wiki:
 PC-BSD PBI developers mailing list:
Q: How are PBI's created?
A: PBI's are created by packaging a program with all it's dependencies into a single *.pbi file. This is most commonly done by re-packaging FreeBSD ports into PBI's.
Q: How are PBI's added to the AppCafe?
A: (Note: This answer is for the official PC-BSD repository. For other repositories, please contact the maintainer of that repository)
1) A FreeBSD port must exist for the desired application .
2) A PBI module must be created for the application and added to the build server. (This is what the PBI Request forum is for).
3) The PBI is produced from the module. (See the build servers output)
4) The PBI is tested in a minimal PC-BSD testing environment to make sure it works. If the PBI does not work properly, the module is corrected (if possible) and steps 3 and 4 are repeated. If the PBI cannot be fixed from the PBI module (error exists in the port or the program itself), the PBI module remains on the build server and each new version of the port/program is tested to see if the error is fixed.
5) If the PBI works properly it gets "approved" and pushed out to the AppCafe. This process usually takes 24 hours for all the mirrors to synchronize with the main repository server.
Q: Why is a particular PBI in the AppCafe not the latest version?
A: The official PC-BSD repository simply tracks the versions of programs that are currently available in the FreeBSD ports tree. Once a program releases a new version, it takes a bit of time for the port maintainer to update the port, and then a bit more time for the new PBI to build from the updated port. Because of this, the AppCafe updates generally happen a few days after the program update was released.
Q: What can I do to speed up PBI updates?
A: There are a couple things that you can check to speed things up if an update is occurring slower than expected:
1) Make sure the port has been updated. If not, send a request to the current port maintainer that the port be updated. (maintainer email is listed in the information for each port)
2) If the port is current, check the PBI build servers to see if there is an error building the PBI.
2a) If there is an error, you can read the build.log from the build server to determine the specific error. If you have a solution for the build error, please email that solution to the PBI developers mailing list.
2b) If the PBI built successfully, you can download the PBI directly from the build server and to test it yourself. If the program does not run properly and you have a solution for the problem, please email that solution to the PBI developers mailing list. If the PBI works properly, It will most likely appear in the AppCafe within 24 hours, but you can send an email to the PBI developers mailing list just to make sure.
Q: How are PBI modules created?
A: Detailed information on how PBI modules are created can be found in the "PBI Module Builder Guide" on the PC-BSD Wiki.
Q: I have already built a PBI module, how can I get it added to the AppCafe?
A: Attach the packaged module in a message to the PBI developers mailing list. A module can be manually packaged using the command "tar czf (module-name).tar.gz (module-directory)". In EasyPBI, you just simply need to open the module in the editor and click the "Package Module" button.
This module will then get checked for errors and added to the PC-BSD build server.
Q: Can I help test PBI's?
A: Yes! PBI's awaiting testing/approval can be downloaded directly from the PBI build servers. In order to perform a valid test, you will need to setup a special environment for performing these (usually a virtualbox VM or separate installation on your harddrive), that is a "minimal" PC-BSD installation (official release, not a testing snapshot or beta version). This means *no* system packages installed (except maybe the NVIDIA driver or VirtualBox Guest Additions), and none of the main Desktop Environments (I usually use IceWM or Fluxbox *only*, nothing else installed). This helps to ensure that the PBI is not missing some dependency that the "heavier" DE's might normally include. A testing environment must *not* be modified by changing the underlying PC-BSD installation in any way (adding/removing additional FreeBSD ports/packages). The FreeBSD ports tree may be added to the base system if necessary.
A full testing of a PBI involves:
1) Making sure the application runs (binaries located in: /usr/pbi/(pbi-name)-(architecture)/.sbin/).
2) Ensuring that the Desktop/Menu entries work (or are pointing to the proper binaries and icons if the running DE does not support XDG compliant desktop/menu entries).
3) Ensuring that the mime-types are set/work properly (if any).
Once you have tested a PBI on a valid testing system, please send the results of your testing to the PBI developers mailing list. If the PBI has an error, please also send either the full error information or information on how to fix the PBI module. One of the PBI developers with a commit bit will then approve the PBI (if applicable).
Q: Can I get a commit bit to fix/modify the PC-BSD PBI modules directly?
A: Yes! Commit bits are available for those who regularly submit new (and valid) modules or fix current modules accurately. Please contact the PBI developers mailing list for more information.