Xarchiver 1:0.5.2+20130119+dfsg-1 oder warum es (noch) keinen XZ-Support gibt

So, ich habe fertig. Nachdem ja nun MediathekView 3.1.0 schon seit zwei Wochen in Debian Unstable ist, kann ich nun auch vermelden, dass es Xarchiver in die sogenannte NEW-Warteschlange geschafft hat und somit auf dem Sprung ist nach Debian Unstable zu kommen. Dazwischen gab es noch einige weitere Erfolge zu vermelden, aber der Reihe nach.
Debianer hatte mich irgendwann so weit gebracht, dass ich Lust hatte mir Xarchiver näher anzuschauen und zuerst ein Paket mit geringen Änderungen, aber dem wichtigen Bugfix für den "7z-Crash" erstellt hatte. Nur wenige Stunden später hatte ich auf der Mailingliste "debian-mentors" einen Sponsor gefunden. (was leider nicht immer so schnell geht).
Es dauerte jedoch noch einen weiteren Monat und bedurfte einer weiteren E-Mail an das Debian-MIA-Team bis Xarchiver freigegeben wurde und ich es "adoptieren" durfte. Frisch ans Werk gemacht und mir die Bugs angeschaut, die ich in diesem Artikel schon näher vorgestellt hatte.
Die gute Nachricht ist, dass das Paket nun "lintian clean" ist, ein etwas geekiger Begriff, den man nur wirklich kennen muss, wenn man Pakete in das offizielle Archiv hochladen will. Da er sich auf das Innere eines Pakets bezieht, bekommt man als normaler Benutzer von einem nicht debiankonformen Paket selten direkt etwas mit. Die wichtigste Verbesserung in dieser Hinsicht: Das Paket ist nun gehärtet, was es einem Angreifer deutlich schwerer macht bestimmte Schwachstellen von C-Programmen auszunutzen.
Mehr ins Auge fallen dann Veränderungen wie diese hier:


Von links nach rechts: Anstatt eines leeren Flecks gibts nun wieder ein HTML-Symbol. Das alte musste entfernt werden, weil es angeblich unfrei war. Da mir der leere Fleck nicht gefiel, habe ich ein Symbol aus einem freiem Icon-Thema genommen und einfach eingebaut. Die Antwort auf die Frage, woher das Ding nun kommt, findet sich im Changelog.
Xarchiver ist von xfce.org nach sourceforge.net umgezogen. Der Link im zweiten Bild macht das deutlich.
Nr. 3: Der Autor von Xarchiver wollte Sponsoren eine Möglichkeit einräumen bei getaner Spende in Xarchiver mit einem Link verewigt zu werden. Dazu kam es scheinbar nie und der Spenden-Link blieb leer. Ich habe mir einen Patch von Fedora gekrallt und das verwaiste Menü herausgepatcht und durch einen simplen Menüpunkt "Donate" ersetzt. Den habe ich noch so angepasst, dass er auch tatsächlich auf die neue Internetpräsenz führt und siehe da, so siehts nun aus. Durch einen Klick kommt man nun tatsächlich auf die Seite, wo man mit Geld oder Progammierleistungen das Projekt wieder ankurbeln kann.
Ok, das waren nun nicht die Änderungen, für die man tief in den Dukatenbeutel greifen würde. Interessanter, jedoch ebenso unsichtbar, ist die Neuerung, dass nun alle Arten von Tar-Archiven sich öffnen lassen, also auch Archive, die nicht im UStar-Format erstellt worden sind. Toll. Das wird den allerwenigsten je auffallen, da Debian nur Tar-Archive in UStar produziert.
Womit wir bei Patch Nr. 5 wären, (ja richtig, für jedes Problem, ein Patch 😉 ). Xarchiver hat Probleme mit Dateien oder Verzeichnissen, die Leerzeichen im Namen tragen. Siehe auch #697493 Im Grunde genommen hatte der Autor alles richtig gemacht, jedoch an zwei Stellen die gleiche Überprüfung auf Sonderzeichen gemacht, weswegen sich das dann praktisch ins Gegenteil verkehrt hatte.
Normalerweise würde ich sagen, wer Dateien mit Leerzeichen anlegt, verdient es nicht besser, aber natürlich kann ich so etwas nicht in einen Fehlerbericht schreiben. 😛
Spaß beiseite, das war natürlich ein berechtigter Fehlerbericht und ich hoffe mit der neuen Version ist das nun behoben. Der Patch dazu stammte übrigens vom OpenSuSe-Projekt.
XZ-Support hat es leider nicht in die nächste Veröffentlichung geschafft, weil der kursierende Patch meiner Meinung nach noch viel zu buggy ist. Da war der nächste berechtigte Fehlerbericht schon vorprogrammiert. Ich hatte zwar die Möglichkeit Dateien in Xarchiver umzubenennen oder zu löschen herausgepatcht, jedoch waren diverse Optionen für die Kommandozeile auch noch nicht fit für XZ, weswegen ich es dann erst einmal aufgegeben habe.
Das ist der momentane Patch. Verbesserungen erwünscht!: add-xz-support.patch
Ich vermute, dass Xarchiver noch ein paar Wochen in der Warteschlange verbringen wird, worin es überhaupt nur gelandet ist, weil ich mich dafür entschieden habe ein Debug-Paket bereit zu stellen. Da die Entwicklung von Xarchiver ziemlich eingeschlafen ist, kann es gut sein, dass ich dieses Paket in Zukunft zur Fehlersuche noch öfter brauchen werde.

Xarchivers Zukunft: Wie es nach der Problemerkennung weiterging

Im vergangenen November hatte ich einen Beitrag veröffentlicht, in dem es um die Problemerkennung bei Debianpaketen ging. Im Mittelpunkt stand dabei Xarchiver. Nachdem offensichtlich niemand von euch da draußen gierig genug darauf war Bugs zu fixen, habe ich mich an die Beseitigung derselben gemacht. Da ich immer in privaten Mails "bedrängt" wurde, blieb mir auch nichts anderes übrig. 😛 Zugegeben nachdem ich mir das Paket eine längere Zeit angesehen hatte, dachte ich mir, komm, das versuchst du jetzt einfach.
Der Patch um den 7z-bug zu beseitigen, stellte sich tatsächlich als Einzeiler heraus. Mein herzlicher Dank geht an Debianer, der nicht nur auf das Problem hingewiesen hat, sondern auch den Patch dazu entdeckt hat. Des weiteren wurde noch der MIME-Type-Eintrag in der .desktop-Datei entfernt und die Paketbeschreibung ausgebessert und schon waren zwei weitere kleine Bugs, #656301 und #692261 beseitigt.
Die Suche nach einem Sponsor hat danach nur wenige Stunden gedauert und das Paket konnte hochgeladen werden. In vielerlei Hinsicht gleicht Debian mehr einem Supertanker als einem wendigen Schnellboot. Die Suche nach einem Debianentwickler kann insbesondere während des "Freeze" zur Herausforderung werden. Zum Glück trifft das nicht auf veröffentlichungskritische Fehler zu. Hier funktioniert das System ausgezeichnet, vorausgesetzt jemand findet sich um den Fehler zu beseitigen.
Wie ich schon andeutete, war es ziemlich offensichtlich, dass der Betreuer das Paket gar nicht wirklich betreute. Ich schrieb im Dezember eine Mail an das MIA-Team, die solchen Fällen nachgehen und erhielt zuerst keine Antwort. Ich probierte es vor einigen Tagen nochmal und erhielt prompt eine von Ricardo Mones. Für ihn war der Fall klar und nach zwei Stunden wurde Xarchiver freigegeben und nun mache ich mich daran eine neue Version zu erstellen.
Xarchiver
Ich habe mir vorgenommen einige der Bugs, die lösbar scheinen, auch tatsächlich zu lösen. Das wären z.B.

  • xarchiver: fails to open pre-posix tar files
    Der Hintergrund ist, dass Xarchiver Tar-Archive anhand einer sogenannten Magischen Zahl erkennt. Das sind spezielle Werte, mit denen sich Dateien am Dateianfang ausweisen. Es gibt tatsächlich mehrere Tar-Formate und nur das ustar-Format wird unterstützt. In der Regel werdet ihr davon nichts mitbekommen, weil Debians tar genau dieses Format produziert, greift ihr aber auf ein Archiv in einem anderen Format zu, tja...
  • xarchiver: Unusuable GUI on eeePC
    Hat einer von euch schon mal einen eeePC besessen und darauf dann Xarchiver laufen lassen? Also ich noch nicht. Scheinbar werden Dateimenüs viel zu groß dargestellt, weswegen das Programm auf sehr kleinen Bildschirmen unbenutzbar wird. Ich denke, ich teste das irgendwann mal auf dem Toshiba Portégé 3110CT.
  • xarchiver: crashes when using drag'n'drop
    Den Bug kann ich hier bestätigen. Versucht man eine Datei von Xarchiver in den Dateimanager PCmanFM herüberzuziehen, crasht Xarchiver. Das scheint aber eher an PCmanFM zu liegen. Leider benutzt Debian hier eine ältere Version, die noch viele Bugs aufweist und 1.0 hat es nicht mehr nach Wheezy geschafft. File Roller hat übrigens die gleichen Probleme mit PCmanFM, stürzt zwar nicht ab, sperrt aber bei mir den Desktop, was nicht minder ärgerlich ist.

Die restlichen Bugs sind so lala.
xarchiver: doesn't respect $TMP ist, pardon, ziemlicher Quark, weil Xarchiver sogar eine Extraoption anbietet, um das TMP-Verzeichnis zu definieren.
xarchiver: executes arbitrary files in archives klingt erstmal ziemlich wild. Jedoch scheint das ein Bedienungsfehler zu sein, denn bei mir wird bei einem klick auf ausführbare Dateien der Texteditor geöffnet, genau was zu erwarten war.
Mein großes Ziel für Jessie wäre einen Patch zu finden, der XZ-Kompression in Xarchiver ermöglichen würde. *wink mit dem Zaunpfahl* Also immer her damit. 🙂
Edit 07.01.13: gefunden