Building Zimbra using Perforce
The perforce cache gives users access to download and build/modify Zimbra source code for Open Source products. Building Zimbra Collaboration Suite from Zimbra's Perforce cache requires advanced knowledge of troubleshooting. It is not available for Network Edition components. Changes cannot be committed to the Perforce cache.
Technical support for source building can be found in the Zimbra Developers forum.
By default, you will only be able to build "out of the box" with supported operating systems (see list on site or files in ZimbraBuild/defs). However, you may be able to modify the source to get Zimbra to build on your OS of choice.
At it's simplest you need to essentially:
Download the p4 command line client: Perforce Downloads
export P4PORT=codes.zimbra.com:2666 mkdir -p /home/public/p4 ./p4 -u public -P public1234 -c public-view sync -f //depot/zcs/BRANCH/... ./home/public/p4/BRANCH/ZimbraBuild/buildZCS.sh -t
(The buildZCS.sh script will walk you through adding Ant & JDK, check dependencies, build ThridParty using a public CPAN mirror for Perl, then start the Zimbra build process.)
IMPORANT: Before attempting to build, please be sure to read the README for the branch release you're building.
Building Zimbra Collaboration Suite: "FRANKLIN"
Franklin is the latest 5.0 series release. Current version & changelist can be found on Pmweb
Feel free to create additional how-to articles, some common requests include:
Building FRANKLIN on CentOS 4 | Building FRANKLIN on RedHat Enterprise Linux 5 | Building FRANKLIN on Gentoo | Building FRANKLIN on Ubuntu 6.06 LTS | Building FRANKLIN on Ubuntu 8.04 LTS | Building FRANKLIN on Fedora Core 7 | Building FRANKLIN on Fedora Core 8 |
Building Zimbra Collaboration Suite: "FRANK"
Frank is the latest 4.5 series release. Current version & changelist can be found on PMweb
Building FRANK README | Building FRANK on CentOS 4.4 | Building FRANK on CentOS 5 | Building FRANK on RedHat Enterprise Linux 4.4 | Building FRANK on RedHat Enterprise Linux 5 | Building FRANK on Gentoo | Building FRANK on Ubuntu 6.06 LTS | Building FRANK on Ubuntu 8.04 LTS | Building FRANK on Fedora Core 7 | Building FRANK on Fedora Core 8
Building Zimbra Desktop
Buiding Zimbra Mobile Edition
ZME (J2ME) Client: Building ZimbraME
Building a Zimbra Development Environment
Building Zimbra Dev Env README | Building Zimbra Dev Env on CentOS 4.4 | Building Zimbra Dev Env on CentOS 5 | Building Zimbra Dev Env on RedHat Enterprise Linux 4.4 | Building Zimbra Dev Env on RedHat Enterprise Linux 5 | Building Zimbra Dev Env on Gentoo] Building Zimbra Dev Env on Ubuntu 6.06 LTS | Building Zimbra Dev Env on Ubuntu 8.04 LTS | Building Zimbra Dev Env on Fedora Core 7 | Building Zimbra Dev Env on Fedora Core 8
The 'main' branch, (often referred to as mainline) contains the latest code - if your interested in seeing pre-release software check it out.
It is constantly in flux (for instance we might stagger spec files to avoid the need to always rebuild ThirdParty), if your hitting a error in the Zimbra build side the first thing to do is re-sync, as we typically resolve these fast.
Building nightlies README
Building Older Versions
Sometimes BRANCH-xxx is created (such as FRANKLIN-5013) giving you the ability to get just a particular prior version rather than the tip of FRANKLIN.
The source for older versions can be found at SourceForge.
Perforce client error | Connection reset by peer | Third Party Component Failures | Perl Components fail to build