My Free Software Activities in May 2016

My monthly report covers what I have been doing for Debian. I write it for Debian's Long Term Support sponsors but also for the wider free software community in the hope that it might inspire people to get more involved with Debian or free software in general.

Debian LTS

This was my  fourth month as a paid contributor and I have been paid to work 30 hours on Debian LTS. During this month I worked on the following things:

  • DLA-460-1. Issued a security update for file fixing 1 CVE.
  • DLA-461-1. Issued a security update for nagios3 fixing 1 CVE.
  • From 2 May until 8 May I managed the LTS frontdesk and triaged CVEs in ikiwiki, jansson, libuser, librsvg, roundcube, ocaml, wpa and sogo. I reviewed a security update of icu for Roberto C. Sánchez. I also reviewed the security update of ikiwiki prepared by Simon McVittie and took care of the announcement which resulted in DLA-463-1.
  • DLA-468-1. I fixed two serious issues in the libuser library that allowed a normal user to gain root privileges and to corrupt /etc/passwd.
  • DLA-449-2. I issued a regression update for botan1.10's reverse dependencies, monotone and softhsm. Both packages had to be rebuilt in Wheezy. I also prepared the no-change rebuilds for all reverse-dependencies in Jessie. (DSA-3565-2)
  • DLA-471-1. Issued a security update for jansson fixing 1 CVE.
  • DLA-473-1. Issued a security update for wpa fixing 2 CVE.
  • DLA-475-1. Issued a security update for python-tornado fixing 1 CVE.
  • DLA-483-1. Issued a security update for expat fixing 1 CVE.
  • DLA-484-1. Issued a security update for graphicsmagick fixing 8 CVE. Graphicsmagick is a fork of Imagemagick and also affected by vulnerabilities commonly known as ImageTragick. It is likely that we will see more CVEs in the near future.
  • DLA-488-1. Issued a security update for xymon fixing 4 CVE. I marked CVE-2016-2057 as not-affected in Wheezy.
  • DLA-490-1. Issued a security update for bozohttpd fixing 2 CVE.
  • Misc: I sent a short news update to bits.debian.org and debian-lts-announce which was released on 2 June and announced the now official support of armel and armhf for Wheezy LTS.
  • I sent a DLA announcement for Icedove. The security update was prepared by Christoph Goehre. (DLA-472-1)

Debian Android

  • I packaged a new version of apktool. This tool has several issues at the moment. The most important one is the missing basic framework resource files which are needed for decoding apk files. They are not part of the source tarball release so we need to find other ways to make them available in Debian. Chirayu Desai, one of the GSoC students 2016, already came up with a good proposal.
  • We had our first GSoC meetings.

Debian Java

  • I fixed an RC bug in gradle-jflex-plugin due to an incompatibility with Gradle >= 2.12.
  • I clarified licenses and updated debian/copyright for Netbeans. I also removed some files from the original tarball with possibly controversial licenses.
  • I packaged new upstream releases of hsqldb and objenesis and updated fontchooser.
  • I sponsored libmnemonicsetter-java for Felix Natter.
  • I prepared a security update for Tomcat 8 which still awaits  approval by the Security Team.
  • I spent too much time with trying to upgrade libnetlib-java. In the end I came to the conclusion that it is not worth the effort.

Debian Games

  • I fixed a long standing RC bug in warzone2100 and another bug in fretsonfire.
  • I packaged new upstream releases of springlobby, freeorion and freeciv. This fixed the lags in FreeOrion which were seemingly introduced by an X server update. I also uploaded the latest versions of FreeCiv and Minetest to jessie-backports.

Misc

  • Xarchiver crashed when someone attempted to cancel the extraction procedure with the Thunar plugin. (#822115) I fixed the issue in Sid, Stretch and Jessie.

My Free Software Activities in April 2016

My monthly report covers what I have been doing for Debian. I write it for Debian's Long Term Support sponsors but also for the wider free software community in the hope that it might inspire people to get more involved with Debian or free software in general.

Debian LTS

This was my third month as a paid contributor and I have been paid to work 16 hours on Debian LTS. During this month I worked on the following things:

  • DSA-3552-1: I finished my work on Tomcat 7 which I started back in March. Debian's Security Team eventually reviewed the package and issued DSA-3552-1. This update fixed 9 CVEs in Wheezy and 7 CVEs in Jessie.
  • DSA-3541-1: My security update for roundcube (Wheezy) fixing 1 CVE was issued by the Security Team.
  • DLA-449-1. I worked on botan1.10, a C++ library which provides support for many common cryptographic operations and fixed 7 CVEs in Wheezy. I also sent an updated package for Jessie to the Security Team and they issued DSA-3565-1 for it. For Jessie 6 CVEs could be closed.  I am currently investigating a possible regression (#823297) that might require a rebuild of monotone.
  • DLA-450-1. I prepared an update for gdk-pixbuf fixing 1 CVE. While I was working on this issue I discovered that Debian's fix for CVE-2015-7674 was incomplete and thus I added another patch to prevent possible heap-based overflows in pixops/pixops.c. Thanks to SUSE's Security Team for their initial work on this issue.
  • DLA-451-1. I backported and tested a security update for OpenJDK-7 fixing 7 CVEs. Thanks to Matthias Klose and Tiago Stürmer Daitx for their initial work.
  • DLA-452-1. I fixed a bug in smarty3 (Wheezy), a template engine for PHP, that allowed remote attackers to bypass the secure mode restrictions and to execute arbitrary PHP code.
  • I triaged CVE-2015-7496 in GDM3 and marked this issue as <not affected> in Wheezy because the vulnerable code was neither present nor was the issue reproducible.
  • I triaged two more CVEs in Swift, CVE-2016-0738 and CVE-2016-0737 and marked both CVEs as fixed in Wheezy because the vulnerable code was not present. I also had a closer look at Xymon. This package appears to be partly affected by the open security issues and needs further investigation.
  • The security support for Wheezy was handed over to the LTS team on 26 April 2016. I drafted an official announcement which was published on debian.org and debian-lts-announce. Before I started a call for review on debian-lts. Thanks for all the feedback and especially for the reviews from the English language team.
  • Making OpenJDK 7 the default-java implementation in Wheezy-LTS. I uploaded a new revision of java-common with the sole intention to increase the user awareness for our intended switch to OpenJDK 7 as the default Java implementation. Moreover I updated 14 Java packages in Wheezy that strictly depended on openjdk-6-jre or openjdk-6-jdk. The requirements were relaxed so that users will be able to install OpenJDK 7 now without the need for installing the unsupported OpenJDK 6 too. Three Java packages are still pending due to a bug in Debian's archive software that will hopefully be resolved soon. I think we could have uploaded those packages sooner but the Release Team did not deem these issues to be important enough. (#819247)

Debian Android

  • apktool and libsmali-java. I packaged the latest upstream release of Apktool, 2.1.0. Smali is now a dependency of Apktool and no longer included in the official tarballs. That's the reason why I decided to package libsmali-java.
  • I will be a Mentor for Google Summer of Code again together with Hans-Christoph Steiner. I presume this year will be quite exciting and we will try to package more Android software for Debian.

Debian Java

Debian Games

Misc

  • gimp-dimage-color. I asked the ftp team to remove gimp-dimage-color because it has not been updated in the past seven years and it is also not part of Debian stable.
  • I reviewed and sponsored python-adventure for Ben Finney.
  • I also reviewed freecell-solver for Shlomi Fish on debian-mentors but the package was eventually uploaded by the actual package maintainer.

Syncany: Dropbox-Alternative für die Datensicherung in der Cloud

syncany-logoDa habe ich eben noch von der klassischen Sicherung auf externe Datenträger geschrieben und natürlich gibt es noch die Möglichkeit alles Wichtige wie Fotos, Urkunden, Krankenakten und Versicherungspolicen säuberlich eingescannt und für jeden einsehbar in der ominösen Cloud abzuspeichern. Warum nicht einfach beides nutzen? Doch macht das alles wirklich Sinn und welche Alternativen gibt es?
Anfang des Jahrzehnts nutzte ich für eine Weile Dropbox, weil es für mich ein einfacher Weg war, um Dateien an andere Leute freizugeben. Gleichzeitig hatte ich einen kostenlosen Datenspeicher und eine weitere Backupmöglichkeit gefunden. Irgendwann hatte ich dann meinen eigenen vServer, weswegen ich den Dienst nicht mehr brauchte. Vor einigen Tagen erhielt ich nun die Nachricht, dass mein Dropbox-Konto in 90 Tagen geschlossen werden sollte, weswegen ich das kurzerhand und als Motivation für diesen Artikel selbst erledigt habe.
Es gibt mittlerweile zahlreiche Freie-Software-Alternativen zu Dropbox, wobei OwnCloud,  Seafile und SparkleShare sicherlich drei der bekanntesten sind. Mit diesem Artikel möchte ich Syncany kurz vorstellen, dass ich letztes Jahr für Debian paketiert habe. Die Software ist in Java geschrieben und gegenüber Dropbox zeichnet sich dieses Programm vor allem durch zwei Merkmale aus:

  • Lokale Verschlüsselung der Daten vor dem Upload
  • Nahezu beliebige Wahl des externen Datenspeichers durch ein Pluginsystem

Der erste Punkt ist für mich persönlich der wichtigste, warum ich Anwendungen wie Syncany Dropbox vorziehe. Es ist Freie Software, transparent und man hat volle Kontrolle bevor man die Daten irgendwohin hochlädt. Zwar werden Dateien auch bei Dropbox verschlüsselt auf den Servern gespeichert, jedoch besitzt das Unternehmen auch den Schlüssel, um die Informationen wieder im Klartext anzuzeigen, sprich sensible Daten könnten ohne weiteres eingesehen werden. Syncany hingegen verschlüsselt die Dateien auf dem eigenen Rechner vor dem Upload.
Das Programm lässt sich sowohl mit einem GUI-Plugin als auch über die Kommandozeile bedienen und liefert dazu noch eine ausführliche Online-Dokumentation, mehrere Manpages und Beispiele. Bevor ich nun aber mein persönliches Setup vorstelle, hier eine ausdrückliche Warnung: Syncany ist noch Alpha-Software. Das bedeutet ihr solltet kritische Daten noch auf eine andere Weise gesichert haben, bevor ihr sie Syncany anvertraut.

Syncany und das SFTP-Plugin

Syncany lässt sich zur Zeit über Debian Experimental installieren, wo es vermutlich eine Weile bleiben wird, da die Entwicklung seit Ende letzten Jahres sich deutlich verlangsamt hat und der Hauptentwickler gebeten hat diese Version nicht für eine stabile Debian/Ubuntu-Distribution betreuen zu müssen. Installieren lässt sie sich dennoch ganz einfach mit
apt install syncany -t experimental
Mit sy plugin list erhaltet ihr eine Übersicht aller zur Verfügung stehenden Plugins. Sobald Syncany für stabil erklärt wurde, plane ich zumindest das GUI- und SFTP-Plugin für Debian zu paketieren. Zur weiteren Verfügung stehen momentan Plugins für: Azure, Dropbox, Flickr, FTP, Raid0, Amazon S3, Samba, Openstack Swift und Webdav.
Das SFTP-Plugin wird mit sy plugin install sftp installiert und findet sich danach in ~/.config/syncany/plugins/lib wieder.
Ladet zuerst euren öffentlichen SSH-Schlüssel zum SSH-Server hoch, z.b. mit ssh-copy-id. Wechselt danach in das Verzeichnis, dass in Zukunft mit dem SFTP-Server synchronisiert werden soll und gebt nacheinander das Folgende ein:

  • sy init
  • sftp
  • Name des Hosts oder die IP-Adresse
  • Name des Benutzers auf dem Server
  • Pfad zum privaten SSH-Schlüssel
  • Password des privaten Schlüssels
  • Pfad zum Verzeichnis auf dem Server
  • Port des SSH-Servers

Das wars. Ihr könnt neue Dateien danach mit sy up hochladen.
Was bietet Syncany noch? Wie bei Dropbox könnt ihr Links zu euren Dateien mit anderen Leuten teilen. Je nach Plugin ist dieses Merkmal anders ausgearbeitet. Automatische Synchronisation gibt es mit sy daemon.

Fazit und Ausblick

Trotz des Alpha-Status ist Syncany ein nützliches Werkzeug für mich mit großem Potenzial. Das Grundkonzept ist absolut stimmig, Daten werden lokal verschlüsselt, externer Speicher kann beliebig gewählt werden. Das ist äußerst flexibel und kann an die eigenen Bedürfnisse angepasst werden. Ein funktionierendes Webfrontend wie bei Owncloud wäre natürlich noch super. Mit den jetzigen Plugins bin ich jedoch schon zufrieden. Das Hauptproblem ist momentan die geringe Entwicklungstätigkeit, weswegen Syncany vorerst nicht in Ubuntu oder einer stabilen Debianversion erscheinen wird. Wer das ändern möchte, sollte Syncany weiter testen, mögliche Fehler melden oder gegebenenfalls sogar mitentwickeln.

luckyBackup: Die benutzerfreundliche Datensicherung mit rsync

Was Backup-Lösungen angeht halte ich es am liebsten einfachRsync ist immer noch mein bevorzugtes Werkzeug für die Datensicherung und in Kombination mit Dirvish setze ich es noch heute ein, um wichtige Informationen auf meinem Laptop und dem entfernten vServer zu sichern. Nun hat rsync auch so seine Tücken. Insbesondere kann ich mir die Dutzenden von Kommandozeilenoptionen nicht alle merken und die Handhabung lässt sich schwer mit dem Wort intuitiv umschreiben. Es stellt sich immer mal wieder die Frage, ob es nun das Ziel- oder Quellverzeichnis war, das zuerst angegeben werden muss.
Für die meisten populären Kommandowerkzeuge gibt es auch eine grafische Lösung, so auch in diesem Fall mit luckyBackup. Im Prinzip ist es ein Frontend für rsync mit weiteren Annehmlichkeiten wie Sicherungsprofile mit separat einstellbaren Aufgaben, einem Zeitplaner und einer übersichtlichen Menüstruktur. Alle wesentlichen Funktionen sind hinter leicht zu findenden Schaltern und Knöpfen versteckt.

LuckyBackup

Daten sichern

Eine simple Sicherung des Dokumentenordners funktioniert wie folgt. Nach dem Klicken auf "Hinzufügen" erscheint ein neuer Dialog. Hier sollte man sich zuerst einen aussagekräftigen Namen für die Aufgabe ausdenken, z.B. "Dokumente sichern" und als Typ "Sichere Quelle innerhalb des Ziels" wählen. Danach als Quellverzeichnis den zu sichernden Ordner auswählen und den Ort, vielleicht eine externe Festplatte, wo das Ganze abgelegt werden soll. Das wars im Prinzip auch schon. Interessant ist die Möglichkeit Schnappschüsse anzulegen, hierzu gleich mehr. LuckyBackup bietet noch eine Reihe zusätzlicher Funktionen wie das Sichern zu einem entfernten Server oder das Ausschließen bestimmter Dateien von der Sicherung an. Letztere Option ist gerade dann sinnvoll, wenn man z.B. den gesamten Home-Ordner sichern möchte, jedoch auf temporäre Dateien verzichten kann. Der zweite Sicherungstyp "Synchronisiere Quelle und Ziel" ist vor allem dann nützlich, wenn man Daten häufig mit sich herumträgt und diese permanent bei allen Geräten auf den neusten Stand gebracht werden sollen. Zur reinen Datensicherung empfiehlt sich aber die Option "Sichere Quelle innerhalb des Ziels".

Aufgabendialog
Eine nützliche Option bei rsync und luckyBackup ist das Simulieren des eigentlichen Backupvorgangs. Ein gesetzter Haken bei "Simulation" reicht aus, um vorher nachzuvollziehen, ob das Programm auch das Richtige tun wird. Hat man sich Gewissheit verschafft, genügt ein Klick auf  "Ausführen", um die Datensicherung zu starten.

Schnappschüsse

Schnappschüsse

Ein weiteres nützliches Merkmal von luckyBackup ist die Sicherungsverwaltung und das Wiedereinspielen von Schnappschüssen. Im Aufgabendialog kann man festlegen wie viele Schnappschüsse vorgehalten werden sollen. Unter Aufgabe -> Verwalte Sicherung besteht nun die Möglichkeit einen älteren Schnappschuss mit dem derzeitigen Systemzustand zu vergleichen und bei Bedarf z.B. eine irrtümlich gelöschte Datei wiederherzustellen.
Möchte man sich das manuelle Sichern langfristig sparen, bietet das Programm auch die Möglichkeit die Datensicherung mit Hilfe eines Cronjobs regelmäßig auszuführen. Die Funktion versteckt sich hinter "Zeitplaner". Im Prinzip wird der tatsächlich benutzte rsync-Befehl in die crontab-Datei des Benutzers eingetragen und dann zum festgelegten Zeitpunkt ausgeführt. Im übrigen bietet luckyBackup auch immer die Möglichkeit eine solche Aufgabe vorher zu überprüfen und den rsync-Befehl direkt anzuzeigen, wodurch sich die Möglichkeit ergibt endlich die Syntax zu lernen. Die Anwendung hilft sozusagen dabei, sich selbst überflüssig zu machen.

Fazit

Ich mag luckyBackup, weil es einfach gestaltet ist und die komplizierten Details sinnvoll versteckt. Dabei greift es auf die Stärken von rsync zurück, überträgt nur tatsächlich geänderte Daten und lässt sich sowohl für die Sicherung mit wiederherstellbaren Schnappschüssen als auch zur Datensynchronisation einsetzen. Insgesamt eine benutzerfreundliche Alternative zu reinen rsync-Befehlen auf der Konsole.

My Free Software Activities in March 2016

My monthly report covers what I have been doing for Debian. I write it for Debian's Long Term Support sponsors but also for the wider free software community in the hope that it might inspire people to get more involved with Debian or free software in general.

Debian LTS

This was my second month as a paid contributor and I have been paid to work 14,25 hours on Debian LTS. During this month I worked on the following things:

  • DSA-3530-1: I finished the work on Tomcat 6 which I started last month and closely worked together with Debian's Security Team who reviewed the package and eventually issued DSA-3530-1. This update fixed 18 CVEs in Wheezy and Jessie.
  • DSA-3524-1: Prepared security updates for ActiveMQ (Wheezy and Jessie) fixing one CVE.
  • Tomcat 7.  Prepared security updates for Tomcat 7 fixing 9 CVEs in Wheezy and 7 CVEs in Jessie. I asked for reviews and testing on the debian-java mailing list and I intend to finish the work in April.
  • DSA-3537-1:  Prepared security updates for imlib2 fixing 3 CVEs in Wheezy and Jessie.
  • DSA-3538-1:  Prepared security updates for libebml fixing 3 CVEs in Wheezy and Jessie.
  • DSA-3539-1:  Prepared security updates for srtp fixing 1 CVE in Wheezy and Jessie.
  • roundcube. Prepared a security update for roundcube (Wheezy) fixing 1 CVE. Review by the Security Team is still pending. I expect a DSA in April.
  • optipng. Prepared and uploaded a security update for optipng to Wheezy fixing 1 CVE.
  • Making OpenJDK 7 the default-java implementation in Wheezy-LTS: March was also the month to prepare for the next LTS release on 2016-04-26. I worked several hours on the transition to OpenJDK 7 which will be supported for the whole LTS release cycle.  I identified eighteen Java packages in Wheezy whose runtime dependencies must be updated to ensure that they will not pull in OpenJDK 6 by default but they will still work with OpenJDK 7. I updated the java-common package to make OpenJDK 7 the default-java implementation. I filed bug #819247 against release.debian.org and asked the Release Team to include the updated Java packages in the last point release for Wheezy. This issue is pending now and I expect that those packages will either be uploaded as part of the next point update for Wheezy or at the beginning of Wheezy-LTS. I will continue to work on this task in April and provide a backport of java-common for testing purposes and upload no-change updates of Tomcat 6/7, Jetty and java-common to Wheezy-LTS with NEWS files that inform users about the switch to OpenJDK 7. The goal is to switch default-java to OpenJDK 7 on 2016-06-26.

Debian Android

  • android-platform-tools-base. I uploaded a new revision because I could eventually reenable the Lint module since lombok-ast got accepted into Debian which I had packaged one week before.
  • apktool. Thanks to Chirayu Desai, who discovered a free public-domain implementation of the Little Endian data input stream class, I could fix apktool, close #819191 and sync this version with Ubuntu.
  • android-platform-build. I sponsored a new revision for Kai-Chung.

Debian Java

  • qdwizard. I sponsored qdwizard (ITP: #816426) prepared by Felix Natter, a new dependency for Jajuk, an advanced jukebox and music organizer.
  • netbeans. I tightened the dependency on Java 8 because Netbeans did not work correctly with Java 7. (#816758, #817152)
  • I triaged the following RC bugs for jpathwatch (#816998),  velocity (#814679), lwjgl (#814167)
  • activemq. I spent several hours on upgrading ActiveMQ, a Java message broker, to the latest upstream release 5.13.2 and closed two RC bugs (#809733, #808636) and another bug (#770455). All files under /etc/activemq will be properly removed on purge now. In addition this update required an update of uima-as that build-depends on libactivemq-java and while I was at it I did some spring cleaning and updated the related activemq-protobuf and activemq-activeio packages as well.
  • uima-as. I updated uima-as and fixed an activemq related RC bug.
  • undertow and jboss. I packaged new upstream releases of undertow, jboss-modules, jboss-jdeparser2 and jboss-xnio.

Debian Games

  • renpy. I packaged the latest upstream releases 6.99.9 and 6.99.10 of python-pygame-sdl2 and renpy, a framework for developing visual novel games.
  • spring. I packaged the latest release 101 of spring, a modern full-3D RTS game engine.
  • freesweep. I updated the whole Freesweep package, a minesweeper game for the console, to use modern Debian helpers and technologies. In this process I fixed four outstanding bugs.
  • atomix. I packaged the latest stable release of Atomix, a puzzle game.
  • teg. I did another spring cleaning and updated teg, a strategy game like Risk.
  • hitori. Packaged new upstream release 3.20.0.
  • nikwi. Fixed bug #791966 and added arm64 to nikwi's supported architectures.
  • dopewars. Fixed FTBFS bug #819619.
  • zaz. Fixed three bugs and triaged the remaining ones in zaz, a 3D arcade action puzzle game.

Non-maintainer uploads

  • mtpaint. Fixed RC bug (#803286), so that mtpaint could migrate to testing again.
  • pinball. Fixed FTBFS (#816108) and another build failure when building with dpkg-buildpackage -A (#806093). I also discovered that /var/games/pinball is correctly removed on purge nowadays and closed #443493.
  • jcc. I NMUed jcc and fixed two RC bugs because it was one the packages that blocked the removal of OpenJDK 7 from Debian.

QA uploads

  • piespy. I did a QA upload for piespy because it was one of the packages that blocked the removal of OpenJDK 7 from Debian.

Misc

  • yics. I requested the removal of yics because this chess client was defunct without the Yahoo chess servers which closed down in 2014. (#814360)
  • smc. I tried to fix #812096, a FTBFS, and updated outdated CEGUI includes but I soon realized that more porting work had to be done and it would be best to package the lastest upstream release instead.

Debian mit FreeBSD-Kernel: GNU/kFreeBSD

Im Jahr 2013 kam ich zum ersten Mal mit Debian GNU/kFreeBSD in Berührung als ich an einem Patch für libgphoto2 arbeitete. Galt GNU/kFreeBSD zu Zeiten von Debian 6 "Squeeze" noch als technische Vorschau, war es in Debian 7 "Wheezy" schon eine offiziell unterstützte Debian-Architektur. Als Teil von Debian Testing konnten demnach Kompilierungsfehler von GNU/kFreeBSD die Veröffentlichung eines Pakets verhindern. Dieser Status hat sich mit der aktuellen stabilen Debian-Veröffentlichung nun erneut geändert, leider aber zum Schlechteren. GNU/kFreeBSD ist keine offizielle unterstützte Debian-Architektur mehr, gehört jedoch weiterhin zu den sogenannten Debian-Ports wie GNU/Hurd (eine weitere Kernelalternative) oder m68k (unterstützt ältere Amiga, Atari und Apple Macintosh). Der wohl entscheidende Grund, warum GNU/kFreeBSD seinen alten Status verloren hat, ist die zu geringe Anzahl an aktiven Entwicklern und vielleicht vermag dieser Artikel das Interesse zu wecken, sich etwas mehr mit dieser Debianvariante auseinander zu setzen.

Warum GNU/kFreeBSD?

Brauche ich einen FreeBSD-Kernel, wenn Debian mit dem Linux-Kernel schon tadellos auf meinem Rechner läuft. Vermutlich ist die Antwort "eher nicht" aus den gleichen Gründen, warum FreeBSDler nicht zu Linux wechseln. Es ist diese Mischung aus Gewohnheit und der Tatsache, dass man mit beiden sowohl Desktop- als auch Serveraufgaben erledigen kann. Was GNU/kFreeBSD jedoch interessant macht ist die Tatsache, dass es zwei verschiedene Welten miteinander verbindet und was in der einen nur sehr schwierig oder gar nicht funktioniert, lässt sich mit dieser Kombination, FreeBSD-Kernel aber Debian-Paketsystem und Systemwerkzeuge, möglich machen.
Die Entwickler geben im Debian-Wiki die Antwort auf die Warum-Frage. Aus meiner Sicht am interessantesten sind:

  • Die Möglichkeit Jails zu benutzen, die man am besten mit OpenVZ bei Linuxsystemen vergleichen kann. Für Systemadministratoren bieten sie ein zusätzliches Sicherheitsmerkmal und die Möglichkeit Prozesse "einzusperren" und so eine weitere Barriere für Angreifer zu schaffen. Wie in einer Chroot-Umgebung unter Linux ließe sich aber auch ein Debian GNU/kFreeBSD unter FreeBSD betreiben und natürlich auch umgekehrt.
  • Das 128-bit-Dateisystem ZFS, das theoretisch so viel Speicherplatz bietet, dass die zum Betrieb notwendige Energiemenge alle Ozeane der Welt verdampfen könnte.  Wie man sich schnell denken kann, wurde es vor allem für den Einsatz in Rechenzentren mit immens vielen Daten konzipiert. Auf handelsüblichen Rechnern lässt es sich natürlich auch verwenden, setzt aber mindestens 1 GB RAM voraus, besser 2 GB oder gar mehr. Am ehesten lässt es sich mit btrfs vergleichen, wobei es jedoch schon deutlich länger produktiv zum Einsatz kommt. Größtes Hindernis für einen Einsatz auf Linuxsystemen ist die CDDL-Lizenz des Dateisystems, die leider inkompatibel mit der GPL-Lizenz des Linuxkernels ist. Das OpenZFS-Projekt versucht unter anderem dieses Problem zu lösen. Mit dem FreeBSD-Kernel gibt es aufgrund der liberalen BSD-Lizenz keine Probleme.
  • GNU/kFreeBSD benutzt die gleichen Debianpakete, die sich auch beim Linuxpendant finden lassen. Sie lassen sich genauso installieren und verwalten wie man das schon von Debian GNU/Linux gewohnt ist. FreeBSD bietet mit den Ports und seinem neuen Paketmanager pkg ebenfalls einfache Hilfe beim Installieren, jedoch muss man als Benutzer permanent die neuste Upstream-Version installieren, da sich der Support auf das Kernsystem beschränkt. Sicherheitsupdates für GNOME 3, Apache oder LibreOffice als stabile Version für drei oder sogar fünf Jahre, gibt es bei FreeBSD nicht.

Installation und erste Erfahrungen

Am einfachsten lässt sich FreeBSD zur Zeit mit dem "Test-Image" von Steven Chamberlain installieren, der maßgeblich die Entwicklung von GNU/kFreeBSD vorantreibt. Sehr wahrscheinlich wird es in den nächsten Monaten auch wieder ein offizielles Abbild auf debian.org zu finden geben. Ich empfehle entweder die Installation auf einem älteren, unbenutzten Rechner 😉 oder ihr probiert das Ganze mit Qemu aus.
Vor drei Jahren hatte ich zuerst die Qemu-Variante gewählt und anschließend das Ganze auf meinen "neuen" Lenovo-X200-Laptop transplantiert, es geht aber wohl auch einfacher. Danach funktioniert die Installation weiterer Pakete genauso wie unter Debian GNU/Linux. Meine alten Anleitungen sollten hier immer noch weiterhelfen können. Wer GNU/kFreeBSD auf etwas älteren Rechnern mit wenig Arbeitsspeicher verwenden will, sollte besser das ufs-Dateisystem wählen, was einen deutlichen Performanceschub verspricht.
GNU/kFreeBSD 1
Ich selbst teste gerne mit Lightdm als Displaymanager und Mate (alias Gnome 2). Andere Desktopvarianten sollten auch funktionieren, wobei man bei den großen wie Gnome 3 und KDE jedoch Abstriche hinnehmen und ggf. einen anderen Displaymanager wählen muss. Das gesamte System "fühlt" sich nicht viel anders als unter Linux an. So lässt sich zum Beispiel der Befehl lsmod weiterhin benutzen, das entsprechende Kommando von FreeBSD lautet kldstat. Bekannte Software wie Firefox und VLC funktionieren ohne Probleme und lassen sich mit apt install firefox vlc installieren. Neu und anders sind die Gerätebezeichnungen für Festplatten oder Netzwerkkarten, einige bekannte FreeBSD-Werkzeuge fehlen oder wurden durch die GNU-Alternativen ersetzt.
GNU/kFreeBSD 2
Einige Anlaufschwierigkeiten hatte ich bisher nur mit dem Grafikartentreiber und manchmal startete ein Spiel nicht. Ich denke, das sind Fehler, die sich durch mehr Benutzer schneller finden und beseitigen ließen. Oft wäre es auch möglich beim FreeBSD-Projekt nach Patches zu suchen. Insgesamt ist GNU/kFreeBSD deutlich weiterentwickelt als dies z.B. beim GNU/Hurd-Port der Fall ist, dies sollte jedoch nicht darüber hinwegtäuschen, dass sich die Pakete nur aus "unstable" installieren lassen und damit mit Vorsicht zu genießen sind. Zum Testen und Ausprobieren reicht es allemal. Um den Vergleich abzurunden, empfehle ich ebenso einen Blick auf FreeBSD zu werfen, das demnächst Version 10.3 veröffentlichen wird.

KeePassX 2: Ein sicherer und übersichtlicher Passwortverwalter

Einst gehörte ich zu den Leuten, die sich ihre Passwörter anhand mehr oder weniger komplizierter Sätze gemerkt haben, wie z.B. Captain Jack Sparrow ist ein Pirat im Film Fluch der Karibik aus dem Jahr 2003 alias CJSiePiFFdKadJ2003. Das Ganze klappte eine Weile ganz gut, zumindest solange ich mir nur eine Handvoll Kennwörter für "wichtige" Seiten merken musste. Für den Rest genügte ja auch das Standardpasswort. Die Probleme hierbei sind offensichtlich: Erstens, warum selbst für weniger wichtige Seiten immer ein und dasselbe Kennwort verwenden und zweitens, was macht man, wenn man sich plötzlich bei mehr als siebzig verschiedenen Seiten anmelden muss, sei es ein Wiki, Forum oder der Bugtracker von Projekt XYZ.
Die Lösung ist ein Passwortmanager wie KeePassX. Das Programm ist mit Hilfe der Qt-Bibliothek geschrieben worden, funktioniert betriebssystemübergreifend und natürlich gibt es hierfür auch ein Debian-Paket. Das Grundprinzip ist einfach. Alle Kennwörter, URLs, Namen und Notizen werden in einer Datenbank gespeichert, nicht mehr als eine simple Datei, und entweder mit dem AES- oder Twofish-Algorithmus verschlüsselt.

KeePassX
Passwörter lassen sich in Gruppen einteilen und zum Beispiel in Internet oder Bank kategorisieren. Mit der Option "Neuen Eintrag hinzufügen" können dann der Titel des Eintrags, der Benutzername, URL, Notizen und natürlich das Passwort hinzugefügt werden. Um das Auffinden später zu erleichtern, lässt sich jedem Titel noch ein besonderes Symbol zuordnen. Praktischerweise bietet KeePassX einen Passwortgenerator an, mit dem sich per Schieberegler und Kontrollkästchen bis zu 99 Zeichen lange Kennwörter erstellen lassen, die aus Groß- und Kleinbuchstaben, Zahlen und Sonderzeichen bestehen können. Nie wieder identische oder leicht zu erratende Passwörter.

KeepassX - neuer Eintrag

Nun muss man sich nicht mehr alle Anmeldedaten für Amazon, ebay, Bank X und sein eigenes Weblog merken oder an anderer Stelle unsicher aufbewahren, es genügt ein einziges Masterpasswort, um die Datenbank zu öffnen und die Daten für den jeweiligen Account aufzurufen. Meistens genügt es im Suchfeld die ersten Buchstaben des Titels einzugeben, mit der linken Maustaste den Eintrag hervorzuheben und dann entweder die Kombination STRG+B für den Benutzernamen oder STRG+C für das jeweilige Passwort zu benutzen. Die Information findet sich danach im Zwischenspeicher wieder und kann mit STRG+V in jedes Formular wieder eingefügt werden.
Dazu hilft mir KeePassX noch die Übersicht zu behalten, wo ich mittlerweile überall einen Account habe. Die GUI ist übersichtlich und kompakt und besonders viel Ressourcen braucht das Programm auch nicht. Als zusätzliche Sicherheitsmaßnahme empfehle ich die Datenbankdatei regelmäßig zu sichern. Wenn man diese noch mit GnuPG zusätzlich verschlüsselt und z.B. auf seinen vServer als Backup hinterlegt, muss man sich um die Sicherheit seiner Passwörter keine Gedanken mehr machen.

My Free Software Activities in February 2016

My monthly report covers what I have been doing for Debian. I write it for Debian's Long Term Support sponsors but also for the wider free software community in the hope that it might inspire people to get more involved with Debian or free software in general.

Debian LTS

This was my first month as a paid contributor and I have been paid to work 11,25 hours on Debian LTS. During this month I worked on the following things:

  • Released DLA-410-1 for OpenJDK 6 fixing eight CVEs.
  • Released DLA-418-1 for WordPress fixing two CVEs.
  • Released DLA-422-1 for python-imaging fixing one CVE and a second buffer overflow in PcdDecode.c. I also helped to fix these issues in Wheezy and Jessie and sent the patches to Debian's Security Team. This resulted in the release of DSA-3499-1.
  • Released DLA-435-1 for Tomcat 6 fixing six CVEs.
  • Released DLA-441-1 for pcre3 fixing one security vulnerability. A CVE had not been assigned but this issue is also known as ZDI-CAN-3452.
  • Released DLA-443-1 for bsh fixing one CVE. I fixed this issue for all versions of bsh. A DSA is still pending.
  • Since February was also the last month of support for Debian 6 "Squeeze" I looked for packages that had been fixed in Squeeze but not in Wheezy. I discovered that Lighttpd was still affected by CVE-2014-3566 aka the "POODLE" attack. Although SSLv3 could be disabled it was still enabled by default. After consulting the Debian Security Team we disabled SSLv3 by default and released DSA-3489-1
  • Backported versions 6.0.41 and 6.0.45 of Tomcat 6 to fix all open security vulnerabilities in Wheezy. At the moment I am waiting for the green light from the Security Team.

Debian Android

I have been paid by the Guardian Project to package apktool and android-platform-tools-base. Apktool is a tool for reverse engineering Android apk files while android-platform-tools-base includes the Android Gradle Plugin and several tools and libraries for developing Android software. Unfortunately I discovered that LEDataInputStream.java in apktool was covered by a non-free license. I had to remove this class and thus the tool is currently broken. I am aware of this and I reported this issue to upstream as #1166. I hope I can resolve this problem together with them this month. In order to package the software above I also had to package the following build-dependencies: gradle-jflex-plugin, intellij-annotations and lombok-patcher. I am still working on getting lombok-ast into Debian for which the lombok-* packages were a precondition. These packages were non-trivial because ivyplusplus, lombok and lombok-patcher depend on each other. In addition they failed to build with OpenJDK 8 due to the use of older classes from OpenJDK's tools.jar.  I fixed ivyplusplus and lombok which were both broken and updated proguard, trove3 and jflex to simplify the packaging of android-platform-tools-base and apktool by providing Maven artifacts.

Debian Java

  • libjide-oss-java. Packaged new upstream release 3.6.13+dfsg-1.
  • Netbeans. Packaged Netbeans 8.1+dfsg2-1. I could finally fix the HTML 5 parser runtime error (#809256) because libhtml5parser-java, which I had packaged last month, got accepted into Debian. I also fixed a FTBFS due to a change in svnclientadapter.
  • jgit. I disabled the tests as a workaround to fix a FTBFS. (#812643) I intend to package the latest upstream release in the near future. I hope it does not break as many reverse-dependencies as usual.
  • libslf4j-java. Updated the package to fix a Netbeans runtime error.
  • tomcat6. Packaged new upstream release 6.0.45+dfsg-1.

Debian Games

  • simutrans, simutrans-pak64, simutrans-pak128.britain. I sponsored new upstream releases of simutrans which were prepared by Jörg Frings-Fürst.
  • extremetuxracer. I packaged the latest upstream release 0.7.1. Eventually I decided to upload this version to unstable and to replace the 0.4 series because upstream ships the extra courses too now. They were once part of tuxracer-extras and had to be converted to a new data format. Since tuxracer-extras was obsolete, I requested its removal from Debian. (#814604)
  • freeciv. Packaged version 2.5.3 that fixed two bugs in FreeCiv's Qt client. (#813107, #813218) I also backported this version to Debian Jessie.
  • debian-games. I released the latest version of the Debian Games Blend. I recommended four new games: edgar, a 2D platformer, ufoai, a squad-based tactical strategy game, zoom-player, a player for Z-Code stories or games and endless-sky, a space exploration and combat game. The Free Software Foundation recently interviewed Michael Zahniser, the developer of endless-sky, because he uses the GPL for his work.
  • corsix-th. I sponsored corsix-th, an open source clone of Theme Hospital. This package was prepared by Alexandre Detiste. You still need the original game data from Theme Hospital to play the game. That is the reason why I had to upload it to contrib. If you own a copy of the game yourself, you can use game-data-packager to create a Debian package for the data.

Misc

  • osmo. Osmo's internal backup feature was broken on i386 systems. In fact it always produced the same empty file with seize 50 byte. I reported this issue upstream and Maxim Gordienko provided a patch. This issue (#813414) was fixed in version 0.2.14-4. I also uploaded a fixed version for Jessie after I got the permission from the Debian Release Team.  (#815469)

Drei Jahre in (fast) 1000 Worten

Debian-Logo

Debian-Logo
Es war einmal in einem anderen Universum, da war ein Schreiber dessen Feder in den letzten drei Jahren täglich neue und gefeierte Artikel entsprangen. Er lebte in Reichtum und Überfluss bis ihn sieben betrunkene Zwerge für seine Lügen vermöbelten. Das Ende.
Zurück in der Wirklichkeit, wer kann sich noch an diesen Artikel erinnern. Ich beinahe schon nicht mehr. Zwischen diesem 3. Oktober 2012 und dem heutigen Tag hat sich viel Neues in Sachen Debian zugetragen, Zeit das ganze Mal Revue passieren zu lassen. Damals wollte ich endlich aktiv zum Beseitigen von Bugs und Fehlern in Debianpaketen beitragen und der Zeitpunkt war günstig, da Debian 7 "Wheezy" gerade eingefroren worden war, die Fehlerbeseitigung oberste Priorität hatte und es nur noch ein paar Monate bis zur nächsten Veröffentlichung dauern konnte. Dachte ich zumindest.
Der sogenannte "Freeze" zog sich zehn Monate hin und erst am 4. Mai 2013 war es endlich soweit und Wheezy wurde die neue stabile Version von Debian. Die lange Wartezeit hängt mit Debians Philosophie zusammen nur dann zu veröffentlichen "wenn es fertig ist", will heißen, alle veröffentlichungskritischen Fehler müssen behoben worden sein und dieser Ansatz gilt darüber hinaus noch für alle Pakete. Selbst eher unscheinbare Software konnte also die Veröffentlichung verzögern. Ehrlich gesagt, ab Januar 2013 war es selbst für die meisten Debianentwickler kaum noch möglich die Probleme zu lösen, ohne dabei weitreichende Entscheidungen wie das komplette Entfernen eines Pakets zu treffen. Es machte sich etwas Unmut breit und wieder einmal kamen die alternativen Modelle Debian zu veröffentlichen ins Gespräch.
In Anbetracht dieser eher außergewöhnlichen Wartezeit hat Debians "Release Team" ein paar Veränderungen auf den Weg gebracht. Es gibt nun einen neuen Automatismus, wobei "unbedeutende" Softwarepakete (sogenannte leaf packages) automatisch aus der Testing-Distribution entfernt werden, wenn veröffentlichungskritische Fehler nicht in einem bestimmten Zeitraum repariert worden sind. Handelt es sich dabei um Bibliotheken können auch ansonsten fehlerfreie Pakete, die von diesen abhängen, ebenfalls entfernt werden. Dadurch erhöht sich natürlich der Druck für Betreuer auch die Software in Schuss zu halten, von der das eigene Paket abhängt. Zum anderen können einzelne Maintainer das gesamte Projekt dadurch nicht mehr in "Geißelhaft nehmen" und somit die Veröffentlichung verzögern.
Mitte 2013 war ich schon seit einigen Monaten Mitglied im Debian Games Team. Ausschlaggebender Grund, warum ich gerade hier den Einstieg gewählt habe, war mein Interesse an freien Spielen, mein Projekt linuxiuvat.de war damals erst einige Monate alt, sowie der Wunsch aktiv in Form von Debianpaketierung mitzuhelfen. Außerdem, wenn man frei entscheiden kann, sind Spiele sicherlich nicht die langweiligste Freizeitbeschäftigung. Leider klappte es innerhalb des Teams nur äußerst selten mit dem sogenannten Sponsoring, also dem Sichten von eingebrachten Verbesserungen und dem Hochladen der Softwarepakete. Immer wieder war ich auf "externe" Debianentwickler angewiesen. Mein besonderer Dank gilt hier insbesondere Adrian Glaubitz, Tony Mancill, Emmanuel Bourg, Miguel Landaeta, Guido Günther, Vincent Cheng, Gregor Herrmann und vielen, vielen weiteren, die meine Pakete begutachtet und schließlich hochgeladen haben.
Des weiteren verschlug es mich in das Debian Java Team, anfänglich weil ich "Sponsoren" für Mediathekview und dessen neue Abhängigkeiten suchte, später weil mir der freundliche Umgangston gefiel und ich viel Neues in Bezug zu Java und Debianpaketierung dazulernen konnte.
Schnell begann ich immer mehr Pakete zu betreuen. Einen guten Überblick, was ich gerade so für Debian mache, liefert diese Paketübersicht oder speziell für den Bereich "Debian Games" diese Statistik. (Hier ist also die Zeit fürs Bloggen flöten gegangen...) Die meisten Pakete pflege ich bis heute innerhalb der bereits genannten Teams, weil sich dadurch Synergieeffekte ergeben und es einfach mehr Spaß macht. Dringend gebraucht werden mehr aktive Mitglieder, das gilt sowohl für das Spiele- als auch das Java-Team! Einige verwaiste und notleidende Pakete habe ich auch übernommen darunter Mediathekview, wbar, Xarchiver, Osmo und iftop.
Mit debian-games habe ich den ersten Schritt zu einem "Debian Pure Blend" gemacht. Ich fand es schon immer recht mühselig Spiele für eine bestimmte Zielgruppe oder Kategorie zu finden und diese Metapakete (Tasks) machen es einfach sich sämtliche Strategie-, Schach- oder Kartenspiele bequem auf den Computer zu installieren.
Bei all den Ideen, die ich hatte und bei all der Arbeit, die ich meinen Sponsoren dadurch machte, war es nur konsequent, dass ich mich als Debian Maintainer (DM) bewarb, nachdem zuvor mein GPG-Schlüssel von zwei Debianentwicklern, Anselm Lingnau und Christoph Martin, signiert worden war. Im November 2013 war easymock das erste Paket, das ich eigenständig hochladen durfte. Ein spektakulärer Prozess, der ungefähr 1,2431 Sekunden gedauert hat, da EasyMock nicht besonders groß ist. Nach und nach erhielt ich Upload-Rechte für mehrere Dutzend weitere Pakete. Ein Jahr später ging ich dann den nächsten Schritt. Ich bewarb mich als Debianentwickler (DD). Während DMs nur solche Pakete hochladen können, für welche sie entsprechende Rechte von DDs bekommen haben, können Debianentwickler alle Pakete hochladen und an wichtigen Abstimmungen teilnehmen. Sie sind offizielle Projektmitglieder. Die Gerüchte sind wahr, der Auswahlprozess dauert lange und ist mit lebensgefährlichen Prüfungen gespickt. 😉
Im Oktober letzten Jahres war es dann soweit und nun bin ich Debianentwickler. Ich bin immer noch hauptsächlich im Java- und Spielebereich aktiv, jedoch gibt es auch andere Teams, bei denen ich mitwirke. Im letzten Jahr war ich Debian-Mentor für ein Google-Summer-of-Code-Projekt im Android-Bereich, dass sich gut mit Java verbinden ließ. Dieses Jahr werde ich auch wieder als Mentor dabei sein. Darüber bin ich in Kontakt mit dem Guardian Project gekommen, für welches ich apktool und android-platform-tools-base nach Debian gebracht habe. Dies war meine erste bezahlte Arbeit für Debian, über die ich in Kürze noch ein paar mehr Worte verlieren möchte.
Zu guter Letzt bin ich auch Mitglied im Debian Long Term Support Team, wofür ich letzten Monat dank der Sponsoren 11,25 Stunden arbeiten durfte. Auch hier folgt bald ein Bericht. Nicht wundern, wenn Artikel nun ab und zu auch in Englisch erscheinen, da dies die einzige Möglichkeit ist alle Debianentwickler und -freunde zu erreichen. Oder wie es ein Freund ausdrückte, manche meiner alten Artikel seien zu "hardcore". Wie kann man nur cowbuilder, eatmydata und ccache nicht mögen. 🙂
Ich habe mir auch fest vorgenommen wieder über "alte Hardware" zu bloggen. Versprochen ist versprochen.

MediathekView 3.2: Neues Release für Debian verzögert sich wegen des neuen Mac-Designs

Das neue Jahr hatte mit dem guten Vorsatz begonnen öfter mal kleinere Artikel zu schreiben und wie das mit guten Vorsätzen so ist, waren sie dann auch schon kurze später wieder vergessen und man war wieder im alten Trott gefangen.
Dass ich nicht nur Müßiggang betreibe, sondern einfach nur das Schreiben mit ein paar Aufgaben für Debian getauscht habe, will ich mit diesem kleinen Bericht zur aktuellen Version von MediathekView beweisen, dem Betrachter für die Mediatheken des deutschsprachigen Fernsehens.
130321_MediathekView_3_2

Eine neue Version

Die neue Version 3.2 von MediathekView erschien vor zwei Tagen und brachte vor allem als neues Feature eine "Blacklist", mit der es möglich ist Sendungen und Abonnements herauszufiltern, die man nicht angezeigt bekommen möchte. Das ist vor allem für viele Trailer nützlich, deren Datum in der Zukunft liegt und die trotzdem bisher in der allgemeinen Übersicht angezeigt wurden.
Ebenso auffällig ist die neue Filteransicht, die sich z.B. durch Drücken von F8 aus- und einschalten lässt. Nun lässt sich die gesamte Filmliste, wie in der Adressleiste von Webbrowsern gewohnt, schon durch die Eingabe von einzelnen Buchstaben durchsuchen. Außerdem wurde mit der neuen Version eine optische Auffrischungskur eingeleitet, so dass sich das Design nun mehr an MacOSX orientiert.

Alles Aqua?

Murren und Knurren oder doch eher Jubel? Ich bin anfangs skeptisch gewesen, da die Veränderungen hauptsächlich für Mac-Benutzer zu sehen sind, jedoch werden davon langfristig alle profitieren, da ein neuer Entwickler zum Projekt hinzugestoßen ist, der die UI für alle verbessern möchte.
Obwohl ich die Entwicklung von MediathekView regelmäßig verfolge und auch im dortigen Forum aktiv bin, hat mich der Umfang der Veränderungen "unter der Haube" doch überrascht. Mir ist erst letzte Woche bewusst geworden, dass einige neue Abhängigkeiten, sprich Java-Bibliotheken, hinzugekommen sind. Das ist nichts Schlechtes, sondern erspart viel Entwicklungszeit, da man das Rad nicht wieder neu erfinden muss. Problematisch für mich als Betreuer des Pakets wurde es nur, als ich feststellte, dass noch niemand JIDE Common Layer (jide-oss) für Debian gepackt hatte.
Die Firma Jidesoft hat vor sechs Jahren Teile ihres ehemals proprietären Rahmenwerks für Java-Swing-Komponenten unter eine freie Lizenz gestellt und bietet mehr als 30 Komponenten und Werkzeuge an, damit komplexe Java-Anwendungen erstellt werden können. Das Angebot reicht von Buttons und Schiebereglern, über die Taschenrechnerkomponente, über Funktionen die Systeminformationen abgreifen bis hin zum Autocompletion-Feature und der SearchBar.
Als erstes stellte ich dann fest, dass die Lizenz nicht GPL-3 war, obwohl im Git-Repo von MV so ausgewiesen, sondern tatsächlich GPL-2 mit Classpath Exception. Eigentlich egal, GPL ist GPL, oder? Leider nein. GPL-3 und GPL-2 sind nicht kompatibel. Nach einiger Diskussion im Forum kamen wir jedoch zur Überzeugung, dass uns (mich) der Zusatz "mit Classpath Exception" rettet, weil es dadurch möglich wird MediathekView rechtmäßig gegen diese Bibliothek zu linken. Ansonsten hätte das Programm nicht in Debian erscheinen können. Umgehen lässt sich das Lizenz-Dilemma mit der GPL, indem man den Nutzern die Möglichkeit gibt, auch jede spätere Version der GPL nutzen zu dürfen. Das muss aber explizit in der Lizenz erwähnt sein, war aber hier nicht der Fall.
Ursprünglich sollte dem Programm auch nur die Jar-Datei von jide-oss beiliegen, also der schon übersetzte Bytecode der Bibliothek. Das widerspricht jedoch auch Debians Gesellschaftsvertrag, wir brauchen den Quellcode, so dass in der neuen Version auch dieser MediathekView beizufügen wäre. Der "saubere" Weg besteht jedoch darin Bibliotheken in separate Pakete auszulagern und extra zu packen. Im Klartext: Ich hatte mich gerade freiwillig als Maintainer für ein weiteres Javapaket gemeldet. 😉
Das neue Paket habe ich vergangene Woche auf der Mailingliste debian-java vorgestellt und kurz darauf auch darum gebeten dieses neue Paket in das Archiv hochzuladen. Natürlich kann das noch eine Weile dauern. Selbst wenn es augenblicklich passieren würde, müsste es erst mal durch die sogenannte Warteschlange für neue Pakete und von den FTP-Mastern gesichtet werden.
Ich erspare euch an dieser Stelle die Geschichte davon, wie ich den Code von Jide-OSS nach potentiellen Lizenzproblemen gescannt habe. Neben der allgemeinen Lizenz, GPL-2 with classpath exception, stehen Teile des Codes nämlich noch unter der BSD-, LGPL-2.1-, Apache-1.1- und Zlib-Lizenz.
Kurzum es wird wegen dieser neuen Bibliothek etwas länger bis zum Debian-Release dauern, jedoch verpasst ihr nicht allzu viel, wenn ihr noch Version 3.1 benutzt.
Wer mit Git nicht auf Kriegsfuß steht kann sich libjide-oss-java und MediathekView direkt aus dem Git-Repository herunterladen.
git://anonscm.debian.org/pkg-java/libjide-oss-java.git
git://anonscm.debian.org/collab-maint/mediathekview.git
Für alle, die nicht warten wollen, lassen sich Pakete hier herunterladen. Der Link verschwindet nach dem offiziellen Release wieder.

Installation

Installieren lässt sich MediathekView 3.2.1 dann mit

dpkg -i mediathekview_3.2.1-1_all.deb libjide-oss-java_3.5.3+dfsg-1_all.deb
aptitude install libmac-widgets-java libswingx-java libjgoodies-forms-java libcommons-compress-java libcommons-lang3-java