Rolling Releases vs Standard Long Term Supported (LTS) Releases

In this post, I would like to express some thoughts on GNU/Linux distribution release models, in the occasion of the newly released Debian 9 Stretch today. To make the post as short as possible, I suppose readers are familiar with rolling and stable/frozen distributions.

Personally, I was a long Archlinux user. Arch is the pioneer GNU/Linux rolling distribution. I have been using Arch for more than 4 years. I have had many systems breakage after some upgrades. One of them, I don’t remember at which point, left me with an unbootable system. I had to liveboot to fix things up. Not really fun!

I have switched to Debian since about two years ago. Debian is on the other hand the exact opposite of Archlinux, it follows a stable release cycle that are long term supported. It is very stable, but it takes the idea of frozen stable releases too far. My goal in this post is to highlight some issues related to the stable release model of Debian, for example.

Debian 9 Stretch ships Xfce version 4.12, which depends on Gtk 2. During the development cycle of Stretch, a lot of modifications has been introduced in the filechooser code of gtk 2.24.31, resulting in an unclickable wallpaper dialog on the file chooser of xfdesktop4, and thus it makes it impossible to the wallpaper folder using the dialog. A fix exists (see this this commit), and it has been applied to xfdesktop4 4.12.3-4 to fix this debian bug. Unfortunately, this has happened after Stretch freeze date! As a consequence, Stretch has been released today with this annoying bugs included. I know that the Debian Xfce package maintainer tried hard to include the fix in the release, but apparently, did not succeed.

Another example that comes to my mind from a piece of software I currently maintain, which is Tumbler. While version 0.1.90 being the development/unstable version of Tumbler, I have in the meantime released a bugfix version 0.1.32. It fixes two serious issues (see the release note) and introduces no changes at all, no features, just important fixes. Yet do users of Jessie/Stretch/Xubuntu LTS (they all include Tumbler 0.1.31) will ever get these fixes? I don’t think so.

On the hardware support part, the situation is not any better. For instance, good luck getting Canon Selphy CP1200 working under the recent Stretch release (or on Jessie). A working driver has been added to gutenprint 5.2.12, Stretch ships with gutenprint 5.2.11! You need to compile gutenprint 5.2.12 from source or install some backport/packages from Debian Sid in order to get the printer working. Do these are skills that we can expect everyone to have? On some other operating systems, developers themselves usually provide packaged version of their software for those systems. Under GNU/Linux, softwares are developed by someone and packaged by someone else. Unfortunately,  there is no “universal” distribution in GNU/Linux world, where a stable core system of GNU tools/kernel/main libraries are provided, on top of which software developers provide timely bugfixes/new hardware support updates.

What’s new in Tumbler 0.1.92

On May 15 a development version 0.1.90 of Tumbler has been released targeting Xfce 4.14, this version is a port of Tumbler from the old obsolete dbus-glib binding to the new GDBus binding. In addition to the port, on May 28, a new version of tumbler 0.1.92 has been released. In this release, I have added a plugin that supports loading thumbnailers from *.thumbnailer files. The new plugin, called tumbler-desktop-thumbnailer, loads from $XDG_DATA_DIRS/thumbnailers/ all files with .thumbnailer as extension, those are desktop files of the following form.

[Thumbnailer Entry]
Exec=/usr/bin/wine-exe-thumbnailer %i %o %u

For a detailed description of the above desktop file as well as an example of such thumbnailer please see Customizing Thunar, the thumbnailer section.

To resume, the new desktop-thumbnailer registers a list of new thumbnailers found in $XDG_DATA_DIRS/thumbnailers/ (ex. /usr/share/thumbnailers/wine.thumbnailer) into Tumbler with their respective Mime Types. These thumbnailers are executed later on files with mimetype matches the one listed in the MimeType section.

In older versions of Tumbler, adding a new thumbnailer to Tumbler for more mimetypes, involved writing a C plugin for Tumbler. With the new desktop thumbnailer this can be done using a simple script and thumbnailer desktop file!

I have written a simple script that returns a wine png image for files with mimetype “application/x-dosexec”, and here is the result!

Tumbler 0.1.32 released

I’m happy to announce a bugfix of tumbler from the stable branch (xfce-4.12). This release addresses a couple of critical bugs (#13618 and #13360) as well as other small fixes and translation updates. Users of tumbler 0.1.31 are encouraged to upgrade.

Fix a typo in tumbler.rc for the ffmpeg thumbnailer name, and the following bugfixes

#13360 don’t close GdkPixbufLoader on error (causes sigabrt)
#13618 avoid loading specialized tumbnailers twice on system with duplication path entry in $XDG_DATA_HOME (causes assertion failure)
#13240 fix typo in exif tag for image height
#13201 fix finding of libopenraw-0.1.0

Translation updates
sk: Jeremy Whiting (100%)
fr: Yannick Le Guen (100%)