18 Jun 2015

feedPlanet Arch Linux

TalkingArch June 2015

It's been a rocky road, but it's actually been out for some time. It's the TalkingArch iso for June 2015. The delay in the posting of the release has been due to a server OS upgrade that took some rather unexpected turns, resulting in breakage of the GNU Social node that hosts the social media [...]

18 Jun 2015 1:55am GMT

08 Jun 2015

feedPlanet Arch Linux

The Case of GCC-5.1 and the Two C++ ABIs

Recently, Arch Linux updated to gcc-5.1. This brought a lot of new features, but the one that I am focusing on today is the new C++ ABI that appears when the compiler is built using default option. Supporting the C++11 Continue reading

08 Jun 2015 12:58am GMT

06 Jun 2015

feedPlanet Arch Linux

Cleaning an Arch Linux installation

We are in springtime and usually in springtime you make some cleaning.
Today I decided to clean my old desktop that is running the same Arch Linux installation since 2007.

Warning: this whole task requires a bit of knowledge about what a package does and why it is installed on

06 Jun 2015 4:09pm GMT

30 May 2015

feedPlanet Arch Linux

What Is It?!

[allan@server]$ rm sample-apps/ rm: cannot remove `sample-apps/': Is a directory [allan@server]$ rmdir sample-apps/ rmdir: failed to remove `sample-apps/': Not a directory Edit: it was a symlink to a directory. The error messages could be improved!

30 May 2015 2:33am GMT

28 May 2015

feedPlanet Arch Linux

Openstack Bandit Jenkins integration

Some time ago I stumbled on Bandit, while I was doing research at work for an automated security linter. Bandit is a tool designed to find common security issues in Python code, which actually found some issues in our code. I was eager to set this up in our Jenkins enviroment when I discovered that Bandit does not support the specific XML output which Jenkins requires (Xunit output to be precise). After a few nights of hacking, the following commit added XML output to Bandit.
Here is a short tutorial on setting up Bandit in Jenkins.


Install Bandit using the instructions in the README, note that you will need the Git version for XML output support.
Now create a new Jenkins job and setup a source code management to fetch your code, then add a new build step like the image below. Where for example app is the directory which contains your code.

Execute shell

Now add a 'post-build action' to parse the XML output from Bandit and publish the results.

Execute shell

Once this is finished, you can trigger and build and you should see tests results as for example shown below.

Execute shell

When you click on a failed tests it shows more details about the possible issue.

Execute shell

Openstack Bandit Jenkins integration was originally published by Jelle van der Waa at Jelly's Blog on May 28, 2015.

28 May 2015 8:00pm GMT

25 May 2015

feedPlanet Arch Linux

Using python-Zarafa in Zarafa-dagent/Zarafa-spooler plugins

Creating plugins for the Zarafa Dagent and Spooler has been quiet complicated since it requires a lot of low-level MAPI knowledge. Since a year ago, we have been focussing on our new high-level Python API called Python-Zarafa, so it made sense to be able to use our preferred API in Spooler and Dagent plugins. The current version on Github made this functionality possible, with a few changes you can now use Python-Zarafa objects such as the Store, Folder and Item in your plugin.

import Zarafa

class MyPlugin(IMapiDAgentPlugin):
    def PostConverting(self, session, addrbook, store, folder, message):
        server = Zarafa.Server(mapisession=session)
        if store:
                store = Zarafa.Store(server, mapiobj=store)
        if folder:
                folder = Zarafa.Folder(store, mapiobj=folder)
        item = Zarafa.Item(mapiobj=message)
        # My plugin logic

The example censorship plugin can now be rewritten to the following code.

import os
import re

from plugintemplates import IMapiDAgentPlugin

import Zarafa

CENSOR = '*censored*'

class CensorShip(IMapiDAgentPlugin):
    def PostConverting(self, session, addrbook, store, folder, message):
        server = Zarafa.Server(mapisession=session)
        if store:
            store = Zarafa.Store(server, mapiobj=store)
        if folder:
            folder = Zarafa.Folder(store, mapiobj=folder)
        item = Zarafa.Item(mapiobj=message)
        body = item.body.text

        if os.path.isfile('/etc/Zarafa/censorship.txt'):
            badwords = [line.strip() for line in file('/etc/Zarafa/censorship.txt')]
            body = re.compile('|'.join(map(re.escape, badwords)), re.I).sub(CENSOR, body)
            self.logger.logDebug('%d badword(s) in body' % len(badwords))
            # Also saves body
            item.body = body
            self.logger.logError("!--- censorship.txt file not found")

Hopefully this will make it easier to develop dagent/spooler plugins.

Using python-Zarafa in Zarafa-dagent/Zarafa-spooler plugins was originally published by Jelle van der Waa at Jelly's Blog on May 25, 2015.

25 May 2015 12:00am GMT

22 May 2015

feedPlanet Arch Linux

Data corruption on software RAID 0 when discard is used

Recent Linux kernels (4.0.2+, LTS 3.14.41+), pushed to the [core] repository in the past couple of weeks, suffered from a bug that can cause data corruption on file systems mounted with the discard option and residing on software RAID 0 arrays. Even if discard is not specified, the fstrim command can also trigger this bug. (If you do not use software RAID 0 or the discard option, then this issue does not affect you.)

The issue has been addressed in the linux 4.0.4-2 and linux-lts 3.14.43-2 updates. Due to the nature of the bug, however, it is likely that data corruption has already occurred on systems running the aforementioned kernels. It is strongly advised to verify the integrity of affected file systems using fsck and/or restore their data from known good backups.

For further information please read the LKML post by Holger Kiehl, the related article on Phoronix, as well as the proposed fix that was backported to the Arch kernels.

22 May 2015 8:32pm GMT

17 May 2015

feedPlanet Arch Linux

Puppet 4.0 enters [community]

Puppet 4 has been released and breaks compatibility with version 3. Therefore users will need to upgrade a server to Puppet 4 before updating their clients. Note that if only a Puppet 4 server is available, Puppet 3 clients will not work. Also a number of locations for things have changed including the config, manifest and module files. You will need to follow upgrade instructions for your servers and clients:

17 May 2015 4:27pm GMT

16 May 2015

feedPlanet Arch Linux

PulseAudio split

Some modules have been split from the pulseaudio package to avoid having modules with missing dynamic libraries. Please check which modules you need and reinstall them.

The split out modules are:

16 May 2015 7:39am GMT

15 May 2015

feedPlanet Arch Linux

Keeping Packages Vanilla – 2. Configuration

Normally when you write an article and label it with part one, it is followed soon after with a part two. Well, a lot more than two years later, I discovered this draft…. So this is part two of me Continue reading

15 May 2015 3:22am GMT

04 May 2015

feedPlanet Arch Linux

The TalkingArch iso for May 2015 is out, and other news

The release TalkingArch 2015.05.03 is released. This release brings with it the Linux 4.0.1 kernel, systemd 219 and the alternative text editor vim-minimal, for anyone who has had problems with nano speaking too much. Find it in the usual place. Git Migration Due to the upcoming death of Gitorious, where the git repository for the [...]

04 May 2015 3:15am GMT

28 Apr 2015

feedPlanet Arch Linux

Help Me Out By Sending A Postcard

I am teaching my daughter about the world and all the different countries there are. She also likes receiving mail, so we came up with the idea of collecting postcards from all over the world. If you would like to Continue reading

28 Apr 2015 10:47am GMT

27 Apr 2015

feedPlanet Arch Linux

Practical fault detection on timeseries part 2: first macros and templates

In the previous fault detection article, we saw how we can cover a lot of ground in fault detection with simple methods and technology that is available today. It had an example of a simple but effective approach to find sudden spikes (peaks and drops) within fluctuating time series. This post explains the continuation of that work and provides you the means to implement this yourself with minimal effort. I'm sharing with you:

We reuse this stuff for a variety of cases where the data behaves similarly and I suspect that you will be able to apply this to a bunch of your monitoring targets as well.
read more

27 Apr 2015 1:05pm GMT

13 Apr 2015

feedPlanet Arch Linux

April 2015’s TalkingArch iso is here!

Yeah, it's about time! Announcing April's TalkingArch release, although this happened way back on the second. Seems somehow I left the blog neglected and abandoned this month. My apologies. Anyway, this TalkingArch snapshot includes all the latest packages as of the second of April, including Linux Kernel 3.19.2. As always, you will find the current [...]

13 Apr 2015 5:26pm GMT

08 Apr 2015

feedPlanet Arch Linux

Choqok is using KDE Frameworks

Hi there,

good news for the Choqok users out there: we are now using KDE Frameworks technology!

In fact, I spent the last month porting Choqok bits from Qt 4 to Qt 5, but I also fixed minor bugs you discover when doing this kind of work. Regressions could happen,

08 Apr 2015 6:24pm GMT

03 Mar 2015

feedPlanet Arch Linux

March for TalkingArch

It's new and it's live on the Talkingarch website. We present to you the latest and greatest TalkingArch live iso, which offers the latest versions of all core packages as well as Linux kernel 3.18.6. As always, you will find this iso on the TalkingArch download page, available via either a direct link or a [...]

03 Mar 2015 4:21pm GMT