Difference between revisions of "Building Zimbra using Perforce"

(Connection issues)
(15 intermediate revisions by 6 users not shown)
Line 1: Line 1:
==General Information==
# REDIRECT [[Building_Zimbra_using_Git]]
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.
By building Zimbra, you agree to Zimbra's licensing terms. Building from source is not covered under the [http://www.zimbra.com/license/zimbra_public_eula_2.1.html ZEUL], unlike pre-compiled binaries, but rather the ZPL or [http://www.zimbra.com/license/yahoo_public_license_1.0.html YPL].
Technical support for source building can be found in the [http://www.zimbra.com/forums/developers/ Zimbra Developers forum].
By default, you will only be able to build "out of the box" with supported operating systems (see list on [http://www.zimbra.com/community/downloads.html 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.
==Basic Walkthrough==
At it's simplest, to obtain the source you need to essentially:
Download the p4 command line client: [http://www.perforce.com/perforce/downloads/platform.html 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/...
'''IMPORANT''': Before attempting to build, please be sure to read the README for the branch release you're building.
P4V (Perforce Visual Client)
The user 'public' and pass 'public1234' are obvious above, but the workspace blank is also known as the client so enter 'public-view. (Must have a /home/public/p4/ that's writeable.)
There are up to 4 additional client and people will occasionally lock them to their hostname to complete large projects, from time to time these are cleaned out and replaced with generic linux, mac, and pc workspaces with root paths such as /opt/zimbra-src or /site/src/zimbra/p4 or C:\p4 or /Users/public/p4
New master script for (5.0.14+):
./home/public/p4/BRANCH/ZimbraBuild/buildZCS.sh -t
(This will help you through adding Ant & JDK, check dependencies, build ThridParty using a public CPAN mirror for Perl, then start the ZCS build process.)
==Building Zimbra Collaboration Suite: "Helix"==
Helix is the 7.0 series release.  Current version & changelist can be found on [http://pm.zimbra.com/pm_release.php?rel=7.0 Pmweb]
Currently Helix has no branches, as it is pre-release, and only exists in the main BRANCH.
==Building Zimbra Collaboration Suite: "Guns And Roses"==
Guns and Roses is the 6.0 series release.  Current version & changelist can be found on [http://pm.zimbra.com/pm_release.php?rel=6.0 Pmweb]
BRANCH names start with GNR.  For example, the 6.0.2 release would be GNR-602.  GNR by itself is the tip of code for that branch.
==Building Zimbra Collaboration Suite: "FRANKLIN"==
Franklin is the latest 5.0 series release. Current version & changelist can be found on [http://pm.zimbra.com/pm_release.php?rel=5.0 Pmweb]
[[Franklin README]]
[[Building FRANKLIN on CentOS 5]]
[[Building FRANKLIN on RedHat Enterprise Linux 4]]
[[Building FRANKLIN on Debian]]
Feel free to create additional how-to articles.
==Building Zimbra Collaboration Suite: "FRANK"==
Frank is the latest 4.5 series release. Current version & changelist can be found on [http://pm.zimbra.com/pm_release.php?rel=4.5 PMweb]
==Building Zimbra Desktop==
[[Building Zimbra Desktop on Linux]]
[[Building Zimbra Desktop on Windows (win32)]]
[[Building Zimbra Desktop on Macintosh (OS 10.4.6+)]]
==Buiding Zimbra Mobile Edition==
ZME (J2ME) Client: [[Building ZimbraME]]
==Building a Zimbra Development Environment==
[http://www.zimbrablog.com/blog/archives/2005/08/setting-up-a-zimbra-development-environment.html Setting up a Zimbra development environment]
Under Construction:
Building Zimbra Dev Env README |
Building Zimbra Dev Env on CentOS 5
==Building "Nighties"==
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.
Under Construction:
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 ZPL versions can be found at SourceForge.
===Connection issues===
Perforce server throwing client connection, reset errors, or generally appear hung?
Search the forums for any recent reports or create a new thread letting us know and we'll get right on it.
In the meantime you can occasionally find tars on [http://sourceforge.net/projects/zimbracommunity/files sourceforge.net/projects/zimbracommunity].
Third Party Component Failures |
Perl Components fail to build
[[configure: error: User zimbra (and/or group zimbra) doesn't exist.]]
{{Article Footer|unknown|11/7/2007}}
[[Category: Build]]

Latest revision as of 12:58, 31 March 2015

  1. REDIRECT Building_Zimbra_using_Git
Jump to: navigation, search