Fri Mar 10 13:56:44 2017 UTC

Build bot Setup

Introduction

[Important][Important][Important][Important] It's higly recommended to knows NuTyX very well to succeed with this tuto.
[Note] In this tuto, the /home/tnut folder is used, you have to it with yours.
[Note] In this tuto, we use a 64 bits machine, if you're using a 32 bits machine, you need to replace the term in every concerned commands x86_64 with i686.
[Note] In this tuto, we choose the kde5 collection, if you want to compile mate, enlightenment, lxde, gnome ou xfce4, you need to remplace the word kde5 in every concerned command with one of the collection.
[Note] In this tuto, we choose to compile the development branch, means the master git, if you want to use the stable branche replace the development branch with the stable. For the git command, you specify the stable branch when cloning.

Each step

We will:

  1. get the tools
  2. put the folders in place
  3. get the binaries from the remote server
  4. get all the recepts
  5. setting up the configuration files

Setting up

The tools (packages to install)

We suppose that your NuTyX is clean from any devel package. We start to install all the utilities:

get rsync git

Put the folders in place

A build bot requires a lot of space. In this explaination a dedicated partition is used, this partition is mount on the personnal folder of the user.

At least 40 Gb of space is perfect.

All the needed folders are in:

/home/tnut/NuTyX

We create all the folders:

mkdir -pv \
~/NuTyX/{remote/x86_64,local/logs/x86_64/development/kde5,git/development,sources,chroot/development}
sudo ln -sv /home/tnut/NuTyX/chroot/development /development

Get the binaries from the remote server

It's the longuest manipulation so let's open another terminal so that we can continue the settings while this process is going on:

This command might take some time if your connection is not very fast.

[Note] You need to type this command every time you want to resync your local copy with the remote server.
rsync -av --delete rsync://downloads.nutyx.org/nutyx/x86_64/development/ \
/home/tnut/NuTyX/remote/x86_64/development/

Get all the recept

Back to the first terminal to get all the recepts for the compilation:

git clone git://github.com/NuTyX/core.git ~/NuTyX/git/development/core
git clone git://github.com/NuTyX/kde5.git ~/NuTyX/git/development/kde5
[Note] If you choose the stable branch, you need to add the option -b stable at the following command:
git clone git://github.com/NuTyX/kde5.git -b stable ~/NuTyX/git/stable/kde5

From now on, all the rest will be done in the root account:

su -

Setting up the configuration file

We need to adjust 1 existing file

Adjust /etc/fstab

cat >> /etc/fstab << EOF
##  KDE5 COLLECTION
### DEVELOPMENT
#### SOURCES
/home/tnut/NuTyX/sources /development/kde5/sources none noauto,bind

#### PORTS
/home/tnut/NuTyX/git/development/kde5 /development/kde5/root/kde5 none noauto,bind

#### BINARIES
/home/tnut/NuTyX/local/x86_64/development /development/kde5/DEPOT none noauto,bind

#### LOGS
/home/tnut/NuTyX/local/logs/x86_64/development/kde5 /development/kde5/LOGS none noauto,bind
EOF

Finalisation and step to reproduce

You're now ready to work with the compilation script. The command below need to be reproduce in three cases:

  1. The first time
  2. When you did something wrong with your chroot and then with your own binaries
  3. When you want to come back on the officiel binaries from the server
rsync -av --delete  /home/tnut/NuTyX/remote/x86_64/ /home/tnut/NuTyX/local/x86_64/

Let's go

If you did all the steps correctly, you should be able to start the compilation of your kde5 and kde5-extra collections.

build-collection /development/kde5