Development prerequisites

This page will help you setup a Trisquel system that is ready to help with development for the Trisquel project.

Create a GitLab Account

  • Before you can start hacking on the Triquel code base, you will need to create an account for Trisquel's GitLab

Configure GitLab

  • Once you have activated your GitLab account there are a few initial configuration settings that need to be taken care of.

Uploading your SSH Key

  • This step makes it much easier to push and pull code from GitLab.
  • If you do not yet have a public key making one is very simple. Open a terminal and type the following:
     $ ssh-keygen 
  • This will create a public key that is located in ~/.ssh/
  • Copy the public key to your clipboard by running the following command in a terminal and copying the output.
     $ cat ~/.ssh/ 
  • In GitLab select Profile Settings -> SSH Keys -> Add SSH Key
  • Give your new key a title and paste the key into the filed that is provided.

Fork the Repositories

Trisquel Development takes place in three repositories.

  • makeiso
  • package-helpers
  • trisquel-packages

Make a fork of each of these repositories and they will show up in your GitLab profile.

Install the required software

  • Install git and other required software by running the command:

$ sudo apt-get install git devscripts reprepro quilt

Configure Git

  • Configure your identity for Git

$ git config --global "John Doe"
$ git config --global

Clone the Repositories from GitLab on your local machine

Navigate to the folder on your local machine where you want to keep all of the development files and clone the repositories from gitlab into these local folders. Be sure to change $username for your actual username.

$ git clone ssh://$username/package-helpers.git
$ git clone ssh://$username/trisquel-packages.git
$ git clone ssh://$username/makeiso.git

Set Up Upstream Repositories

The general git workflow involves making changes locally in your own development environment and then pushing these changes to the upstream repositories. The best practice is to always work from the most up to date upstream code. In order to make this process easy you can set up remote upstream repositories. You will want to do this step from within each specific repository. For example, if we are setting up the upstream repository for package-helpers;
$ cd /path/to/your/dev/package-helpers 
$ git remote add upstream ssh://
You can confirm that this step worked by running the following command, you should see both your local and upstream repositories listed here.
$ git remote -v 
You will want to repeat these steps for each of the other repositories that you will be working with.

Merge Upstream

Before making any changes to your code, make sure you have the latest code on your local machine.

$ git fetch upstream 
$ git checkout belenos 
$ git rebase upstream/belenos

Hack Away and Push Changes

Now that you have up to date code, find an issue, hack away on it, and when you are satisifed with your changes push your changes.

$ git checkout belenos -b <your-branch-name>
$ cd helpers #hack, hack, hack
$ bash make-0  #test that the dsc build works
$ git add <your-changed-files>
$ git commit
$ git push origin <your-branch-name>

Merge Request

Once you have pushed your working code and wish for it to be included in the Trisquel project, you can submit a merge request from within the GitLab UI.

Remember to select as source branch, the one you pushed, and as remote branch, the trisquel version name (belenos, toutatis, taranis), do not send merge requests to master branch of package-helpers.


02/20/2013 - 04:46
08/13/2013 - 19:12
11/25/2014 - 03:46
01/08/2015 - 18:51
05/26/2015 - 01:42