Skip to main content

a silhouette of a person's head and shoulders, used as a default avatar

Using the openSUSE Build Service to build software for POWER

My favorite and most used service for developers is the openSUSE Build Service (OBS). This is where I build syslog-ng packages first, before anywhere else. OBS is open source, highly flexible software to build software packages, and the instance at https://build.opensuse.org/ is free to use for anyone to build open source software. Best of all, it supports multiple architectures, including POWER.

Open Build Service

Actually the OBS acronym stands for two things. The software itself is called Open Build Service. It is open source and you are free to install it on your own network. You can use it to compile any software you like. The openSUSE Build Service is a public OBS instance. It is accessible to any registered user to build open source software.

OBS can be used not just to compile individual software packages, but to maintain and publish complete repositories. It can also build various images from the software compiled: both ISO images and disk images for different virtualization solutions.

The original focus of OBS was i586 and openSUSE. Soon other architectures and Linux distributions were introduced to OBS. While I only use it for openSUSE and SLES packages, many more are supported, including Fedora, RHEL, Ubuntu, Arch, even Raspbian on x86, ARM and POWER.

You can access the OBS both through its web interface and a command line client. In theory you should be able to configure everything from either of them. I tend to use both of them. I configure repositories through the web interface, but submit new builds using the CLI. If you want your software project to get compiled for POWER, it is just a few mouse clicks away. You add a distribution version to your project and then you can configure architectures. If you add an architecture only later, you do not have to re-submit packages as OBS automatically compiles all packages for the new architecture as soon as you click on “update”.

obs architecture selector

POWER

While the focus of POWER support in OBS is PPC64LE, meaning little endian 64 bit POWER, you can also use it to build both 32 bit and 64 bit big endian POWER architecture packages. There were times when the build capacity for POWER was relatively small. You had to wait long for POWER builds to complete. However, early this year the openSUSE received a huge hardware donation from SUSE and IBM: fast, new IBM POWER 9 servers. Building packages on POWER are blazing fast now, compiles finishing often before any other platforms. You can read the announcement at https://news.opensuse.org/2022/01/25/os-gains-new-hardeware/

If you take a look at https://build.opensuse.org/monitor you can see that there are now close to 300 POWER workers in OBS. 1.5x more than just a couple of months ago. They are often working close to full capacity (most likely when Factory is being rebuilt), but it seems that there are always some resources left free for random incoming jobs from users.

Why OBS?

I keep mentioning, that POWER is just one of the architectures supported by OBS. Then why I write my first blog after introducing myself as an IBM POWER Champion about the openSUSE Build Service? Because it is quite rare that you want to build a software only for a single Linux distribution on POWER. In that case OBS gives you tremendous speed and flexibility: you do a single submit and it gets compiled on a dozen of different Linux distributions and possibly also on a dozen of different architecture variants.

obs logo

a silhouette of a person's head and shoulders, used as a default avatar

Sudo 1.9.10: hiding passwords in session recordings

Session recording has been available in sudo for many years, however not many people are aware of it. Even less well-known is that you can save not just the terminal output, but also what the user types. That way you can analyze what the user is doing within a shell session. Recordings may also include user passwords, which is not always desirable. Version 1.9.10 of sudo allows you to hide passwords in session recordings if it recognizes a password entry.

From this blog you will learn how to turn on session recording in sudo, how to enable or disable hiding passwords in session recordings, and how to view the results: https://www.sudo.ws/posts/2022/03/sudo-1.9.10-hiding-passwords-in-session-recordings/

Sudo logo

the avatar of openSUSE News

Know the Visa, Health Requirements to Attend oSC22

For people planning on attending the openSUSE Conference 2022 in Nuremberg, Germany, from June 2 – 4, there are certain health and visa requirements that need to be met for travelers.

The openSUSE Conference will follow the Bavarian Ministry of Health’s requirements and posture regarding COVID. An FFP-2 mask and social distancing may be required. These regulations my change before or up to the day of the conference.

Those who are not a citizen of a Schengen country that are planning to attend should view the overview of visa requirements/exemptions for entry into the Federal Republic of Germany, which can be found at the Federal Foreign Office website.

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 alphabetical list of people from nations that require an invitation letter can be found on the Federal Foreign Office website. If the letter is needed, please contact the conference organizers.

the avatar of openQA-Bites

openQA and dehydrated

In this blog post I’m gonna show you, how you can enable https for your openQA instance using dehydrated and the internal SUSE CA. The same procedure should also work for Let’s Encrypt.

a silhouette of a person's head and shoulders, used as a default avatar

The difference between throttle() and rate-limit() in syslog-ng

There are multiple ways in syslog-ng to limit message rate. The throttle() option of syslog-ng destinations tries to make sure that all messages are delivered without exceeding a specified message rate. The rate-limit() filter introduced in syslog-ng 3.36 drops surplus log messages, making sure that a processing pipeline or destination is not overloaded with log messages.

Read the rest of my blog at https://www.syslog-ng.com/community/b/blog/posts/the-difference-between-throttle-and-rate-limit-in-syslog-ng

syslog-ng logo

the avatar of openSUSE News

openSUSE Finalizes New Code of Conduct

The openSUSE Community is proud to announce its new Code of Conduct as approved by the openSUSE Board.

The openSUSE Code of Conduct was written during several community meetings as a collaborative project and reports were sent to the project mailinglists. The input from the openSUSE community members was sent to the openSUSE Board and discussed at length during two public openSUSE Board meetings.

During the February 28, 2022, public Board Meeting, it was recognized that openSUSE did not have an adequate Code of Conduct; as such, the board asked if any attendees were willing to take the initiave to work with the community to develop one. Through the regulary scheduled community meetings, one was written, and subsequently proposed to the Board.

We hope that by having a clear and concise Code of Conduct for the project that the openSUSE Community can continue to grow and prosper in the years to come.

The openSUSE Code of Conduct can be found at https://en.opensuse.org/Code_of_Conduct.

the avatar of Nathan Wolf

Fujitsu Lifebook T725 with openSUSE

I received a kind donation from a member of the Destination Linux Community, Bill, which has become a fantastic addition to my ensemble of machines doing various jobs, daily. This machine is a Fujitsu Lifebook T725 that was manufactured on or about 2015 based on the documentation available. The BIOS release date on my particular […]
the avatar of openSUSE News

Entering Leap Bugs Gains New Clarity

Submitting bug reports related to openSUSE’s traditional release over the years had some abnormalities as reporting bugs for Leap’s distribution had SUSE Linux Enterprise considerations.

As the distribution evolved from the Leap 42.1 hybrid to the binary compatible Leap 15.3 release and exorbitant reporting was necessary. The abnormalities of the process before caused contributors to be unable to see bugs referenced as fixes for SLE, which made it into Leap, but were not able to view them in bugzilla.opensuse.org.

That has now been streamlined, according to an email from Leap release manager Lubos Kocman.

“I’m excited to inform you that the days when developers were struggling to find Public SUSE Linux Enterprise * Bugzilla products (where all bugs are by default visible to the community) are finally over,” Kocman posted to the developer’s mailing list. “Public SLE products can be now seen in the default “Enter new bug” dialog at bugzilla.opensuse.org.”

The change of the bug reporting policy introduced larger utilization and amount of publicly accessible bugs in both Leap and SLE. Bugs against all Leap packages inherited from SLE should be reported in these Public SLE Products.

“We believe that this effort will increase the transparency of what exactly is being fixed in the update for Leap,” he wrote. “As in the past, … most of (the) referenced bugs in patchinfo were simply created as non-public by default. We’re not taking that option away, but rather identified spots where we can be “open” by default. Namely openQA and now all bugs coming from Leap and SLE Beta testers that were not checked as private during creation.”

Leap release manager thanked members of the community for helping and progressing the efforts. The reporting change adds clarity and transparency for contributors.

a silhouette of a person's head and shoulders, used as a default avatar

openSUSE Tumbleweed – Review of the week 2022/12

Dear Tumbleweed users and hackers,

Once again we were able to demonstrate the power of OBS and openQA by allowing the GNOME maintainers to bring the shiny new GNOME 42 into a snapshot ‘the day it is published upstream’. GNOME 42 was released on March 23, 2022, and snapshot 20220323 already contains it. But of course, this is not all that happened during the last week. After all, we had a total of 6 snapshots published (0318…0323).

The main changes in those snapshots include:

  • NetworkManager 1.36.2 & 1.36.4
  • Linux kernel 5.16.15
  • librsvg 2.52.8
  • GNOME 42.0
  • VLC 3.0.17.3
  • Kubernetes 1.23.4 & 1.22.7

There is a change in the build system that might be of general interest: The default builrdoot when building against openSUSE:Factory no longer contains the packages hostname and iputils2. Those have just been carried around for internal requirements of OBS, which are no longer valid. There are a few packages around that blindly relied on those packages being present that might be filing now.

Things that are currently being forged to become ready for consumption are:

  • Move ot use Java 17 openjdk instead of Java 11 openjdk by default
  • timezone 2022a: causes a failure in a python module; https://github.com/pganssle/zoneinfo/issues/114 any help is welcome
  • systemd 250.5
  • podman 4.0
  • Linux kernel 5.17: another python module failing: https://build.opensuse.org/package/live_build_log/openSUSE:Factory:Staging:O/python-psutil/standard/x86_64
  • transactional-update 4.0.0 (rc2 is will be shipped)
  • GCC 12 work keeps on progressing
the avatar of openSUSE News

Tumbleweed Gets GNOME 42

openSUSE’s rolling release quickly gave Tumbleweed users the freshly released GNOME 42.

This highly anticipated release from GNOME contributors landed in the 20220323 snapshot.

GNOME 42 has a new global dark User Interface style preference and comes with a redesigned screenshot feature. The core GNOME 42 apps have been ported to GTK4 and provide next generation capabilities. GNOME 42 includes a valuable set of performance improvements like videos now use modern OpenGL widgets with hardware accelerated decoding; the input handling has been significantly enhanced, which results in lower input latency and improved responsiveness. Improvements in how fullscreen apps are rendered result in reduced energy consumption for video playback and increased frame rates for games. VLC 3.0.17.3 was updated in the snapshot and fixed a regression that could cause a lack of audio for adaptive streaming playback. Several other packages updated in the snapshot including NetworkManager 1.36.4, GTK4 4.6.2, webkit2gtk3 2.36.0, yast2-installation 4.4.50 and more.

The previous day’s snapshot, 20220322 provided three package updates. The Ethernet and IP address pairings package arpwatch 3.2 added a configure option to specify the path to sendmail. The aws-cli 1.22.65 updated the spec file and had some Application Programming Interfaces changes like adding an operation for custom plugin deletion DeleteCustomPlugin and adding Hybridcast as an available profile option for Dash Origin Endpoints. The python-pip 22.0.4 package updated; the package is not compatible with Python 3.6 and is not suitable for openSUSE Leap 15. However, the package fixed an issue where pip did not consider dependencies. There were a significant amount of updates from the previous 20.2.4 version that was in the rolling release.

Another three packages were updated in snapshot 20220321. This snapshot provided a minor update for GNU Compiler Collection 11, which had a patch to fix the miscompiling of an embedded premake of game 0 A.D. on i586 processors. The C/C++ code analysis tool cppcheck updated to version 2.7.1. The tool made various checker improvements and added support for container views; the view attribute has been added to the container library tag to specify the class is a view. The lifetime analysis has been updated to use this new attribute to find dangling lifetime containers. The other package to update was rpm-config-SUSE, which changed his version structure and updated from 0.g96 to 20220317.

The snapshots continued to be released over the weekend as snapshot 20220320 updated fifteen packages. This snapshot updated gnome-software to version 41.5 to add several appstream-related fixes; the update also disabled the scroll-by-mouse-wheel on the featured carousel. The update of container-selinux from 2.171.0 to version 2.180.0 provided several added options and allow container domains to be used by user roles. An updated of libstorage-ng 4.4.94 no longer blocks blkdiscard on extended partitions and whois client 5.5.12 updated the .pro top-level domain server. Other notable packages to update were librsvg 2.52.8, python-kiwi 9.24.29, yast2-installation 4.4.49 and more.

The NetworkManager 1.36.2 update in snapshot 20220319 now loads all the known plugins found in the plugin directory. NetworkManager also converted iproute2 and iputils from requires to recommends. Flatpak 1.12.7 updated in the snapshot and has a change that will allow apps built with Flatpak 1.13.x to export AppStream metadata in share/metainfo, which might be discussed in the upcoming Linux App Summit. The 5.16.15 Linux Kernel appears to have provided a few arm fixes and listed a fix for CVE-2022-0886, which is a duplicate of CVE-2022-27666.

The snapshot that started the week last Friday was 20220318. The snapshot reverted rubygem-formatador from 1.1.0 to 0.3.0. There was a cargo.lock update int he gstreamer-plugins-rs 0.8.2 release and several hundred translation were made in the sixth month desktop-translations 84.87.20220316 update 9301f89b. Other updates in the snapshot included fwupd-efi 1.2, p11-kit 0.24.1 and yast2-packager 4.4.26.