EOY 2016 links

Some links about interesting things I’ve read or watched by the end of 2016. Further comments are provided on each item of the list.

 

Google Sanitizers and Fedora 25

Here’s a tip if you are using Fedora and trying to use one of the Google Sanitizers with clang and is having problems doing so. One of the common problems is not being able to find libclang_rt.asan-x86_64.a:

This can be resolved by simply installing the compiler-rt package:

Restoring click method behavior on Fedora 25 and libinput

Here’s a quick tip if you need to enable the Software Button Area behavior on an Apple macbook running Fedora 25:

Some comments about this:

  1. You have to run it after every reboot
  2. There’s, probably, a better way to do this. Per documentation, it should be possible to set it up permanently by creating a file on /etc/X11/xorg.conf.d however I did not manage to create a file that works so far.

References:

 

SonarQube 5.6 upgrade

Overall tips for upgrade a SonarQube instance from 5.4 to 5.6 LTS.

 

 

SonarQube database migration: MariaDB 5.5 to MySQL 5.7

Newer versions of SonarQube have stopped supporting MariaDB and you may need to switch to MySQL instead. While I’d rather use MariaDB, I understand that it is not within the supported matrix. Therefore I am documenting the steps here. The steps are focused on RHEL 7 (they probably would work on Centos 7 as well, but I did not test it).

Before start with this process, shutdown your SonarQube instance as well as any other analysis that may access the database.

The first step is to use mysqldump to create a backup of your MariaDB database:

After the backup is complete, shutdown and disable your MariaDB instance:

Then install MySQL 5.7 from Software Collections. The process is documented on this page. These steps are for 5.6, however, you can just replace 56 with 57 in all the steps and the result is the same.

With the new MySQL 5.7 installed and running, create the database:

In the MySQL sheel recreate the database with the same credentials and permissions as the old one:

Then you can recover the backup into the new MySQL 5.7 instance:

Now you can go to your SonarQube server and start it.

 

 

Linux fanzines

Although man pages are essential for anyone doing serious work on Linux and other Unix-like operating systems, it’s hard to advocate for them as being user friendly and easy to read. Therefore, evangelists invent all sorts of things to spread knowledge about their favorite tools and technologies: tutorials, e-books, videos, etc. There’s even a coloring book that teaches how SELinux works. Now we have one more addition to the mix: fanzines. If you like them, this website has some very interesting and funny zines about programming, debugging and Linux in general.

 

OpenPHT builds for Fedora

I have created Fedora packages for OpenPHT, a community-driven fork of the Plex Home Theater client. The packages can be download from this link (I plan to propose adding the RPM specs to the main project, but before doing so, I would like to make sure they are working as expected).

The build instructions, for those interested in reviewing or rebuilding the package can be found in this gist or in the RPM spec file.

Macbook touchpad configuration tip for Fedora Linux

Some time ago I wrote a few tips about Running Fedora 22 on a Late 2013 Macbook Pro (Retina). Fedora is now on its version 24 and remains the best Linux distribution out there and the tips are still valid.

However, there’s one new tip. Instead of dealing with the Synaptics/Synclient stuff by yourself, you may want to try using the configuration from my Copr repository instead:

And with that you should have a touchpad behavior that is similar to the one on OS X.

 

Some messaging stuff

Just sharing some messaging tools I have been working with recently.

The first one is this performance test tool: msg-perf-tool. There’s no secret here: you run the tool and it does its best to bring your messaging system to its knees (though this may not be the correct way how to test it … check the testing tips on the Github page). For now it supports only AMQP, but Stomp and MQTT support is on the way. You can find rpms for RHEL/Centos (6 and 7) and Fedora (22, 23 and 24) for i686 and x86_64 on my Copr profile here.

The second one is a web page that can display the performance data stored on an ElasticSearch database and present it in a beautiful way. I call it messaging performance center. Here’s how it looks like:

messaging performance tool
mpt-perf-ui

Some bits are still in progress, but it’s functional.

Lastly, there’s litestomp. A C implementation of the Simple (or Streaming) Text Oriented Messaging Protocol. It was built on top of what-seems-to-be the now defunct libstomp project. There’s a couple of bugfixes, a simpler and higher level API for ease of use. Still a work in progress, but you can download the current rpms for RHEL/Centos (6 and 7) and Fedora (22, 23 and 24) for i686 and x86_64 from my Copr project page on this link.