Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from this space and version 1.0

Table of Contents

Introduction

...

 

Build

...

Sources

Environment

Pre-Requisites

Docker, git

Dependencies

Install Prerequisites


Code Block
languagebash
# install docker engine
apt-get install -y docker.io git

Build Steps

Following scripts are expected to run in a debian-8 container.

Building ElasticSearch

Debian

...

languagebash

...

prerequisites
echo "deb http://http.debian.net/debian jessie-backports main" | tee /etc/apt/sources.list.d/backports.list
sudo apt-get update -y
sudo apt-get install -y -t jessie-backports openjdk-8-jdk git build-essential rubygems texinfo locales-all automake autoconf libtool curl zip unzip rpm texinfo locales-all maven ant tar wget python2.7 python-requests

wget https://services.gradle.org/distributions/gradle-3.5.1-bin.zip -O /tmp/gradle-3.5.1-bin.zip
cd ${HOME} && unzip /tmp/gradle-3.5.1-bin.zip && rm /tmp/gradle-3.5.1-bin.zip
ln -s gradle-3.5.1 gradle

# install docker engine. The easiest way to install docker is to use get.docker.com script. Download and run get.docker.com script:
curl -sSL https://get.docker.com/ | sh


Build Steps

Following scripts are expected to run in a debian-8 container.

Building ElasticSearch

Debian

Code Block
languagebash
# setup environments
export LANG="en_US.UTF-8"
export PATH=${HOME}/gradle/bin:$PATH
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-arm64
export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8"

# setup JAVA_HOME
cd /usr/lib/jvm/java-8-openjdk-*
export JAVA_HOME=${PWD}

# clone the ElasticSearch v5.4.1
git clone --depth 1 https://git.linaro.org/leg/bigdata/elasticsearch.git -b v5.4.1 ${WORKSPACE}/elasticsearch
cd ${WORKSPACE}/elasticsearch

# okay everything is in place
gradle assemble -Dbuild.snapshot=false

Building Logstash

Debian

Code Block
languagebash
# install prerequisites
echo "deb http://http.debian.net/debian jessie-backports main"
| tee
/etc/apt/sources.list.d/backports.list
sudo apt-get update -y
sudo apt-get install -y -t jessie-backports openjdk-8-jdk git build-essential rubygems texinfo locales-all automake autoconf libtool wget unzip curl maven ant tar python-requests

sudo gem install rake
sudo gem install bundler

# setup environments
export RELEASE=1
export
LANG="en_US.UTF-8"
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-arm64

# clone the Logstash definitions
git clone --depth 1 https://git.linaro.org/leg/bigdata/logstash.git -b v5.4.1 ${WORKSPACE}/logstash
cd ${WORKSPACE}/logstash

# okay everything is in place
rake bootstrap
rake plugin:install-default

rake artifact:deb

Building Kibana

Debian

Code Block
languagebash
# setup environments
export LANG="en_US.UTF-8"

# install prerequisites
sudo apt-get update -y
sudo apt-get install -y git build-essential automake autoconf libtool libffi-dev ruby-dev rubygems python2.7
curl
zip rpm python-requests

sudo gem install fpm -v 1.5.0
sudo gem install pleaserun -v 0.0.24
sudo ln -s /usr/bin/python2.7 /usr/bin/python

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
source ${HOME}/.bashrc

# clone the Kibana definitions
git clone --depth 1 https://git.linaro.org/leg/bigdata/kibana.git -b v5.4.1 ${WORKSPACE}/kibana


curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
source ${HOME}/.profile
			
#Install the version of node.js listed in the .node-version file (this can be easily automated with tools such as nvm and avn)
nvm install $(cat ${WORKSPACE}/kibana/.node-version)


cd ${WORKSPACE}/kibana
			
#Install npm dependencies
npm install
npm rebuild node-sass
			
npm run build -- --deb --release


mkdir -p out
cp -a ${WORKSPACE}/kibana/target/kibana-*-arm64.deb* out/


Patches

Elasticsearch

Enable ARM64 support in SecComp

Logstash

Support JRuby 9K for Logstash v5.4.1

Kibana

Support packaging archive on arm64

Support create deb/rpm packages for arm64

Issues and Resolutions


JIRA Reference:


Built Artifacts

Linaro snapshots