Build Kotori


This documentation section describes how to build Kotori Debian packages. Please find guidelines for setting up the buildhost at Prepare buildhost.

Release steps

Get the source

Get hold of the repository


mkdir -p develop
git clone ~/develop/kotori
cd develop/kotori

Update the repository

cd develop/kotori
git pull

Build package

Build Debian package and upload to the package server /incoming directory, the package version is taken from

# build debian package for regular daq flavor (28 MB)
make debian-package flavor=daq

# build debian package for advanced daq flavor
# capable of decoding binary messages (38 MB)
make debian-package flavor=daq-binary

After doing so, the package should appear at

Build Python sdist egg and publish to egg server:

make python-package

Publish package


export APTLY_CONFIG=/srv/packages/organizations/elmyra/foss/aptly/aptly.conf
export PACKAGES_INCOMING=/srv/packages/organizations/elmyra/foss/aptly/public/incoming

# Add packages to repository
aptly repo add -config=$APTLY_CONFIG -remove-files=true $APTLY_REPOSITORY $PACKAGES_INCOMING/kotori*.deb

# Publish repository
aptly publish update -config=$APTLY_CONFIG -gpg-key=2543A838 -passphrase=esp $APTLY_DISTRIBUTION

Use the package

How to setup the Setup.


Prepare buildhost

Install packages:

apt-get install aptitude
aptitude update && aptitude upgrade

# system
aptitude install -y fail2ban

# development
aptitude install -y git

# build foundation and header files
aptitude install -y build-essential python-dev libssl-dev libffi-dev libyaml-dev python-virtualenv

# build infrastructure
aptitude install -y python-setuptools

# scipy, numpy, matplotlib and PyTables
aptitude install -y pkg-config gfortran libatlas-dev libopenblas-dev liblapack-dev libhdf5-dev libnetcdf-dev liblzo2-dev libbz2-dev
aptitude install -y libpng12-dev libfreetype6-dev

Install Ruby and RubyGems:

aptitude install -y ruby2.1 ruby2.1-dev
ln -s /usr/bin/ruby2.1 /usr/bin/ruby

ruby --version
# ruby 2.1.5p273 (2014-11-13) [x86_64-linux-gnu]
# ruby 2.1.5p273 (2014-11-13) [arm-linux-gnueabihf]

mkdir install; cd install
tar -xzf rubygems-2.6.4.tgz
ruby setup.rb

ln -s /usr/bin/gem2.1 /usr/bin/gem

gem --version

Install fpm:

gem install fpm

fpm --version

Add workbench user:

useradd --create-home --shell /bin/bash workbench
su - workbench

Current infrastructure

  • The designated Debian buildhost is
  • The designated public Debian repository host is
  • Both are running a recent stable Debian distribution, currently Debian Jessie (8.4).