Saturday, December 17, 2011

kdepimlibs-4.7.3 imap4 regression fix

Attention Gentoo users: If you're running kmail-4.4.11.1 and kde-4.7.3, and if you have been hit by bug 382411 (problems with local filters, cannot upload unread message on imap; see also here and here), please keyword kde-base/kdepimlibs-4.7.3-r1 and give it a try. (You may want to log out and log back in.) This upgrade seems to fix the problem... If I get some positive feedback, I'll fast-track it for stabilization. Cheers!

Friday, December 9, 2011

Unit tests - a useful thing causing occasional pain

For whoever has never heard that expression, unit tests are a way to test the functionality of a program or library in an automated way, by for example checking the evaluation result of test data. This is a great thing and can help massively in identifying coding mistakes. CMake provides a mechanism, and in many KDE packages test routines are included.
So far, so good, this is the theory, now let's look at reality. In Gentoo, the main KDE distribution is split into 295 (!) packages. Many dont have any tests (oxygen-icons comes to my mind as a nice example). Of those that have, 37 now have all the test routines hard disabled, and I guess a few are missing that I still have to add to the list. Why? Well, first of all, you have to know that compilation usually runs in Gentoo as an unprivileged user detached from any graphical desktop session, and this user also runs the test routines. In addition, tests should also run fine "offline", i.e. without internet connection. One of our developers is running a great thing called a "tinderbox", where build and unit tests in various configurations are automated- in an isolated environment, and possibly even without network access. So, what can go wrong?
  • The tests need X11. Well, actually we can get around this, with a nice hack called virtualx. A background framebuffer X server is started for the test phase only, and the tests are redirected to that display. Works even sometimes. :o)
  • The tests need a dbus session bus. I think we could get around this too, but nobody bothered to do it so far and I'm not a dbus expert. 
  • The tests need an entire KDE desktop to interact with. Yes, that happens, and unfortunately, we have to disable them in this case, see above. 
  • The tests try to download a data set from, say, IMDB, CDDB, or similar. Bad, bad, bad, see above.
  • Next, the tests pop up dialog boxes asking for user interaction. A window asking for a GnuPG passphrase is my personal favourite... 
  • And last, what I particularly like is a unit test that fails... and after digging into the test log, I see a fat comment "This does not work yet and needs to be fixed!"
I guess at least part of the above points is a matter of policy. Test routines requiring user interaction can provide valid information, but of course they are not particularly useful for automated testing... Anyway...

PS. This blog post took slightly longer to write since a libreoffice-3.5 build in the background went berserk... load 65, >180 concurrent compilers... :D

Wednesday, December 7, 2011

Gentoo KDE 4.7.3 going stable now... including KDEPIM

Another KDE version stabilized in Gentoo... x86 is done with KDE 4.7.3 since this morning, amd64 is following right now. For those of you who don't read Portage news items, here's again my message about KDEPIM:
The stable upgrade from KDEPIM 4.4.11.1 to KDEPIM 4.7.3 is a MAJOR upgrade with potential for major breakage. Therefore we will try to keep and support the old, so-far stable KDEPIM 4.4.11.1 as long as possible.
If you don't want to upgrade your KDEPIM yet but keep the old version, please download this mask file and add it into your /etc/portage/package.mask.
If you decide to upgrade, please have a look at the upgrade guide first.
In addition there have been a few reports of problems with the Plasma desktop after upgrade. Usually these are caused by single plasmoids malfunctioning, so what should help is to remove some of the plasmoids from your desktop and add them again... Otherwise the upgrade from 4.6 to 4.7 should be pretty much unproblematic, and bring you a shiny new desktop with quite some new features.
With the new KDE we have finally also been able to stabilize a newer version of digikam and kipi-plugins (both at 2.3.0 now!), and also rekonq gets a big bump to version 0.8.0, which should fix an overdue security bug.
Finally and not related to the stabilization, since yesterday we have a package in the main tree that provides integration of Google calendars / contacts into Akonadi: kde-misc/akonadi-google ... It's a bit experimental still and also not an official release but a packaged snapshot, but anyway, if you are interested, give it a try!

Monday, November 14, 2011

The Regensburg nanotube team is growing!

A lot of things have happened recently in our nanotube / nanomechanics research group in Regensburg... First of all, I'd like to congratulate Peter Stiller for finishing off his Diploma thesis and thereby his degree. Peter is immediately continuing as a PhD student, however switching topic from nanomechanics to charge qubits in carbon nanotubes - a newly founded project in the SFB 631. Here we plan to couple electronic quantum states in carbon nanotube double quantum dots to the electric field of a coplanar microwave resonator.
Then, straight from München and the research group of Jan von Delft, Alois Dirnaichner will join us soon as PhD student to work on experimental and theoretical characterization of few-electron states in ultraclean suspended carbon nanotubes. This is a project pursued together with the groups of Milena Grifoni and Christoph Strunk; we hope that the high quality of our carbon nanotubes enables us to do fundamental observations and analysis on unperturbed electronic multi-particle states.
Next, Sabine Kugler joins the nanomechanics team for her MSc thesis project. She will continue the development of chip geometries and materials suitable for combining carbon nanotubes with complex electronics, and help us with the characterization measurements.
Finally, last but not least, Hermann Kraus starts in december as a Diploma student, and will focus on high-frequency electronics at very low temperatures and superconducting nanocircuitry. Time to get these electrons rock'n'roll!

Real online dilfridge :)

By the way, I just found out there's a real dilfridge (dilution refrigerator) live on twitter... :) Would be interesting to know which research group that is. With the hard-soldered caps on the top IVC plate and the ribbon cables this is for sure an Oxford Instruments model, but whatever else is visible in the lab looks like pretty standard equipment...

Sunday, November 13, 2011

KDE 4.7.3 - Identifying Plasma crashes with Gentoo

One of the less pleasant surprises about KDE 4.7.3 was that somehow "upstream" managed to introduce quite some stability regressions in the Plasma desktop. On both my laptop and my work desktop it kept crashing every now and then. This usually does not cause big problems as Plasma is immediately restarted by some KDE magic, however it can be quite annoying (in the British sense). Which is why by now we have kde-base/plasma-workspace-4.7.3-r2 in the Gentoo portage tree, where the worst offenders should be fixed by backporting from future 4.7.4. Please upgrade and test...
A related question is of course, if Plasma crashes, how do I get any more information on the origin of the problem? Usually the KDE crash reporter DrKonqui does not pop up... For diagnosis, you'll have to enable debug info while building, and core dumps while running the software. For doing both in Gentoo we have an excellent howto, which also documents how you use gdb to extract the backtrace information. Then, if you report the bug, please paste the backtrace; only that makes it possible to identify the exact problem that caused the crash! Happy hunting!

Sunday, November 6, 2011

Gentoo KDE stabilization and the KDE overlay

Here's two small news items that may be worth your attention.
First of all, we (as the Gentoo KDE team) have to decided to change our stabilization target from 4.7.2 to 4.7.3 - the main reason being that there have been many stability improvements e.g. in KDEPIM. This also means that for now the stabilization process is on hold, since version 4.7.3 needs some time to "ripen on the tree". Anyway, feel free to grab the stabilization list from bug 388279 and try it out. Most likely the list will still be updated a few times for minor fixes.
Second, if you are using the Gentoo KDE overlay, it has now been migrated to so-called thin manifests. This makes using git way easier for us committers. You as a user will however need sys-apps/portage from ~arch, because the current stable version does not support the new Manifest file format yet. This may sound like a dangerous requirement, but actually most the devs use testing portage and do not encounter any big problems. I'm running sys-apps/portage-2.1.10.32 here and all is fine.