GNR on Debian Lenny: Difference between revisions
(first steps) |
No edit summary |
||
(20 intermediate revisions by 9 users not shown) | |||
Line 1: | Line 1: | ||
This document explains some tricks & tips on how to build ZCS on Debian Lenny (x86 or x86_64). | {{Archive}}{{Article Infobox|{{devel}}|{{ZCS 6.0}}||}}This document explains some tricks & tips on how to build ZCS on Debian Lenny (x86 or x86_64). | ||
Latest version: ''' | Latest version: '''February 2010''' | ||
A very simple vserver with minimal packages has been used to build it. | |||
The source size is almost 500MB, and once compiled, the /opt/public-src folder will be at least 4GB large. More, you will need some MB in /tmp to be able to create the Debian packages. | |||
First, create a zimbra user, and ensure that your user account (here " | Install on a clean system, or safe your Zimbra, because ''' ''./buildZCS.sh -t'' will erase all your /opt/zimbra'''! | ||
== Get the source == | |||
First, create a zimbra user, and ensure that your user account (here "Benjamin") can to /opt/zimbra and /opt/public-src | |||
<pre> | <pre> | ||
sudo adduser zimbra | $ sudo adduser zimbra | ||
sudo mkdir -p /opt/zimbra /opt/public-src | $ sudo adduser zimbra --home /opt/zimbra | ||
sudo chown -R benjamin.benjamin /opt/zimbra /opt/public-src | $ sudo mkdir -p /opt/zimbra /opt/public-src | ||
$ sudo chown -R benjamin.benjamin /opt/zimbra /opt/public-src | |||
</pre> | </pre> | ||
Line 16: | Line 23: | ||
Add p4 binary to your path, example : | Add p4 binary to your path, example : | ||
<pre> | <pre> | ||
sudo cp p4 /usr/local/bin/ | $ sudo cp p4 /usr/local/bin/ | ||
sudo chmod a+x /usr/local/bin/p4 | $ sudo chmod a+x /usr/local/bin/p4 | ||
</pre> | </pre> | ||
<pre> | <pre> | ||
export P4PORT=codes.zimbra.com:2666 | $ export P4PORT=codes.zimbra.com:2666 | ||
p4 -u public -P public1234 -c public-view sync -f //depot/zcs/GNR-605/... | $ p4 -u public -P public1234 -c public-view sync -f //depot/zcs/GNR-605/... | ||
</pre> | </pre> | ||
(yes, the ... must be included in the command line, use this command as written. You may replace 605 by 606 or 607 if a new version of ZCS 6.x has been published) | (yes, the ... must be included in the command line, use this command as written. You may replace 605 by 606 or 607 if a new version of ZCS 6.x has been published) | ||
== Install dependencies == | |||
You have to install Java Sun 5 and 6 (don't really know which one is used, seems like both of them ...) | |||
You will also need some libraries and development packages as follow. LSB will install build-essential and other basic development libraries. | |||
<pre> | |||
$ sudo aptitude install lsb ant sun-java6-jdk sun-java6-jre sun-java5-jdk sun-java5-jre | |||
$ sudo aptitude install autoconf locales libtool bison flex libncurses5-dev libpcre3-dev libexpat1-dev \ | |||
libpopt-dev libwww-perl libperl-dev zlib1g-dev zlib1g gcj | |||
</pre> | |||
'''Notes: ''' | |||
''libwww-perl'' presence is not checked by zcs compiler, but is required by curl. | |||
''libperl-dev'' presence is not checked by zcs compiler, but is required by openldap. | |||
== Create a tarball of Java == | |||
Now you need to create a tarball (.tgz file) of java installation, under debian, proceed as follow : | |||
<pre> | |||
$ cd /usr/lib/jvm/java-6-sun | |||
$ mkdir -p /opt/public-src/main/GNR-605/ThirdPartyBuilds/x86_64/java | |||
$ tar -czvf /opt/public-src/main/GNR-605/ThirdPartyBuilds/x86_64/java/jdk1.6.0_16.tgz * | |||
$ mv /opt/public-src/main/GNR-605/ThirdPartyBuilds /home/public/p4/zcs/GNR-605/ | |||
</pre> | |||
== Compile ZCS == | |||
Now you can launch the ZCS builder. The first time you launch it, you should add '''-t''' option (warning, this will erase all /opt/zimbra directory) to compile third party libraries and programs. | |||
<pre> | |||
$ export JAVA_HOME=/usr/lib/jvm/java-6-sun | |||
$ cd /home/public/p4/zcs/GNR-605/ZimbraBuild | |||
$ ./buildZCS.sh -t | |||
</pre> | |||
Note: buildZCS.sh as of GNR607 specifically looks for sun-java5 hence i had to do below on my setup | |||
$ sudo update-alternatives --config java | |||
and had to choose the one that provides java-1.5.0 | |||
This may take between 15 and 120 minutes depending on your machine computing power and disk I/O ... | |||
== End == | |||
The compilation ends with : | |||
<pre> | |||
*** BUILD COMPLETED *** | |||
</pre> | |||
But the /home/public/p4/zcs/GNR-605/ZimbraBuild/zcs_* folder contains a valid Zimbra install.sh and binaries... | |||
have fun ;) | |||
{{Article Footer|ZCS 6.0.5|02/26/2010}} | |||
[[Category:Build]] | |||
[[Category:Debian]] | |||
[[Category:ZCS 6.0]] |
Latest revision as of 17:05, 25 March 2015
Article Information |
---|
This article applies to the following ZCS versions. |
This document explains some tricks & tips on how to build ZCS on Debian Lenny (x86 or x86_64).
Latest version: February 2010
A very simple vserver with minimal packages has been used to build it. The source size is almost 500MB, and once compiled, the /opt/public-src folder will be at least 4GB large. More, you will need some MB in /tmp to be able to create the Debian packages.
Install on a clean system, or safe your Zimbra, because ./buildZCS.sh -t will erase all your /opt/zimbra!
Get the source
First, create a zimbra user, and ensure that your user account (here "Benjamin") can to /opt/zimbra and /opt/public-src
$ sudo adduser zimbra $ sudo adduser zimbra --home /opt/zimbra $ sudo mkdir -p /opt/zimbra /opt/public-src $ sudo chown -R benjamin.benjamin /opt/zimbra /opt/public-src
Download the Perforce P4 command line client from here : http://www.perforce.com/perforce/downloads/platform.html use your platform (typically linux 32bits or linux 64bits)
Add p4 binary to your path, example :
$ sudo cp p4 /usr/local/bin/ $ sudo chmod a+x /usr/local/bin/p4
$ export P4PORT=codes.zimbra.com:2666 $ p4 -u public -P public1234 -c public-view sync -f //depot/zcs/GNR-605/...
(yes, the ... must be included in the command line, use this command as written. You may replace 605 by 606 or 607 if a new version of ZCS 6.x has been published)
Install dependencies
You have to install Java Sun 5 and 6 (don't really know which one is used, seems like both of them ...) You will also need some libraries and development packages as follow. LSB will install build-essential and other basic development libraries.
$ sudo aptitude install lsb ant sun-java6-jdk sun-java6-jre sun-java5-jdk sun-java5-jre $ sudo aptitude install autoconf locales libtool bison flex libncurses5-dev libpcre3-dev libexpat1-dev \ libpopt-dev libwww-perl libperl-dev zlib1g-dev zlib1g gcj
Notes:
libwww-perl presence is not checked by zcs compiler, but is required by curl.
libperl-dev presence is not checked by zcs compiler, but is required by openldap.
Create a tarball of Java
Now you need to create a tarball (.tgz file) of java installation, under debian, proceed as follow :
$ cd /usr/lib/jvm/java-6-sun $ mkdir -p /opt/public-src/main/GNR-605/ThirdPartyBuilds/x86_64/java $ tar -czvf /opt/public-src/main/GNR-605/ThirdPartyBuilds/x86_64/java/jdk1.6.0_16.tgz * $ mv /opt/public-src/main/GNR-605/ThirdPartyBuilds /home/public/p4/zcs/GNR-605/
Compile ZCS
Now you can launch the ZCS builder. The first time you launch it, you should add -t option (warning, this will erase all /opt/zimbra directory) to compile third party libraries and programs.
$ export JAVA_HOME=/usr/lib/jvm/java-6-sun $ cd /home/public/p4/zcs/GNR-605/ZimbraBuild $ ./buildZCS.sh -t
Note: buildZCS.sh as of GNR607 specifically looks for sun-java5 hence i had to do below on my setup
$ sudo update-alternatives --config java and had to choose the one that provides java-1.5.0
This may take between 15 and 120 minutes depending on your machine computing power and disk I/O ...
End
The compilation ends with :
*** BUILD COMPLETED ***
But the /home/public/p4/zcs/GNR-605/ZimbraBuild/zcs_* folder contains a valid Zimbra install.sh and binaries...
have fun ;)