Here's info about how to compile Eazylink Client from sources for both Intel x86 and Arm platforms.The sections below describe the individual steps. For some platforms Qt5 is also necessary to be compiled from sources to achieve statically linked executable for EazyLink2.

 



 

Linux, Intel 32 and 64 bit (static compilation, abandoned)

(K)ubuntu 15.04 Linux, Intel 32 and 64 bit, debian packages

Currently (Sept 2015) Ubuntu 15.04 and later support Qt5.4.x libraries. Kaosx already is using Qt v5.5 (however, is another package format - to be done, maybe) . Latest Debian 8 do not.  Support native Eazylink2 package for Ubuntu in Intel, since this Linux defines a good support point.

Running build environment: Ubuntu 15.04 desktop.

These build notes are based on this excellent tutorial: https://bhavyanshu.me/how-to-make-debian-packages-for-qt-c-based-applications/11/10/2014/.

Initial instalation of compilers, debian build tools and Qt5 developer packages

Install the following packages:

Establish the following for the Debian Package Builder environment:

In your .bashrc file (Located in Home folder), simply add the following lines for proper email and name:

DEBEMAIL="Email@address.com"
DEBFULLNAME="Your full name here"
export DEBEMAIL DEBFULLNAME

. ~/.bashrc

Ensure qmake is using Qt5 and that eazylink2 sources compiles succesfully:

> qmake -version

QMake version 3.0
Using Qt version 5.4.1 in /usr/lib/i386-linux-gnu

> git clone https://bitbucket.org/cambridge/eazylink2.git

Generate Makefile:

> qmake eazylink2.pro

then make. A successfull compilation produces bin/eazylink2. Now, we're ready to setup the Debian package compile environment.

Establish pbuilder environment for Ubuntu Vivid Vervet

Now first create a .pbuilderrc file. In that add the following

BASETGZ=$HOME/pbuilder/base.tgz
BUILDPLACE=$HOME/pbuilder/build/
BUILDRESULT=$HOME/pbuilder/result/
DEBEMAIL='Your Name <your@emaild.id>'
BUILDUSERNAME=home user login name
AUTO_DEBSIGN=yes
APTCACHEHARDLINK=no
COMPONENTS="main restricted universe multiverse"
DEBBUILDOPTS="-sa"

Creating a clean chroot environment
sudo pbuilder --create --distribution vivid --mirror "http://archive.ubuntu.com/ubuntu"

Import / create GPG keys for debian source / binary package signing

Debian package signing requires GPG keys, import, if you already them:

gpg --import ~/mygpgkey_pub.asc
gpg --allow-secret-key-import --import mygpgkey-secret.asc

or follow this guide to create them:

https://bhavyanshu.me/a-quick-guide-on-how-to-use-gnu-privacy-guard-gpg-to-generate-keys-and-distribute-them/11/27/2014/

Establish Debian source code folder structure

The source code is checked out from the Git repository, git clone https://bitbucket.org/cambridge/eazylink2.git.

Copy the checkout folder to a new, temporary place and remove the .git repo management contents:

cp fR eazylink2 /home/xxx/temp/eazylink2-1.0.0
cd /home/xxx/temp
rm -fR eazylink2/.git
mv eazylink2 eazylink2-1.0.0
tar czf eazylink2_1.0.0.orig.tar.gz eazylink2-1.0.0/

Create signed source package and build .deb installer package

cd eazylink2-1.0.0

debuild -i -I -S -sa  {build the source package + signing with gpg key}

pdebuild --debbuildopts -sa {build the installer package via the chroot environment, .deb output in /home/xxx/pbuilder/result}

 

Re-compiling from debian source package (download from SF)

If Eazylink2 was not available for a specific platform as a binary .deb installer package, generate a binary package from source debian package (download from Z88 SF Eazylink2 Client area *.deb.src.tar.gz) using the steps below. Eazylink2 requires Qt v5.4.1 or later to run.

In order to build the Eazylink2 source package, qt5 (5.4.1 or later) development packages and debian package build tools must be installed on your system. The eazylink2 source package is not part of a repository, it is necessary to manually establish the build package dependencies (we cannot use apt-get build-dep).

To rebuild this Debian Eazylink2 source package "manually" do as follows:

 

Linux, Raspberry Pi & Pi2 (Debian Wheezy)