This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
wiki:development:development-workspace [2013/03/08 13:31] 127.0.0.1 external edit |
wiki:development:development-workspace [2013/03/14 23:37] sunweaver [Getting Build Dependencies] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== How to set up an X2go Development Workspace ====== | + | ====== How to set up an X2Go Development Workspace ====== |
===== Get the Code ===== | ===== Get the Code ===== | ||
Line 7: | Line 7: | ||
===== Building ===== | ===== Building ===== | ||
+ | |||
+ | ==== Debian ==== | ||
+ | |||
+ | On Ubuntu you'll probably need the following dependencies to get a proper build: | ||
+ | |||
+ | < | ||
+ | sudo apt-get install devscripts debhelper build-essential | ||
+ | </ | ||
+ | |||
+ | ==== Ubuntu ==== | ||
On Ubuntu you'll probably need the following dependencies to get a proper build: | On Ubuntu you'll probably need the following dependencies to get a proper build: | ||
< | < | ||
- | sudo apt-get install devscripts debhelper | + | sudo apt-get install devscripts debhelper ubuntu-dev-tools build-essential |
- | | + | |
- | libldap2-dev libssh-dev libxpm-dev libcups2-dev | + | |
</ | </ | ||
More info in general form: [[https:// | More info in general form: [[https:// | ||
==== Getting Build Dependencies ==== | ==== Getting Build Dependencies ==== | ||
- | Each git has a file'' | + | Each Git has a file'' |
- | The package '' | + | **Ubuntu: |
==== Makefile ==== | ==== Makefile ==== | ||
Line 33: | Line 41: | ||
===== Development Strategies ===== | ===== Development Strategies ===== | ||
- | There are a few different approaches for working on X2go code (or Git-hosted code in general). This wiki page will address two of them: HEAD development and local branch development. | + | There are a few different approaches for working on X2Go code (or Git-hosted code in general). This wiki page will address two of them: HEAD development and local branch development. |
- | === HEAD X2go Development === | + | === HEAD X2Go Development === |
- | With the term HEAD one refers to the topmost recent code in a code repository. The Git branch that HEAD development gets committed to is the master branch of each X2go Git project. | + | With the term HEAD one refers to the topmost recent code in a code repository. The Git branch that HEAD development gets committed to is the master branch of each X2Go Git project. |
- | If you are a core X2go developer and the code you are working on is something that is intended to become a core component of X2go then you are likely to directly work on HEAD. | + | If you are a core X2Go developer and the code you are working on is something that is intended to become a core component of X2Go then you are likely to directly work on HEAD. |
Also bug fixes should be committed to the master branch directly. | Also bug fixes should be committed to the master branch directly. | ||
Line 46: | Line 54: | ||
=== Development on Local Git Branches === | === Development on Local Git Branches === | ||
- | However, if you work on a piece of code or a feature, that may or may not become a part of X2go or a piece of code that will break a couple of things when committed to the master branch then you should rather start a local branch to work on that. | + | However, if you work on a piece of code or a feature, that may or may not become a part of X2Go or a piece of code that will break a couple of things when committed to the master branch then you should rather start a local branch to work on that. |
If you want to branch of from HEAD, use this command: | If you want to branch of from HEAD, use this command: | ||
Line 63: | Line 71: | ||
You then continue your work on the < | You then continue your work on the < | ||
- | You may also upload your local branch to the X2go Git site. Please discuss this first on the x2go-dev mailing list. | + | You may also upload your local branch to the X2Go Git site. Please discuss this first on the x2go-dev mailing list. |
< | < | ||
Line 71: | Line 79: | ||
To incorporate changes from your < | To incorporate changes from your < | ||
- | Note: The only thing we do not accept on X2go Git are Git merges. | + | Note: The only thing we do not accept on X2Go Git are Git merges. |
==== Coding Strategies ==== | ==== Coding Strategies ==== | ||
- | There are some recommendations that we give when coding | + | There are some recommendations that we give when coding |
* run '' | * run '' | ||
Line 91: | Line 99: | ||
</ | </ | ||
- | __After__ you have performed some changes on an X2go Git project, please use the '' | + | __After__ you have performed some changes on an X2Go Git project, please use the '' |
< | < | ||
Line 131: | Line 139: | ||
==== Maintaining Changelogs ==== | ==== Maintaining Changelogs ==== | ||
- | Currently we use Debian tools to maintain each project' | + | Currently we use Debian tools to maintain each project' |
- | However, as this is in process and till it has settled, please continue as described below when maintaining the X2go projects' | + | However, as this is in process and till it has settled, please continue as described below when maintaining the X2Go projects' |
- code your code | - code your code | ||
Line 148: | Line 156: | ||
==== Install Software ==== | ==== Install Software ==== | ||
- | For working with X2go Git you have to install some software on your development workstation. We will presume you develop under Debian: | + | For working with X2Go Git you have to install some software on your development workstation. We will presume you develop under Debian: |
< | < | ||
Line 179: | Line 187: | ||
- | ==== Releasing | + | ==== Releasing |
- | The X2go version scheme is a four digit version number: ''< | + | The X2Go version scheme is a four digit version number: ''< |
- | For releasing | + | For releasing |
- | If you decide for releasing an X2go component, please perform the following steps: | + | If you decide for releasing an X2Go component, please perform the following steps: |
- Change any string location in the project that reflects the version number: changelog, VERSION.< | - Change any string location in the project that reflects the version number: changelog, VERSION.< | ||
Line 195: | Line 203: | ||
$ git push --tags | $ git push --tags | ||
</ | </ | ||
- | - Use the '' | + | - Use the '' |
$ x2go-updatebuildmain HEAD | $ x2go-updatebuildmain HEAD | ||
</ | </ | ||
- | - Run '' | + | - Run '' |
$ x2go-tarballrelease < | $ x2go-tarballrelease < | ||
</ | </ | ||
Line 216: | Line 224: | ||
As '' | As '' | ||
- | * create new X2go Git projects | + | * create new X2Go Git projects |
* edit Git configs | * edit Git configs | ||
* edit Git descriptions | * edit Git descriptions | ||
Line 224: | Line 232: | ||
* upload Debian packages to http:// | * upload Debian packages to http:// | ||
- | ==== Using X2go Build Scripts ==== | + | ==== Using X2Go Build Scripts ==== |
- | The X2go project uses a hand full of build scripts that are also hosted in X2go Git: | + | The X2Go project uses a hand full of build scripts that are also hosted in X2Go Git: |
< | < | ||
Line 265: | Line 273: | ||
</ | </ | ||
- | ==== Build X2go Packages for Debian ==== | + | ==== Build X2Go Packages for Debian ==== |
On '' | On '' | ||
Line 271: | Line 279: | ||
Currently, packages for Debian are built on a non-public machine at DAS-NETZWERKTEAM in Northern Germany and then get uploaded to '' | Currently, packages for Debian are built on a non-public machine at DAS-NETZWERKTEAM in Northern Germany and then get uploaded to '' | ||
- | ==== Upload | + | ==== Upload |
- | As '' | + | As '' |
< | < | ||
- | ### X2go/DEBIAN | + | ### X2Go/DEBIAN |
$cfg{" | $cfg{" | ||
fqdn => " | fqdn => " |