Tue, Nov 15th, 2022

OctoPrint Pause and Resume Settings for the Ender3

This isn’t anything particularly earth shattering here, the point here is to make a kind of “CubicleNate bookmark” for me and to be openly criticized by those that know more than me on this subject. The problem I had was pausing and resuming properly using OctoPrint on my Ender3 Printer. I messed up more than … Continue reading OctoPrint Pause and Resume Settings for the Ender3

Mon, Nov 14th, 2022

Lingot | Musical Instrument Tuner on openSUSE

I like to dabble around in playing instruments, I am, by no means, a musician but doing a little noodling around from time to time can be quite gratifying. In my younger years, I did enjoy playing more than one instrument, today, I am taking on some new challenges, nothing crazy, I just happen to … Continue reading Lingot | Musical Instrument Tuner on openSUSE

Sat, Nov 12th, 2022

NsCDE | Not So Common Desktop Environment on openSUSE

One of the aspects that first attracted me to Linux was the choice in desktop environments. What I specifically thought was great when I made the switch to Linux from Windows was the KDE option at the time. I could shape and mold it to what I wanted my desktop to be, something I had … Continue reading NsCDE | Not So Common Desktop Environment on openSUSE

Fri, Nov 11th, 2022

openSUSE Tumbleweed – Review of the week 2022/45

Dear Tumbleweed users and hackers,

This week (the last weekend) has been a bit of a challenge for many of our users, due to an ill-prepared sudo config change. It was attempted to closer align how sudo works on other distros (using user’s password instead of root’s) but the configuration was far from complete and made nobody able to sudo anymore (su still worked, luckily). A heartfelt apology if you were hit by that. The change was reverted on Monday (through the update channel) to get you back to the usual config asap. But of course, the week was not defined by that one incident. Tumbleweed has been rolling on steadily with daily snapshots (1104…1110).

The main changes delivered during this week were:

  • KDE Gear 22.08.3
  • Qt 5.15.7 (broke Deepin/qt5platform-plugins, I submitted a fix for that to the devel project)
  • Libvirt 8.9.0
  • SQLite 3.93.4
  • cmake 3.24.2
  • PostgreSQL 15.0 (final release, out of RC)
  • Mozilla Firefox 106.0.5
  • Linux kernel 6.0.7
  • GNU Make 4.4
  • git 2.38.1
  • gnome-shell & mutter 43.1
  • Mesa 22.2.3
  • KDE Plasma 5.26.3
  • gnutls 3.7.8
  • systemd 251.8

Quite the list that accumulated there over just one week. And of course, these are just the major changes.OBS reports for the last week: During this period 902 commits were added to packages in this project. Out of those commits, 714 were version updates

The staging projects are currently testing these updates:

  • icu 72.1 (nodejs fixes were submitted, needs retesting)
  • icewm 3.2.0
  • Linux kernel 6.0.8
  • Python (all versions): Fixes for CVE-2022-45061
  • postgresql10, 11, 12, 13, 14, and 15 – all bump to their latest minor version
  • rubygem-rspec 3.12.0: YaST is in the progress of catching up with the needed changes
  • FFmpeg-5 as default (ffmpeg-4 will stay around, and spec files can pin to it)

Git, PostgreSQL, Btrfs update in Tumbleweed

This week saw a new all-time high of continuous openSUSE Tumbleweed snapshots released, which surpasses the previous streak of 26.

That streak continues and the snapshots have provided a few major version software updates along with several bug fixing updates.

The latest snapshot bringing the distribution to an all-time high of 29 is 20221109. This snapshot updates Mesa and Mesa-drivers to versions 22.2.3. The 3D graphics package dropped a package related to Intel Vulkan Application Programming Interfaces and it fixed some regressions affecting continuous integration. An update of libzypp 17.31.5 created a .no_auto_prune in the package to prevent an auto cleanup of orphaned repositories. The text-based user interface writer package ncurses 6.3.20221105 fixed another memory leak and added a few patches from October. Other packages to update in the snapshot were mobile-broadband-provider-info 20221107, elfutils 0.188, perl-Image-ExifTool 12.50 and a half a dozen more.

A major version package update in snapshot 20221108 was made to paper setting package libpaper 2.0.3. The package fixes a segmentation fault when /HOME is unset. The package also dropped a patch and fixed a space leak in case of an error parsing paper specifications. Developers will not have to worry about two Common Vulnerabilities and Exposures fixed in git 2.38.1. A fix for surprising behavior with --local clone optimization had resolved CVE-2022-39253 and a fix for CVE-2022-39260, which could be exploited by victims who had git shell exposed as a login shell, and have enabled its interactive mode by creating the directory /HOME/git-shell-commands. A fixed migration to OpenSSL 3 was made in the nodejs19 19.0.1 update. An update of bind 9.18.8 added new features like support for parsing and validating the dohpath service parameter, which added DNS record type SVCB. The package now logs the supported cryptographic algorithms during startup and in the output of named -V. GNOME’s gedit 43.1 had a fix that cut text off at the bottom in certain situations, and dnsmasq 2.87 added snooping of IPv6 prefix-delegations to the DHCP-relay system. Other packages to update in the snapshot were libsoup 3.2.2, a few GNOME 43.1 updates and several other packages.

The 20221107 snapshot was super small. It updated xterm 375, which fixed a couple regressions and changed the default for sixel scrolling resource to better match VT330/VT340 DECSDM settings. Fingerprint reading package libfprint had a fork allowing the loading of external modules and the non-free modules will be included in Packman repositories, according to the changelog. The make 4.4 version warned of future backward-incompatibility for the next release with several warnings for build requirements and other backward-incompatibility issues. There were also several new features and functions in the minor update like a function that “allows user-defined functions to define a set of local variables: values can be assigned to these variables from within the user-defined function and they will not impact global variable assignments.”

Snapshot 20221106 updated a few packages as well. Mozilla Firefox 106.0.5 had a fix for crashes experienced by users with Intel Gemini Lake CPUs. Linuxl kernel-firmware 20221031 added firmware for Cirrus CS35L41, which is the industry’s first 55 nm smart audio amplifier solution for mobile devices. The update of the kernel-source to version 6.0.7 also focused on audio having several Advanced Linux Sound Architecture changes. There were a few USB adjustments made with the DWC3 driver in the kernel as well. XML security library xmlsec1 1.2.36 had a migration to OpenSSL 3.0 Application Programming Interfaces and the package deprecated OpenSSL before 1.1.0 and LibreSSL before 2.7.0.

The Guy Fawkes Day snapshot, 20221105, seemed fitting to have an update of firewalld 1.2.1 and configuration-management library augeas 1.13.0. The firewalld package fixed nftables with dropping invalid packets before a zone dispatch, and the package added documentation protocols to rich language to extend current zone elements. Augeas improved readline integration to handle quoting issues and a new lens to parse the /proc/cmdline parameters that were added. Another major version in this week’s snapshot was the translation from the release candidate (RC) to the official postgresql 15 release. The package has noticeable gains for managing workloads in both local and distributed deployments, and it improves on its in-memory and on-disk sorting algorithms; according to the announcement benchmarks show speedups of 25 to 400 percent based on which data types are sorted. A few other packages were updated.

Snapshot 20221104 updated KDE Gear 22.08.3. An update of KDE file manager Dolphin fixed the opening of a new window unnecessarily, and Bahrain, which was not showing in Asia on KGeography maps, was fixed, so make sure to tell the people you know using Plasma that Bahrain isn’t some mystical island continent like Australia, only smaller. KDE Gear 22.08.3 also had an update for its travel reservation package KItinerary, which added an Italo train ticket extractor script, so ticket checkers in Italy will have less awkward conversations. An update of sqlite3 3.39.4 fixed a long-standing problem that in rare cases caused database corruption if the application uses an application-defined page cache. Several other packages were updated in the snapshot including libvirt 8.9.0, php7 7.4.33 and more.

There were a few packages worth mentioning in the two snapshots that started off the week. Snapshot 20221103 updated btrfsprogs to version 6.0, and it now has a option -O that accepts values from -R to unify the interface, but -R will continue to work. The file system utilities also put in some experimental mkfs support for block-group-tree related to RC Linux Kernel 6.1. A couple of regressions made their way into xwayland 22.1.4 like a double-scroll wheel event and a key repeat, which were fixed with the 22.1.5 update. Snapshot 20221102 updated to the 6.0.6 kernel-source and mpg123 to version 1.31.1.

The continuous streak of Tumbleweed snapshots stands at 29.

Checking changelogs with zypper

I have heard way to often the question from Linux and specially SUSE Linux users that “How can I check the changelog of a package or new version of a package available on the repository, but not yet installed”. There was no easy answer for that question, so I have decided to make a little tool for that. How it is done All the enabled repositories have a bunch of configuration files in a well structured directory tree under the /var/cache/zypp/raw/.

Thu, Nov 10th, 2022

Running Shell in Builder

Builder has been absolutely wonderful for a designer to dive in and fix up graphics assets for Application. It allows to easily build and test run patches before submitting a merge/pull request on apps hosted on gitlab or github. Ideally you’d press the run button and voilá.

What has been far from wonderful — doing even one line fixes for the GNOME Shell was very hard to test for anyone not building shell daily. getting the environment ready every release has been a chore. From virtual machines, jhbuild, toolbox, jhbuild in VMs to jhbuild in toolbox there was a dozen of way to fail building the latest shell.

Toolbox/Podman targets in Builder

Builder 43, impressively marathoned into perfection, features (among many other things) the ability to target Toolbox/podman containers as development environments. So I was really happy to see Bylan McCall have a nested session going on the run button.

Now I couldn’t get the full detailed receipe out of him, but as they say it’s easier to get the internet prove you wrong than to give you advice, here’s my terrible way (with some help from the most authoritative capacities that probably don’t want anything to do with this pkexec hack):

1) Create a toolbx container and install all gnome-shell dependencies.

toolbox create shell
toolbox enter shell
sudo dnf install gnome-shell mutter ninja-build meson
sudo dnf builddep gnome-shell mutter

While at the beginning of a cycle packages cover most of the dependencies, at the later stages you’ll have to build more things (Usually gsettings-desktop-schemas, libgweather, gjs, gcr and mutter). We’re in a container so I just oldschool brute install to --prefix=/usr. To build mutter for example I’d

mkdir ~/Projects
cd ~/Projects
git clone https://gitlab.gnome.org/GNOME/mutter.git
cd mutter
meson --prefix=/usr build '-Dman=false'
ninja -C build
sudo ninja -C build install

So assuming we have successfuly built shell in the shell toolbox container, we’ll move over to Builder.

2) In Builder, open the project we cloned to ~/Projects/gnome-shell. Create a new configuration (Alt+,) by duplicating the Default. Change the runtime to shell (the toolbx containers are below the usual flatpak runtimes). Set the Installation Prefix to /usr. Don’t forget to make it active (Make Active).

3) Still in configuration, in the Commands section, create a new command (call it Run Nested Shell):

dbus-run-session gnome-shell --wayland --nested

At the bottom of the dialog add a Variable:

MUTTER_DEBUG_DUMMY_MODE_SPECS=1920x1080

This will make the shell run at least in HD, rather than the super tiny default size.

4) In the Application section, change the Run Command from Automatically Discover to our Run Nested Shell. Now we only need to do the last nasty bit to allow for the install to /usr to succeed.

5) Open a new runtime terminal (Ctrl+Alt+T) and replace pkexec with a just-do-it script. It’s a container, it’s fiiiiine, chill.

cd /usr/bin
mv pkexec pkexec.orig

Now with your preferred CLI editor create the following shell script in place of pkexec:

#!/bin/bash
su -c "$*"

Set it executable with chmod +x pkexec.

Build Configurations

Now pressing the run button should build your shell, install it and run the nested session. Hopefully stylesheet patches will be less painful now, maybe?

Please do not hesistate to toot at me what the proper way is rather than installing to /usr

OPI | OBS Package Installer

A project within openSUSE that I think is absolutely fantastic is called the “openSUSE Package Installer.” This allows you to install packages from various third party vendors such as the “Packman” repository or other “community repositories” of the openSUSE Build Service. What this means is, the multi-step process of adding repositories and installing the desired … Continue reading OPI | OBS Package Installer

Syslog-ng on MacOS Ventura

Each new MacOS release brings some surprises when it comes to compiling syslog-ng. MacOS Ventura has been released recently, while Homebrew has also been updated. So here are some updated instructions for MacOS Ventura (and also for the last MacOS minor release before Ventura).

https://www.syslog-ng.com/community/b/blog/posts/syslog-ng-on-macos-ventura

syslog-ng logo

Wed, Nov 9th, 2022

Release Candidate of Leap Micro Now Available

The release candidate of openSUSE’s modern lightweight host operating system Leap Micro 5.3 is now available on get.opensuse.org.

The release made NetworkManager the default network configuration tool; autoyast ensures this. Users should be aware that firewalld is only installed from the ISO if the firewall is enabled during an installation.

A new SELinux module for Cockpit provides basic functionality for users to troubleshoot configurations.

A first-boot wizard gives users an alternative to setting a password via combustion/ignition, which allows for formatting partitions, configuring users, and writing of regular files, systemd units, and more.

The RC introduces newly generated QEMU Copy On Write images for Leap Micro.

The release is based on SUSE Linux Enterprise SUSE (SLE) Micro 5.3 and is built on top of a SLE 15 Service Pack 4 update.

A known issue inherited from SLE Micro 5.3 is a missing group - rpc:rpc. There is also an error on the console while booting with SELinux enabled.

Yet this ultra-reliable, lightweight and immutable operating system can be used in decentralized computing environments, edge, embedded, and IoT deployments.

The host-OS has automated administration and patching, so auto-updating gives users a persistent bootable system for their container and virtualized workloads.

Leap Micro has a six month release cycle, so its product End of Life will end around the timeframe of a second follow-on release. Meaning that Leap Micro 5.4 would make Leap Micro 5.2 EOL, and Leap Micro 5.5 would make this Leap Micro 5.3 release EOL.* Upon the Leap 5.4 release, Leap Micro 5.2 users should upgrade to the new version or migrate to SLE Micro where users can get up to four years of support.

Users should know that zypper is not used with Leap Micro, but transactional-update is used instead. One of the packages related to Leap Micro for developers is Podman. Podman gives developers options to run their applications with Podman in production.

Leap Micro has similarities of MicroOS, but Leap Micro does not offer a graphical user interface or desktop version. However, users can use Cockpit to manager their host OS through a web browser. Leap Micro is based on SUSE Linux Enterprise and Leap rather than a variant of Tumbleweed, which MicroOS bases its release on.

Large development teams can add value to their operations by trying Leap Micro and transitioning to SUSE’s SLE Micro for extended maintenance and certification.

Developers and professionals can build and scale systems for uses in aerospace, telecommunications, automotive, defense, healthcare, hospitality, manufacturing, database, web server, robotics, blockchain and more.

Leap Micro 5.3 documentation can help users who have questions about running this modern OS release.

To download the ISO image, visit get.opensuse.org.

* This is an intended example. Version numbers somtimes change. This is providing a consecutive numbering system as an example.