Apache Release Process

The steps are based on what is needed on a fresh centos6 VM created based on Quick Start Guide

Verify hashes and signature

mkdir -p /usr/work/ambari
pushd /usr/work/ambari

Download the src tarball, asc signature, and md5/sha1 hashes.

Verify the hashes


openssl md5 apache-ambari-2.4.1-src.tar.gz | diff apache-ambari-2.4.1-src.tar.gz.md5 -
openssl sha1 apache-ambari-2.4.1-src.tar.gz | diff apache-ambari-2.4.1-src.tar.gz.sha1 -


Verify the signature


gpg --keyserver pgpkeys.mit.edu --recv-key <key ID>
gpg apache-ambari-2.4.1-src.tar.gz.asc


Compiling the code

If you are verifying the release on a clean machine (e.g. freshly installed VM) then you need to run several preparatory step.

Install mvn

mkdir /usr/local/apache-maven
cd /usr/local/apache-maven
wget http://mirror.olnevhost.net/pub/apache/maven/binaries/apache-maven-3.2.1-bin.tar.gz
tar -xvf apache-maven-3.2.1-bin.tar.gz
export M2_HOME=/usr/local/apache-maven/apache-maven-3.2.1
export M2=$M2_HOME/bin
export PATH=$M2:$PATH

Install java

mkdir /usr/jdk
cd /usr/jdk
cp "FROM SOURCE"/jdk-7u67-linux-x64.tar.gz . (or download the latest)
tar -xvf jdk-7u67-linux-x64.tar.gz
export PATH=$PATH:/usr/jdk/jdk1.7.0_67/bin
export JAVA_HOME=/usr/jdk/jdk1.7.0_67
export _JAVA_OPTIONS="-Xmx2048m -XX:MaxPermSize=1024m -Djava.awt.headless=true"

Install packages

yum install -y git
curl --silent --location https://rpm.nodesource.com/setup | bash -
yum install -y nodejs
yum install -y gcc-c++ make
npm install -g brunch@1.7.20
yum install -y libfreetype.so.6
yum install -y freetype
yum install -y fontconfig
yum install -y python-devel
yum install -y rpm-build

Install python tools

wget http://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c11-py2.6.egg --no-check-certificate

sh setuptools-0.6c11-py2.6.egg

Additional steps

These steps may not be needed in every environment. You can either perform these steps before build or after, and if, you encounter specific errors.

Install pom files needed by ambari-metrics-kafka-sink

mkdir /tmp/pom-files
pushd /tmp/pom-files
cp "FROM SOURCE"/jms-1.1.pom .
cp "FROM SOURCE"/jmxri-1.2.1.pom .
cp "FROM SOURCE"/jmxtools-1.2.1.pom .
mvn install:install-file -Dfile=jmxri-1.2.1.pom -DgroupId=com.sun.jmx -DartifactId=jmxri -Dversion=1.2.1 -Dpackaging=jar
mvn install:install-file -Dfile=jms-1.1.pom -DgroupId=javax.jms -DartifactId=jms -Dversion=1.1 -Dpackaging=jar
mvn install:install-file -Dfile=jmxtools-1.2.1.pom -DgroupId=com.sun.jdmk -DartifactId=jmxtools -Dversion=1.2.1 -Dpackaging=jar

Compile the code

pushd /usr/work/ambari
tar -xvf apache-ambari-2.4.1-src.tar.gz
cd apache-ambari-2.4.1-src
mvn clean install -DskipTests
  • No labels