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.

23 November, 2018


The third edition of Krakathon was organized over the weekend 20⁄21 of October 2018. The term Krakathon derives from hackathon (itself being a marathon of computer programming & usually mathematical challenges) and the Kraken (signifying the most dangerous sea creature). Participants are called pirates and they are given a set of challenges to solve in order to score points. The teams having the highest scores are seen as the pirates sailing closest to the Kraken :-) thus gaining reputation as brave & tough pirates.

22 November, 2018


Lenovo 110S Title-broken

For several months, I was happily using my Lenovo ideapad 110S running openSUSE Tumbleweed. I have had few complaints about the device, other than a lack of RAM (but I knew that going into the purchase). One day the thing just stopped working; on boot up it left me a sad looking, blank screen. No combination of key presses did anything to change its state. All I could do was hold the power button down and forced off the laptop. No matter how many times I power cycled the machine, it was the same thing, no splash or error message, not a single bit of useful information. It was a busy time for me so I just put it away in a drawer thinking I’ll get back to it and maybe dissect it for it “secrets” or something… but I really just forgot about it.

Three Months Later

I was listening to some discussion about BIOS issues and how it is possible for it to become corrupt and require some sort of reset. My mind wondered from the conversation to that misbehaving Lenovo ideapad and I thought that maybe I was having some sort of BIOS or UEFI issue. I am not sure why I didn’t think of it sooner but I thought, is it posssible that the UEFI boot partition may have possibly been corrupted?

Using my previous blathering about installing Linux on this machine, I tried to hit F2 rapidly on startup to find that it initially didn’t get me into the BIOS. I tried it a few times, all with no success. Then I remembered that this has one of those silly keyboards that defaults to having the media keys as primary. I tried it again, this time, holding the Fn key down plus F2. The trick is, just keep tapping immediately as you turn the computer on. Once it displays a black screen it is too late.

When I was able to get into the BIOS. I reordered the boot sequence to look for my USB drive but that didn’t work. It still booted into the back screen. Going into the BIOS for the second time, I switched the Boot Mode to Legacy Support. It is still set to look for UEFI first but when that fails, look for a Legacy Bootable device. This change allowed me to boot from the USB Drive.

Lenovo ideapad-01-BIOS.jpg

Using the latest openSUSE Tumbleweed snapshot, I performed the install, formatting UEFI ( /boot/efi ) and root ( / ) partitions. I figured, leave nothing to chance and just wipe the machine. The installation was uneventful and didn’t require any further intervention.

Now that I have the system back up and running, I can use it as my “go machine” once again. The 2 GB of RAM makes things a bit tight but maybe it is good for me to only have 5 or 6 tabs open at a time but as many terminal applications as I want.. It is unfortunate

Michael Meeks: 2018-11-22 Thursday

21:00 UTCmember

  • Mail chew, dived into some hacking to help the team with their deadline; too fun - criminaly so; broke & re-assembled bits of code left & right. Worked excessively late - nice to have a continuous set of changes going in all night handing over from late-night Europe, to night Canada to early morning Russia, Europe. Tired.
  • Coming increasingly to the conclusion that the HiDPI model of adding a scale-factor at the low-level rendering layer, while keeping the rest of layout, etc. working in a different co-ordinate space is the best of all worlds. Apple lead the way, gtk+ followed, and cairo makes it easy - even if the treasured shibboleths such as consistent height pixel aligned grid rendering need significant extra lifting. Not entirely clear how to do it through an integer pixel API though.


The release of openSUSE Tumbleweed snapshots have been steadily coming out this month and some of the more recent packages in the snapshots are bringing about significant changes.

Three Tumbleweed snapshots have been released the past two weeks, which brought KDE users a newer version of Applications 18.08.3, Frameworks 5.52.0 and all users could update to the 4.19.2 Linux Kernel.

Yet another Setup Tool (YaST) had a fair amount of changes in the 20181118 snapshot and a recent YaST sprint blog post describes new features with configuring openSUSE Kubic, configuring SSH access during installation and how YaST has provided improved textmode support for Chinese, Japanese or Korean and other languages. The YaST changes will be worked into the future release of openSUSE Leap 15 Service Pack 1 (15.1), which is schedule to have its beta release in February. An update for flatpak 1.0.5 fixed a regression in flatpak run that caused problems running user-installed apps when the system installation was broken. The updated package of gnome-shell 3.30.2 fixed regression in the handling new input sources. The  4.19.2 Linux Kernel package allows the handling of undefined instructions from EL1, according to the changelog. OSTree, with its libostree 2018.9 package, is preparing for systemd related change in a future release that has a timeout effect. Apache Tomcat, which is an open source implementation of the Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket technologies, added the ability for a UserDatabase to monitor the backing XML file for changes and reload the source file if a change in the last modified time is detected in its 9.0.13 version.

The snapshot from last Friday, 20181116 included updating the Applications 18.08.3 and Frameworks 5.52.0 packages. Applications 18.08.3 was a bug fixing released that included improvements to Kontact, Ark, Dolphin, KDE Games, Okular, and more. The Frameworks 5.52.0 package added KWayland virtual desktop protocol and KFileMetaData added an extractor for generic XML and SVG. Ruby 2.5.3 took care of two Common Vulnerabilities and Exposures (CVE). A lots of filter updates came with the ffmpeg-4 4.1 package update; it also added a patch to add a missing check for negative values of the mqaunt variable. A parsing fix of the LDAP port and a fix to a possible hang in the ssh handler were made with the update to gpg2 2.2.11.

Text editor Nano 3.2 has some Python 3 highlighting improvements and tracker 2.1.6, which is written in Python 3, backported multiple meson build fixes.

Applications 18.08.3 started to be released in Tumbleweed with snapshot 20181112, which brought multiple packages.  The utility for Linux kernel-based operating system, ethtool 4.19, added support combinations of Forward Error Correction (FEC) modes. Generic Graphics Library made a jump from gegl 0.4.8 to the 0.4.12 version and had a


I’ve been very irregular with my blog posts lately. Quite a few events went by without any mention. I’ll try to rectify this with a few quick posts today, maybe. So, I’ll start with the Developers Conference1 2018. What I did mostly was chilling with friends and a quick introduction to LaTeX back then. I didn’t expect a lot of people to show interest but to my surprise it turned out great and I enjoyed every minute.

21 November, 2018

Michael Meeks: 2018-11-21 Wednesday

21:00 UTCmember

  • Mail chew; partner call, sync with Daniel. Monthly all-hands. Hacking, call with Amir.


Lately, I have been converting the code in librsvg that handles XML from C to Rust. For many technical reasons, the library still uses libxml2, GNOME's historic XML parsing library, but some of the callbacks to handle XML events like start_element, end_element, characters, are now implemented in Rust. This has meant that I'm running into all the cases where the original C code in librsvg failed to handle errors properly; Rust really makes it obvious when that happens.

In this post I want to talk a bit about propagating errors. You call a function, it returns an error, and then what?

What can fail?

It turns out that this question is highly context-dependent. Let's say a program is starting up and tries to read a configuration file. What could go wrong?

  • The file doesn't exist. Maybe it is the very first time the program is run, and so there isn't a configuration file at all? Can the program provide a default configuration in this case? Or does it absolutely need a pre-written configuration file to be somewhere?

  • The file can't be parsed. Should the program warn the user and exit, or should it revert to a default configuration (should it overwrite the file with valid, default values)? Can the program warn the user, or is it a user-less program that at best can just shout into the void of a server-side log file?

  • The file can be parsed, but the values are invalid. Same questions as the case above.

  • Etcetera.

At each stage, the code will probably see very low-level errors ("file not found", "I/O error", "parsing failed", "value is out of range"). What the code decides to do, or what it is able to do at any particular stage, depends both on the semantics you want from the program, and from the code structure itself.

Structuring the problem

This is an easy, but very coarse way of handling things:

read_configuration (const char *config_file_name)
    /* open the file */

    /* parse it */

    /* set global variables to the configuration values */

    /* return true if success, or false if failure */

What is bad about this? Let's see:

  • The calling code just gets a success/failure condition. In the case of failure, it doesn't get to know why things failed.

  • If the function sets global variables with configuration values as they get read... and something goes wrong and the function returns an error... the caller ends up possibly in an inconsistent state, with a set of configuration variables that are only halfway-set.

  • If the function finds parse errors, well, do you really want to call UI code from inside it? The caller might be a better place to make that decision.

A slightly better structure

Let's add an enumeration to indicate the possible errors, and a structure of configuration values.

enum ConfigError {
    ParseError, // config file has bad syntax or something
    ValueError, // config file has an invalid value

struct ConfigValues {
    // a bunch of fields here with 

20 November, 2018

Michael Meeks: 2018-11-20 Tuesday

21:00 UTCmember

  • Mail chew, built ESC stats built slideware and stats. Lunch. Monthly commercial call. Worked at analysis, marketing bits with Amir & Eloy. Up late looking at documentation.


Time flies and another development sprint has finished for the YaST team. During it we have focused on improving the installation process, refining it and adding new features to unleash new possibilities. That includes:

  • More options to configure Kubic during installation.
  • Several improvements in the storage proposal.
  • Easing the network configuration and the usage of online repositories in openSUSE.
  • Improving installation in text mode for CJK and other languages.
  • Configuring SSH access during installation and in a running system.
  • And many other small fixes here and there!
  • Many of these features will be already available in openSUSE Tumbleweed during November (the sprint just finished November 16th and the integration process usually takes some days), others will be visible for the first time in the next SLE-15-SP1 and Leap 15.1 Alpha versions.

    New Dialogs in the openSUSE Kubic Installation

    The SUSE CaaSP and the openSUSE Kubic products got a new installation workflow some time ago. Originally they used a specific installation workflow (a single all-in-one configuration dialog), but the problem was that many openSUSE/SLE installation features were missing because the installer code was completely different.

    That has been changed some time ago to use the usual installation as in standard SLE or openSUSE products. You can read the details about the new installation workflow at the Kubic wiki page.

    However, the CaaSP or Kubic products required some more specific settings depending on the selected role. During this sprint we have added the corresponding steps to the installation.

    New installation steps for openSUSE Kubic

    Currently the extra dialog only asks for the NTP server address, but some more options can be added later.

    Improve Textmode Support for CJK and Other Languages

    YaST is able to cope with many languages even when running in textmode. When a user wants to run the installer in textmode using some specific languages -like Chinese, Japanese or Korean-, YaST will use a special terminal emulator called fbiterm which is able to display the characters which are needed in those languages.

    Now, instead of keeping two different approaches depending on the language, YaST will try to use this special terminal emulator whenever is possible for all text based installations. Unfortunately, there is a small set of languages that are not properly handled by fbiterm. In those cases, YaST will inform the user about the problem and it will fall back to English.

    YaST installing SLE-15-SP1 in Japanese

    As a side effect of this unification, the font used during the textmode installation has changed for all the languages that didn’t used fbiterm in the past. So your SUSE or openSUSE installation may now look slightly different.

    Storage proposal: playing nicely with Intel Rapid Start Technology

    Intel Rapid Start Technology (shorted as IRST) enables systems to quickly resume from deep sleep (e.g. if your battery runs out). It’s a firmware-driven technology that relies on the existence of a special partition located on a SSD (solid state device).

    But our partitioning proposal (the so-called Guided Setup) was not aware of the important role of such partition, so


For people planning on attending the openSUSE Conference 2019 in Nuremberg, Germany, from May 24 – 26, there are certain requirements necessary to receive a visa for those who are not a citizen of a Schengen country.

It’s a good idea to start thinking about getting your visa and this post summarizes the requirements.

Please note: the Travel Support Program has no provisions to cover the cost of a visa, so it’s the travelers responsibility for covering the additional cost.

For citizens who are not a citizen of a Schengen country, you may need a formal invitation letter that fully explains the nature of your visit.

An overview of visa requirements/exemptions for entry into the Federal Republic of Germany can be found at the Federal Foreign Office website.

Alphabet Nation

You must apply for a Schengen visa through the German embassy or consulate in your country if you are from one of the following countries:

  • A – Afghanistan, Algeria, Angola, Armenia, Azerbaijan
  • B – Bahrain, Bangladesh, Belarus, Belize, Benin, Bhutan, Bolivia, Botswana, Burkina Faso, Burundi
  • C – Cambodia, Cameroon, Cape Verde, Central African Republic, Chad, China (People’s Republic), Comoros, Congo (Democratic Republic of the Congo), Congo (Republic of the Congo), Côte d’Ivoire (Ivory Coast), Cuba
  • D – Democratic Republic of the Congo, DPRK, Djibouti, Dominican Republic
  • E – Ecuador, Egypt, Equatorial Guinea, Eritrea, Ethiopia
  • G –Gabon, Gambia, Ghana, Guinea, Guinea-Bissau, Guyana
  • I – Ivory Coast, India, Indonesia, Iran, Iraq
  • H – Hong Kong
  • J – Jamaica, Jordan
  • K – Kazakhstan, Kenya, Korea (Democratic People’s Republic, North Korea), Kosovo, Kuwait, Kyrgyzstan
  • L – Laos, Lebanon, Lesotho, Liberia, Libya
  • M – Madagascar, Malawi, Maldives, Mali, Mauritania, Mongolia, Morocco, Mozambique, Myanmar (Burma)
  • N – Namibia, Nauru, Nepal, Niger, Nigeria
  • O – Oman
  • P – Pakistan, Palestinian territories, Papua New Guinea, Philippines
  • Q – Qatar
  • R – Russian Federation, Rwanda
  • S –São Tomé and Principe, Saudi Arabia, Senegal, Sierra Leone, Somalia, South Africa, South Sudan, Sri Lanka, Sudan, Suriname, Swaziland, Syria
  • T –Tajikistan, Tanzania, Thailand, Togo, Tunisia, Turkey, Turkmenistan
  • U – Uganda, Uzbekistan
  • V – Viet Nam
  • Y – Yemen
  • Z – Zambia, Zimbabwe
  • Palestinians also require a visa.

Information about submitting an application for a visa can be found on the Federal Foreign Office website.

If you plan to attend oSC19 and are coming from one of these countries, you will need to have an invitation letter from an organization in the Germany.

If you fall into one of these categories and need the invitation letter, please email ddemaio (@) opensuse.org with the email subject “oSC19 Visa”.

Other requirements for a visa state you must:

  • have a valid passport;
  • have enough money for each day of their stay);
  • be able to demonstrate the purpose of your stay to border officials;
  • pose no threat to public order, national security or international relations.

For more information, visit Germany’s Federal Foreign Office website.

19 November, 2018

Michael Meeks: 2018-11-19 Monday

21:00 UTCmember

  • Mail chew, partner calls, sync with Miklos & Kendy.

18 November, 2018

Michael Meeks: 2018-11-18 Sunday

21:00 UTCmember

  • All Saints in the morning; Laura over for lunch, played games, relaxed, watched They shall not grow old in the evening; harrowing.

17 November, 2018

Michael Meeks: 2018-11-17 Saturday

21:00 UTCmember

  • Slugged in bed; attacked poorly polished plaster in kitchen skylight with E, sand-paper and vacuum cleaner; tried to make less of a mess of the filling there. Relaxed variously with the babes.


PopOS Logo

As part of a kind of challenge, I have decided to kick the tires on Pop!_OS Since I don’t have the extra hardware to install it on “bare metal” so I have chosen to put it in a Virtual Machine. Pop!_OS can be downloaded from here. I chose the 2GB sized Intel/AMD version for this test. The Requirements are on par with nearly every other 64-bit distribution out there. It requires 2 GB RAM and 16 GB storage.


The installation process Pop!_OS is a fantastic experience. The instructions are clear and  the presentation is uncluttered with a clear course of action. Very good for a new user to Linux.

After the installation and reboot of the machine, you are prompted to set up your user. It’s all pleasantly straight forward and easy to understand.  It is at this point you can choose to encrypt or not encrypt your home directory.

First Run

After you log in, you are greeted with this friendly, multilingual, interactive welcome dialog. Like the installation experience, clean and simple.


Your First task is to set your privacy settings


Nothing confusing, simple wording and asks you questions very simply; Do you want to allow applications to know your location. No techno babble, no long winded explanations. Plain, simple and clear language.

Next your asked if you want to set up any online accounts. I was not particularly interested in this feature so I did not test it.

PopOS-13-Online Accounts

Should you skip this step, it is easy to get set up accounts later. This is in the settings menu. Searching “Online Accounts” in the menu will bring it up.

That is all that will be needed to get started.


And you are ready to get Pop!_OS-ing

PopOS-05-Splash Screen

Adding Software

The cleverly named Pop!_Shop which is a re-skinned ElementaryOS App Center, not the Gnome Software Center, which I originally thought.

PopOS-06-Pop Shop

I searched for and installed Telegram with the expected outcome. I searched for specific libraries to install what is needed for the Smart Card but nothing would show up. When the GUI doesn’t do as asked, there is still terminal to bail you out. Using my instructions here to make the installation.

PopOS-07-Set Up CAC.png

The process of going back and forth became a bit irritating but more on that later. Installing and testing out the Smart Card system was successful. It worked just as my instructions specified for Ubuntu and its derivatives.

What I Like

PopOS-16-Lock ScreenFor starters, this is an Ubuntu derivative, so I know I have access to… basically everything. Also, knowing this is built on a well tested base, plus the extra polish from System76, I would have no distrust of any system running this.

The installation interface is beautiful and friendly. It has fun artwork, straight forward installer. The look and the artwork in Pop!_OS is absolutely stellar. It has a fun, clean and modern looking interface. The contrast is perfect and give the Environment the same kind of

16 November, 2018

Michael Meeks: 2018-11-16 Friday

21:00 UTCmember

  • Worked in the morning, lunch with Dad; walked to the station - train 20 minutes late: "slippery leaves on the line", pre-booked ticket re-work in York; train also delayed 20mins in Cambridge - nice. Got lots of bitty admin done on the train.


Dear Tumbleweed users and hackers,

First, apologies for the delay: I actually thought I’d have to cover two weeks, but when looking at the history, I realized it would be even three weeks to cover. That probably means there were no too special issues raised in the last weeks, otherwise, I’d have remembered more explicitly to write to you. Anyway, let me catch you up on recent changes in openSUSE Tumbleweed. by covering that 6 snapshots 1029, 1103, 1105, 1107, 1110 and 1112

The major changes were

  • KDE Plasma 5.14.2 & 5.14.3
  • openSSH 7.8: make sure to use the version from the update channel, as key based auth is broken in the regular channel package
  • RPM 4.14.2
  • Snapper 0.8.0
  • Squid 4.4
  • Mozilla Thunderbird 60.3
  • NetworkManager 1.14.4 – addressed some crashes
  • GNOME 3.30.2
  • FreeType 2 enabled subpixel rendering with infinality config
  • KDE Applications 18.08.3
  • Linux kernel 4.19.1: as is, sadly, almost usual with new major kernel versions, proprietary kernel modules are not yet ready to be used

There are also quite some changes pending in the various staging projects:

  • glibc 2.28, Python 3.7, openssl 1.1.1: the three all interdepend on each other and cause a bunch of new failures – See Staging:C
  • LLVM7 / Mesa 18.2.x (VLC crashes were debugged, a workaround should is submitted and being tested)
  • systemd 239
  • meson 0.48.x
  • OpenSSH 7.9: the default config will be stricter and root won’t be allowed to perform password-based login anymore
  • Installer redesign: the sidebar is coming back (showing where in the installation workflow one is currently)
  • Linux kernel 4.19.2


15 November, 2018

Michael Meeks: 2018-11-15 Thursday

21:00 UTCmember

  • Mail; Rhona's funeral at a packed Methodist church. Family burial afterwards, and a lovely reception. Good to see the wider family. Home, worked - admin, mail and more.


CrossOver Logo

CrossOver Linux recently released version 18.0.0 (2018) which was another fine release with no regressions. I have been using CrossOver Linux (at the time CrossOver Office) since 2005. At the time, I imagined that within a few years would Linux be as ubiquitous on the desktop as Windows or Mac. After all, I bought a boxed copy of Mandrake Linux in the store which sat right next to SUSE Linux. There seemed to be a lot of momentum behind it. Now, in 2018, Linux has seemingly infiltrated every other use case, servers, phones, Internet of Things but doesn’t seem to be have as much traction on the Desktop.

This may come as a surprise but there are still 3rd party applications of which I require that I cannot run in Linux. Although, I think there are fewer now than there used to be, I still find I need a Windows compatibility layer. I can do much of in with Wine, but CodeWeavers makes it so much easier to manage.


There isn’t a repository that you can add (as far as I know), so you will have to download the RPM directly from CodeWeavers. That can be done here:


I like to neatly tuck them into an rpms subfolder in my Downloads directory.

sudo zypper install ~/Downloads/rpms/crossover-18.0.0-1.rpm

Your version may vary, of course as updates and improvements are ongoing.

The fantastic feature of Crossover is that every application can be installed in it’s own bottle, the first exposure to “containers” I have ever had on Linux or any system for that matter. It is a great way to test applications without the risk of interfering with other installed applications.

CrossOver Linux-01-Main Window.png

The process to Install Windows Software is easy, intuitive and requires little explanation. If the application is supported by CodeWeavers or a Advocate, it is no more difficult than searching for the application. Selecting the name of it and Continue.

CrossOver Linux-02-StarTrek_Starfleet_Academy

If the application is not supported by CodeWeavers or an Advocate, it’s still not difficult to install; as long as you have a decent knowledge of your Windows application. Keep in mind, it may or may not work at that point.

CrossOver Linux Usage

I use CrossOver almost daily, which is in contrast to using it daily some few years ago. I tend to use LibreOffice more now than Microsoft Office but I also don’t really use office products as much as it once had. The application I use most is Rosetta Stone. I have been using it on and off for several years, now I am using it to help with home educating my kids. It’s easy for any of us to use and somehow enjoyable enough to keep us consistently using it.

I tend to use Microsoft Office, mostly for Excel. As much as I like the LibreOffice Equivalent, there are just some usability features that I appreciate more

14 November, 2018

Michael Meeks: 2018-11-14 Wednesday

21:00 UTCmember

  • Mail; product comparison; lunch with J. train north for some hours; dinner with the parents - talked until late.


Upcoming Weblate 3.3 will bring new feature called alerts. This is one place location where you will see problems in your translations. Right now it mostly covers Weblate integration issues, but it will be extended in the future for deeper translation wide diagnostics.

This will help users to better integrate Weblate into the development process giving integration hints or highlighting problems Weblate has found in the translation. It will identify typical problems like not merged git repositories, parse errors in files or duplicate translation files. You can read more on this feature in the Weblate documentation.

Alerts in Weblate

You can enjoy this feature on Hosted Weblate right now, it will be part of upcoming 3.3 release.

Filed under: Debian English SUSE Weblate


We’ll do this in four parts for Windows, Linux, Mac, and Android users.


  1. Go to: https://www.torproject.org/projects/torbrowser.html.en
  2. Download the latest version for Windows
  3. Run the installer
  4. You will now see a new folder on your Desktop. Open that and run Tor Browser.
  5. Click Connect
  6. Congrats, you are on Tor!
  7. Go to https://check.torproject.org/ in the Tor Browser


  1. Go to: https://www.torproject.org/projects/torbrowser.html.en
  2. Download the latest version for Linux
  3. Open a command line
  4. Unzip the application. Replace xxxxxx with the current version that you downloaded

tar -xvJf tor-browser-linux64-xxxxxx.tar.xz

  1. You will now see a new folder. Open that and run Tor Browser.

cd tor-browser_en

  1. Run the application


  1. Click Connect
  2. Congrats, you are on Tor!
  3. Go to https://check.torproject.org/ in the Tor Browser


  1. Go to: https://www.torproject.org/projects/torbrowser.html.en
  2. Download the latest version for Mac
  3. Run the installer
  4. You will now see a new folder on your Desktop. Open that and run Tor Browser.
  5. Click Connect
  6. Congrats, you are on Tor!
  7. Go to https://check.torproject.org/ in the Tor Browser


  1. Go to the app store and download the following two apps: Orfox and Orbot. Both are from The Tor Project. Orbot is the Tor service. Orfox is the Android implementation of the Tor Browser. There are many “Dark Web” and “Onion” android apps and many of them are bogus and may steal your data or are just scams.
  2. Start Orbot and connect to the Tor network.
  3. Start Orfox
  4. Go to https://check.torproject.org/ in Orfox.



13 November, 2018

Michael Meeks: 2018-11-13 Tuesday

21:00 UTCmember

  • Mail chew, bug review, built ESC prototype, fixed some scroll-wheel nightmares that have been plaguing me.

12 November, 2018

Michael Meeks: 2018-11-12 Monday

21:00 UTCmember

  • Mail; admin; lunch, status report, sync. with Andras, Miklos, Kendy, Eloy; worked late.

11 November, 2018

Michael Meeks: 2018-11-11 Sunday

21:00 UTCmember

  • All Saints, played bass; pizza lunch, dropped H. and M. off to the Rememberance parade & service with Scouts. Watched Man in the High Castle, and a large nativity silhouette with J. Worked on mending J's old Galaxy S3 for M. in the evening - struggled to find compatible PIT files that would not be rejected; grim. Rather unclear why Android's Download mode doesn't let you read the flash contents smoothly.

10 November, 2018

Michael Meeks: 2018-11-10 Saturday

21:00 UTCmember

  • Off to Sue & Clive's - worked in the car. Saw their new porch, enjoyed a fine lunch, out for a walk - saw some deer in the fields. Adrian. Georgina & Isabelle arrived - enjoyed fireworks together. Drove home - bed extremely late.

09 November, 2018

Michael Meeks: 2018-11-09 Friday

21:00 UTCmember

  • Mail chew; admin, board call during lunch; interview, marketing call, interview. LOTR in the evening.

08 November, 2018

Michael Meeks: 2018-11-08 Thursday

21:00 UTCmember

  • Mail chew, lots of it. Customer call, TDF marketing, sales & marketing, ESC calls. Two partner calls. Back to some quick patch review. Some hacking in the evening on urgent code bits.


The open-source community has a new project designed to help Linux/GNU distributions with the legal review process of licenses.

The new project called Cavil is legal review system that is collectively beneficial not only for the  openSUSE Project, but distributions and projects that want to use it.

The project provides an add-on service for the Open Build Service.

Every OBS request for openSUSE Factory goes through a legal review process to ensure licenses are compatible. Cavil indexes these and creates a legal report for every single request. Bot comments in OBS are made through the legal-auto python script, but the entire project is much larger than the script and bots.

Sebastian Riedel and Stephan Kulow have been developing the project for two years and it has been used in production for more than a year and half. The Cavil legal review system replaces an older system and provides much more efficiency. Cavil can automatically accept more than 90 percent of all new requests based on data from previous reviews, so packages are much more streamlined into openSUSE Factory.

The project has been so efficient that two lawyers who do all the legal reviews with the system, which is also used by SUSE, had reviewed about 110,000 packages this past year. The same lawyers curated a library with 27.000 license patterns for 600 licenses and 20 license patterns for 100 of the  most common licenses that are used to create legal reports. Riedel said there is a desire hope to expand that in the future with the hope of collecting new patterns with the open-source community.

The legal Data Base used by SUSE to generate reports with new license patterns  is about 2TB and has about 68.433.436 pattern matches in 27.319.682 individual files.

Like openQA, Cavil is written in Perl, with Mojolicious/Minion and PostgreSQL.

A quick look at the statistics about the content of the legal database showed the most popular open source licenses were GPL-2.0, BSD-3-Clause, GPL-Unspecified and MIT respectively.

07 November, 2018


The YaST team is working hard in order to extend the installer, improve the new storage layer and get rid of some bugs. So after this sprint, there is quite some unfinished work that will be ready within two weeks.

However, we have some stuff that we would like you to check out:

  • Snapper takes the free space into account when cleaning up snapshots.
  • The partitioning proposal tries to use just a single disk first.
  • The description of those actions that are related to BCache and MD-RAID devices have been greatly improved.
  • YaST is now able to handle repository variables properly.
  • The log viewer displays a helpful message when no logs are found.
  • And last but not least, yast2-sshd got a new maintainer outside of the YaST team. Let’s celebrate!

Extended Snapshots Clean-up Mechanisms in Snapper

So far snapper would delete snapshots if the overall spaced used for them was above a given limit. Now, snapper is able to take the free space into account too, so it will delete snapshots when the free space of the filesystem drops below a given threshold.

Of course, the threshold can be adjusted by the user through the snapper configuration files.

Better Actions Descriptions in Storage-ng

When describing what actions will be performed for storage actions, we already collapsed related actions to one to make it better readable. Instead of:

- Create  partition /dev/sda1 (40.00 GiB)
- Set ID of partition /dev/sda1 to "Linux" (0x83)
- Create ext4 on /dev/sda1
- Add mount point /home for /dev/sda1
- Add entry for /dev/sda1 to /etc/fstab

we report:

- Create partition /dev/sda1 (40.00 GiB) with ext4 for /home

However, actions related to BCache and MD-RAID devices were not taken into account, which produced quite long (and confusing) descriptions. Fortunately, these cases are now properly handled and the description is now quite informative and concise:

Create encrypted RAID1 /dev/md0 (511.87 GiB) for /secret with xfs
from /dev/sda (512.00 GiB), /dev/sdb (512.00 GiB)

Properly Handling Repository Variables

libzypp supports variable substitution in the name and the URLs of repositories and services. So a .repo file might contain something like this (notice the $releasever variable):


libzypp will take care of injecting the correct value but the user could override those values too. So in the example above, upgrading to Leap 15.1 might be as easy as:

zypper --releasever 15.1 dup

However, YaST2 had some problems in these situations that, hopefully, have been fixed during this sprint. Now openSUSE release managers can adjust the list of online repositories in order to take advantage of such a feature. If you want to know more about variable substitution, please check libzypp documentation.

Partitioning Proposal Uses a Single Disk

Until now, the partitioning proposal that is calculated during the installation uses all available disks by default. However, according to the feedback that we have received from

06 November, 2018


I’m staying in a hotel chain in London only to find a firewall that throttles interesting stuff like BBC iPlayer and YouTube. I tried going to my VPN provider. That the website is blocked to protect children and vulnerable people. What?! Meanwhile I have no trouble connecting to #4chan because they only care so much about children.


Of course Tor is blocked also, well for other people, I got it to work anyway and now I’m writing this using it out of spite.

If I give them the benefit of the doubt, I would say that they want to keep bandwidth usage down and the best way to do that is to throttle big streaming websites and they want to close loopholes by blocking ways around that.

However the explanation kills me: to help keep children and vulnerable people safe. So this provider says that they want to help make the internet a better place by taking away the anonymity of trolls and online creeps? That makes no sense. Why even provide have internet access at all? I think the real case is above, they need to cut bandwidth costs and that’s fine but leave the nonsensical rhetoric out of it.

<- Current blog entries