Last week’s harvest
I was a bit too busy and tired to write something on my blog during the past week, but now that it is weekend again, there is room for some updates.
Flash Player Plugin
There was yet another security update for Adobe’s Flashplayer Plugin. I updated my package to the latest version. Note that if you are using my Steam Client package, you will probably have installed the flashplayer-plugin in order to see all the news in the Steam Store. If you are on a 64-bit Slackware platform with multilib, you should not just update the 64-bit flashplayer-plugin but also convert the 32-bit package into a “compat32” version and upgrade the 32-bit package you will already have installed for Steam:
# convertpkg-compat32 -i flashplayer-plugin-184.108.40.2065-i386-1alien.txz # upgradepkg --install-new /tmp/flashplayer-plugin-compat32-220.127.116.115-x86_64-1aliencompat32.txz
The kdelibs package in my ktown repository (KDE 4.10.3) has been patched to prevent application crashes. Coincidentally this patch has also been applied to the kdelibs package in slackware-current.
A nice and fast tool to discover and query dependencies between Slackware packages is sbbdep which stands for “Slack Build Binary Dependencies”. Its author, a4z, released version 0.2.0 last week. I use this tool to assist me when determining the build order of packages for my ARM port.
Speaking of which, there is an interesting thread going on on LinuxQuestions, regarding ARMedslack and the Raspberry Pi. Someone who goes by the nick “Ahau” and comments on my blog from time to time, is working on a hard-float port to the armv6 hardware platform – the heart of the Raspberry Pi. He is using my ARM source tree for this, has given me good feedback which resulted in bug fixes, and his ultimate goal is to create a new ARM version of Porteus. The most recent part of the LQ discussion centered around my decision to split the libtinfo library (terminfo) out of the libncurses(w) library. This is the ncurses developers’ intention for the future, however it causes issues when compiling software which is not querying the system properly and assuming that only libncurses(w) is required for linking.
I had nearly decided to revert my decision and integrate libtinfo again into libncurses(w) when ponce pointed out a patch which I had already seen in Fedora’s ncurses package source. Perhaps I will apply that patch to my ncurses package because it seems to resolve all the linking issues we have been running into lately.
And more good news – it took two days of compiling because I forgot to enable distcc, but I managed to create LibreOffice packages for my ARM port, using the SlackBuild script with which I already compiled LibreOffice 4.0.3 for x86 and x86_64 platforms last week (I needed one additional patch to work around the newer boost-1.53 which I have in my ARM tree). I have not had the chance to install the packages and run the LO Writer to see if I created working binaries… but the build log did not show errors which is promising!
Desktop Environments other than KDE or XFCE
Long ago, I created a package for razor-qt which is a minimal (lightweight may be the better word) desktop environment based on Qt. In other words, it looks beautiful (by not using GTK) and does not have the sluggishness people complain about when they run that other Qt based desktop environment (KDE). I was thinking about what I would have to add to a filesystem image for the ARM ChromeBook which I should finally get ready and distribute… I do have KDE packages, but KDE felt like just a bit overweight for the ChromeBook. I do not really like XFCE (don’t get me wrong, technically and functionally it’s not bad at all, but GTK does not have any visual appeal to me) and therefore I felt compelled to re-visit razor-qt.
Razor-qt does not come with its own window manager, instead it allows you to pick one of the available window managers it finds on your computer when it starts for the first time. Razor-qt will work well with KDE’s window manager KWin, but it works best with OpenBox. And since that is not part of Slackware, I added an openbox package as well to my repository (which was the moment that I found out I had never released my original razor-qt package… no idea how I could have forgotten that).
I decided that I am going to build armv7hl packages for razor-qt and openbox so that the ChromeBook has a nice and fast, good-looking desktop environment next to XFCE. They will be uploaded to my separate “alien” subdirectory of the ARM package tree, where I will upload the LibreOffice packages as well.
KDE Display Manager
The KDE Desktop Environment is transitioning to Plasma Workspaces 2. Two changes are worth mentioning because they will have a big impact: Many “user-interface centric” applications will be re-written in QML (Qt Modeling Language). More importantly, the X.Org display server of old will be abandoned for the Wayland protocol server. Wayland gives you a 3D-enabled display server from the start, instead of the current practice of running a 3D compositor (KWin, compiz) as an extension under the 2D X.Org display server. Future support of Wayland requires a rewrite of KWin (KDE’s window manager) but also forced a decision to say goodbye to the KDE Display Manager (KDM) which is the graphical login program which greets you when you boot Slackware in Runlevel 4. A blog post by Aaron Seigo gives a lot of insight in the process that preceeded this decision.
It looks like SDDM (Simple Desktop Display Manager) is a contender for replacing KDM in a future release of KDE. Initially, SDDM had a hard dependency on PAM, but thankfully the developer is friendly towards Slackware. After a short discussion on Google+ he created a preliminary “pam-less” version which I tested. Those tests went OK and the changes were added to the main source. So it is with pleasure that I announce the package which I added to my repository. You can already try it out, if you just add a couple of lines to Slackware’s “/etc/rc.d/rc.4” script. Directly below the line that says:
echo "Starting up X11 session manager..."
# ----8<---------------------------------------------------------------- # Use Simple Display Desktop Manager if [ -x /usr/bin/sddm ]; then exec /usr/bin/sddm fi # ----8<----------------------------------------------------------------