My FLOSS activities in May 2015

May 2015 has been mainly dedicated to these three fields of endeavour:

  • development of nx-libs (3.6.x branch), license clarification of nxcomp (a library in nx-libs)
  • contribution to Debian LTS, Debian packaging
  • test deployment of Ganeti and Ganeti Manager (a web frontend for Ganeti)

Received Sponsorship

I am happy to report that I received a personal sponsoring over 3.000,- EUR from a sponsor not to be named in May 2015. The sponsoring has been dedicated to supporting my work on The Arctica Project.

Last month's contributions of mine (8h) to the Debian LTS project had been contracted by Freexian [1] again. Thanks to Raphael Hertzog for having me on the team. Thanks to all the people and companies sponsoring the Debian LTS Team's work.

Development and License of nx-libs 3.6.x

What has been achieved in May 2015 concerning the nx-libs development?

  • nx-libs(-lite) continues to stay DFSG-compliant (see [2] for details)
  • Ulrich Sibiller has started working on enabling the RandR based Xinerama extension protocol in nxagent (the prototypes already work quite well) [3]. His work will make it possible to:
    • drop libNX_Xinerama from nx-X11,
    • drop the need of xinerama.conf file that needs to be updated from the client side of the session whenever a RandR change occurs on the client side
    • drop some nasty LD_LIBRARY_PATH hack from x2goruncommand (in X2Go)
  • I have started on rebasing the randr extension (proto version 1.5) against the nx-X11 Xserver code in nx-libs. No public Git branch, yet, nothing that works, yet. Heavily work in progress, still.
  • More lines of code (> 13.000) could be dropped from nx-libs (dropping libGL, libXres, libXx86{misc,vm,dga,rush}, re-organize Xserver/GL imake build logic). Pull requests for these clean-ups are still pending and waiting for another nx-libs developer to review.
  • We received notice from Kevin Vigor (DXPC maintainer) that he implemented some DXPC improvement for EncodeBuffer::encodeValue(), a core function of the nxcomp library. His improvement resulted in a significant performance boost of DXPC at that time. Kevin offered taking a look at nxcomp and weaving his improvements (from years ago) into nxcomp. I am looking forward to having Kevin contribute to nx-libs hopefully soon.
  • We received several patches from TheQVD, some of them still require reviewing and merging. Amongst others a patch [4] from Salvador Fandiño that introduces the possibility of having Unix file sockets as channel endpoints. The lack of Unix file socket support in nx-libs (esp., nxcomp) has been one of our greatest concerns lately and we are hopeful that we will get Unix file socket support for all sorts of connections (esp., nxproxy <-> nxagent) into nx-libs 3.6.x until Q3/2015.
  • We discovered more copies of code (thanks to Ulrich Sibiller) in nx-X11/programs/Xserver/hw/nxagent/. Some Xlib and Xserver files had been copied into the hardware driver and modified here and there. Some files received heavy changes, some only a little. More tidying-up work is required here.

We are currently planning the first releases of the 3.6.x branch of nx-libs for Octobre 2015.

Work on Debian and Debian LTS

On behalf of the MATE packaging team, I did several MATE package uploads (more pending), including various uploads targeting Debian jessie 8.1 [5].

For the Debian LTS team I have been doing 8h of contracted work in May 2015 (and at the beginning of June 2015). The work focused on:

  • providing patches for three security issues in libxml2 [6], as the issues are still open in Debian (all versions) I worked on patches for all libxml2 package versions in Debian
  • security upload of wordpress to Debian squeeze-lts [7]

Playing Ganeti

For a local customer project I finally got a chance to test and play with Ganeti and Ganeti Manager on "real" and extremely performant hardware. Ganeti is a framework for deployment of virtual machines and/or Linux containers. And: Ganeti rocks!!!

While looking at a nice web frontend for Ganeti, I stumbled over Ganeti Web Manager [8] and Ganeti Manager [9]. After some initial testing of both WebUIs I chose Ganeti Manager [9] as my favourite WebUI and looked at what is missing / what is working / not working:

  • German translation (i18n)
  • Django 1.7 support (so it can run on Debian 8 aka jessie)
  • Various crashes / Python exceptions here and there
  • MS Windows installation via Ganeti Manager from ISO with a second ISO containing a driver CD
  • Disabling of the Java VNC Console (because NoVNC is my way to go)
  • etc.

Luckily, I got informed that Dimitris Bliablias planned to work on the Django 1.4 to 1.7 port which he did in May 2015 (big thanks!!!). So, I tested his work a lot and worked on the German translation of Ganeti Manager myself.

Currently, we are waiting for the developers from GRNET to rebase the "dev" branch into the "master" branch on the ganetimgr repository on Github (1.5.x -> 1.6.x). Once that is done, the required Django 1.7 changes will be filed as a pull request.

Light+Love
Mike Gabriel (aka sunweaver)

[1] https://www.freexian.com/en/services/debian-lts.html
[2] http://sunweavers.net/blog/node/14
[3] https://github.com/uli42/nx-libs/commits/feature/new-xinerama-randr-3.6.x
[4] http://article.gmane.org/gmane.linux.terminal-server.x2go.devel/9817
[5] https://lists.debian.org/debian-release/2015/05/msg00605.html
[6] https://lists.debian.org/debian-lts/2015/06/msg00027.html
[7] https://lists.debian.org/debian-lts-announce/2015/06/msg00000.html
[8] https://code.osuosl.org/projects/ganeti-webmgr
[9] https://github.com/grnet/ganetimgr