Building Zimbra using Git

From Zimbra :: Wiki

Jump to: navigation, search

Contents

General Information

The git fusion server gives users access to download and build/modify Zimbra source code for Open Source products. Building Zimbra Collaboration Suite from Zimbra's git fusion server requires advanced knowledge of troubleshooting. It is not available for Network Edition components. Changes cannot be committed to the git fusion server.

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 ZPL or 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.

Initial Setup

At it's simplest, to obtain the source you need to essentially:

  • Add the access keys to your own user account:
    • cd ~/.ssh
    • cp /tmp/zimbra-git/id_rsa_git* .
  • Add the following ~/.ssh/config. Create the file if it doesn't exist:
Host zimbra-git
  User public
  Hostname git.zimbra.com
  IdentityFile ~/.ssh/id_rsa_git
  IdentitiesOnly yes
  Port 1067

IMPORANT: Before attempting to build, please be sure to read the README for the branch release you're building.


--

New master script for (5.0.14+):

~/git/REPOSITORY/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.)

IMPORTANT: NOT YET UPDATED FOR GIT

Obtaining the source to Zimbra Collaboration Suite

The source code for ZCS is retrieved from git.zimbra.com.

Source for the "main" branch

main is the development branch.
The primary git respository for main is: main-foss

To obtain the source:

  • mkdir -p ~/git
  • cd ~/git
  • git clone git@zimbra-git:main-foss

Source for the IronMaiden "8.0" branch

IronMaiden is the 8.0 series release.  Current version & changelist can be found on Pmweb
The primary git respository for IRONMAIDEN development is: ironmaiden-foss
The current release repository is ironmaiden-806-foss

To obtain the source:

  • mkdir -p ~/git
  • cd ~/git
  • git clone git@zimbra-git:REPOSITORY Example:
    • git clone git@zimbra-git:ironmaiden-foss

Source for the Helix "7.x" branch

Helix is the 7.0, 7.1, and 7.2 series release.  Current version & changelist can be found on Pmweb
The primary git respository for HELIX development is: helix-foss.
The current release repository is helix-726-foss

To obtain the source:

  • mkdir -p ~/git
  • cd ~/git
  • git clone git@zimbra-git:REPOSITORY Example:
    • git clone git@zimbra-git:helix-foss

Updating an existing source clone

To update an already existing clone:

  • cd ~/git/REPOSITORY
  • git pull

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 "Nightlies"

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 you're 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

Troubleshooting

Search the forums for any recent reports or create a new thread letting us know and we'll get right on it.


Third Party Component Failures | Perl Components fail to build configure: error: User zimbra (and/or group zimbra) doesn't exist.


Verified Against: unknown Date Created: 1/29/2014
Article ID: http://wiki.zimbra.com/index.php?title=Building_Zimbra_using_Git Date Modified: 03/3/2014
Personal tools