Dakons blog

The last time I wrote about KGpg is nearly a year back, so I thought I give it some attention again. What has happened meanwhile? Nothing too important, actually. I have fixed some bugs, introduced some new, fixed them also. I did some internal improvements, but nothing earthshaking. Last week I fixed signing keys, this was probably broken the whole SC 4.9 cycle but noone noticed. Finally I ported KGpg away from synchronuous calls to KPasswordDialog, which I started at least 3 times before but never finished. Since starting gpg-agent is currently not happening automatically on login anymore in my openSUSE installations I was forced to fix it once I saw it fail.

While I was distracted from KGpg work I meanwhile did some stuff that likely most of you are already using, probably without noticing. I started pushing a bunch of patches to CMake which finally led to me getting write access to the repository, which in turn led to me doing even more cleanups there. Now most Find*.cmake modules have version selection support, the automatic handling of distinct debug and release versions for one module has been improved (wanted especially by the (KDE-)Windows people), and the usual amount of bug fixes, breakages, and fixes for these breakages have happened.

In the last few weeks I was going even one level deeper, heavily patching KWSys. This is likely something you have not heard of, but you are still using it. This is a collection of tool classes from Kitware (the guys behind CMake and other stuff) that handles platform abstraction. My point of interest was the SystemInformation class, which gives you things like logical and physical processor count (that is Hyperthreading processor vs. core), memory size and stuff like that. It started with getting some more beautiful information about my HP PA-RISC boxes (I own a Apollo 705, a C3600, and a C8000), then fixing some ARM processor flag stuff, finally adding CPU feature gathering to Win64, Irix, the BSDs, HP-UX, and AIX where they were almost entirely lacking before. And then doing the same for memory size for some of this system. Currently under review are some final cleanups to make the code more readable.