diff options
author | Mihai Moldovan <ionic@ionic.de> | 2017-12-15 12:55:17 +0100 |
---|---|---|
committer | Mihai Moldovan <ionic@ionic.de> | 2017-12-15 12:55:17 +0100 |
commit | 1dad092caf01d733990648e6df64cbf964df5143 (patch) | |
tree | 39de0e643e76754a3e23ca9dd0350b8ba4f76250 /README.md | |
parent | 6d70b9e3c47f27a166f4aacb522c5c1e49092dd9 (diff) | |
parent | 2b9025f797ee322e21077e100c2ee27c2e7fa0e0 (diff) | |
download | nx-libs-1dad092caf01d733990648e6df64cbf964df5143.tar.gz nx-libs-1dad092caf01d733990648e6df64cbf964df5143.tar.bz2 nx-libs-1dad092caf01d733990648e6df64cbf964df5143.zip |
Merge branch '3.6.x'
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 161 |
1 files changed, 161 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 000000000..c96b1fcb9 --- /dev/null +++ b/README.md @@ -0,0 +1,161 @@ +# NX development by ArticaProject, X2Go and TheQVD + +This source tree started as a re-distribution of those NX packages needed +to setup FreeNX and/or X2Go on a Linux server. + +In the past, the NX re-distribution (3.5.0.x) had been maintained by the X2Go Project: +http://wiki.x2go.org + +In 2014, [the QVD project](http://theqvd.com) run by the company Qindel +joined the group of people being interested in NX maintenance and +improvement. + +Since 2015, the Arctica Project has joined in the NX development. The core devs +of X2Go, Arctica and TheQVD have agreed on stopping to redistribute NX and to +continue the development of NX 3.x as the new upstream instead. The package +will see a slight name change to **nx-libs** starting with version 3.5.99.0. + +Our intentions for nx-libs are: + +* provide _one_ tarball that builds NX projects via a common Makefile +* provide _one_ tarball for distribution packagers +* provide support for security issues +* provide support for latest X11 extensions +* improve NX where possible + +This source tree is maintained on Github: + + https://github.com/ArcticaProject/nx-libs (3.6.x branch) + +For the the post-NoMachine era of nx-libs, we will focus on two release +phases for the upcoming two years (06/2015 - 06/2017). + +## Release series 3.6.0.x + +Scheduled for end of Q2/2016. + +Release goals (phase 1) for nx-libs release series 3.6.0.x: + +* CVE security audit (complete) +* remove unused code (+/- complete) +* no bundled non-X11 libraries anymore (complete) +* complete imake cleanup (+/- complete) +* replace as many libNX_X* libraries by X.org's libX* libraries + (complete, only remaining library: libNX_X11) +* support for iOS (nxproxy, complete) +* Unix file socket communication for nxproxy -C <-> nxproxy -S connections + (complete) +* allow Unix file sockets as channel endpoints (complete) +* allow embedding of nxproxy into other windows (work pending) +* new RandR based Xinerama extension (+/- complete, more QA needed) +* Fix Xcomposite extension in Xserver (work pending) +* nxcomp protocol clean-up (complete) +* nxcomp logging clean-up (work pending) +* optimizing documentation: how to tune NX connections (work pending) + + +## Release series 3.7.0.x + +Scheduled for end of Q2/2017. + +Release goals (phase 2) for nx-libs release series 3.7.0.x (not branched-off, yet): + +* rebase Xserver code against latest X.Org server (work in progress) +* event FIFO sockets for attaching external applications + (todo, to be discussed) +* enable/support XV extension (todo) +* software cursor for shadow sessions (todo) +* no bundled Mesa library anymore (todo, to be discussed) +* use recent MesaGL (todo, to-be-discussed) + + +If you have any questions about this NX development or want to file a bug +report, please contact the Arctica developers, the X2Go developers or the +TheQVD developers via the project's Github issue tracker. + +*Sincerely,* + +*The nx-libs developers (a combined effort of ArcticaProject / TheQVD / X2Go)* + +## Building Under Fedora or EPEL using Mock + +Assuming: + +1. The branch you are building is 3.6.x +2. The current version is 3.5.99.0 (specified in the .spec file) +3. The current release is 0.0build1 (specified in the .spec file) +4. You wish for the RPM files and the mock build logs to be under ~/result + +Prerequisites: + +1. Install package "mock" +2. Add your user account to the "mock" group (recommended) +3. cd to the nx-libs directory that you cloned using git + +``` +mkdir -p ~/result +git archive -o ../nx-libs-3.5.99.0.tar.gz --prefix=nx-libs-3.5.99.0/ 3.6.x +cp --preserve=time nx-libs.spec ../ +cd .. +mock --buildsrpm --spec ./nx-libs.spec --sources ./nx-libs-3.5.99.0.tar.gz --resultdir ~/result +mock --rebuild ~/result/nx-libs-3.5.99.0-0.0build1.fc23.src.rpm --resultdir ~/result +``` + +The end result is RPMs under ~/result that you can install (or upgrade to) using yum or dnf, which will resolve their dependencies. + +## Building for openSUSE using OBS Build + +Assuming: + +1. The branch you are building is 3.6.x +2. The current version is 3.5.99.0 (specified in the .spec file) +3. The current release is 0.0build1 (specified in the .spec file) +4. You wish for the RPM files and the obs-build logs to be under ~/rpmbuild + +Prerequisites: + +1. Install package "obs-build" +2. Make sure your user account can become root via sudo +3. cd to the nx-libs directory that you cloned using git + +``` +mkdir -p ~/rpmbuild/SOURCES ~/rpmbuild/RPMS ~/rpmbuild/SRPMS ~/rpmbuild/OTHER ~/rpmbuild/BUILD +git archive -o $HOME/rpmbuild/SOURCES/nx-libs-3.5.99.0.tar.gz --prefix=nx-libs-3.5.99.0/ 3.6.x +cp --preserve=time nx-libs.spec ~/rpmbuild/SOURCES +cd .. +sudo obs-build --clean --nosignature --repo http://download.opensuse.org/distribution/<OPENSUSE-VERSION>/repo/oss/suse/ --root /var/lib/obs-build/ ~/rpmbuild/SOURCES/nx-libs.spec +cp -ar /var/lib/obs-build/home/abuild/rpmbuild/RPMS/* ~/rpmbuild/RPMS/ +cp -ar /var/lib/obs-build/home/abuild/rpmbuild/SRPMS/* ~/rpmbuild/SRPMS/ +cp -ar /var/lib/obs-build/home/abuild/rpmbuild/OTHER/* ~/rpmbuild/OTHER/ +cp -ar /var/lib/obs-build/.build.log ~/rpmbuild/BUILD/ +``` + +The end result is RPMs under ~/result that you can install (or upgrade to) using yum or dnf, which will resolve their dependencies. + +## Building Under Debian or Ubuntu using debuild + +Assuming: + +1. The current version is 3.5.99\* (specified in debian/changelog) + +Prerequisites: + +1. Install package "devscripts" +2. Install the build dependencies. `dpkg-checkbuilddeps` can help you identify them. + +``` +git clone <url> nx-libs +cd nx-libs +debuild -uc -us +cd .. +sudo dpkg -i *3.5.99*.deb +``` + +## Building on Windows + +The only components that can be built on Windows at the time of writing are `nxcomp` and `nxproxy` (with the latter utilizing the former). + +**The next section is only relevant for git-based source code builds. Released tarballs do not require special handling.** + +Since this project makes use of UNIX-style symlinks, it is imperative to clone the repository using Cygwin's git binary. MSYS(2) git is not able to handle UNIX-style symlinks. +Make sure that all build utilities are Cygwin-based. Non-Cygwin binaries will bail out with errors during the build process or insert garbage. |