Tue Jul 4 18:39:48 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, gnome or xfce4, you need to remplace the word kde5 in every concerned command with one of the collection you want to compile.
[Note] In this tuto, we choose to compile the current branch, if you want to use the stable branche replace the current branch with the stable. For the git command, you specify the stable branch instead of the current branch when cloning.

Each step

We will:

  1. get the tools
  2. put the user's folder in place
  3. get all the recepts
  4. put the script's folders in place
  5. get the binaries from the remote server
  6. setting up the configuration files
  7. Launch the script

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

The git user folder in place

A build bot requires a lot of space.

At least 10 Gb of space is perfect.

All the needed folders are in:

/srv/www/
and
/home/tnut/git/

We create user's git folder:

mkdir /home/tnut/git

Get all the ports of "kde5" from git location

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

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

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

sudo su -

We create now the folders needed for the script, in root:

mkdir -pv \
/srv/www/{x86_64,logs,sources}
mkdir -pv \
/srv/www/x86_64/current/kde5{,-extra}
mkdir -pv \
/srv/www/logs/x86_64/current/kde5

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.
for i in base cli gui
do
  rsync -av --delete rsync://downloads.nutyx.org/nutyx/x86_64/current/$i/ \
  /srv/www/x86_64/current/$i/
done

Setting up the configuration file

We need to adjust 1 existing file

Adjust /etc/fstab

cat >> /etc/fstab << EOF
##  KDE5 COLLECTION
### CURRENT
#### GIT
/home/tnut/git/kde5 /current/kde5/root/kde5 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:

  • The first time.
  • When you did something wrong with your chroot and then with your own binaries.
  • When you want to come back on the officiel binaries from the server.
for i in base cli gui
do
  rsync -av --delete rsync://downloads.nutyx.org/nutyx/x86_64/current/$i/ \
  /srv/www/x86_64/current/$i/
done

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.

ROOTMOUNT=/srv/www build-collection /current/kde5