Difference between revisions of "Building Zimbra using Perforce"

m (Building Zimbra Desktop)
Line 1: Line 1:
 
{{WIP}}
 
{{WIP}}
 
==General Information==
 
==General Information==
Building Zimbra Collaboration Suite from Zimbra's Perforce cache requires advanced knowledge of troubleshooting. It is not available for the Network Edition (or Network Edition components). Changes cannot be committed to the Perforce cache.
+
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.
 
 
The Perforce cache gives users access to download and build/modify Zimbra's Source code for Open Source products.
 
  
 
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 [http://www.zimbra.com/license/yahoo_public_license_1.0.html YPL].
 
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 [http://www.zimbra.com/license/yahoo_public_license_1.0.html YPL].
Line 9: Line 7:
 
Technical support for source building can be found in the [http://www.zimbra.com/forums/developers/ Zimbra Developers forum].
 
Technical support for source building can be found in the [http://www.zimbra.com/forums/developers/ Zimbra Developers forum].
  
'''IMPORANT''': Before attempting to build, please be sure to read the README for the branch release you're building.  
+
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 you need to essentially:
 +
 
 +
Download the p4 command line client: [http://www.perforce.com/perforce/downloads/platform.html Perforce Downloads]
 +
<pre>
 +
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
 +
</pre>
 +
 
 +
(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.)
  
By default,  you will only be able to build "out of the box" with supported Operating Systems. However, you may be able to modify the source to get Zimbra to build on your OS of choice.
+
'''IMPORANT''': Before attempting to build, please be sure to read the README for the branch release you're building.
  
 
==Building Zimbra Collaboration Suite: "FRANKLIN"==
 
==Building Zimbra Collaboration Suite: "FRANKLIN"==
  Franklin is the latest 5.0 release. Current version can be found [http://pm.zimbra.com/pm_release.php?rel=5.0 here]
+
  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]]
 
[[Franklin README]]
 
Building FRANKLIN on CentOS 4
 
  
 
[[Building FRANKLIN on CentOS 5]]
 
[[Building FRANKLIN on CentOS 5]]
Line 24: Line 33:
 
[[Building FRANKLIN on RedHat Enterprise Linux 4]]
 
[[Building FRANKLIN on RedHat Enterprise Linux 4]]
  
Building FRANKLIN on RedHat Enterprise Linux 5
+
[[Building FRANKLIN on Debian]]
 
 
Building FRANKLIN on Gentoo
 
  
Building FRANKLIN on Ubuntu 6.06 LTS
+
Feel free to create additional how-to articles, some common requests include:
  
Building FRANKLIN on Ubuntu 8.04 LTS
+
[[Building FRANKLIN on CentOS 4]] |
 
+
[[Building FRANKLIN on RedHat Enterprise Linux 5]] |
Building FRANKLIN on Fedora Core 7
+
[[Building FRANKLIN on Gentoo]] |
 
+
[[Building FRANKLIN on Ubuntu 6.06 LTS]] |
Building FRANKLIN on Fedora Core 8
+
[[Building FRANKLIN on Ubuntu 8.04 LTS]] |
 
+
[[Building FRANKLIN on Fedora Core 7]] |
[[Building FRANKLIN on Debian]]
+
[[Building FRANKLIN on Fedora Core 8]] |
  
 
==Building Zimbra Collaboration Suite: "FRANK"==
 
==Building Zimbra Collaboration Suite: "FRANK"==
  Frank is the latest 4.5 series release. Current version can be found [http://pm.zimbra.com/pm_release.php?rel=4.5 here]
+
  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]
  
FRANK README
+
Under construction:
 
 
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 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 FRANK on Fedora Core 8
  
Line 69: Line 69:
  
 
==Buiding Zimbra Mobile Edition==
 
==Buiding Zimbra Mobile Edition==
ZME (J2ME) Client: [[Building_ZimbraME]]
+
ZME (J2ME) Client: [[Building ZimbraME]]
  
 
==Building a Zimbra Development Environment==
 
==Building a Zimbra Development Environment==
Zimbra Dev Env README
+
[http://www.zimbrablog.com/blog/archives/2005/08/setting-up-a-zimbra-development-environment.html Setting up a Zimbra development environment]
  
Building Zimbra Dev Env on CentOS 4.4
+
Under Construction:
  
Building Zimbra Dev Env on CentOS 5
+
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
  
Building Zimbra Dev Env on RedHat Enterprise Linux 4.4
+
==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.
  
Building Zimbra Dev Env on RedHat Enterprise Linux 5
+
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 Zimbra Dev Env on Gentoo
+
Under Construction:
  
Building Zimbra Dev Env on Ubuntu 6.06 LTS
+
Building nightlies README
  
Building Zimbra Dev Env on Ubuntu 8.04 LTS
+
==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.
Building Zimbra Dev Env on Fedora Core 7
 
 
 
Building Zimbra Dev Env on Fedora Core 8
 
  
==Building Older Versions==
 
 
The source for older versions can be found at SourceForge.
 
The source for older versions can be found at SourceForge.
  
 
==Troubleshooting==
 
==Troubleshooting==
Perforce client error
+
[[configure: error: User zimbra (and/or group zimbra) doesn't exist.]]
  
Third Party Component Failures
+
Under construction:  
 
 
Connection reset by peer
 
 
 
[[configure: error: User zimbra (and/or group zimbra) doesn't exist.]]
 
  
 +
Perforce client error |
 +
Connection reset by peer |
 +
Third Party Component Failures |
 
Perl Components fail to build
 
Perl Components fail to build
  

Revision as of 22:37, 11 March 2009

General Information

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 ZEUL, unlike pre-compiled binaries, but rather the YPL.

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.

Basic Walkthrough

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

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, 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

Under construction:

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

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

Setting up a Zimbra development environment

Under Construction:

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

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 versions can be found at SourceForge.

Troubleshooting

configure: error: User zimbra (and/or group zimbra) doesn't exist.

Under construction:

Perforce client error | Connection reset by peer | Third Party Component Failures | Perl Components fail to build


Verified Against: unknown Date Created: 11/7/2007
Article ID: https://wiki.zimbra.com/index.php?title=Building_Zimbra_using_Perforce Date Modified: 2009-03-11



Try Zimbra

Try Zimbra Collaboration with a 60-day free trial.
Get it now »

Want to get involved?

You can contribute in the Community, Wiki, Code, or development of Zimlets.
Find out more. »

Looking for a Video?

Visit our YouTube channel to get the latest webinars, technology news, product overviews, and so much more.
Go to the YouTube channel »

Jump to: navigation, search