User Tools

Site Tools


wiki:development:nxlibs-repository

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
wiki:development:nxlibs-repository [2012/01/30 12:49]
sunweaver
wiki:development:nxlibs-repository [2013/03/08 13:31] (current)
Line 11: Line 11:
  
 The old sources were downloaded by brute force from the nomachine download server: The old sources were downloaded by brute force from the nomachine download server:
- +<file bash getnx.sh> 
-   wget http://64.34.161.181/download/3.5.0/sources/nx-X11-3.5.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.5.0/sources/nx-X11-3.5.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.4.2/sources/nx-X11-3.4.2-{1..15}.tar.gz +wget http://64.34.161.181/download/3.4.2/sources/nx-X11-3.4.2-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.4.1/sources/nx-X11-3.4.1-{1..15}.tar.gz +wget http://64.34.161.181/download/3.4.1/sources/nx-X11-3.4.1-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.4.0/sources/nx-X11-3.4.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.4.0/sources/nx-X11-3.4.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.3.0/sources/nx-X11-3.3.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.3.0/sources/nx-X11-3.3.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.2.0/sources/nx-X11-3.2.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.2.0/sources/nx-X11-3.2.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.1.0/sources/nx-X11-3.1.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.1.0/sources/nx-X11-3.1.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.0.0/sources/nx-X11-3.0.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.0.0/sources/nx-X11-3.0.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.5.0/sources/nxagent-3.5.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.5.0/sources/nxagent-3.5.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.4.2/sources/nxagent-3.4.2-{1..15}.tar.gz +wget http://64.34.161.181/download/3.4.2/sources/nxagent-3.4.2-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.4.1/sources/nxagent-3.4.1-{1..15}.tar.gz +wget http://64.34.161.181/download/3.4.1/sources/nxagent-3.4.1-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.4.0/sources/nxagent-3.4.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.4.0/sources/nxagent-3.4.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.3.0/sources/nxagent-3.3.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.3.0/sources/nxagent-3.3.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.2.0/sources/nxagent-3.2.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.2.0/sources/nxagent-3.2.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.1.0/sources/nxagent-3.1.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.1.0/sources/nxagent-3.1.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.0.0/sources/nxagent-3.0.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.0.0/sources/nxagent-3.0.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.5.0/sources/nxauth-3.5.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.5.0/sources/nxauth-3.5.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.4.2/sources/nxauth-3.4.2-{1..15}.tar.gz +wget http://64.34.161.181/download/3.4.2/sources/nxauth-3.4.2-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.4.1/sources/nxauth-3.4.1-{1..15}.tar.gz +wget http://64.34.161.181/download/3.4.1/sources/nxauth-3.4.1-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.4.0/sources/nxauth-3.4.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.4.0/sources/nxauth-3.4.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.3.0/sources/nxauth-3.3.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.3.0/sources/nxauth-3.3.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.2.0/sources/nxauth-3.2.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.2.0/sources/nxauth-3.2.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.1.0/sources/nxauth-3.1.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.1.0/sources/nxauth-3.1.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.0.0/sources/nxauth-3.0.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.0.0/sources/nxauth-3.0.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.5.0/sources/nxcomp-3.5.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.5.0/sources/nxcomp-3.5.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.4.2/sources/nxcomp-3.4.2-{1..15}.tar.gz +wget http://64.34.161.181/download/3.4.2/sources/nxcomp-3.4.2-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.4.1/sources/nxcomp-3.4.1-{1..15}.tar.gz +wget http://64.34.161.181/download/3.4.1/sources/nxcomp-3.4.1-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.4.0/sources/nxcomp-3.4.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.4.0/sources/nxcomp-3.4.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.3.0/sources/nxcomp-3.3.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.3.0/sources/nxcomp-3.3.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.2.0/sources/nxcomp-3.2.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.2.0/sources/nxcomp-3.2.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.1.0/sources/nxcomp-3.1.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.1.0/sources/nxcomp-3.1.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.0.0/sources/nxcomp-3.0.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.0.0/sources/nxcomp-3.0.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.5.0/sources/nxcompext-3.5.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.5.0/sources/nxcompext-3.5.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.4.0/sources/nxcompext-3.4.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.4.0/sources/nxcompext-3.4.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.3.0/sources/nxcompext-3.3.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.3.0/sources/nxcompext-3.3.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.2.0/sources/nxcompext-3.2.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.2.0/sources/nxcompext-3.2.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.1.0/sources/nxcompext-3.1.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.1.0/sources/nxcompext-3.1.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.0.0/sources/nxcompext-3.0.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.0.0/sources/nxcompext-3.0.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.5.0/sources/nxproxy-3.5.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.5.0/sources/nxproxy-3.5.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.4.1/sources/nxproxy-3.4.1-{1..15}.tar.gz +wget http://64.34.161.181/download/3.4.1/sources/nxproxy-3.4.1-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.4.0/sources/nxproxy-3.4.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.4.0/sources/nxproxy-3.4.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.3.0/sources/nxproxy-3.3.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.3.0/sources/nxproxy-3.3.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.2.0/sources/nxproxy-3.2.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.2.0/sources/nxproxy-3.2.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.1.0/sources/nxproxy-3.1.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.1.0/sources/nxproxy-3.1.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.0.0/sources/nxproxy-3.0.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.0.0/sources/nxproxy-3.0.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.5.0/sources/nxcompshad-3.5.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.5.0/sources/nxcompshad-3.5.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.4.0/sources/nxcompshad-3.4.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.4.0/sources/nxcompshad-3.4.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.3.0/sources/nxcompshad-3.3.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.3.0/sources/nxcompshad-3.3.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.2.0/sources/nxcompshad-3.2.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.2.0/sources/nxcompshad-3.2.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.1.0/sources/nxcompshad-3.1.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.1.0/sources/nxcompshad-3.1.0-{1..15}.tar.gz 
-   wget http://64.34.161.181/download/3.0.0/sources/nxcompshad-3.0.0-{1..15}.tar.gz +wget http://64.34.161.181/download/3.0.0/sources/nxcompshad-3.0.0-{1..15}.tar.gz 
 +</file>
  
 These sources are then unpacked in a temporary directory ''t/'': These sources are then unpacked in a temporary directory ''t/'':
- +<file bash extractnx.sh> 
-   mkdir t; cd t; +#!/bin/bash 
-   for p in nxcomp{,shad,ext} nxproxy; do +mkdir t; cd t; 
-     for f in ../$p*.tar.gz; do b=`basename $f`; mkdir $b; ( cd $b; tar xvf ../$f; ); done +for p in nxcomp{,shad,ext} nxproxy; do 
-   done+  for f in ../$p*.tar.gz; do b=`basename $f`; mkdir $b; ( cd $b; tar xvf ../$f; ); done 
 +done 
 +</file>
        
 Now clone the nx-libs repo: Now clone the nx-libs repo:
  
-   git clone git://code.x2go.org/nx-libs.git+<code bash> 
 +git clone git://code.x2go.org/nx-libs.git 
 +</code>
  
 there, for each new submodule, create a new branch. as an example, here for the nxcomp branch: there, for each new submodule, create a new branch. as an example, here for the nxcomp branch:
  
-   git checkout -b nxcomp a840692edc9c6d19cd7c057f68e39c7d95eb767d+<code bash> 
 +git checkout -b nxcomp a840692edc9c6d19cd7c057f68e39c7d95eb767d 
 +</code>
          
-NB: the commit a840692edc9c6d19cd7c057f68e39c7d95eb767d is the very first commit in the repository. It contains an empty tree as content and is common for all branches in ''nx-libs''. This faciliates the merging step later.+NB: the commit ''a840692edc9c6d19cd7c057f68e39c7d95eb767d'' is the very first commit in the repository. It contains an empty tree as content and is common for all branches in ''nx-libs''. This faciliates the merging step later.
  
 We now import the sources using the [[http://packages.debian.org/squeeze/git-load-dirs | git_load_dirs]] tool. It is run in the temporary directory ''t/'': We now import the sources using the [[http://packages.debian.org/squeeze/git-load-dirs | git_load_dirs]] tool. It is run in the temporary directory ''t/'':
  
-  wc=../nx-libs +<file bash run-git-load-dirs.sh> 
-  l=`ls -d nxcomp-*(/)` +#!/bin/bash 
-  for f in $l; do (cd $wc; git reset --hard ; git clean -dfx); git_load_dirs -w $wc $f; done+wc=../nx-libs 
 +l=`ls -d nxcomp-*(/)` 
 +for f in $l; do (cd $wc; git reset --hard ; git clean -dfx); git_load_dirs -w $wc $f; done 
 +</file>
  
 Now the nxcomp sources have been imported in the 'nxcomp' branch. Now the nxcomp sources have been imported in the 'nxcomp' branch.
Line 98: Line 107:
 ===== Editing patches using quilt ===== ===== Editing patches using quilt =====
 ==== Configure quilt ==== ==== Configure quilt ====
-add to ~/.bashrc +The following configuration options support the usage of quilt.
-<code> +
-alias dquilt="quilt --quiltrc=${HOME}/.quiltrc-dpkg" +
-</code>+
  
 create ~/.quiltrc-dpkg create ~/.quiltrc-dpkg
-<code>+<code bash .quiltrc-dpkg> 
 +#!/bin/bash
 d=. ; while [ ! -d $d/debian -a `readlink -e $d` != / ]; do d=$d/..; done d=. ; while [ ! -d $d/debian -a `readlink -e $d` != / ]; do d=$d/..; done
 if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then
Line 117: Line 124:
 </code> </code>
  
-==== modifying patches ====+Set an alias to use these configuration options. This only appies to Bash and can be added to ''~/.bashrc''. Other shells may have similar commands. 
 +<code bash> 
 +alias dquilt="quilt --quiltrc=${HOME}/.quiltrc-dpkg" 
 +</code> 
 + 
 +==== Modifying patches ====
 get a source tree from git get a source tree from git
 <code> <code>
Line 141: Line 153:
 dquilt pop -a dquilt pop -a
 </code> </code>
-check your changes with "git status" and "git diff". Edit changelog with "dch", for example:+check your changes with "git status" and "git diff". Edit changelog with "dch", make sure you keep changelog lines below 80 characters, for example:
 <code> <code>
-* Update patch: 202_nx-x11_enable-xinerama.full.patch, <describe what you did...>.+* Update patch: 202_nx-x11_enable-xinerama.full.patch, 
 +  <describe what you did...>.
 </code> </code>
 commit your changes with "debcommit -a" commit your changes with "debcommit -a"
 +==== Create new patch ==== 
 +Apply patches until you reach the code state where you want to begin with your new patch 
 +<code> 
 +$ dquilt push 
 +</code> 
 +Create new patch ''<NUMBER>_<NXCOMPONENT>_<DESCRIPTION>.full.patch'', for example: 
 +<code> 
 +$ dquilt new 203_nxagent_disable-rootless-exit.full.patch 
 +</code> 
 +Add files, which you want to patch with 
 +<code> 
 +$ dquilt add <FILE> 
 +</code> 
 +Edit files, you want to patch and save the changes 
 +<code> 
 +$ dquilt refresh 
 +</code> 
 +Revoke all patches, apply all patches to verify that we didn't break any of the following patches, after that revoke all patches again:  
 +<code> 
 +$ dquilt pop -a 
 +$ dquilt push -a 
 +$ dquilt pop -a 
 +</code> 
 +Check your changes with "git status" and "git diff". Edit changelog with "dch", make sure you keep changelog lines below 80 characters, for example: 
 +<code> 
 +* Add patch: 203_nxagent_disable-rootless-exit.full.patch, 
 +  <describe what you did...>
 +</code> 
 +Commit your changes with 
 +<code> 
 +$ debcommit -a 
 +</code>
wiki/development/nxlibs-repository.1327927775.txt.gz · Last modified: 2013/03/08 13:31 (external edit)