User Tools

Site Tools


wiki:libs:nx-libs

Differences

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

Link to this comparison view

Next revision
Previous revision
wiki:libs:nx-libs [2011/11/12 10:56]
sunweaver created
wiki:libs:nx-libs [2011/11/17 22:08]
sunweaver
Line 1: Line 1:
-====== Updating NX libs from NoMachine Upstream ======+====== X2Go uses NX libraries by NoMachine for X Display ======
  
-The package ''nxcompshad'' will be used for example...+Compared to other NX based projects X2Go has changed the strategy for building NoMachine library packages for Debian based systemsWe recommend to other distributions to do the same.
  
-===== Update "upstream" branch =====+We have discovered that the functionality of the libxcomp* packages is mid-heavily broken if they (probably esp. the libxcompext package) are not built against NoMachine's X server nx-X11 but built against the distro's own X-Server code. The newer the distro's X-Server seems to be the greater the problems seem to become.
  
-  * get ''nxcompshad.git'' from X2go Git: +Thus, we have set up the nx-libs.git project on the X2Go Git site
-<code> +http://code.x2go.org/gitweb?p=nx-libs.git;a=summary
-$ git clone ssh://x2go@code.x2go.org:32032/srv/git/code.x2go.org/nxcompshad.git +
-Cloning into nxcompshad... +
-remote: Counting objects: 235, done. +
-remote: Compressing objects: 100% (222/222), done. +
-remote: Total 235 (delta 138), reused 0 (delta 0) +
-Receiving objects: 100% (235/235), 109.78 KiB, done. +
-Resolving deltas: 100% (138/138), done. +
-</code> +
-  * Switch to "upstream" branch +
-<code> +
-nxcompshad$ git checkout upstream +
-Branch upstream set up to track remote branch upstream from origin. +
-Switched to new branch 'upstream' +
-</code> +
-  * replace old source files with new version from NoMachine upstream +
-  * check changes with "git status", if needed, add new files to upstream branch of Git project +
-  * commit changes and tag new upstream version +
-<code> +
-git commit -a -m "Imported upstream version <upstream-version>" +
-git push origin upstream +
-git tag -s <upstream-version> -m "Upstream version <upstream-version>" +
-git push --tags +
-</code> +
-  * Switch back to master branch +
-<code> +
-nxcompshad$ git checkout master +
-Switched to branch ''master'' +
-</code>+
  
-===== Update ''master'' branch (x2goagent as example) ===== +History: we (X2Go upstream) had tremendous problems with crashing x2goagent sessions (X2Go's pendant to nxagent) and we could narrow it down to the way we built the NX lib packagesSo far, we used to build each NoMachine source tarball as a separate .deb source package
-==== Create "diff" file for old version ==== + 
-  * unpack old upstream source (nx-X11, nxagent, nxauth) +The source tree of nx-libs.git shows the structure of the new package strategyAll NX tarballs are placed into one big source tree and then build--depending on each other during the build process
-  * get current GIT version + 
-<code> +With the new build method X2Go has incremented the .deb package version, so those packages bear a new package version number: 
-$ git clone ssh://x2go@code.x2go.org:32032/srv/git/code.x2go.org/x2goagent.git + 
-</code> +  old: 3.5.0-X-Y~x2go1... 
-  * backup/remove ".git" directory from x2goagent to make clean diff +  new: 2:3.5.0-0~x2go1... 
-<code> + 
-mv .git ../.git_backup +Also: as we pull several NoMachine upstream source projects into one big source package, we are not able to fully map the version numbers as used by NoMachine, e.g. 
-</code> + 
-  * create "diff" file +  nxcomp 3.5.0-
-<code> +  nxcompext 3.5.0-1 
-diff -rupN nx-X11/ x2goagent/ > x2goagent.patch +  ... 
-</code> + 
-after that you can remove both nx-x11 and x2goagent directories +will all be pulled into Debian source package 
-==== Patch new upstream version ==== + 
-  * unpack new upstream version of nx-X11, nxagent and nxauth +  nx-libs 2:3.5.0 
-  * patch new upstream version with xgoagent.patch + 
-<code> +What packages with what exact version numbers are included in that big source package is documented elsewise (a README.NoMachine-versions and in debian/changelog). 
-$ cd nx-X11 + 
-$ patch -p1 < ../x2goagent.patch +As a side product, the nx-libs project also builds nxauth and nxagent. It is a non-X2Go-customized Git project and can be used by other NX based projects
-</code> +
-  * rename nx-X11 to x2goagent +
-  * move .git_backup to x2goagent +
-<code> +
-$ mv .git_backup x2goagent/.git +
-</code> +
-==== Push to GIT  ==== +
-  * Release old version with dch -r +
-  * Tag old version +
-<code> +
-$ git tag -s 3.5.0-1 -m "Upstream version 3.5.0-1" +
-$ git push +
-$ git push --tags +
-</code> +
-  * change debian/changelog with dch -i: +
-<code> +
-x2goagent (3.5.0.5-0~x2go1) UNRELEASED; urgency=low                                                                                                           +
-  [ Oleksandr Shneyder]                                                                                                                                       +
-  * New upstream version (3.5.0.5) - nx-X11-3.5.0-2 nxagent-3.5.0-5 nxauth-3.5.0-1                                                                           +
- -- Oleksandr Shneyder <oleksandr.shneyder@treuchtlingen.de>  Tue, 04 Oct 2011 08:11:22 +0200 +
-</code>+
  
-  * check changes with "git diff" 
-  * check for files to add/remove with git status 
-  * commit changes with debcommit -a 
-  * push to git with "git push" 
  
wiki/libs/nx-libs.txt · Last modified: 2013/03/08 13:31 (external edit)