Welcome to Planet openSUSE

This is a feed aggregator that collects what openSUSE contributors are writing in their respective blogs.

To have your blog added to this aggregator, please read the instructions.

07 December, 2016


Long time not talking about fglrx rpm, mostly because they’ve got no update since last December 2015.

Short Summary

In a word as hundred, fglrx is now a dead horse!

Dead horse

We had the hope of getting it working for Leap 42.2 in October, but except freezing kernel and xorg, you will not get what you would expect: a stable xorg session

Say goodbye fglrx!, repeat after me, goodbye fglrx.

If you are locked down and forced for any reasons to use fglrx with your gpu, and are still using 42.1, then don’t upgrade to 42.2, without a plan B

It has no more support from AMD upstream, and that’s it!, if someone want to break its computer, it’s still possible to pick the last files and try it by yourself, but the repository will never contain it for 42.2 (see below how-to)

That’s said, I’m not still sure, to keep for a long time the repository, I’ve been managing since 6 years now.

A bit of history

In 2010, when we were working hard to get 11.1 out, the news that no supported ATI (at that time) will be available for end-users, as we have for nvidia gpu

I didn’t check back the irc log, but we were a few, that would like to have this still available, by pure commodity. Especially that I’ve just exchanged a non working gpu by my new hd5750.

I remember the first chaotic steps, how to build that, and create repeating builds, what about the license? Did we have the right to offer a pre-build rpm etc. I spent some time fixing all of this stuff.
And start the build on real hardware. Hey afterward kvm was really in infancy stage.

Release after release amd/ati and openSUSE, the driver was build, on hardware for each supported distribution. When beginning of 2013 Sebastian Siebert, who got some direct contacts with AMD, release
his own script, we collaborate to have the possibility to build on virtual machines, which allow me to simplify the build process, as having on kvm for each openSUSE release supported.

Afterward, AMD start to split fglrx with the fglrx for HD5xx and above, and fglrx-legacy. So 2 drivers to maintain, but as always with proprietary software, the legacy version became rapidly obsolete,
and non usable. Not that bad, in the meantime the AMD effort on the free and open source radeon driver, quickly overcome the performance of legacy.

Still from 2013, to 2016 I’ve been able to propose ready to use rpm for several version of openSUSE’s distributions. I think the repository serve quite well end users, and I never got big flames.

I can’t avoid to mention the openSUSE powered server and sponsored by Ioda-Net Sàrl that has serve this objective so well during that time frame.

Future of the repository

Now that fglrx is becoming obsolete, I think seriously about why

Michael Meeks: 2016-12-07 Wednesday.

11:42 UTCmember

  • Prodded at mail, built ESC stats. Thrilled to have Collabora Online 2.0 released in conjunction with our partners. You can buy a LibreOffice based Collabora Online with collaborative editing and long term support now. We'll of course be releasing incremental improvements, updates and fixes approximately each month as we move forward. Thanks to all in the company & community - whose hard work & dedication made this possible.

06 December, 2016

Michael Meeks: 2016-12-06 Tuesday.

21:00 UTCmember

  • To work early; mail chew; finance planning call with Tracie & Julie & latterly Kendy, lunch. Commercial call, wrote up notes, sync. with Philippe.


sks-keyserver logo Does it happen to you, too, that there are moments where you ask yourself why others want something from you that is there already since a while? Exactly this happened with https://keyserver.opensuse.org/: the original machine was set up a long time ago to make it easier for people attending the openSUSE GPG key-signing parties, but it looks like nobody officially announced this “new service” for our users…

…and so here we are:  the openSUSE Heroes team is pleased to announce that keyserver.opensuse.org is up and running as public GPG keyserver. We are of course also part of the official keyserver pool, which means that some people might already noticed us, as they got redirected to our server with their requests. (And for those who are interested to setup their own SKS keyserver: we have also written a nice monitoring plugin that helps you keeping an eye on the pool status of your machine and the ones of your peers.)

The server may be accessed either via it’s Web interface (please ping the Heroes if you want to improve it) or via the openPGP HTTP keyserver protocol (HKP), which is normally used by GPG clients.
Try it out by calling something like:

gpg --keyserver keyserver.opensuse.org --search-keys 0xF62B7584

on the command line, or enhance your personal GPG configuration file ~/.gnupg/gpg.conf with:

keyserver hkp://keyserver.opensuse.org

and work as before with your new, preferred GPG keyserver as standard. What more can we say, except “have fun en-/de-crypting your data!”

05 December, 2016

Michael Meeks: 2016-12-05 Monday.

21:00 UTCmember

  • Mail chew; bug poke-age. Out to Colin Kavanah's funeral in Cambridge - a faithful and encouraging man of God; he will be missed. Played the Violin with Mick & John; to the wake for a fine lunch & to meet the family.
  • Back to work; customer call, TDF board call, dinner, put babes to bed, back to working on a contract.


Release also includes support for ARMv7


The latest release from openSUSE has new images available for the Raspberry Pi and joins SUSE Linux Enterprise Server for Raspberry Pi in becoming the initial distributions with 64-bit for the Raspberry Pi 3.

The 64-bit image of openSUSE Leap 42.2 for the Raspberry Pi 3 has been out for a couple weeks.

“The ARM and AArch64 Images for openSUSE Leap 42.2 are not a once-only release,” said Dirk Mueller. “They get continuously updated and include fixes as the Leap 42.2 port matures over time. These are the first usable images, and more variants with more fixes will come over time.”

The openSUSE Leap 42.2 images for the Raspberry Pi 3 are regularly rebuilt and constantly improve functionality.

Mueller said having the stable code base of Leap images, which provides fewer updates than the Tumbleweed Raspberry Pi 3 images, give people more stability and expands user opportunities for those who are wanting to use the Raspberry Pi 3 for home automation, mail services or as a small-, low-power server.

“Overall, the most exciting thing about having Leap on the Raspberry Pi 3 is that this is a fully working upstream-based image with full 64-bit support, which is something that even the Raspberry Pi Foundation doesn’t have,” said Alexander Graf.

An upstream image means support that lands in the Linux Kernel via downstream contributors. The openSUSE Leap 42.2 kernel shares the same codebase with other architectures and is not based on the Raspberry Pi foundation maintained kernel tree, which means that some not-yet-supported upstream features like HDMI-audio and hardware-accelerated-video decoding are not available yet in the image.

“You can run the same code on your small devices and your really big devices,” Graf said.

This really makes development quite interesting with using the distribution on inexpensive and expensive devices, Graf said.

“The main reason it is interesting is because of the ability to work with both a new and old ecosystems,” he said. “People who are interested can work on the newest and latest next generation stuff or the stuff that has been there for 10 years.”

Graf does make it clear that these is still a lot to be done even after the 64-bit support arrived with the new images.

“There are things that don’t work because we are upstream based,” he said. “These things take time. The easy, low hanging fruit is cracked. Some is still missing like the power management upstream, but overall we are in a good state.”

Among things that make the openSUSE Raspberry Pi 3 images different, Graf said, is that it is the first distro that has working Kernel-based Virtual Machine (KVM) support.

The other thing is that it can work with newer or older Linux Kernels. Just like on other systems, all that is needed is to use libvirt for configuration.

“You can still update kernels and select an older kernel if the newer kernel doesn’t work,” Graf said

04 December, 2016

Michael Meeks: 2016-12-04 Sunday.

21:00 UTCmember

  • Up lateish; NCC - Tony spoke; back for lunch, relaxed through the afternoon. Julie over in the evening.

03 December, 2016

Michael Meeks: 2016-12-03 Saturday.

21:00 UTCmember

  • Up lateish; mended things around the house variously. Julie over for dinner.


After a long, but exciting first day, we even managed to get some sleep before we started again and discussed the whole morning about our policies and other stuff that is now updated in the openSUSE wiki. After that, we went out for a nice lunch…

openSUSE Heroes out for lunch.

openSUSE Heroes out for lunch.

…before we started the discussion about some other topics on our list.


  • we got an agreement how we manage our “own” packages (that you can find now in the openSUSE:Infrastructure project in the openSUSE Build Service) and JeOS images.
  • Lars gave a short update about the current sponsoring status and possibilities
  • After a freeIPA presentation from Darix and a general Cloud introduction from Christian, we started a long and interesting discussion about our services, their “distribution” between Nuremberg and Provo and how to get them connected and administrated.
  • A lot of stuff around “securing our infrastructure” was not officially on the plate, but if you listened between the lines, you noticed that our admins have a secure environment always in mind – even if the topics is officially around bare metal machine administration, Salt or authentication (just to name some examples).
    Tampakrap painting on our whiteboard

    Tampakrap painting on our whiteboard

    We ended up in a short discussion about “how do we monitor all that stuff” – and if we might use Salt also for intrusion detection. Even if we finally end up on the Nuremberg Christmas Market this evening: be sure that we will continue the discussions about “Crowbar”, “SDN”, “Thruk”, “GitLab”, …. (at least until we got enough hot spiced wine ;-)

02 December, 2016

Michael Meeks: 2016-12-02 Friday.

21:00 UTCmember

  • Up rather early; train into London, arrived 30mins late for a custome ermeeting, but 30mins before the other attendees - fun. Out to the IET - Savoy Place for lunch & a meeting with Bob, shopping, then out to dinner at an Indian restaurant - a fine day. Train home lateish. Mail on the way home.


Some of the openSUSE Heroes decided during the last openSUSE Conference that it’s time for more face to face meetings to “get things done” and “work together”…

Picture from the meeting with some openSUSE Heroes discussing

Picture from the meeting with some openSUSE Heroes discussing

So starting today, some openSUSE Heroes started to spend the first December weekend in the SUSE Headquarter in Nuremberg. And they really have a lot to do, as you might imagine! That might be the reason why some of them started at 02:00 in the night to arrive at 07:00 in Nuremberg…

Starting with a personal introduction round (were they found out that we assimilated some Gentoo and Fedora admins ;-)  the next steps are

  • a quick server room tour (“get your fingers dirty and touch your machines”)
  • discuss about the next steps for the openSUSE Cloud in Provo

    Pencil painting of the SUSE Cloud network structure

    Quick draw of the SUSE Cloud setup for openSUSE.

  • discuss about handling content in the openSUSE Wiki
  • got a SaltStack training (thanks to tampakrap for the nice  training!) – we already started to update our internal Admin wiki at https://progress.opensuse.org/ with the cool stuff we learned
  • start ticket wrangling and discussion about “how to handle the trillions of issues reported to admin@opensuse.org – and how to go forward
  • while we were talking about the tickets, we moved over to the documentation part and started to work on the Wiki pages

A first – very rogue copy – of our internal minutes can be found on our mailing list.


Dear Tumbleweed users and hackers,

After releasing daily snapshots without interruption for 17 days, Tumbleweed did slow down a bit during the last week. As already mentioned in my last review, 1124 had been canceled due to an issue with sddm installing strange branding configurations. And later on, we ‘broke’ our own staging setup and needed to bootstrap a few of them, making the throughput much lower than you were used to. So, we ended up with 3 snapshots since my last review: 1125, 1128 and 1129.

The snapshots contained these interesting updates:

  • KDE Plasma 5.8.4
  • A couple X.org driver updates, in preparation for X 1.19
  • SDDM 0.14.0
  • LightDM 1.21.1

So, even if we got less snapshots, we just make them bigger – to ensure you get your frequent dose of updates.

And those things are in the pipeline:

  • X.Org 1.19 – pending on virtualbox fix
  • All the nice things the YaST Team promised
  • Hunspell 1.5 – waiting for KDE Frameworks 5.29

Note that the next snapshots might again be a bit slower due to the OBS scheduler reconfiguration that was announced by Adrian.


November is over, Santa Claus elves start to stress and the YaST team brings you one of the last reports of 2016. Let’s see what’s new in YaSTland.

Harder to ignore installation warning

The “installation settings” summary screen usually reports some non-critical errors displayed as a red text. Although the installation can proceed despite those errors, they are usually serious enough to lead to problems. That’s why we decided to introduce a change to highlight them a little bit more, making them harder to overlook.

The following screenshot shows the newly introduced confirmation dialog, presented before proceeding with installation.

Preventing users to shoot their feet

Make DHCLIENT_SET_HOSTNAME configurable on a per-interface basis

But that’s not the only usability-oriented enhancement on this sprint. We also reworked a bit the network configuration dialog.

For home users is very common to use a fixed hostname -set during installation- for our beloved linux box. But in some circumstances it’s better to set the hostname of the machine dynamically using DHCP, something YaST has always allowed to do by just ticking a checkbox that used to be in the network configuration screen. See “Change Hostname via DHCP” below.

The old network settings screen

That checkbox used to modify the system-wide variable DHCLIENT_SET_HOSTNAME, which was fine in scenarios in which only one of the network interfaces was configured via DHCP. But with several network interfaces connected to different DHCP-enabled networks, some problems arose.

During installation, if network configuration is used, Linuxrc creates the ifcfg files with DHCLIENT_SET_HOSTNAME='yes' for all of the enabled or configured interfaces and this value has precedence over the global one.

So the main problem was that YaST only allowed us to modify the global variable and setting it to ‘no’ did nothing because it was enabled for some interface.

During this sprint we have fixed that and now the user interface offers the possibility of choosing which DHCP interface will be used to decide the hostname.

The new network settings screen

Apart from choosing one of the existing interfaces, the new setting can also be set to ‘no’ or to ‘any’. In any case, YaST will always configure the system-wide options and the interface specific ones in a consistent way, so the behavior is always predictable.

But YaST is not the only way of configuring the network, so it’s always possible to have an unpredictable configuration. Fortunately, those potentially problematic scenarios will be detected by YaST and reported to the user.

Detecting dangerous scenarios in network settings

Partitioning in CASP

In the previous report we already explained how are we improving the installer to support the definition of the ultra-streamlined installation process of SUSE CASP, the new Kubernetes based member of the SUSE family.

In this sprint we introduced several additional changes to enable a different partitioning approach, more guided and automatic than ever. In a CASP node it makes no sense to use the advanced settings offered by our storage proposal, like encryption or LVM. Moreover, CASP relies on Btrfs to provide some of its cool and advanced features, like transactional updates.

As a result, although

01 December, 2016

Michael Meeks: 2016-12-01 Thursday.

21:00 UTCmember

  • Mail chew; poked at various patches. Lunch. Out to collect N. and E. and take them to their music exams: Voilin grades 4 and 1. Back for the end of the ESC call.
  • Worked late, poking at profiles, sync. with Tomaz, quick customer call, up late reading profiles.


dotsgeeko1November brought openSUSE Tumbleweed users an early holiday gift with 24 snapshots of new software and four updated Linux Kernels.

The continuous snapshot streak of Tumbleweed updates ended with snapshot 20161123, which brought Kernel 4.8.10.

More updates were in the 20161123 snapshot such as updates of yast2-storage to version 3.2.1 and Yast2-bootloader to version 3.2.10.

The streak-breaking snapshot, 20161125, brought several goodies like GTK 3.22.4, which saw Wayland patch dropped due to a fix upstream, and an update to KDE’s Plasma 5.8.4, which included several small but important bug fixes.

Oracle’s Virtualbox updated to 5.1.10 in the 20161125 snapshot and provided fixes for various issues to improve the graphical user interface. ImageMagick’s updates to version provided a fix to improve data compression decoding. Web browser Epiphany added the missing F1 keyboard shortcut to open help with an update in Tumbleweed to version 3.22.3.

Updates found in the repositories with the 20161128 snapshot added some upstream patches for Bash and Wine updated winetricks in version 1.9.24.

Snapshot 20161122 updated Mozilla Thunderbird to 45.5 and advanced text editor Vim to 8.0.92.

30 November, 2016

Michael Meeks: 2016-11-30 Wednesday.

21:00 UTCmember

  • Mail chew, testing, feature fiddling; financials; lunch. Team call, filed bugs variously.


On November 16th there was the release of openSUSE Leap 42.2. On November 24th, I had the opportunity to present openSUSE Project at school.

I was asked to make an introduction to FLOSS in general and more specific about openSUSE Project. The school was for middle aged people, for persons who quited school to work and conftibute financially to their families. There were 3 classes that they taught something computer related. It was a great opportunity for them to learn what FLOSS is and what makes openSUSE great Linux distro.

I busted the myth that "Linux is hard because you have to be a hacker, it's terminal operated" I showed them how to install openSUSE Leap step by step (pictures) and also how to use GNOME (pictures). I mentioned our tools to make a very stable distro and finally I showed them that it's not only a distro but there are people (the communtity) that take care of the software.

There were plenty of questions about linux software alternatives, how to install, if they can replace Ubuntu/Windows with openSUSE and what is perfect suit for specific systems. Each student took a DVD with stikers and a card with Greek community information. Professors will organize an install fest for their lab and/or laptops of their students.

I would like to thank Douglas DeMaio for managing to send me DVDs and stickers and Alexandros Mouhtsis that managed with his professors to organize this presentation. Finally, I would like to thank Dimitrios Katsikas for taking pictures.

There's same post at lizards.

29 November, 2016

Michael Meeks: 2016-11-29 Tuesday.

21:00 UTCmember

  • Commercial team call; poked at bugs, admin, paperwork, still rather unwell. Built ESC bug stats. Played with OTRS some more, and filed some customer / partner issues to track.

28 November, 2016

Michael Meeks: 2016-11-28 Monday.

21:00 UTCmember

  • Up lateish, practices with babes; mail chew. Team calls variously, chat with Georg. Reviewed some online QA pieces. Feeling awful.


You might wonder why there is so high number of phpMyAdmin security announcements this year. This situations has two main reasons and I will comment a bit on those.

First of all we've got quite a lot of attention of people doing security reviews this year. It has all started with Mozilla SOS Fund funded audit. It has discovered few minor issues which were fixed in the 4.6.2 release. However this was really just the beginning of the story and the announcement has attracted quite some attention to us. In upcoming weeks the security@phpmyadmin.net mailbox was full of reports and we really struggled to handle such amount. Handling that amount actually lead to creating more formalized approach to handling them as we clearly were no longer able to deal with them based on email only. Anyway most work here was done by Emanuel Bronshtein, who is really looking at every piece of our code and giving useful tips to harden our code base and infrastructure.

Second thing which got changed is that we release security announcements for security hardening even when there might not be any practical attack possible. Typical example here might be PMASA-2016-61, where using hash_equals is definitely safer, but even if the timing attack would be doable here, the practical result of figuring out admin configured allow/deny rules is usually not critical. Many of the issues also cover quite rare setups (or server misconfigurations, which we've silently fixed in past) like PMASA-2016-54 being possibly caused by server executing shell scripts shipped together with phpMyAdmin.

Overall phpMyAdmin indeed got safer this year. I don't think that there was any bug that would be really critical, on the other side we've made quite a lot of hardenings and we use current best practices when dealing with sensitive data. On the other side, I'm pretty sure our code was not in worse shape than any similarly sized projects with 18 years of history, we just become more visible thanks to security audit and people looked deeper into our code base.

Besides security announcements this all lead to generic hardening of our code and infrastructure, what might be not that visible, but are important as well:

  • All our websites are server by https only
  • All our releases are PGP signed
  • We actively encourage users to verify the downloaded files
  • All new Git tags are PGP signed as well

Filed under: Debian English phpMyAdmin SUSE | 0 comments

27 November, 2016

Michael Meeks: 2016-11-27 Sunday.

21:00 UTCmember

  • NCC in the morning, back for lunch with Peter, Dianne & Lydia, lovely to see them. Took N. and E. to a pre-exam concert in the afternoon, followed by much slugging; feeling increasingly unwell unfortunately.

On the Nextcloud blog I just published about the beta for Nextcloud 11. The release will deliver many improvements and is worth checking out in itself, plus I put a nice clickbait-style title and gave three reasons to test it.

But I actually have some more reasons to test. You see, Nextcloud is one of the tools we need to keep our democracy working. As Frank notes on his home page:
"Privacy is the foundation of democracy"
And he is completely right. So, here are three different reasons why you should test (and help improve) Nextcloud:

1. The USA is making a massive swing towards even more spying

Obama has done nothing to curb the growth of the NSA and the scope of its operations. Secret laws spiked under his watch. Many of the folks about to be put in power by President-elect Trump favor more spying, including on US citizens, expansion of the NSA, a crackdown on whistleblowers and more. Trump's pick for CIA director calls for Snowden's execution. For what I can only guess must be giving proof of illegal government spying to dangerous terrorists like the Washington Post and the Guardian, who proceeded to win a Pulitzer prize by disclosing this information irresponsibly to the US public.

In general, as somebody who changes his stance on hugely important and complicated issues like torture in under an hour, it is impossible to predict what Trump will do with the most powerful spying agency in the world under his control, but his appreciation for dictatorial figures like Kim Jong Il and Putin gives plenty cause for concern.

2. Britain isn't doing much better

I wrote about the Snoopers' charter just some days ago - this piece of legislation goes further than any earlier piece of spying law. It allows not only passive spying but also actively hacking devices from citizens.

3. Nor is Europe

The UK is not alone. Since Snowden, Europe has complained a bit about the NSA but seems to simply follow suit, rather than doing anything about it. Germany is even introducing a bill that will allow spying on foreign journalists.

Help out!

So, how can you help? Well, test Nextcloud 11 Beta, obviously. Help others to use it, get them involved. But it goes beyond Nextcloud - promote the use of and help improve tools like Tor, Signal and others, or democracy is screwed.

Edit: updated the blog 


Admit it: how many times you have seen “software from this branch is completely untested, use it at your own risk” when you checked the latest code from any FOSS project? I bet you have, many times. For any reasonably modern project, this is not entirely true: Continuous Integration and automated testing are a huge help in ensuring that the code builds and at least does what it is supposed to do. KDE is no exception to this, thanks to build.kde.org and a growing number of unit tests.

Is it enough?

This however does not count functional testing, i.e. checking whether the software actually does what it should. You wouldn’t want KMail to send kitten pictures as a reply to a meeting invitation from your boss, for example, or you might want to test that your office suite starts and is able to actually save documents without crashing. This is something you can’t test with traditional unit testing frameworks.

Why does this matter to KDE? Nowadays, the dream of always summer in trunk as proposed 8 years ago is getting closer, and there are several ways to run KDE software directly from git. However, except for the above strategy, there is no additional testing done.

Or, should I rather say, there wasn’t.

Our savior, openQA

Those who use openSUSE Tumbleweed know that even if it is technically a “rolling release” distribution, it is extensively tested. That is made possible by openQA, which runs a full series of automated functional tests, from installation to actual use of the desktops shipped by the distribution. The recently released openSUSE Leap has also benefited from this testing during the development phase.

“But, Luca,” you would say, “we already know about all this stuff.”

Indeed, this is not news. But the big news is that, thanks mainly to the efforts of Fabian Vogt and Oliver Kurz, now openQA is testing also KDE software from git! This works by feeding the Argon (Leap based) and Krypton (Tumbleweed based) live media, which are roughly built daily, to openQA, and running a series of specific tests.

You can see here an example for Argon and an example for Krypton (note: some links may become dead as tests are cleaned up, and will be adjusted accordingly). openQA tests both the distro-level stuff (the console test) and KDE specific operations (the X11 test). In the latter case, it tests the ability to launch a terminal, running a number of programs (Kate, Kontact, and a few others) and does some very basic tests with Plasma as well.

Is it enough to test the full experience of KDE software? No, but this is a good solid foundation for more automated testing to spot functional regressions: during the openSUSE Leap 42.2 development cycle, openQA found several upstream issues in Plasma which were then communicated to the developers and promptly fixed.

Is this enough for everything?

Of course not. Automated testing only gets so much, so this

26 November, 2016

Michael Meeks: 2016-11-26 Saturday.

21:00 UTCmember

  • Out to a prepare-the church Swaffham Bulbeck Church Arts Fair with the babes, who played their quartet, painted faces, and much more. Lunch with Martin, back in the afternoon.
  • Spent a bit of time digging at the top crash report - and armoured VCL against exceptions during frame construction. Discovered that (amazingly) Windows 64 has a limit of 10,000 GDI handles which bites us (admittedly in a somewhat silly code-path), amazing.
  • H. out for a sleepover, read to all the babes.

25 November, 2016

Michael Meeks: 2016-11-25 Friday.

21:00 UTCmember

  • Up rather early; Men's prayer meeting at Church in the morning; back - read mail, to work.
  • Spent some time puzzling over my nice cleanup of the (broken) comphelper threadpool - which in turn was crippled by the horrible MS inspired osl::Condition API, which ... anyhow - now it is all clean and use std::mutex and std::condition_variable instead - except - that works beautifully on all platforms except windows. Dug into it - and found this horror: punch line, you can only use a std::mutex in a static de-initializer if you compile with Visual Studio 2015+ and run on anything later than WinXP: nice. Encouragingly the boost guys appear quite able to make it work.


Dear Tumbleweed users and hackers,

It seems unbelievable, but we did it again: a week with a new snapshot every single day. This review will cover the 7 snapshots {1117..1123}. Unfortunately, That’s the end of the streak, as we had to cancel 1124 already due to sddm doing something strange with the login screen. But we’re confident that the currently building snapshot will be fine again and will reach you tomorrow.

What did the 7 snapshots bring to the openSUSE Tumbleweed userbase:

  • Mesa 13.0.1 – minor update from 13.0.0
  • Mozilla Firefox 50.0
  • KDE Frameworks 5.28.0
  • 3 Kernel updates (4.8.8, 4.8.9 and 4.8.10)
  • cmake 3.7.0
  • systemd package closing the gap to SLE, preparing for more intrusive updates

And there are some things piling up to be delivered to you:

  • X.Org 1.19.0 – some driver updates are ready, some still need adjustments
  • sddm 0.14.0 – second attempt

That’s just the noteworthy things that are already in the queue to Tumbleweed; but I’m sure the various developer teams are preparing many more things in their dev spaces.

24 November, 2016

Michael Meeks: 2016-11-24 Thursday.

21:00 UTCmember

  • Mail chew; call - dis-assembled my Galaxy S4 while in a call and swapped its main-board with mine; been suffering problems where the battery says it is 100% charged - but it dies and goes into a constant re-boot loop; replaced the USB charging port, so assumed it was the PM chip. Amused after re-assembly to find that it crashed and loop-bootedduring installation despite having a full battery: it must be the battery I guess; ho hum - annoying - potentially having it on charge constantly is an issue - the joy of sedentary work from home-ness I guess.
  • Plugged at comphelper a bit more; call with Andras, a longish ESC call - posted minutes. Plugged away at renaming 'online's code into a more helpful and familiar structure.


libelektra is a configuration library and tools set. It provides very many capabilities. Here I’d like to show how to observe data model changes from key/value manipulations outside of the actual application inside a user desktop. libelektra broadcasts changes as D-Bus messages. The Oyranos projects will use this method to sync the settings views of GUI’s, like qcmsevents, Synnefo and KDE’s KolorManager with libOyranos and it’s CLI tools in the next release.

Here a small example for connecting the org.libelektra interface over the QDBusConnection class with a class callback function:

Declare a callback function in your Qt class header:

public slots:
 void configChanged( QString msg );

Add the QtDBus API in your sources:

#include <QtDBus/QtDBus>

Wire the org.libelektra intereface to your callback in e.g. your Qt classes constructor:

if( QDBusConnection::sessionBus().connect( QString(), "/org/libelektra/configuration", "org.libelektra", QString(),
 this, SLOT( configChanged( QString ) )) )
 fprintf(stderr, "=================== Done connect\n" );

In your callback arrive the org.libelektra signals:

void Synnefo::configChanged( QString msg )
 fprintf( stdout, "config changed: %s\n", msg.toLocal8Bit().data() );

As the number of messages are not always known, it is useful to take the first message as a ping and update with a small timeout. Here a more practical code elaboration example:

// init a gate keeper in the class constructor:
acceptDBusUpdate = true;

void Synnefo::configChanged( QString msg )
  // allow the first message to ping
  if(acceptDBusUpdate == false) return;
  // block more messages
  acceptDBusUpdate = false;

  // update the view slightly later and avoid trouble
  QTimer::singleShot(250, this, SLOT( update() ));

void Synnefo::update()
  // clear the Oyranos settings cache (Oyranos CMS specific)
  oyGetPersistentStrings( NULL );

  // the data model reading from libelektra and GUI update
  // code ...

  // open the door for more messages to come
  acceptDBusUpdate = true;

The above code works for both Qt4 and Qt5.

23 November, 2016

Michael Meeks: 2016-11-23 Wednesday.

21:00 UTCmember

  • Mail, admin, planning; signed E-paperwork. Lunch with J. New phone for spare parts arrived; good. Bit of hacking in the evening - converted comphelper's not terribly reliable threadpool to use std::conditions - anything to avoid the horrific Win32 condition situation.


As promised in previous posts, we want to share with you our experience and views from this year annual Ruby conference Euruko. Maybe “our” is too much to say, since we only sent one developer there. So to be precise, these are Josef Reidinger’s experience and views on the conference.

This year Euruko took place in Sofia, capital of Bulgaria. It turned out to be a great conference place. Public transport works very well, everyone speak English and even when it uses Cyrilic alphabet, almost everything is written also in Latin one.

That being said, let’s talk about the conference content. Fortunately all the presentations were recorded so you can watch them yourself. But since it would be quite some hours of video to go through, we have reviewed some presentations for you including access to the corresponding videos.


Let’s start with the three presentation Josef specially recommend to watch.

Keynote by Matz

He speaks about how Ruby 3 will probably look in distant future. With “distant future” meaning “for sure not in next two years”. If you cannot wait, it’s worth mentioning that Ruby 2.4 will be released on December.

Ruby 3 will use guild membership concurrency model. The most interesting part of the talk is digging into rationale of typed versus non-typed languages and what can be the Ruby future in that regard.

Rules, Laws and Gently Guidelines by Andrew Radev

Interesting view about common design principles, common mistakes when applying them and looking to them from different angles. Also explaining how to handle situations in which several design principles seem to contradict each other.

Elixir by Jose Valim

Interesting intro to Elixir language. What it is, why it make sense to use it and what are its benefits. Josef’s impression was that Elixir’s idea is similar to isolated micro-services communicating via messages, with nice introspection and scalability.

But we have more team members with something to say about Elixir. Like Imobach, who has been playing with Elixir (and Phoenix) for some time now. And Imobach really likes Elixir, so he would like to add some more bits of information for those who are interested.

For example, he would like to highlight that Elixir uses BEAM, the Erlang virtual machine, so great support for concurrency is backed in the platform. Concurrency sits on the concept of Erlang processes and it’s pretty common to use them for all kind of tasks (from computation to storing state, etc.). Imobach would like to encourage all developers out there to take a look to OTP (Open Telecom Platform). Who needs micro-services at all?

Last but not least, take into account that Elixir is a functional language, so if you have an object-oriented mindset (like most Ruby developers) it will take some time to wrap your head around it.

Other presentations

Little Snippets by Xavier Noria

Summary of common inefficiency in small snippets. Small things that matter, although most of them should be already

Older blog entries ->