Fedora People

Using syslog-ng on multiple platforms

Posted by Peter Czanik on April 24, 2024 12:07 PM

Your favorite Linux distribution is X. You test everything there. However, your colleagues use distro Y, and another team distro Z. Nightmares start here: the same commands install a different set of syslog-ng features, configuration defaults and use different object names in the default configuration. I ran into these problems while working with Gábor Samu on his HPC logging blog.

From this blog you can learn about some of the main differences in packaging and configuration of syslog-ng in various Linux distributions and FreeBSD, and how to recognize these when configuring syslog-ng on a different platform.

https://www.syslog-ng.com/community/b/blog/posts/using-syslog-ng-on-multiple-platforms

<figure><figcaption>

syslog-ng logo

</figcaption> </figure>

How to rebase to Fedora Linux 40 on Silverblue

Posted by Fedora Magazine on April 24, 2024 08:00 AM

Fedora Silverblue is an operating system for your desktop built on Fedora Linux. It’s excellent for daily use, development, and container-based workflows. It offers numerous advantages such as being able to roll back in case of any problems. If you want to update or rebase to Fedora Linux 40 on your Fedora Silverblue system, this article tells you how. It not only shows you what to do, but also how to revert things if something unforeseen happens.

Update your existing system

Prior to actually doing the rebase to Fedora Linux 40, you should apply any pending updates. Enter the following in the terminal:

$ rpm-ostree update

or install updates through GNOME Software and reboot.

Note

rpm-ostree is the underlying atomic technology that all the Fedora Atomic Desktops use. The techniques described here for Silverblue will apply to all of them with proper modifications for the appropriate desktop.

Rebasing using GNOME Software

GNOME Software shows you that there is new version of Fedora Linux available on the Updates screen.

<figure class="wp-block-image size-full is-style-default">GNOME_Software_download_screenshot</figure>

First thing to do is download the new image, so select the Download button. This will take some time. When it is done you will see that the update is ready to install.

<figure class="wp-block-image size-full">GNOME_Software_update_screenshot</figure>

Select the Restart & Upgrade button. This step will take only a few moments and the computer will restart when the update is completed. After the restart you will end up in a new and shiny release of Fedora Linux 40. Easy, isn’t it?

Rebasing using terminal

If you prefer to do everything in a terminal, then this part of the guide is for you.

Rebasing to Fedora Linux 40 using the terminal is easy. First, check if the 40 branch is available:

$ ostree remote refs fedora

You should see the following in the output:

fedora:fedora/40/x86_64/silverblue

If you want to pin the current deployment (meaning that this deployment will stay as an option in GRUB until you remove it), you can do this by running this command:

# 0 is entry position in rpm-ostree status
$ sudo ostree admin pin 0

To remove the pinned deployment use the following command:

# 2 is entry position in rpm-ostree status 
$ sudo ostree admin pin --unpin 2

Next, rebase your system to the Fedora Linux 40 branch.

$ rpm-ostree rebase fedora:fedora/40/x86_64/silverblue

Finally, the last thing to do is restart your computer and boot to Fedora Linux 40.

How to roll back

If anything bad happens (for instance, if you can’t boot to Fedora Linux 40 at all) it’s easy to go back. At boot time, pick the entry in the GRUB menu for the version prior to Fedora Linux 40 and your system will start in that previous version rather than Fedora Linux 40. If you don’t see the GRUB menu, try to press ESC during boot. To make the change to the previous version permanent, use the following command:

$ rpm-ostree rollback

That’s it. Now you know how to rebase Fedora Silverblue to Fedora Linux 40 and roll back. So why not do it today?

FAQ

Because there are similar questions in comments for each blog about rebasing to newer version of Silverblue I will try to answer them in this section.

Question: Can I skip versions during rebase of Fedora? For example from Fedora 38 Silverblue to Fedora 40 Silverblue?

Answer: Although it could be sometimes possible to skip versions during rebase, it is not recommended. You should always update to one version above (38->39 for example) to avoid unnecessary errors.

Question: I have rpm-fusion layered and I get errors during rebase. How should I do the rebase?

Answer: If you have rpm-fusion layered on your Silverblue installation, you should do the following before rebase:

rpm-ostree update --uninstall rpmfusion-free-release --uninstall rpmfusion-nonfree-release --install rpmfusion-free-release --install rpmfusion-nonfree-release

After doing this you can follow the guide in this blog post.

Question: Could this guide be used for other ostree editions (Fedora Atomic Desktops) as well like Kinoite, Sericea (Sway Atomic), Onyx (Budgie Atomic),…?

Yes, you can follow the Rebasing using the terminal part of this guide for every Fedora Atomic Desktop. Just use the corresponding branch. For example, for Kinoite use

fedora:fedora/40/x86_64/kinoite

Mode Envoy Typing Sound

Posted by Jon Chiappetta on April 24, 2024 12:48 AM
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio">
<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" frameborder="0" height="567" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/daL5D488w6M?feature=oembed" title="Mode Envoy Typing Sound" width="1008"></iframe>
</figure>

~

<figure class="wp-block-image size-large"></figure>

~

<figure class="wp-block-image size-large"></figure>

OMG! We’re at forty! (Announcing the release of Fedora Linux 40)

Posted by Fedora Magazine on April 23, 2024 02:00 PM

Oh, wow. This feels like a big number! I’m proud to announce the 40th release of Fedora Linux, a community-built and community-maintained operating system that belongs to all of us. I’m also happy to note that we’re back on track with an on-time release. Thank you to all Fedora contributors who made that possible, and who have, yet again, made this our best one ever.

This is also a personally exciting number for me, because this marks the 20th release for which I’ve served as Fedora Project Leader. We’ve gone through a lot in this last decade, and I’m incredibly happy to see our community thrive and grow. In addition to many long-familiar names and faces, it’s exciting to see a new generation with new energy and ideas. In some cases, this is literally a new generation, as many of you have grown up with Fedora. But at whatever age, I’m proud we’ve built such a welcoming and friendly community, and that we continue to work at improving our inclusiveness, diversity, and accessibility.

But anyway! Enough of that. Time to see what we’ve got for you in Fedora Linux 40! If you have a system already, Upgrading Fedora to a New Release is easy. If you’re new, or just curious, head to Get Fedora for installation options.

Desktop news

Fedora Workstation Edition features the GNOME desktop environment, now updated to version 46. Check out What’s New in Fedora Workstation 40? for the highlights!

The KDE Spin now includes KDE Plasma 6, and runs with Wayland out of the box. Read more about that and other KDE Spin updates at What’s New in Fedora KDE 40?

We’re also officially reviving the “Fedora Atomic Desktop” brand for all of our variants which use ostree or image-based provisioning. Our technology isn’t really “immutable”, so this provides a better grouping. Read more about this at Introducing Fedora Atomic Desktops — but in short, Fedora Silverblue and Fedora Kinoite will remain, while the other desktop  variants will become Fedora Sway Atomic and Fedora Budgie Atomic.

Tools for AI development

Fedora Linux 40 ships with our first-ever PyTorch package. PyTorch is a popular framework for deep learning, and it can be difficult to reliably install with the right versions of drivers and libraries and so on. The current package only supports running on the CPU, without GPU or NPU acceleration, but this is just the first step. Our aim is to produce a complete stack with PyTorch and other popular tools ready to use on a wide variety of hardware out-of-the-box.

We’re also shipping with ROCm 6 — open-source software that provides acceleration support for AMD graphics cards. We plan to have that enabled for PyTorch in a future release.

Updates all around!

As usual, we’ve rebuilt everything in the distribution using updated compilers and libraries (and, of course, those updated tools are ready for developers to use). These updates bring bugfixes, security improvements, and performance gains.

And, of course, hundreds of Fedora packagers and testers have worked to integrate the latest versions of open source software from thousands of upstream projects. Those projects, in turn, are made by an uncountable number of developers and contributors working on marketing, design, documentation, code, quality, translations, communications, events, governance, infrastructure, security, and so much more. Thank you again to everyone who makes Fedora amazing, and to everyone whose work has built this whole universe of free and open source software.

Speaking of updates…

There are several important release-day bugfix and security updates available today as well. If you upgrade from an earlier Fedora Linux release, you’ll get them as part of that. For new installations, please make sure to check for and apply updates as soon as possible.

In the unlikely event of a problem…

If you run into a problem, visit our Ask Fedora user support forum. This includes a category for common issues

Or if you just want to say “hello”…

Drop by our “virtual watercooler” on Fedora Discussion and join a conversation, share something interesting, and introduce yourself.

Also, remember that our annual contributor conference, Flock To Fedora, is coming up! It’ll be in Rochester, New York this August. The call for session proposals is still open, if you have something you’d like to share or work on. If you’re already a Fedora contributor, or are interested in being one, or think you might be, we’d love to see you there!

Slimbook Fedora 2: New Ultrabooks for Fedora Linux 40

Posted by Fedora Magazine on April 23, 2024 01:58 PM

The response from the Fedora community to the Fedora Slimbook 16” and 14” has been great! More and more people are noticing the quality of these laptops. We’ve even had a demo unit at events like FOSDEM and SCaLE for community members to play with.

To build on that excitement, Slimbook and the Fedora Project are announcing Slimbook Fedora 2!

Slimbook Fedora 2

The Slimbook Fedora 2 comes in the 14” and 16” models and brings with it fantastic new options.

  • Silver is popular, but how about a smooth black Magnesium chassis?
  • For those who need it, you now have the option of a US ANSI keyboard layout so you can work without skipping a beat!
  • CPU is being upgraded to Intel’s 13th Gen i7 processor
  • Take your work to the next level with the Nvidia RTX 4000 series graphics card in the 16” model

Of course we can’t forget that the Slimbook Fedora 2 will also come with the Fedora logo engraved on the lid, as well as on the super key. 😉

This hardware update comes with a software upgrade courtesy of Fedora’s latest release, Fedora Workstation 40. Featuring GNOME 46 and numerous other enhancements, Slimbook Fedora 2 continues to be a great travel companion. Fedora Linux 40 also comes with the latest Nouveau drivers to give you a much better out of the box experience with the Nvidia graphics card in the 16” model.

Slimbook is dedicated to supporting open source initiatives. As part of that, 3% of the proceeds from each Slimbook Fedora unit sold will continue to be donated to the GNOME Foundation.

Besides that there is also the Fedora contributor discount which gives you an additional €100 off! If you’re a contributor to the Fedora Project you can find more info on how to get this discount from this Community Blog post.

Additionally, Slimbook offers a €150 discount for everyone on last year’s model. You can purchase the previous model with a discount through this link: https://fedora.slimbook.com.

<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-large"></figure> <figure class="wp-block-image size-large"></figure> <figure class="wp-block-image size-large"></figure> <figure class="wp-block-image size-large"></figure> </figure>

More details below:

Slimbook Fedora 2, 16” Model

  • Intel® Core™ i7-13700H Processor
  • NVIDIA GeForce RTX™ 4060 GPU
  • Sleek Color Options: Silver and Black (magnesium chassis)
  • 16-inch 16:10, 100% sRGB, 90Hz Display (2560 x 1600 Resolution)
  • Versatile Keyboard Options: ISO and ANSI (Available in almost any language)
  • Up to 64 GB SO-DIMM DDR5 RAM (removable)
  • Up to 8 TB M.2 SSD NVMe Gen 4.0 (removable)
  • Thunderbolt 4 & USB-C 3.2 Gen2 10Gbps
  • 82 Wh Battery
  • Lightweight Design: 1.6 kg (3.5 lbs)

Slimbook Fedora 2, 14” Model

  • Intel® Core™ i7-13700H Processor
  • Sleek Color Options: Silver and Black
  • 14-inch 16:10, 100% sRGB, 90Hz Display (2880 x 1800 Resolution)
  • Versatile Keyboard Options: ISO and ANSI
  • Up to 64 GB SO-DIMM DDR5 RAM (removable)
  • Up to 8 TB M.2 SSD NVMe Gen 4.0 (removable)
  • Thunderbolt 4 & USB-C 3.2 Gen2 10Gbps
  • 99 Wh Battery
  • Lightweight Design: 1.3 kg (2.8 lbs)

Check out both new Slimbook Fedora 2 models at https://fedora.slimbook.com/

Additional Resources

What’s New in Fedora KDE 40?

Posted by Fedora Magazine on April 23, 2024 01:56 PM

Fedora Linux is a community developed and maintained operating system. Fedora KDE is one of our adaptations of Fedora Linux for your laptop or desktop. With this milestone release of Fedora KDE 40, we hope that you’ll be interested in trying an OS that belongs to you from start to finish, from install to first shut down, from UI customizations to major changes under the hood!

KDE Plasma 6

The all-encompassing change in Fedora KDE 40 is the introduction of KDE Plasma 6. It’s the first major release of the Plasma desktop environment in nine years! Additionally, Fedora KDE is one of the first major distros to ship Plasma 6, and we’re the first Fedora Linux desktop variant to ship Wayland-only (not to worry, we retain full support for X11 applications!), enabling the project to push forward improvements to Wayland for the benefit of the entire Linux community. This builds upon the work done in previous Fedora Linux releases to have Fedora KDE run in Wayland from login to shutdown by default.

<figure class="wp-block-image size-large"></figure>

Featured Highlights

  • There’s a new Overview Effect for keeping tabs on all of your open applications across all your virtual desktops.
  • Partial support for HDR is implemented in this release on the way to having full support.
  • Accessibility improvements have been introduced with color blindness correction filters.
  • A new look to the taskbar comes in the form of a floating panel! Plasma 6 also makes customizing panels easier than ever with an understandable UI to help users make the changes they want with minimal effort.
  • The Breeze UI theme that has been a hallmark of Plasma for a while gets a refresh with simplifications and modernizations where needed.
  • NeoChat, KDE’s Matrix client, is provided by default for you to try.
  • The Cube has returned! The new Overview Effect is cool, but using the Cube to manage your virtual desktops is a fantastic party trick to impress your friends next time you’re sharing your screen. 😉

You can find more changes and improvements in KDE Plasma 6 from their megarelease page!

A word about Kinoite…

If you have an interest in what all of the immutable / atomic / cloud-native / composable / image-based fuss is about, Fedora Atomic Desktops is a great entry point into that world. Case in point, check out Fedora Kinoite 40, an atomic implementation of Fedora KDE that also comes with Plasma 6!

Also check out…

All of the fun events Fedora has coming up! 

  • Be on the lookout for dates for the Fedora 40 Release Party, a virtual, user-focused, two day conference all about the new things in Fedora and the exciting things happening from our contributors. Will (hopefully) happen in May.
  • DevConf.CZ on June 13-15.
  • Flock to Fedora, our in-person, contributor-focused conference, will be happening on August 7-10. 
  • DevConf.US follows right after on August 14-16.
  • KDE’s contributor conference, Akademy, will come to Germany on September 7-12.

Thanks for learning about Fedora KDE 40. We hope that it will continue to be the reliable and exciting desktop OS you know and love. Share your appreciation or feedback on social media with #FedoraKDE!

Try Fedora KDE 40 today!

What’s new in Fedora Workstation 40

Posted by Fedora Magazine on April 23, 2024 01:54 PM

Fedora Workstation, the flagship open source Linux desktop OS from the Fedora Project, has reached a new milestone with the release of Fedora Workstation 40. This release has been made possible due to the contributions of our global community, including your contributions! Fedora Workstation 40 comes packed with new features and performance enhancements that promise a smoother and more responsive computing experience. Read on to learn about the latest features and improvements in the sections below. You can download Fedora Workstation 40 from the Fedora Workstation webpage, or upgrade your existing install within the Software app or with dnf system-upgrade in your favorite terminal emulator.

GNOME 46

Fedora Workstation 40 features GNOME 46, the latest version of the GNOME desktop environment. Key updates include a notable upgrade of the Files app, introducing new features and enhancements. Additionally, many aspects of accessibility have received improvements, ensuring a more inclusive user experience. The Settings app and other core apps have been refined for better usability. More details can be found in the GNOME 46 release notes.

Many other improvements have been made throughout GNOME 46, such as:

  • Grouping of notifications by app. Now, each notification has a header. It shows the app’s name and icon. This makes it possible to see which app sent an alert. Notification now also has an expand button.
  • You can now open a new window for apps pinned to the dash by adding the Ctrl modifier. For example: Super+Ctrl+1 opens a new window for the first app in the dash, complementing the existing shortcut of Super+<Number> that launches the app itself.
  • By default, Tap to Click is now enabled for touchpad.
  • GNOME 46 now features Remote Login option. You can remotely connect using RDP to a new dedicated desktop session when there isn’t an active session.

Core apps

GNOME’s core applications have had significant improvements in the new version. Some of these include:

Settings

GNOME 46 comes with exciting updates to the Settings app, making it more user-friendly than ever. The latest version has more keyboard mnemonics which make navigation easier. It also has a sleek modern interface. The appearance settings load faster than before and with sharper previews. This new release provides more precise control of Wacom stylus pressure. 

In addition to the upgrades mentioned above, the Settings app has received major improvements that are worth mentioning:

  • The Settings app has a new system panel. It groups Region & LanguageDate & TimeRemote Desktop, and About into one settings pane. This new design makes the app easier to navigate.
  • GNOME 46 has updated touchpad settings with two new options. The first, called Secondary Click, lets you choose how to perform a right-click on the touchpad: either with two fingers or by clicking in a corner. The second option allows you to keep the touchpad active while typing, which helps in some apps and games where you need to use the keyboard and touchpad at the same time.

Files

  • One of the notable upgrades to Files is the introduction of a new global search feature. The global search feature lets you search files across all configured locations. You can search the contents of files, filter files by type and modification date, and search multiple locations at once. Click the icon next to the file path field to activate this feature.
  • In GNOME 46, the sidebar dynamic progress section at the bottom allows you to monitor file operations more effectively with more details on their progress.
  • Switching between list and grid views in Files now happens quickly. This fixes the lag noticed in prior versions.

Other changes to the Files app include a new search field within the Files preferences. It helps find specific settings. There’s now also an option to show date and time in a consistent format, and improved network discovery. These refinements make managing files more efficient.

Other core applications have also received upgrades

  • The Software app now displays verified badges for trusted Flathub apps, ensuring software authenticity. 
  • Maps app offers a new editing experience, support for dark mode, and expanded public transit routing. 
  • The Extensions and Calendar apps boast modernized designs and usability improvements. 
  • GNOME 46 upgrades Clocks and Contacts apps. It lets you set a timer quickly in Clocks. And, import multiple VCard files at once in Contacts.
  • The Disks app has a new I/O resource graph for monitoring disk usage. 

Performance Improvements

GNOME 46 provides substantial under-the-hood improvements for a more efficient and polished experience. Key improvements include:

  • Reduced memory usage in search.
  • Significant speed boosts in terminal apps. 
  • More appealing visuals as app interfaces appear sharper, text on the screen clearer, and UI elements more defined, particularly when using fractional display scales due to GTK’s new renders.
  • Experimental support for Variable Refresh Rate (VRR) for smoother video performance. You can enable this feature with the command:
    gsettings set org.gnome.mutter experimental-features "['variable-refresh-rate']"
    Once enabled, the refresh rate can be set in the display settings.

Under-the-hood changes in Fedora Linux 40

Fedora Linux 40 features many under-the-hood changes. Here are some notable ones:

  • IPV4 Address Conflict Detection is enabled by default in NetworkManager to address conflicts caused by duplicate IPV4 addresses in the same physical network.
  • Fedora 40 integrates PyTorch directly into its software repository. This makes it easier for users to access the open source machine learning framework for their projects. Installation is now a breeze through a single command:
    sudo dnf install python3-torch
  • Starting with Fedora Linux 40, the term “immutable” will no longer be used to describe all rpm-ostree based variants of Fedora Linux (Silverblue, Kinoite, Sway and Budgie). Instead, they will be referred to as “Atomic” desktops with Sericea now known as Fedora Atomic Sway. This change is part of a rebranding aimed at simplifying the naming conventions for Fedora spins. More information on this change may be found here.

Also check out…

Cool happenings throughout the Fedora Project!

Stay tuned and get ready to engage with the Fedora community at some upcoming events! In June, join us in Brno, Czechia, for the DevConf CZ conference — a gathering filled with insightful discussions, workshops, and the chance to meet fellow enthusiasts.

Then, mark your calendars for August, when our flagship contributor conference, Flock, takes place. For more details on Flock 2024, check out this post.

Fedora Linux 40 est disponible avec un nouveau GNOME et KDE Plasma !

Posted by Charles-Antoine Couret on April 23, 2024 01:36 PM

En ce mardi 23 avril, les utilisateurs du Projet Fedora seront ravis d'apprendre la disponibilité de la version Fedora Linux 40.

Fedora Linux est une distribution communautaire développée par le projet Fedora et sponsorisée par Red Hat, qui lui fournit des développeurs ainsi que des moyens financiers et logistiques. Fedora Linux peut être vue comme une sorte de vitrine technologique pour le monde du logiciel libre, c’est pourquoi elle est prompte à inclure des nouveautés.

Cette 40e édition propose principalement une mise à jour de son interface principale GNOME 46 et de son concurrent KDE Plasma 6 qui passe à Wayland par défaut au passage.

Expérience utilisateur

Passage à GNOME 46. Cette version se démarque par beaucoup d'améliorations pour son navigateur de fichiers nommé Fichiers. Il dispose dorénavant, en plus d'une recherche dans le dossier et sous-dossiers en cours, d'une recherche globale utilisable via le bouton dédié avec une icône de loupe ou par le raccourci clavier Ctrl+Shift+F (contrairement à la recherche locale qui se fait via le raccourci Ctrl+F). Il permet de chercher dans l'ensemble du répertoire utilisateur voire davantage selon les préférences de l'utilisateur.

L'icône de loupe prend place où était l'icône de progression lors des opérations sur les fichiers comme les décompressions ou la copie de fichiers. De fait ces opérations sont affichées en bas de la barre latérale ce qui permet d'afficher plus d'informations en un coup d’œil. L'application bénéficie en outre d'améliorations de performances en particulier pour afficher de gros dossiers avec des images ou lors du passage d'une vue liste à une vue par icônes et vice-versa. Plus de périphériques sur le réseau peuvent être découverts automatiquement permettant notamment de parcourir leurs fichiers.

GNOME prend en charge les comptes Microsoft OneDrive ce qui permet de facilement parcourir les fichiers sauvegardés avec ce service. Dans les comptes à distance, le protocole WebDAV est aussi pris en charge pour l'accès à des calendriers, listes de contacts et autres fichiers partagés. Pour l'authentification de ces comptes en ligne, le navigateur par défaut est utilisé dorénavant ce qui permet d'utiliser une plus grande diversité de moyens d'authentifications comme l'usage de périphériques USB dédiés.

Pour les amateurs de la connexion distante, il est maintenant possible de se connecter à GNOME graphiquement à distance via le protocole RDP. Auparavant seulement une session ouverte pouvait être pilotée ainsi. Cette option est désactivée par défaut et nécessite des droits appropriés, tout se configure via le panneau de configuration tout comme le bureau distant.

En parlant du panneau de configuration, ce dernier a été amélioré en regroupant plusieurs configurations par sections afin d'améliorer la clarté de l'application. La liste des menus devenait particulièrement importante et rendait difficile la localisation des éléments à configurer. De plus, la configuration du pavé tactile a été améliorée pour permettre de choisir entre le clic dans un coin ou le clic à deux doigts pour réaliser l'équivalent d'un clic droit avec ce périphérique.

Côté accessibilité, le lecteur d'écran Orca a été modernisé pour le rendre plus performant, plus fiable et plus compatible avec les applications Wayland ou celles exécutées dans un bac à sable tel que Flatpak. Il est possible de couper temporairement Orca avec le raccourci clavier Ctrl+Alt+Shift+Q ce qui est particulièrement utile en cas de conflit entre deux lecteurs d'écran ou si une application utilise du son aussi.

Les notifications dans GNOME indiquent par quelle application elles ont été émises. Il est maintenant possible d'étendre facilement la notification afin de pouvoir la visualiser en entier, utilisant une vue plus compacte par défaut.

De manière plus générale, GNOME bénéfice d'améliorations de performances notamment pour son terminal, son moniteur système qui bénéficie aussi d'un graphe dédié aux entrées / sorties sur les espaces de stockage, pour l'enregistrement de l'écran, le visionneur d'images ou encore pour la recherche globale de GNOME. L'ensemble des applications GTK4 bénéficie d'un nouveau moteur de rendu qui améliore le rendu du texte mais aussi les performances.

L'environnement de bureau KDE Plasma change de version majeure avec sa nouvelle version 6. Au passage Plasma 6 utilise Wayland par défaut, et s'il était prévu de supprimer totalement la possibilité de l'utiliser avec X11 pour simplifier la maintenance, des volontaires ont permis de repousser l'échéance pour l'instant.

Sous le capot, cette version utilise la nouvelle bibliothèque majeure graphique qu'elle emploie à savoir Qt 6. C'était l'occasion par ailleurs de rationaliser les différentes couches techniques et APIs internes afin de supprimer ce qui n'était plus au goût du jour ou trop peu employé pour être maintenu.

Cette version propose la prise en charge partielle du rendu des couleurs en HDR pour les applications et matériel compatibles, mais aussi un profil de couleur spécifique par écran afin d'avoir un rendu fidèle des couleurs. Dans cette thématique pour les personnes souffrant de daltonisme ou d'autres formes de maladies dichromatiques peuvent utiliser des filtres pour améliorer la lisibilité des applications et de leur contenu.

Dans les changements plus classiques, la barre principale est par défaut en mode flottant comme pour beaucoup de docks d'autres environnement de bureaux ou systèmes d'exploitation. Il est bien sûr possible de changer tout cela dans les paramètres et plus encore concernant cette barre principale. Concernant l'affichage principal, l'effet cube en cas de changement de bureau virtuel est de nouveau disponible. Pour la capture d'écran, il est possible de choisir une zone arbitraire de l'écran, d'utiliser le codec VP9 pour les enregistrements vidéos et de choisir sa qualité.

Le thème par défaut de l'environnement nommé Breeze bénéficie d'un rafraichissement, il utilise moins de cadres et a un affichage un peu plus compact.

Comme pour GNOME, la recherche a bénéficié d'un effort important. En plus de permettre la conversion de fuseaux horaires ou de trier les résultats par type, les performances sont grandement améliorées : jusqu'à 200% plus rapide pour chercher des documents, jusqu'à 60% plus rapide pour trouver une application, le tout jusqu'à moins 30% d'usage du processeur. La recherche obtient les résultats pour les textes traduits dans votre langue ou en anglais pour les noms ou les descriptions d'applications par exemple.

Il est dorénavant possible de s'authentifier par mot de passe ou par empreinte digitale en même temps, il n'est plus nécessaire de forcer l'une des deux options.

Et tant d'autres changements encore.

Gestion du matériel

Fourniture de ROCm 6 pour améliorer la prise en charge de l'IA et le calcul haute performance pour les cartes graphiques ou accélérateurs d'AMD. Il concerne notamment les puces AMD Instinct MI300A et MI300X, et fournit de nouveaux algorithmes optimisés du mécanisme d'attention et de bibliothèques de communication. Il permet l'usage de flottant 8 bits pour gagner en consommation mémoire au détriment de la précision du modèle pour PyTorch et hipblasLT. Via la plateforme AMD Infinity Hub, il est possible d'obtenir des paquets prêts à l'usage pour certains travaux en IA ou calculs haute performance notamment pour les calculs scientifiques.

Passage à l'étape 2 de la prise en charge du noyau unifié nommée UKI (donc unifiant noyau, initrd, ligne de commande du noyau et signature) pour les plateformes avec UEFI mais rien ne change par défaut à ce sujet. L'objectif dans cette phase est de pouvoir démarrer sur de tels noyaux directement sans chargeur de démarrage intermédiaire, tout en offrant la possibilité de démarrer sur d'autres noyaux et de passer automatiquement au noyau suivant par défaut suite à une mise à jour. Les machines Aarch64 (ARM 64 bits) peuvent également s'en servir maintenant. Une image pour cette architecture et x86_64 doit également être fournie pour un contexte de virtualisation en étant basée sur ces fichiers kickstart.

Si vous souhaitez tester cela sur un système existant, vous pouvez installer les paquets virt-firmware, uki-direct avant d'exécuter le script sh /usr/share/doc/python3-virt-firmware/experimental/fixup-partitions-for-uki.sh pour configurer les partitions proprement afin d'être découvrables par le système, puis enfin installer le paquet kernel-uki-virt pour qu'il installe le noyau proprement avec la nouvelle méthode. Il est préférable de tester cela sur une machine virtuelle ou si vous savez ce que vous faites avec du matériel standard type ahci / nvme pour le stockage principal. Bien sûr ce travail reste expérimental et est réservé à ceux qui savent comment faire pour réparer le système en cas de problèmes.

Internationalisation

Le gestionnaire d'entrée de saisie IBus passe à la version 1.5.30. Les commandes pour lancer et relancer IBus fonctionnent depuis l'environnement Plasma Wayland dorénavant, et pour cet environnement aussi les préférences sont maintenant accessibles depuis le menu non contextuel.

Mise à jour de ibus-anthy 1.5.16 pour la saisie du japonais. Le principal changement est la conversion possible d'ère japonaise avec 2024.

Administration système

NetworkManager tente de détecter par défaut les conflits d'usage d'adresse IPv4 avec le protocole Address Conflict Detection (RFC 5227) avant de l'attribuer à la machine. En somme au moment de s'attribuer une adresse IP donnée, une requête ARP est envoyée au réseau concernant cette adresse. Si une réponse est obtenue, l'adresse est déjà utilisée et n'est donc pas exploitable sans perturber le réseau. Ce mécanisme existe pour les réseaux avec IP fixes ou même avec un serveur DHCP central car rien n'empêche la présence d'une machine configurée avec une IP fixe dans le réseau malgré tout. Si le réseau a un serveur DHCP et qu'un conflit est détecté, la réponse DHCPDECLINE sera envoyée pour obtenir peut être une autre adresse. En cas de conflit une erreur sera rapportée permettant à l'utilisateur de diagnostiquer le problème et d'y apporter une solution. Par défaut le système attendra 200 ms avant de décider qu'il n'y a aucune réponse. Pour l'IPv6 cela est inclus dans le standard RFC 4862 ce qui rend ce changement non nécessaire dans ce cas de figure.

NetworkManager va utiliser une adresse MAC aléatoire par défaut pour chaque réseau Wifi différent, et cette adresse sera stable pour un réseau donné. En effet, certains systèmes utilisent l'adresse Mac pour identifier les machines en déplacement de réseau en réseau permettant une pseudo géolocalisation ce qui nuit à la vie privée. Mais la méthode usuelle de changer d'adresse MAC aléatoirement à chaque connexion pose un problème en cas de réseau restreignant l'accès à certaines adresses MAC uniquement ou en changeant d'adresse IP à chaque reconnexion. Cette méthode est un compromis entre le respect de la vie privée et le confort d'utilisation. Cela est fait en ajoutant la configuration wifi.cloned-mac-address="stable-ssid" dans le nouveau fichier /usr/lib/NetworkManager/conf.d/22-wifi-mac-addr.conf.

Les entrées des politiques SELinux qui font référence au répertoire /var/run font maintenant référence au répertoire /run. Il y a dix ans déjà que le premier répertoire a bougé vers le deuxième chemin mais SELinux a gardé les vieilles règles en utilisant un lien d'équivalence entre eux pour permettre leur utilisation. Cependant certains outils comme restorecon ne gèrent pas bien cette situation tout comme les administrateurs systèmes qui ne sont pas sûrs de comment écrire proprement de nouvelles règles. Pour résoudre le problème le lien d'équivalence passe de /run = /var/run à /var/run = /run.

L'outil SSSD ne prend plus en charge les fichiers permettant de gérer les utilisateurs locaux. Il pouvait exploiter les fichiers /etc/passwd et /etc/group via l'utilisation de l'option id_provider=files. Cependant cette option n'est plus proposée par le projet officiel et n'était à l'époque conservée que pour permettre l'authentification via des cartes à puce ou l'enregistrement de sessions. Mais dans les deux cas il est possible de passer à la méthode proxy via l'option id_provider=proxy pour le remplacer dans ces cas d'usage. Un guide officiel est proposé pour effectuer la conversion pour ceux qui en ont besoin.

DNF ne téléchargera plus par défaut la liste des fichiers fournie par les différents paquets. Jusqu'à présent il le faisait par défaut parmi d'autres métadonnées, mais cette information n'est en réalité nécessaire que dans certains cas précis qui ne concernent pas celui de la majorité des utilisateurs. Notamment pour quelques paquets ayant une dépendance envers un fichier particulier plutôt qu'un paquet donné ou si on cherche un paquet fournissant un fichier spécifique. Cela permet de réduire les ressources consommées chez les utilisateurs mais aussi au sein de l'infrastructure de Fedora car il n'est plus nécessaire de fournir ces données assez conséquentes de manière systématique.

L'outil fwupd pour mettre à jour les firmwares va utiliser passim comme cache pour partager sur le réseau local les métadonnées liées aux mises à jour disponibles pour les firmwares. Ce fichier qui représente environ 1 Mio est téléchargé quotidiennement parfois sur des liaisons coûteuses. Ainsi la pression est réduite sur les infrastructures notamment le CDN fwupd et la bande passante en utilisant localement la ressource quand elle est disponible. Passim utilise avahi pour signaler son service sur le réseau local qui est disponible via le port 27500 afin que les autres clients puissent identifier si des métadonnées sont disponibles localement.

Les systèmes Fedora Silverblue et Kinoite disposent de bootupd pour la mise à jour du chargeur de démarrage. Par conception les systèmes avec rpm-ostree comme ceux-ci n'ont pas le chargeur de démarrage qui se met à jour par ce biais car cela n'est pas une opération sûre. En effet, la mise à jour de ces systèmes repose sur le principe de transaction pour que le passage d'un état à un autre soit fiable, cependant ce mécanisme ne fonctionne pas bien pour le chargeur de démarrage qui est un composant distinct et critique. On retrouve la même problématique pour les systèmes utilisant un mécanisme de mise à jour basé sur une partition A et B et passant de l'un à l'autre. D'où la création de cet utilitaire qui est mis à disposition pour ceux qui le souhaitent, du moins pour les machines disposant d'un EFI. La mise à jour est pour le moment manuelle à la demande avec la commande bootupctl update. La mise à jour automatique sera prévue dans le futur.

Le paquet libuser est marqué en voie de suppression pour Fedora 41 alors que le paquet passwd est supprimé. La bibliothèque libuser sert à cacher les différences entre les utilisateurs locaux et distants via le protocole LDAP. Mais la prise en charge de ce protocole reste incomplet et il n'y a pas de plan pour aller plus loin, comme sssd peut la remplacer dans ce rôle, la décision de la supprimer prochainement de Fedora fait sens. Pour l'instant seuls les paquets usermode et util-linux en ont encore besoin. Le paquet passwd quant à lui disparaît pour se débarrasser de la dépendance à libuser. La commande pour changer de mot de passe ne change pas, mais est fournie par le paquet shadow-utils.

Le paquet cyrus-sasl-ntlm a été supprimé. Le protocole d'identification NTLM n'est plus maintenu, au profit du protocole Kerberos et ce composant dans SASL n'est plus maintenu depuis des années justifiant une telle décision.

La gestion des droits utilisateurs pam_userdb passe de la base de données BerkeleyDB à GDBM. BerkeleyDB 5.x fourni par Fedora n'est plus à jour ce qui pose des soucis en terme de bogues et de sécurité, d'autant plus avec le rôle de PAM dans le système. La licence de BerkeleyDB a changé dans la branche 6.x, passant de BSD à AGPL rendant impossible l'adoption de cette version plus à jour pour ce composant, les licences n'étant pas compatibles. Ainsi GDBM se pose comme une alternative pour résoudre ce problème. BerkeleyDB 5.x a débuté sa sortie du projet Fedora depuis Fedora 33, ceci est une étape de plus dans cette direction.

Le filtre antispam bogofilter utilise SQLite au lieu de BerkeleyDB pour gérer sa base de données interne. La raison est analogue au paragraphe précédent.

Le serveur LDAP 389 passe de la version 2.4.4 à la version 3.0.0. Le projet abandonne la prise en charge de BerkeleyDB pour sa base de données interne pour la même raison que précédemment. En dehors de cela qui introduit des incompatibilités, cette mise à jour est en réalité assez mineure sur les autres aspects en fournissant essentiellement des correctifs de bogues.

Le paquet iotop est remplacé par iotop-c. Si le nom du paquet change, celui du binaire installé ne change pas. iotop n'est plus vraiment maintenu depuis une dizaine d'années et est sévèrement concurrencé par iotop-c sur cet aspect qui bénéfice en plus d'une empreinte mémoire plus petite étant rédigé en C au lieu de Python. Il n'est pas pertinent aux yeux des mainteneurs de maintenir les deux ainsi.

L'orchestrateur de conteneurs Kubernetes évolue de la version 1.27 à la version 1.29. Ce changement est communiqué car Kubernetes déconseille le saut des versions ce que Fedora fait actuellement en passant à la version 1.28 en fournissant ainsi la dernière version disponible. Cette version propose aux utilisateurs la possibilité d'avoir un écart de version de n-2 à n-3 pour les versions mineures entre le nœud principal et le plan de contrôle. Il est également possible si un nœud est indisponible suite à une panne ou à un état non récupérable de démarrer les services qu'il gérait dans un autre nœud dans un état sain. Le mode d'accès aux données ReadWriteOncePod devient accessible sans restrictions, permettant de restreindre l'accès à des données à un seul pod à la fois plutôt qu'à un seul nœud, pour réduire le risque d'accès concurrents en particulier en écriture. De même le module KMS v2 est disponible à tous pour réaliser les services de chiffrement pour vos APIs.

Par ailleurs les paquets de Kubernetes sont restructurés. L'objectif est de se rapprocher de l'organisation du projet upstream et de simplifier la vie des utilisateurs. Ainsi le paquet kubernetes récupère l'utilitaire kubelet qui avait son paquet dédié et les services fournis via l'ancien sous-paquet kubernetes-master sont renommés kubernetes-systemd. Les paquets kubernetes-client et kubernetes-kubeadm restent inchangés.

Pendant que podman est mis à jour vers la version 5. Cette version abandonne la prise en charge des cgroupv1 du noyau, de même que les plugins CNI ou la base de données clé / valeur Boltdb au profit de SQLite pour les nouvelles instances. Le format des fichiers de configuration pour les podman machines a été profondément remanié, rendant nécessaire la recréation des machines virtuelles concernées conçues avant cette version.

Le paquet wget2 remplace le paquet }}wget}} en fournissant une nouvelle version. Cette version propose du code multithreadé et qui télécharge plus vite grâce à la prise en charge du protocole HTTP2 avec la compression ou le téléchargement parallèle. Il propose plus d'options, il a également plus de tests automatiques pour s'assurer de sa robustesse dans le temps. Sa réécriture dans un style plus moderne devrait faciliter l'adoption de nouveaux protocoles à l'avenir. Par contre les protocoles dépassés WARC et FTP sont moins bien pris en charge. La licence change pour GPLv3+, de même que sa bibliothèque libwget2 vers LGPLv3+.

Le gestionnaire de base de données PostgreSQL migre vers sa 16e version. De part l'arrêt des modules, les paquets pour des versions alternatives sont également réintroduits. Ainsi les paquets postgresql15* font leur apparition pour la prise en charge de la version précédente, et les paquets postgresql17* seront proposés quand la 17e version sera disponible. En terme de changements apportés par cette nouvelle version, les jointures FULL ou OUTER sur des hash peuvent être parallélisées pour de meilleures performances. Il est dorénavant possible de répliquer des données depuis des serveurs dans un état standby, de même la réplication peut être appliquée en parallèle pour de larges transactions afin d'améliorer les performances de l'opération. La vue pg_stat_io fournit des informations statistiques concernant les entrées et sorties. SQL/JSON qui est introduit dans le standard SQL bénéficie de constructeurs dédiés pour créer des objets JSON mais aussi des fonctions identités pour connaître le type des clés. Et ce parmi de nombreuses corrections de bogues et d'amélioration de performances.

Les paquets MySQL et MariaDB sont remaniés et mis à jour vers la version 10.11 pour MariaDB. Le paquet community-mysql est renommé mysql tandis que le paquet mariadb ne fourni plus de binaires avec le nom mysql. En effet la décision à l'époque a été prise car il semblait convenu que MariaDB remplacerait MySQL tout comme LibreOffice a supplanté OpenOffice.org mais force est de constater que les deux projets vont cohabiter longtemps. Cela rend le tout plus simple pour l'utilisateur. Cependant, puisque ces logiciels évoluent séparément, ils deviennent peu à peu incompatibles et le mainteneur abandonne la possibilité d'utiliser MariaDB comme serveur avec MySQL comme client et vice-versa. Aucune autre distribution en fournissait une telle possibilité et cela devenait difficile à maintenir car cela était source de problèmes.

En terme de nouvelles fonctionnalités pour MariaDB, il est possible de lire entièrement les tables Information Schema Parameters et Information Schema Routines tout en améliorant les performances dans la procédure. Il est possible de savoir combien de temps une requête passe dans l'optimiseur via l'option ANALYZE FORMAT=JSON. Les semi-jointures pour la mise à jour ou la suppression de données sont optimisées. Les privilèges SUPER et READ ONLY ADMIN sont dorénavant distincts, à ce sujet il est possible de fournir à tous les utilisateurs des droits spécifiques via la requête GRANT <privilege> ON <database>.<object> TO PUBLIC.

Développement

Mise à jour de la suite de compilation GNU : GCC 14.0, binutils 2,41, glibc 2.39 et gdb 14.1.

Concernant la suite de compilateurs GCC, elle continue l'amélioration de la prise en charge des langages C23 et C23, alors que débute la prise en charge de la future norme C26. De nombreux modèles de puces Aarch64 et x86_64 bénéficient de micro-optimisations, tandis qu'il y a un début de prise en charge des nouvelles instructions pour l'architecture x86_64 d'Intel dénommées APX et AVX10. L'analyseur statique de code peut afficher visuellement les dépassements de tampons pour mieux comprendre ce qui se passe en mémoire.

Pour la suite d'outils binutils, cela se concentre surtout sur la prise en charge plus étendue des instructions des architectures Aarch64, RISC-V et x86_64.

Quant à la bibliothèque standard C glibc, cela se traduit par de nombreuses améliorations comme la prise en charge de la pile cachée pour éviter les attaques par modification d'adresse de retour, ce que Fedora Linux active par ailleurs. De même pour limiter certaines attaques, la glibc propose de pouvoir réécrire au lancement la PLT pour obtenir les adresses des fonctions des bibliothèques dynamiques plutôt que de les avoir lors du premier appel à chaque fonction. Le programme démarre plus lentement mais est plus sûr pour la suite. L'en-tête <stdbit.h> fait son apparition pour les manipulations sur les bits, opérations basées sur la norme de C20. Et une nouvelle fonction posix_spawnattr_setcgroup_np est ajoutée pour démarrer un processus dans un cgroup donné afin d'éviter des situations de concurrence entre le moment où le processus est démarré et où les restrictions s'appliquent.

Enfin le débogueur gdb propose un début de prise en charge du protocole de Microsoft Debugger Adapter Protocol pour faire le lien entre les débogueurs et des IDEs ou éditeurs de code afin de faciliter leur intégration mutuelle. Il peut également gérer des entiers au delà de 64 bits, de même que d'appeler une commande shell avec l'instruction $_shell pour obtenir son résultat. Les instructions de l'architecture Aarch64 SME et SME2 commencent à être gérées et l'API Python est considérablement étoffée pour ceux qui veulent scripter le débogueur.

La suite de compilateurs LLVM est mise à jour à la version 18. Fedora en profite pour que CLang utilise des informations de débogage au format DWARF-5 au lieu de DWARF-4 par défaut comme appliqué par le projet amont. Pour simplifier la procédure de compilation de Fedora pour les paquets utilisant cette chaîne de compilation, le Fat-LTO sera employé pour permettre l'usage du LTO quand c'est possible comme cela était déjà le cas avec GCC. Jusqu'alors ces paquets étaient compilés avec LTO par défaut avec une éventuelle conversion vers ELF à la main si la compatibilité le nécessitait ce qui était particulièrement lourd. Par ailleurs les paquets de compatibilité des versions précédentes fournissent les binaires des différents utilitaires et non plus seulement les bibliothèques et en-têtes.

Concernant les nouveautés apportées par le projet en lui même, comme pour la chaîne de compilation GNU, les architectures Aarch64, x86_64 ou RISC-V sont mieux gérées. Le compilateur CLang suit GCC avec du travail sur C20, C23 pour améliorer la compatibilité avec le standard et le début de prise en charge de la future norme C++26.

Mise à jour de la bibliothèque C++ Boost à la version 1.83. Depuis la version 1.81, cette bibliothèque propose un module pour communiquer avec les bases de données MySQL ou encore une bibliothèque Compat: pour fournir en code compatible C++11 des ajouts proposés par les standards ultérieurs.

Le langage Go passe à la version 1.22. La sémantique de la boucle for évolue un peu avec la création de la variable de boucle à chaque itération de boucle plutôt qu'à la première avec mise à jour à chaque passage. De plus il accepte l'usage des plages de valeurs basées sur des entiers. L'exécution des programmes gagne 1 à 3% grâce à l'optimisation de la localisation mémoire des métadonnées du ramasse miette. Les programmes compilés avec un profil d'optimisation peuvent gagner entre 2 et 14% de performances par rapport à la version précédente grâce à la possibilité d'appliquer la technique sur plus de fonctions qu'avant.

Le JDK de référence pour Java passe de la version 17 à 21. OpenJDK peut maintenant faire du filtrage par motif dans une instruction switch. Il est possible aussi d'affecter le résultat d'une identification de type dans une variable directement afin de pouvoir s'en servir immédiatement. Des fils d'exécution virtuels font leur apparition qui sont plus légers et performants, plutôt dédiés à des tâches courtes avec beaucoup d'attentes, ces tâches peuvent ainsi bénéficier de meilleure performance notamment en terme de latence. Il introduit également une API pour les collections d'objet en séquence (donc ordonnées). De même une nouvelle API pour manipuler les clés cryptographiques symétriques fait son entrée. Le ramasse miette Z Garbage Collector améliore ses performances.

Ruby 3.3 surveille sa syntaxe avec Prism. Prism est un gem introduisant un nouveau parseur très flexible qui a vocation à remplacer Ripper. Le compilateur juste à temps YJIT bénéficie de nombreuses améliorations comme de meilleures performances, une réduction de la consommation mémoire avec un code généré plus compact et avec moins de métadonnées et un temps de compilation plus court. Un concurrent RJIT fait son entrée, écrit en pur Ruby et non en C comme YJIT, il a plus vocation à servir de terrain d'expérimentation. Le ramasse miette est également plus performant.

Le langage PHP utilise la version 8.3. Cette version permet de définir des classes constantes, il propose également un attribut #\Override si une classe surcharge une méthode d'une classe parente. Une nouvelle fonction json_validate permet de vérifier la validité d'un JSON sans le décoder. Le Randomizer a plus de méthodes pour permettre de générer des noms ou nombres aléatoires suivant les besoins.

La boîte à outils pour le machine learning PyTorch fait son entrée dans Fedora. L'objectif est de fournir une meilleure expérience pour les développeurs de ce genre de solution. Un groupe de travail dédié s'est mis en place avec une réunion bi-hebdommadaire. Pour le moment l'architecture x86_64 est la seule prise en charge avec un effort important mis sur les solutions AMD.

Le paquet python-sqlalchemy utilise la nouvelle branche majeure 2.x du projet, le paquet python-sqlalchemy1.4 est proposé pour garder la compatibilité. Cette version apporte entre autre de l'annotation de type ce qui permet de construire des ORM sur un modèle déclaratif. Les opérations d'insertions sont aussi bien plus performantes quelque soit le gestionnaire de base de données derrière.

La bibliothèque de validation des données Pydantic utilise dorénavant la version 2. Outre l'amélioration des performances, il change radicalement son API ce qui coupe la compatibilité ascendante.

La bibliothèque Thread Building Blocks passe du fil 2020.3 au fil 2021.8. De même la compatibilité ascendante n'est pas garantie ce qui a rendu ce portage compliqué.

La bibliothèque OpenSSL 1.1 est supprimée ne laissant que la dernière version de la branche 3.x. Depuis Fedora 36 la branche 3 est employée par défaut dans Fedora. OpenSSL 1.1 n'est plus maintenue depuis fin de l'année dernière ce qui rend sa maintenance délicate et non sûre d'où son abandon malgré la faible compatibilité entre les deux versions pour ceux qui s'en servait encore.

Les bibliothèques zlib et minizip utilisent leur variante zlib-ng et minizip-ng dorénavant. Ces versions sont plus rapides grâce à l'emploi des instructions plus modernes des processeurs actuels tout en gardant la compatibilité par rapport à l'implémentation de référence.

Le langage Python ne bénéficie plus de la version 3.7. Depuis juin de l'année dernière cette version n'est plus maintenue et il n'y a pas de raison de poursuivre son maintien dans les dépôts en tant que version de compatibilité.

Projet Fedora

L'édition Cloud sera construite avec l'utilitaire Kiwi dans Koji. L'utilitaire ImageFactory employé jusqu'à présent n'est plus maintenu. Les outils mkosi et osbuild ont été considérés mais non retenus, le premier car il manque de flexibilité pour fournir toutes les images souhaitées, tandis que le second est certes adopté par l'équipe de Fedora Workstation mais ne semble pas adapté aux besoins des images clouds qui reposent sur d'autres technologies dont rpm-ostree et doit fournir des délivrables plus variés également. En effet l'image cloud cible Vagrant, Azure, AWS, GCP et peut dorénavant viser aussi les images pour WSL2 ou pour conteneurs directement.

Tandis que l'édition Workstation aura son image ISO générée avec l'outil Image Builder. En effet ce dernier bien que déjà employé par Fedora Workstation bénéficie enfin de la prise en charge des images ISO live. Il remplace donc les outils lorax/livemedia-creator qui avaient beaucoup de problèmes. Il devient aussi plus simple pour quiconque de générer son image ISO avec un simple fichier TOML pour le décrire et quelques utilitaires en ligne de commande.

L'image minimale ARM sera construite avec l'outil OSBuild. Comme dans le cadre de l'édition Cloud, il remplace l'utilitaire ImageFactory qui montrait ses limites. L'objectif à terme est de pouvoir supprimer totalement ou partiellement les hacks nécessaires à ce jour pour utiliser cette image sur une grande variété de systèmes ARM.

Fedora IoT bénéficiera d'images pouvant démarrer dans des conteneurs. Ainsi il est possible de tester le système dans des conteneurs plutôt que via de la virtualisation classique ou sur des machines physiques. Cette flexibilité peut aider le test par les utilisateurs mais également par ses mainteneurs.

Il bénéficiera également des images Simplified Provisioning. Fedora IoT peut ainsi utiliser l'utilitaire coreos-installer pour l'installer sur le disque directement et ce en utilisant un argument noyau pour savoir sur quel disque l'installer. Ainsi pas besoin de fichier kickstart ou d’interaction avec l'utilisateur ce qui simplifie la procédure et son automatisation. Cela s'intègre parfaitement avec les dispositifs Fido Device Onboarding et Ignition pour la configuration de tels systèmes dans un environnement de production.

Et le tout sera construit en utilisant rpm-ostree unified core. L'ancien mode n'est en effet plus maintenu et moins testé. Le mode unifié permet au compose server, qui est l'image de base créée à partir de RPM, de fonctionner de manière similaire au client qui ajoute des commits par dessus pour personnaliser le contenu du système. Cela permet de simplifier la maintenance côté rpm-ostree mais aussi de résoudre certaines difficultés notamment pour la gestion du démarrage avec bootupd, les labels SELinux et l'utilisation de conteneurs pour les scriplets pré et post installations des paquets. Depuis Fedora Linux 39 où Silverblue et Kinoite ont amorcé la transition, l'édition IoT était la dernière variante à ne pas avoir franchi le pas.

Fedora sera construit avec DNF 5 en interne. Ainsi les outils Mock, Koji et Copr passent le cap, en attendant Fedora Linux 41 pour que cela soit le cas pour les utilisateurs de la distribution. L'objectif est ici double. Les développeurs de DNF auront un retour d'expérience grandeur nature sur cette version et permettra d'identifier d'éventuels problèmes. Pour l'infrastructure, DNF 5 est plus léger en mémoire, plus performant et consomme moins d'espace disque ce qui permettrait de gagner du temps dans la construction des RPM et des images et de réduire la pression sur le matériel employé à ces tâches.

Les macros forge passent du paquet redhat-rpm-config à forge-srpm-macros. Ces projets sont maintenant distincts upstream et ce premier dépend maintenant du second. L'objectif est de simplifier la possibilité d'exécuter des tests automatiques sur ces macros afin d'améliorer leur fiabilité.

Phase 3 de l'usage généralisé des noms abrégés de licence provenant du projet SPDX pour la licence des paquets plutôt que des noms du projet Fedora. L'objectif de cette phase est de poursuivre le travail entamé dans les versions précédentes en convertissant l'essentiel des paquets RPM vers ce nouveau format. Cependant le travail devrait être achevé pour l'ensemble des paquets pour Fedora Linux 41.

La construction de certains paquets échouera si l'éditeur de lien détecte certaines classes de vulnérabilité dans le binaire en construction. C'est la macro %{hardened_build} qui est étendue pour fournir ce service, cela ne concerne que les paquets l'utilisant. Il peut ainsi générer une telle erreur s'il détecte une pile exécutable, un segment chargeable en mémoire avec des permissions en lecture, écriture et exécutable ou un fil d'exécution local ayant un segment exécutable. L'objectif est donc de renforcer le caractère non modifiable des sections mémoires exécutables pour limiter le risque de failles de sécurité. Cela est fait grâce à l'éditeur de lien BFD qui fournit de telles vérifications. Jusqu'à présent ces cas étaient détectés mais ne généraient que des avertissements qui étaient de fait ignorés.

Compilation des paquets en convertissant plus d'avertissements comme erreurs lors de la compilation des projets avec le langage C. L'objectif est de supprimer de plus en plus de code utilisant d'anciennes constructions qui sont source de bogues d'une part, mais qui seront aussi progressivement interdites par défaut avec les futures versions de GCC. Par ailleurs, certains de ces éléments pouvaient être bloquants pour l'adoption d'une nouvelle norme C de référence pour certains paquets.

Voici la liste des changements opérés :

  • Suppression des déclarations implicites de fonctions : 54 paquets concernés ;
  • Suppression du type implicite int quand le type est omis : 5 paquets concernés ;
  • Obligation de mentionner les types dans les arguments lors de la déclaration de fonctions : aucun paquet concerné ;
  • Interdiction de conversions implicites entre entier et pointeurs : 100 paquets concernés ;
  • L'instruction return doit avoir les arguments qui correspondent au type de retour d'une fonction (donc pas d'argument si void, et non vide si un entier est attendu par exemple) : 13 paquets concernés ;
  • Interdiction des conversions implicites de pointeurs de types différents : 381 paquets concernés.

Certains changements devraient voir le jour dans le futur :

  • Interdiction des déclarations de fonctions dans le style pré-C89 ;
  • Interdiction d'utiliser des mots clés bool, true ou false avec des définitions locales plutôt que d'utiliser l'en-tête de la bibliothèque standard ;
  • Déclarer une fonction sans argument comme void foo() aurait le même sens qu'en C++, à savoir équivalent à void foo(void) plutôt qu'à accepter n'importe quel type d'arguments.

Clap de fin pour la construction des mises à jour au format Delta RPM. Ils sont désactivés par défaut dans la configuration de DNF et Fedora ne les générera plus. Cette fonctionnalité permettait pour les mises à jour de ne télécharger que la différence entre le paquet déjà installé et celui à mettre à jour. Cela permettait de réduire la quantité de données à télécharger, la machine de l'utilisateur pouvait reconstruire le paquet à partir de ces informations et ainsi obtenir la nouvelle version. Mais en pratique la fonctionnalité se révèle de moins en moins pertinente. Tout d'abord le processus n'est pas fiable à 100%, parfois la reconstruction échoue et dans ce cas le nouveau paquet est totalement téléchargé à nouveau ce qui conduit à un gaspillage de ressources. De plus peu de paquets étaient concernés, les delta RPM étaient d'ailleurs construits en général que d'une version à une autre ce qui la rend fonctionnelle surtout pour ceux qui mettent à jour très régulièrement leur système. Et pour que cette fonctionnalité soit exploitable, ces fichiers delta rpm font partie des métadonnées que DNF télécharge. Sauf que c'est le cas même si les delta rpm sont désactivés par l'utilisateur, ou pour les systèmes reposant sur rpm-ostree ou utilisant un GUI comme GNOME Logiciels car PackageKit comme rpm-ostree ne se servent pas de ces métadonnées. Au final cela pénalise toute l'infrastructure qui doit générer et stocker ces données, et beaucoup d'utilisateurs qui subissent les inconvénients sans les avantages le tout pour un gain jugé marginal pour ceux qui s'en servent : moins de 8% de réduction de la taille des téléchargements en moyenne.

Les JDKs ne sont générés qu'une fois, et rempaquetés ainsi à toutes les variantes du système. Pour cela les paquets du JDK sont générés à partir de la version la plus ancienne de Fedora Linux encore maintenue, et le résultat est directement réutilisé pour former les paquets des autres versions du système. Cela réduit considérablement le temps de validation de chaque JDK car il y a cinq fois moins de versions différentes à gérer. Cela permettra aux mainteneurs de maintenir la diversité actuelle des JDK à savoir les versions 1.8.0, 11, 17 et la dernière (actuellement la version 20). Si ce résultat ne permet pas de libérer assez de temps aux mainteneurs, la réduction du nombre de JDK à l'avenir pourrait être considérée.

Les images immuables pour les systèmes personnels comme Silverblue seront nommées sous la dénomination Atomic pour éviter la référence au terme immuable qui est confus pour les utilisateurs. Les noms de variantes Silverblue, Kinoite, Sericea et Onyx vont être préservés, l'objectif est de donner une dénomination commune qui utilise le terme Atomic déjà employé par l'édition Cloud par exemple. Le terme immuable est en effet considéré comme peu clair car si le système principal est majoritairement en lecture seule, il ne l'est pas totalement notamment pour la configuration ou les parties dynamiques du système. Alors que le système repose sur le concept d'atomicité en ayant une approche par état du système, d'où la nécessité de redémarrer pour changer cet état notamment lors d'une mise à jour par ailleurs.

L'objectif est donc purement au niveau de la communication autour de ces systèmes. Cependant les nouvelles variantes devraient utiliser ce terme dans ce nom comme par exemple Fedora XCFE Atomic si jamais cette variante prend vie un jour.

La communauté francophone

L'association

Borsalinux-fr est l'association qui gère la promotion de Fedora dans l'espace francophone. Nous constatons depuis quelques années une baisse progressive des membres à jour de cotisation et de volontaires pour prendre en main les activités dévolues à l'association.

Nous lançons donc un appel à nous rejoindre afin de nous aider.

L'association est en effet propriétaire du site officiel de la communauté francophone de Fedora, organise des évènements promotionnels comme les Rencontres Fedora régulièrement et participe à l'ensemble des évènements majeurs concernant le libre à travers la France principalement.

Si vous aimez Fedora, et que vous souhaitez que notre action perdure, vous pouvez :

  • Adhérer à l'association : les cotisations nous aident à produire des goodies, à nous déplacer pour les évènements, à payer le matériel ;
  • Participer sur le forum, les listes de diffusion, à la réfection de la documentation, représenter l'association sur différents évènements francophones ;
  • Concevoir des goodies ;
  • Organiser des évènements type Rencontres Fedora dans votre ville.

Nous serions ravis de vous accueillir et de vous aider dans vos démarches. Toute contribution, même minime, est appréciée.

Si vous souhaitez avoir un aperçu de notre activité, vous pouvez participer à nos réunions mensuels chaque premier lundi soir du mois à 20h30 (heure de Paris). Pour plus de convivialité, nous l'avons mis en place en visioconférence sur Jitsi.

La documentation

Depuis juin 2017, un grand travail de nettoyage a été entrepris sur la documentation francophone de Fedora, pour rattraper les 5 années de retard accumulées sur le sujet.

Le moins que l'on puisse dire, c'est que le travail abattu est important : près de 90 articles corrigés et remis au goût du jour. Un grand merci à Charles-Antoine Couret, Nicolas Berrehouc, Édouard Duliège et les autres contributeurs et relecteurs pour leurs contributions.

La synchronisation du travail se passe sur le forum.

Si vous avez des idées d'articles ou de corrections à effectuer, que vous avez une compétence technique à retransmettre, n'hésitez pas à participer.

Comment se procurer Fedora Linux 40 ?

Si vous avez déjà Fedora Linux 39 ou 38 sur votre machine, vous pouvez faire une mise à niveau vers Fedora Linux 40. Cela consiste en une grosse mise à jour, vos applications et données sont préservées.

Autrement, pas de panique, vous pouvez télécharger Fedora Linux avant de procéder à son installation. La procédure ne prend que quelques minutes.

Nous vous recommandons dans les deux cas de procéder à une sauvegarde de vos données au préalable.

De plus, pour éviter les mauvaises surprises, nous vous recommandons aussi de lire au préalable les bogues importants connus à ce jour pour Fedora Linux 40.

Fedora Ops Architect Weekly

Posted by Fedora Community Blog on April 22, 2024 09:25 PM

And what a week it was! Fedora Linux 40 got the ‘GO’ at the Go/No-Go meeting on Thursday so that means a brand new release of Fedora Linux is arriving to you tomorrow, Tuesday 23rd April!

Read on to hear about other exciting Fedora news 🙂

CfPs & Events

Flock to Fedora

The CfP for Flock to Fedora has been extended until Monday April 29th, so dont delay if you have been thinking about submitting something – here is your chance!

Devconf.us

Devconf.us is returning this year in Boston, MA from August 14th – 16th. Their cfp is closing today, so get it in quick if you have had something in draft.

Fedora Linux 41

Now that F40 is releasing, attention will be on the development of F41 which has been happening for a while now. Here are some deadlines for all you change proposal enthusiasts, and for other key dates like the beginning of the Beta freeze and mass rebuild, please view the release schedule.

  • June 19th – Changes requiring infrastructure changes
  • June 25th – Changes requiring mass rebuild
  • June 25th – System Wide changes
  • July 16th – Self Contained changes

If you are unsure of how to propose a change, there is some excellent documentation and video tutorial to help, and you can always reach out directly to me too.

Changes currently in discussion are:

A full list of the already accepted changes for Fedora Linux 41 can be found on the change set page too.

Elections

The F40 elections will begin soon! There are some changes to this cycle, which you can read about them in more detail in the Elections blog post coming later this week and do consider nominating yourself or someone you think would be a great person on Council, FESCo, Mindshare or EPEL when the nominations page is live. Please do make sure the person you are nominating is on board with their nomination too 🙂

Help Wanted

Help is always greatly appreciated.We also have some packages needing some new maintainers and others needing reviews. See below links to adopt and review packages!

The post Fedora Ops Architect Weekly appeared first on Fedora Community Blog.

New badge: Red Hat Summit 2024 !

Posted by Fedora Badges on April 22, 2024 09:19 PM
Red Hat Summit 2024You visited Fedora at Red Hat Summit 2024

Flock 2024 CFP extended to April 29th

Posted by Fedora Community Blog on April 22, 2024 04:20 PM

The Flock to Fedora 2024 call for proposals (CFP) is now extended to Monday, April 29th 2024 at 11:59 PM US Eastern. Now is the last chance to get your great idea or topic into the Flock 2024 CFP before it closes. This will be the only extension and the new deadline is final.

See the previous announcement for more details about the Flock 2024 CFP. You can also submit directly at cfp.fedoraproject.org. For general questions about Flock and the CFP, join the Fedora Chat room on Matrix, #flock:fedoraproject.org.

The post Flock 2024 CFP extended to April 29th appeared first on Fedora Community Blog.

Next Open NeuroFedora meeting: 22 April 1300 UTC

Posted by The NeuroFedora Blog on April 22, 2024 09:49 AM
Photo by William White on Unsplash

Photo by William White on Unsplash.


Please join us at the next regular Open NeuroFedora team meeting on Monday 22 April at 1300 UTC. The meeting is a public meeting, and open for everyone to attend. You can join us in the Fedora meeting channel on chat.fedoraproject.org (our Matrix instance). Note that you can also access this channel from other Matrix home severs, so you do not have to create a Fedora account just to attend the meeting.

You can use this link to convert the meeting time to your local time. Or, you can also use this command in the terminal:

$ date -d 'Monday, April 22, 2024 13:00 UTC'

The meeting will be chaired by @ankursinha. The agenda for the meeting is:

We hope to see you there!

Week 16 in Packit

Posted by Weekly status of Packit Team on April 22, 2024 12:00 AM

Week 16 (April 16th – April 22nd)

  • packit dist-git init now allows specifying --version-update-mask option and also any arbitrary top-level configuration options. (packit#2288)
  • We have fixed Packit auto-referencing Upstream Release Monitoring bug for release syncing to CentOS Stream. (packit#2284)
  • We have changed the behaviour of /packit test comment command: in case there is a missing build for some target, the build will not be triggered anymore, it will just be reported to the user. We needed to make this change as with the increased complexity of the configuration (multiple test jobs), the previous implementation was prone to race conditions leading to wasting of resources of Copr and Testing Farm. (packit-service#2399)

Episode 425 – Video game cheaters, also pretendo

Posted by Josh Bressers on April 22, 2024 12:00 AM

Josh and Kurt talk about a database of game cheaters. Cheating in games has many similarities to security problems. Anti cheat rootkits are also terrible. The clever thing however is using statistics to identify cheaters. Statistics don’t lie. Also, we discuss the Pretendo project sitting on a vulnerability for a year, is this ethical?

<audio class="wp-audio-shortcode" controls="controls" id="audio-3367-1" preload="none" style="width: 100%;"><source src="https://traffic.libsyn.com/opensourcesecuritypodcast/Episode_425_Video_game_cheaters_also_pretendo.mp3?_=1" type="audio/mpeg">https://traffic.libsyn.com/opensourcesecuritypodcast/Episode_425_Video_game_cheaters_also_pretendo.mp3</audio>

Show Notes

Valgrind 3.23.0-RC1

Posted by Mark J. Wielaard on April 21, 2024 03:15 PM

Valgrind 3.23.0-RC1. Please help test.

FreeBSD arm64 support. --track-fds=yes now warns against double close, generates (suppressible) errors and supports XML output. s390x supports more z16 instructions. More accurate x86_64-v3 instruction support. Wrappers for wcpncpy, memccpy, strlcat and strlcpy. Support Linux syscalls mlock2, fchmodat2, pidfd_getfd. And much more. 50+ bug fixes, 280+ commits by 14 developers since 3.22.0.

Fedora rawhide binary packages are available for aarch64, i686, ppc64le, s390x and s390x.

Email update

Posted by Jonathan Dieter on April 20, 2024 09:36 PM

This is just a quick update that I’m updating my primary email address. A year or so ago, I bought the domain dieter.ie (since I’m resident in Ireland, it seemed like a good choice), and it seemed time to put it to good use. My blog will continue to be hosted on jdieter.net, but my primary email address is now jonathan@dieter.ie. My previous Gmail address will continue to work and I’m not giving it up any time soon.

I’m also very aware that it’s been a while since I last posted. The company I work for, Spearline, was acquired just over a year ago by Cyara, and life has been unusually hectic over the last year. Hopefully I’ll have some time to post a bit more frequently in the near future. In the meantime, I’ve included a picture I took yesterday of an old ringfort nearby. West Cork is beautiful when the weather’s nice!

OpenWRT: Ad Guard Home, anti-pub, DoH & Contrôle parental

Posted by Guillaume Kulakowski on April 19, 2024 11:50 AM

Depuis plusieurs années, j’ai utilisé OpenWRT, mais je n’étais pas pleinement satisfait de ma solution de contrôle parental. C’était principalement à cause de l’utilisation des services d’OpenDNS, qui était nécessaire en raison de mes deux routeurs Redmi AC2100 ayant une capacité mémoire limitée (seulement 128 Mo). J’ai, depuis peu, fait l’achat d’un routeur Redmi AX6000 […]

Cet article OpenWRT: Ad Guard Home, anti-pub, DoH & Contrôle parental est apparu en premier sur Guillaume Kulakowski's blog.

Infra and RelEng Update – Week 16, 2024

Posted by Fedora Community Blog on April 19, 2024 10:00 AM

This is a weekly report from the I&R (Infrastructure & Release Engineering) Team. It also contains updates for the CPE (Community Platform Engineering) Team as the CPE initiatives are in most cases tied to I&R work.

We provide you both an infographic and a text version of the weekly report. If you just want to quickly look at what we did, just look at the infographic. If you are interested in more in-depth details look at the infographic.

Week: 15 April – 19 April 2024

<figure class="wp-block-image size-full">I&R infographic</figure>

Infrastructure & Release Engineering

The purpose of this team is to take care of day-to-day business regarding CentOS and Fedora Infrastructure and Fedora release engineering work.
It’s responsible for services running in Fedora and CentOS infrastructure and preparing things for the new Fedora release (mirrors, mass branching, new namespaces, etc.).
List of planned/in-progress issues

Fedora Infra

CentOS Infra including CentOS CI

Release Engineering

CPE Initiatives

EPEL

Extra Packages for Enterprise Linux (or EPEL) is a Fedora Special Interest Group that creates, maintains, and manages a high quality set of additional packages for Enterprise Linux, including, but not limited to, Red Hat Enterprise Linux (RHEL), CentOS, Scientific Linux (SL) and Oracle Linux (OL).

Updates

  • Texas Linux Fest (TXLF) was held from 12-13 April
    • Carl gave talk on the state of EPEL
    • Also manned the EPEL and Fedora booth
  • EPEL docs are being reworked to include onboarding processes
    • Also including an overall cleanup, better UI/UX

Community Design

CPE has few members that are working as part of Community Design Team. This team is working on anything related to design in Fedora Community.

Updates

  • F40 Wallpaper
  • BootC logo complete #158
  • Working with contributors for design assets for Fedora Week of Diversity and Fedora Mentor Summit

If you have any questions or feedback, please respond to this report or contact us on #redhat-cpe channel on matrix.

The post Infra and RelEng Update – Week 16, 2024 appeared first on Fedora Community Blog.

udev-hid-bpf: quickstart tooling to fix your HID devices with eBPF

Posted by Peter Hutterer on April 18, 2024 04:17 AM

For the last few months, Benjamin Tissoires and I have been working on and polishing a little tool called udev-hid-bpf [1]. This is the scaffolding required quickly and easily write, test and eventually fix your HID input devices (mouse, keyboard, etc.) via a BPF program instead of a full-blown custom kernel driver or a semi-full-blown kernel patch. To understand how it works, you need to know two things: HID and BPF [2].

Why BPF for HID?

HID is the Human Interface Device standard and the most common way input devices communicate with the host (HID over USB, HID over Bluetooth, etc.). It has two core components: the "report descriptor" and "reports", both of which are byte arrays. The report descriptor is a fixed burnt-in-ROM byte array that (in rather convoluted terms) tells us what we'll find in the reports. Things like "bits 16 through to 24 is the delta x coordinate" or "bit 5 is the binary button state for button 3 in degrees celcius". The reports themselves are sent at (usually) regular intervals and contain the data in the described format, as the devices perceives reality. If you're interested in more details, see Understanding HID report descriptors.

BPF or more correctly eBPF is a Linux kernel technology to write programs in a subset of C, compile it and load it into the kernel. The magic thing here is that the kernel will verify it, so once loaded, the program is "safe". And because it's safe it can be run in kernel space which means it's fast. eBPF was originally written for network packet filters but as of kernel v6.3 and thanks to Benjamin, we have BPF in the HID subsystem. HID actually lends itself really well to BPF because, well, we have a byte array and to fix our devices we need to do complicated things like "toggle that bit to zero" or "swap those two values".

If we want to fix our devices we usually need to do one of two things: fix the report descriptor to enable/disable/change some of the values the device pretends to support. For example, we can say we support 5 buttons instead of the supposed 8. Or we need to fix the report by e.g. inverting the y value for the device. This can be done in a custom kernel driver but a HID BPF program is quite a lot more convenient.

HID-BPF programs

For illustration purposes, here's the example program to flip the y coordinate. HID BPF programs are usually device specific, we need to know that the e.g. the y coordinate is 16 bits and sits in bytes 3 and 4 (little endian):

SEC("fmod_ret/hid_bpf_device_event")
int BPF_PROG(hid_y_event, struct hid_bpf_ctx *hctx)
{
	s16 y;
	__u8 *data = hid_bpf_get_data(hctx, 0 /* offset */, 9 /* size */);

	if (!data)
		return 0; /* EPERM check */

	y = data[3] | (data[4] << 8);
	y = -y;

	data[3] = y & 0xFF;
	data[4] = (y >> 8) & 0xFF;

	return 0;
}
  
That's it. HID-BPF is invoked before the kernel handles the HID report/report descriptor so to the kernel the modified report looks as if it came from the device.

As said above, this is device specific because where the coordinates is in the report depends on the device (the report descriptor will tell us). In this example we want to ensure the BPF program is only loaded for our device (vid/pid of 04d9/a09f), and for extra safety we also double-check that the report descriptor matches.

// The bpf.o will only be loaded for devices in this list
HID_BPF_CONFIG(
	HID_DEVICE(BUS_USB, HID_GROUP_GENERIC, 0x04D9, 0xA09F)
);

SEC("syscall")
int probe(struct hid_bpf_probe_args *ctx)
{
	/*
	* The device exports 3 interfaces.
	* The mouse interface has a report descriptor of length 71.
	* So if report descriptor size is not 71, mark as -EINVAL
	*/
	ctx->retval = ctx->rdesc_size != 71;
	if (ctx->retval)
		ctx->retval = -EINVAL;

	return 0;
}
Obviously the check in probe() can be as complicated as you want.

This is pretty much it, the full working program only has a few extra includes and boilerplate. So it mostly comes down to compiling and running it, and this is where udev-hid-bpf comes in.

udev-hid-bpf as loader

udev-hid-bpf is a tool to make the development and testing of HID BPF programs simple, and collect HID BPF programs. You basically run meson compile and meson install and voila, whatever BPF program applies to your devices will be auto-loaded next time you plug those in. If you just want to test a single bpf.o file you can udev-hid-bpf install /path/to/foo.bpf.o and it will install the required udev rule for it to get loaded whenever the device is plugged in. If you don't know how to compile, you can grab a tarball from our CI and test the pre-compiled bpf.o. Hooray, even simpler.

udev-hid-bpf is written in Rust but you don't need to know Rust, it's just the scaffolding. The BPF programs are all in C. Rust just gives us a relatively easy way to provide a static binary that will work on most tester's machines.

The documentation for udev-hid-bpf is here. So if you have a device that needs a hardware quirk or just has an annoying behaviour that you always wanted to fix, well, now's the time. Fixing your device has never been easier! [3].

[1] Yes, the name is meh but you're welcome to come up with a better one and go back in time to suggest it a few months ago.
[2] Because I'm lazy the terms eBPF and BPF will be used interchangeably in this article. Because the difference doesn't really matter in this context, it's all eBPF anyway but nobody has the time to type that extra "e".
[3] Citation needed

cloud-init and dhcpcd

Posted by Major Hayden on April 18, 2024 12:00 AM
Fedora’s cloud-init package now uses dhcpcd in place of dhclient, which went end of life in 2022. 💀

OpenWRT derrière une Freebox: IPv6, DMZ et Bridge

Posted by Guillaume Kulakowski on April 17, 2024 06:10 PM

Article mise à jour le 17/04/2024 pour tenir compte des spécificités d’OpenWRT 23.05. Bien que je sois le très récent et heureux possesseur d’une Freebox Pop, j’ai fait le choix de continuer à déléguer la gestion de mon réseau ainsi que de mon partage Wi-Fi, non pas à la Pop, mais à OpenWRT. Les avantages […]

Cet article OpenWRT derrière une Freebox: IPv6, DMZ et Bridge est apparu en premier sur Guillaume Kulakowski's blog.

Fedora Chat: Your Gateway to Matrix

Posted by Fedora Magazine on April 17, 2024 08:00 AM

What is Matrix?

Matrix is an open protocol for decentralized, secure communications built on the principles of interoperability and decentralization. You can create an account on a home server and then join channels across different home servers. This means if you have an account through Matrix.org, you can use it to join our community spaces! One of those is Fedora Chat.

The Matrix Foundation acts as the guardian of the Matrix protocol, ensuring it remains a free and open standard for secure, decentralized communication. It’s responsible for developing and maintaining the Matrix Specification along with working closely with the community to enhance interoperability and innovation.

What is Fedora Chat?

Fedora Chat is what we call our Matrix homeserver instance. It is a set of two homeservers, one for our community rooms as fedoraproject.org as well as the fedora.im homeserver which provides accounts for our users to join the fedoraproject.org rooms. Both of these are hosted by Element Matrix Services (“EMS”) thanks to our sponsorship from Red Hat.

You can use your fedora.im account to join other Matrix homeservers as well and collaborate with other communities, including Gnome, Mozilla, and Ubuntu!

Getting Started on Fedora Chat

Ready to jump into Fedora Chat? If you do not have a Matrix account already, you can use the fedora.im homeserver to get an account and join our community space! If you already have Matrix – you can join our Fedora space through this link.

  1. Visit https://chat.fedoraproject.org and click the blue “Sign in” and then “Continue with your Fedora Account” to login with your FAS account.
  2. You should be added to our Space automatically which is a collection of rooms, but if not, join the room here #fedora-space:fedoraproject.org
  3. You can then choose different rooms in the menu in which to say hello. Find a room and then say hello!

Exploring Other Matrix Clients

While Fedora Chat uses the hosted Element client, the Matrix universe is vast. Explore other clients that suit your needs, from desktop apps to mobile solutions. Each offers unique features, allowing you to tailor your experience. You can find an updated list of different clients on the Matrix.org website.

Understanding Encryption, Keys, and Device Verification

Matrix’s end-to-end encryption ensures that only the communicating users in a room can read messages. Some rooms are end-to-end encrypted, but most public rooms are not. Most rooms in Fedora community spaces are not end-to-end encrypted, and you can see the history. However, if you directly message another user or join an E2E room, your messages will be encrypted by default. This is achieved through the management of cryptographic keys that secure each conversation. The encryption process involves generating unique keys your client stores on your behalf.

Protecting your encryption keys is essential, and your Recovery Key is critical to keep. The Recovery Key allows you to restore access to your encrypted conversations if you lose access to your primary key backup. Keep your Recovery Key in a safe location.

Session verification further enhances security by allowing users to verify their identity across multiple devices, ensuring that verified devices can only read encrypted messages.

Element provides a great FAQ on how to create and manage your key backups, but this will vary based on the client you choose to use. If you use chat.fedoraproject.org, it is a great resource.

What’s Next

Join #fedora-space:fedoraproject.org and say hello in #intros:fedoraproject.org – and welcome to the Matrix-verse!

Fedora @ SCaLE 21x 2024

Posted by Fedora Community Blog on April 16, 2024 12:28 PM

Our ambassadors delivered support, outreach, and swag items via Fedora @ SCaLE 21x Linux Conference – a 2024 community event.

<figure class="wp-block-image size-full">Life-size entrance gateway to SCaLE 21x. Shows expo hours and various sponsors<figcaption class="wp-element-caption">Portal to Linux wonder: SCaLE 21x.</figcaption></figure>

At a Glance

  • What: A community-run open-source and free software conference in Pasadena, California
  • Where: Pasadena Convention Center
  • When: 14 – 17 March 2024
<figure class="wp-block-image size-large is-resized">The front of the main building of the Pasadena Convention Center with a large banner for SCaLE. Photo by Carl George.<figcaption class="wp-element-caption">Where SCaLE begins…The front of the main building of the Pasadena Convention Center.
Photo by Carl George.</figcaption></figure>

Our Team in the Field

This reports the activities of the following Ambassadors / Red Hatters at the Fedora @ SCaLE 21x Linux Conference:

What is SCaLE 21x?

The SCaLE (The Southern California Linux Expo) community Linux event delivered an iconic experience with four days of open source training, exhibits, and general presentations. This year’s conference took place in Pasadena (Los Angeles) area.

This expo drew worldwide guests to discuss AI, Linux, security, embedded, IoT, and more. The Conference Chair, Mr. Ilan Rabinovitch, and Technical Committee Chairperson, Owen Delong paved the way for a smooth registration.

<figure class="wp-block-image size-large is-resized">Ilan Rabinovitch onstage introducing a keynote<figcaption class="wp-element-caption">Ilan Rabinovitch</figcaption></figure>

Conference Highlights

Fedora @ SCaLE 21x Linux Conference – Ready, Set, Go!

Justin Flory arranged and shipped hand-selected swag and marketing items to Brian Monroe. Items include: pens, stickers, commuter mugs, badge ribbons, badge lanyards, and more.

Furthermore, the ambassadors gathered up supplies for the conference.

Day 1: Thursday 14 March

Red Hatter Brian Proffitt carefully delivered our marketing notebook system.

In addition, Perry brought the following:

  • Dry-board markers
  • Dry-board flipchart easel
  • Opportunity drawing tickets
  • Leftover ribbons, mini-swag from 19x event
  • Safety scissors
  • Gaffers tape
  • Glue
  • And more!

Some of our ambassadors travelled in the morning, to catch earlier events and workshops. Others, however, arrived later to factor in traffic.

  • <figure><figcaption class="wp-block-jetpack-slideshow_caption gallery-caption">Portal to New Linux Ideas</figcaption></figure>
  • <figure>picture of the back of the Fedora booth-a sheet wall<figcaption class="wp-block-jetpack-slideshow_caption gallery-caption">The back of the Fedora booth this year…a sheet wall..</figcaption></figure>

We met in the exhibit hall to check out the booth and to discuss strategy. Henceforth, we thought about our discussions and engagement to attract visitors. In contrast to SCaLE 20x, our booth was some distance away from the Red Hat booth.

The booth did not receive any free-standing banners this year. Thus, aside from our table cover, swag, and flip chart, we had few items to work with which had large Fedora branding. Soon, we discovered that some guests had initial challenges trouble locating our booth.

Upon dropping things off, some of us reconvened at the KWAAI Summit, new for 2024. Matt Small, Reza Rassool, Román Pineda, Khai Pham, John Willis, and others closed out the the event with an engaging Q&A, introductions, wrap up, and reception, for example.

Afterwards, Fedora joined the Red Hat and CentOS teams and others for a meal at the Yard House.

<figure class="wp-block-image size-large is-resized">Matt Miller, Shaun McCance, Perry Rivera, and Carl George around a table at Yard House Pasadena<figcaption class="wp-element-caption">From L to R: Matthew Miller, Shaun McCance, Perry Rivera, and Carl George</figcaption></figure>

Day 2: Friday 15 March

Checking in on the other variants…

Alejandro and I set out for breakfast Friday and discussed booth and expo plans for the days ahead. Eventually, we headed off to the NixCon track co-located in SCaLE 21x to learn about Nix. We were surprised to find a very packed workshop.

Booth Setup

After a brief look into these OSes, we returned to the Expo Hall to begin putting our booth together. For example, Scott arrived to install a notebook system that he configured with Flatpak pinball game running atop Universal Blue.

  • <figure><figcaption class="wp-block-jetpack-slideshow_caption gallery-caption">A guest re-discovers pinball on an immutable desktop</figcaption></figure>
  • <figure></figure>
  • <figure>Red Hatters setting up a booth<figcaption class="wp-block-jetpack-slideshow_caption gallery-caption">Red Hatters setting up a booth</figcaption></figure>

Next, Perry set up a Fedora flip chart and pasted in a handy QR that Alejandro generated for guests to claim a Fedora badge. Then, Alejandro later wrote in our Fedora scheduled talks, which was handy for guests to take pictures of as they stopped by. Concurrently, Brian strategically set up swag items and carefully routed power within the booth.

Perry later stopped by the Red Hat booth to help raise the 5-person banner. It’s not heavy, however, but it is awkward and difficult to stand up with fewer than 5-people in attendance.

What an Exhibit at Fedora @ SCaLE 21x Linux Conference

At 10am, the Exhibit Hall opened. As a result, we had a steady stream of community throughout the reminder of the conference. Then, we took turns for breaks from time to time; however, as we were down a person, things felt a bit busier this year. We definitely missed not having Iván Chavero there.

We greeted approximately 400+ this day.

One of the many highlights from today was discovering a vending machine that dispenses temporary VMs. The buttons were quite amusing.

<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-full">picture of a vending machine with googly eyes<figcaption class="wp-element-caption">Eye-deal VM Vending Re-use.</figcaption></figure> <figure class="wp-block-image size-full">zoomed in picture of vending machine buttons</figure> </figure>

At length, a few of us met up with Red Hat, CentOS, at El Portal Restaurant for dinner.

  • <figure>picture of food from El Portal restaurant<figcaption class="wp-block-jetpack-slideshow_caption gallery-caption">El Portal Restaurant for dinner.</figcaption></figure>
  • <figure>Rob McBryde singing karaoke<figcaption class="wp-block-jetpack-slideshow_caption gallery-caption">Rob McBryde: Coordinator of Karaoke goodness.</figcaption></figure>

Subsequently, we met up with Red Hat and CentOS later at Barney’s Beanery to enjoy karaoke and merriment.

Day 3: Saturday 16 March

Specifically, Brian Monroe, Scott, and Perry met up early Saturday morning to go over slide logistics for our Exploring Immutable Linux Desktops with Fedora presentation later that day. Afterward, we caught up with Alejandro at the booth to continue engaging with guests and greeted approximately 500+ this day.

Perry dropped in on a Digital Art / Krita open-source application workshop that went over how the fundamentals of using this tool. They gave pointers on how they use the app in their workflow, for instance.

  • <figure>Nicholas Maramba and Helen Ortiz presenting<figcaption class="wp-block-jetpack-slideshow_caption gallery-caption">Nicholas Maramba and Helen Ortiz present “Digital Art Makes You Smart”</figcaption></figure>
  • <figure>Lucky winner holding up a Fedora commuter tumbler<figcaption class="wp-block-jetpack-slideshow_caption gallery-caption">Humberto Macias, lucky winner of a Fedora commuter tumbler.</figcaption></figure>
  • <figure>sign to a reproducible and immutable desktop presentation<figcaption class="wp-block-jetpack-slideshow_caption gallery-caption">Portal to the endless wonder of immutable desktops..</figcaption></figure>
  • <figure>guests engaging in an Immutable Desktop presentation<figcaption class="wp-block-jetpack-slideshow_caption gallery-caption">Guests listened attentively at the Immutable Desktop presentation</figcaption></figure>
  • <figure>Scott Williams chats with Joshua Loscar at the Red Hat Booth<figcaption class="wp-block-jetpack-slideshow_caption gallery-caption">Scott Williams chats with Joshua Loscar at the Red Hat Booth</figcaption></figure>
  • <figure>Jeff Carlson playing solitaire<figcaption class="wp-block-jetpack-slideshow_caption gallery-caption">Jeff Carlson ponders his next move..</figcaption></figure>

We also held opportunity drawings throughout the week to beckon more booth interest. Indeed, this proved a success. 40+ people stopped by for each draw.

Comparatively, Perry, Brian Monroe, and Scott later delivered their presentation to 45+ guests.

Thereafter, we re-joined Alejandro to finish up meeting our community at the booth for the expo day. We ate a late linner at the Dog Haus to reflect on the week’s events.

Soon, SCaLE 21x held their annual game night event. Next, we reunited with friends and associates to catch up and enjoy.

Day 4: Sunday 17 March

All of us packed up our rooms early Sunday. Naturally, Alejandro and I re-joined up at the Cordova Cafe for breakfast.

Consequently, we made our way over to the Exhibit Hall to finish up a final day with guests. Altogether, we had a little breather to visit the CentOS booth and say hello.

<figure class="wp-block-image size-large is-resized">Shaun McCance and Carl George exhibiting at the CentOS booth<figcaption class="wp-element-caption">Shaun McCance and Carl George exhibiting at the CentOS booth</figcaption></figure>

The final exhibit day brought in about 250 guests to our booth. Following, our team packed up the booth for transport.

Ultimately, to complete a fine Sunday, we attentively listened to an excellent closing keynote provided by Bill Cheswick.

Suggestion / Feedback Box Items for Fedora @ SCaLE 21x Linux Conference

In addition, we had a booth sign-in sheet for visitors to help collect feedback and suggestions about Fedora and related efforts.

From data compiled, we summarize these key highlights:

  • Marketing: Many requests for Fedora new logo swag and shirts. Could use stuffed animals, socks, or something different, USB stick. More creative ideas, sticker ideas (hex are popular), floor banners with new logo, DEI stickers were very popular. Portable swag (small and travel-ready) is great for travelers.
  • Marketing: One guest suggested a Fedora merch store where community could purchase Fedora logo swag/stickets/items. Above all, proceeds ideally would funnel back to Fedora community where needed.
  • Cross: One Debian guest continues prefers Debian for consistency, but wouldn’t mind using Fedora if a consistent spin was available. Potentially opportunity for immutable education or Debian/Ubuntu/NixOS etc. to Fedora presentations.
  • Info: Another Debian guest wanted to know key differences between Debian and Fedora. Ultimately, potential opportunity for explainer or migrating presentation or Why Use Fedora vs. ________?
  • Usage: One mentioned they are a Rawhide user.
  • Info: One requested more information about NeuroFedora. In other words, clearer information about what it is and the status of that Special Interest Group (SIG). Explainer card might be helpful at the booth.
  • Usage: One guest enjoys QT packages with DX build.
  • Licensing/Booth Info: One guest wanted clearer definition of the licensing relationship and sponsorship between Fedora / RHEL, if any.
  • Fedora Activity Day: It might be advantageous for Fedora to identify an organizer for a Fedora Activity Day (or two). For example, possible topics include: Debian to Fedora, command-line, Gnome, KDE, Immutable, Ambassadoring, Why Use Fedora vs. X?, etc.
  • Other: Changes for CentOS and Red Hat were points of concern and confusion for some guests.
  • Comm: Connect with Universal Blue folks, Lutris, Nobaro (sp?). Bazzite quality badges
  • Booth: Engagement with community at the table, opportunity drawing seems to be a success. Let’s get people in the front door of Fedora…for SCaLE 22x, provide challenge or engaging gimmick.
<figure class="wp-block-image size-large is-resized">Brian Monroe chats with a guest<figcaption class="wp-element-caption">Brian Monroe chats with a guest</figcaption></figure>

Fedora 39 specific suggestions/comments:

  • Usage: Runs great on Dell Lat 7390
  • Usage: It’s awesome
  • Usage: (I) want to try it!
  • Marketing/Immutable/Porting: Cool retro (pinball) demo [at SCaLE 21x]
  • Thank You/Derivative: Ultramarine user says thank you for Fedora.
  • Thank You/Support: Thank you for Data Transit (GTFS) support
  • Magic Wormhole and Fedora are great. Ultimately, we referred this guest to Matthew Miller.
  • One guest tracking 39 and 40 Beta packaging and kernel. Definitely, this visitor expressed interest in helping with general or immutable. Additionally, we referred this guest.

In conclusion, we look forward to seeing you at next year’s SCaLE!

Snaps from Fedora @ SCaLE 21x Linux Conference

  • <figure>picture of Perry Rivera and Kevin Howell. Kevin gives a thumbs up.<figcaption class="wp-block-jetpack-slideshow_caption gallery-caption">Perry Rivera and Kevin Howell</figcaption></figure>
  • <figure>top-down view of the first floor of the Pasadena Conference Center from the second floor balcony. a picture of 40+ people chatting and/or working on laptops<figcaption class="wp-block-jetpack-slideshow_caption gallery-caption">Conference Center Conversation Flows. Photo by Carl George</figcaption></figure>
  • <figure>Patrick Finie and Perry Rivera<figcaption class="wp-block-jetpack-slideshow_caption gallery-caption">Patrick Finie and Perry Rivera</figcaption></figure>
  • <figure>Photo of Neil Gompa, Shaun McCance at the podium presenting a kernels talk. Photo taken by Carl George.<figcaption class="wp-block-jetpack-slideshow_caption gallery-caption">An engaging kernels workshop by Neil Gompa, Shaun McCance, and Carl George. Photo by Carl George.</figcaption></figure>
  • <figure>Ana Ma and Perry Rivera<figcaption class="wp-block-jetpack-slideshow_caption gallery-caption">Ana Ma and Perry Rivera</figcaption></figure>
  • <figure>Romy Meyerson SuSe stops by to visit to say hello<figcaption class="wp-block-jetpack-slideshow_caption gallery-caption">Romy Meyerson@SuSe stops by to visit to say hello..</figcaption></figure>
  • <figure>Rob McBryde, Jaime Burwood, Katherine Nnanwubar, Perry Rivera, and Brian Proffitt<figcaption class="wp-block-jetpack-slideshow_caption gallery-caption">Rob McBryde, Jaime Burwood, Katherine Nnanwubar, Perry Rivera, and Brian Proffitt</figcaption></figure>
  • <figure>Perry Rivera and Siggy<figcaption class="wp-block-jetpack-slideshow_caption gallery-caption">Perry Rivera and Siggy</figcaption></figure>
  • <figure>Perry Rivera and Marc Provitt<figcaption class="wp-block-jetpack-slideshow_caption gallery-caption">Perry Rivera and Marc Provitt from SCaLE 21x’s Game Night event.</figcaption></figure>
  • <figure>At a round table: Scott Williams, Brian Monroe, Shaun McCance, and Carl George with notebook systems.<figcaption class="wp-block-jetpack-slideshow_caption gallery-caption">Discussing SCaLE strategies. L to R: Scott Williams, Brian Monroe, Shaun McCance, and Carl George.</figcaption></figure>
  • <figure>Perry Rivera and Bill Cheswick<figcaption class="wp-block-jetpack-slideshow_caption gallery-caption">Perry Rivera and Bill Cheswick</figcaption></figure>
  • <figure>Fedora and Red Hatters having dim sum around table<figcaption class="wp-block-jetpack-slideshow_caption gallery-caption">Clockwise, L to R: Joshua Loscar, Shaun McCance, Brian Proffitt, Cali Dolfi, Perry Rivera, Alex Acosta, Carl George, and Joshua’s oldest son discussing SCaLE week highlights at Lunasia Dim Sum House…</figcaption></figure>

Related Posts

The post Fedora @ SCaLE 21x 2024 appeared first on Fedora Community Blog.

When it comes to sudo logging, pretty is not always better

Posted by Peter Czanik on April 16, 2024 11:47 AM

Version 1.9.16 of sudo will introduce a new logging option: json_compact. This does not affect logging to syslog, only logging to files. Previously, sudo created human-readable JSON log files. With this new setting enabled, logs are no longer pretty but can be easily read by logging software.

As I am writing this blog, version 1.9.16 is not yet released, not even a beta. For now, if you want to test this feature, you will have to compile sudo yourself from source. Once 1.9.16 is released, it will be available here on the sudo website as ready to install package for major Linux and UNIX variants. And eventually it will officially become available in various operating systems, FreeBSD and rolling Linux distros first.

Read more at https://www.sudo.ws/posts/2024/04/when-it-comes-to-sudo-logging-pretty-is-not-always-better/

<figure><figcaption>

Sudo logo

</figcaption> </figure>

Working with sudo’s json_compact logs in syslog-ng

Posted by Peter Czanik on April 16, 2024 11:41 AM

Version 1.9.16 of sudo will feature a new option for logging: json_compact. Why is this important? This new format can easily be read and parsed by a log management software, like syslog-ng.

Note that in this blog I am showing you a sudo feature which has not yet been released officially. You have to compile sudo yourself. By all means, if you have any other application writing JSON-formatted log messages, you can apply most of what you read here with slight modifications.

Read the rest at https://www.syslog-ng.com/community/b/blog/posts/working-with-sudo-s-json_5f00_compact-logs-in-syslog-ng

<figure><figcaption>

syslog-ng logo

</figcaption> </figure>

Thank you Python for years of service and reliability so far (and the ctypes module!)

Posted by Jon Chiappetta on April 16, 2024 11:04 AM

So I’ve run into this issue in the past but I finally started looking into why Python is soo slow at running basic math operations in a long loop, for example, simple stream cipher operations. You’ll see lots of suggestions to use numpy instead, however, I didn’t find this to be the most helpful. Since I like writing/reading C, I remembered that Python has a built-in ctypes module which is very helpful and useful if you are in need of specialized and optimized code paths. You can pretty easily pass in integer and byte array pointers with little complexity!

For example:

<figure class="wp-block-image size-large"></figure>

~

<figure class="wp-block-image size-large"></figure>

Texas Linux Fest 2024 recap 🤠

Posted by Major Hayden on April 16, 2024 12:00 AM
I gave two talks at this year’s event and ran into lots of old friends and colleagues. 🐧

Running Keystone in development mode on Ubuntu 22.04

Posted by Adam Young on April 15, 2024 06:30 PM

Things have diverged a bit from the docs. Just want to document here what I got working:

I had already checked out Keystone and run the unit tests.

I needed uwsgi

sudo apt install uwsgi-core
sudo apt install uwsgi-plugin-python3


Then a modified command line to run the server:

uwsgi --http-socket 127.0.0.1:5000    --plugin /usr/lib/uwsgi/plugins/python3_plugin.so   --wsgi-file $(which keystone-wsgi-public)

This got me the last part

https://stackoverflow.com/questions/31330905/uwsgi-options-wsgi-file-and-module-not-recognized

A Frequência Cardíaca de Yuja Wang

Posted by ! Avi Alkalay ¡ on April 15, 2024 12:37 PM

Chamando todos os cientistas de dados, sobretudo os que lidam com séries temporais, como eu, para ver um experimento.

<figure class="wp-block-image size-large"></figure>

Mediram a frequência cardíaca de Yuja Wang, a pianista erudita mais badalada do momento — e a mais gata também ❤ — enquanto executava uma façanha sem precedentes: tocar todos os 5 concertos de piano de Rachamninoff em uma única apresentação de mais de 4 horas de duração. Mediram também a frequência cardíaca do regente Yannick Nézet-Séguin, de alguns músicos da orquestra, e também de ouvintes na platéia, no Carnegie Hall de Nova York, em 28 de janeiro de 2023.

Os concertos de piano de Rachmaninoff não são qualquer obra. Conhecidos pela sua beleza e dificuldade, são frequentemente tratados como alguns dos pilares emocionais da humanidade. São 4 os concertos; e o “quinto” é um conjunto de variações, compostas por Rachmaninoff, sobre um tema de Paganini.

Entrevistas, explicações e análises de dados podem ser vistas no vídeo do Carnegie Hall. Algumas revelações dos dados coletados são óbvias: devido ao esforço físico, o coração de Yuja dispara conforme a densidade da partitura aumenta. Mas outras constatações são também muito interessantes, como o sincronismo cardíaco — ou emocional — entre a pianista, público e músicos.

Um experimento multi-disciplinar absolutamente lindo, inédito e necessário.

<figure class="wp-block-image size-large"></figure> <figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio">
<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" frameborder="0" height="365" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/SuA9l77ODbs?feature=oembed" title="Tracking Yuja Wang’s Heartbeats During Her Rachmaninoff Marathon | Carnegie Hall" width="648"></iframe>
</figure>

CVE-2024-3094: All Clear

Posted by Fedora Magazine on April 15, 2024 09:00 AM

It’s official — CVE-2024-3094 is the “Backdoor in XZ Utils That Almost Happened“. Fortunately, the malware was detected before we released the compromised version as an official update. If you are using a Fedora Linux 38 or 39, or an up-to-date Fedora Linux 40 Beta, you should be all set, and the upcoming Fedora Linux 40 final release is not affected.

The XZ backdoor is a devious piece of work. It affects the SSH remote login protocol, which has a feature where users can be authenticated using a public-private key pair. The exploit sneaks a public key right into the allow-list, so someone out there with the corresponding key could log in to a compromised machine with full root access — without a trace. We have no evidence that the attackers ever got a chance to take advantage of this, but if the malware had slipped by undetected, it could have been devastating.

Fortunately, the plot was foiled by Andres Freund while doing volunteer work in his spare time. He noticed that there was a slight change in performance, and decided to investigate. One of my Fedora friends quoted John Denver: “What one man can do is change the world and make it work again! Here you see what one man can do.”

If you have a system with the Fedora Linux 40 Beta or Fedora Rawhide, and you applied updates during the time the compromised package was in our updates-testing repository, you should check to make sure that it is now reverted, and apply current updates if not. (You should have xz-5.4.6, as of this post.) On Fedora Workstation systems, the ssh daemon does not run by default, which additionally limits possible risk. However, if you did have the bad update on a system, or think you might have, we recommend a full reinstall out of an abundance of caution.

Fedora Linux 38 and 39 never had even a candidate update for the compromised package, and we pulled the test update for 40, so it was never merged into the release.

Week 15 in Packit

Posted by Weekly status of Packit Team on April 15, 2024 12:00 AM

Week 15 (April 9th – April 15th)

  • We have planned the work for the next quarter, curious about what will come next? You can find it here.

Episode 424 – The Notepad++ Parasite Website

Posted by Josh Bressers on April 15, 2024 12:00 AM

Josh and Kurt talk about a Notepad++ fake website. It’s possibly not illegal, but it’s certainly ethically wrong. We also end up discussing why it seems like all these weird and wild things keep happening. It’s probably due to the massive size of open source (and everything) now. Things have gotten gigantic and we didn’t really notice.

<audio class="wp-audio-shortcode" controls="controls" id="audio-3363-2" preload="none" style="width: 100%;"><source src="https://traffic.libsyn.com/opensourcesecuritypodcast/Episode_424_The_Notepad_Parasite_Website.mp3?_=2" type="audio/mpeg">https://traffic.libsyn.com/opensourcesecuritypodcast/Episode_424_The_Notepad_Parasite_Website.mp3</audio>

Show Notes

Making GTK graphics offloading work

Posted by Benjamin Otte on April 14, 2024 04:37 PM

(I need to put that somewhere because people ask about it and having a little post to explain it is nice.)

What’s it about?
GTK recently introduced the ability to offload graphics rendering, but it needs rather recent everything to work well for offloading video decoding.

So, what do you need to make sure this works?

First, you of course need a video to test. On a modern desktop computer, you want a 4k 60fps video or better to have something that pushes your CPU to the limits so you know when it doesn’t work. Of course, the recommendation has to be Big Buck Bunny at the highest of qualities – be aware that the most excellent 4000×2250 @ 60fps encoding is 850MB. On my Intel TigerLake, that occasionally drops frames when I play that with software decoding, and I can definitely hear the fan turn on.
When selecting a video file, keep in mind that the format matters.

Second, you need hardware decoding. That is provided by libva and can be queried using the vainfo tool (which comes in the `libva-utils` package in Fedora). If that prints a long list of formats (it’s about 40 for me), you’re good. If it doesn’t, you’ll need to go hunt for the drivers – due to the patent madness surrounding video formats that may be more complicated than you wish. For example, on my Intel laptop on Fedora, I need the intel-media-driver package which is hidden in the nonfree RPMFusion repository.
If you look at the list from vainfo, the format names give some hints – usually VP9 and MPEG2 exist. H264 and HEVC aka H265 are the patent madness, and recent GPUs can sometimes do AV1. The Big Buck Bunny video from above is H264, so if you’re following along, make sure that works.

Now you need a working video player. I’ll be using gtk4-demo (which is in the gtk4-devel-tools package, but you already have that installed of course) and its video player example because I know it works there. A shoutout goes out to livi which was the first non-demo video player to have a release that supports graphics offloading. You need GTK 4.14 and GStreamer 1.24 for this to work. At the time of writing, this is only available in Fedora rawhide, but hopefully Fedora 40 will gain the packages soon.

If you installed new packages above, now is a good time to check if GStreamer picked up all the hardware decoders. gst-inspect-1.0 va will list all the elements with libva support. If it didn’t pick up decoders for all the formats it should have (there should be a vah264dec listed for H264 if you want to decode the video above), then the easiest way to get them is to delete GStreamer’s registry cache in ~/.cache/gstreamer-1.0.

If you want to make sure GStreamer does the right thing, you can run the video player with GST_DEBUG=GST_ELEMENT_FACTORY:4. It will print out debug messages about all the elements it is creating for playback. If that includes a line for an element from the previous list (like `vah264dec` in our example) things are working. If it picks something else (like `avdec_h264` or `openh264dec`) then they are not.

Finally you need a compositor that supports YUV formats. Most compositors do – gnome-shell does since version 45 for example – but checking can’t hurt: If wayland-info (in the wayland-utils package in Fedora) lists the NV12 format, you’re good.

And now everything works.
If you have a 2nd monitor you can marvel at what goes on behind the scenes by running the video player with GDK_DEBUG=dmabuf,offload and GTK will tell you what it does for every frame, and you can see it dynamically switching between offloading or not as you fullscreen (or not), click on the controls (or not) and so on. Or you could have used it previously to see why things didn’t work.
You can also look at the top and gputop variant of your choice and you will see that the video player takes a bit of CPU to drive the video decoding engine and inform the compositor about new frames and the compositor takes a bit of CPU telling the 3D engine to composite things and send them to the monitor. With the video above it’s around 10% on my laptop for the CPU usage each and about 20% GPU usage.

And before anyone starts complaining that this is way too complicated: If you read carefully, all of this should work out of the box in the near future. This post just lists the tools to troubleshoot what went wrong while developing a fast video player.

PHP version 8.1.28, 8.2.18 and 8.3.6

Posted by Remi Collet on April 12, 2024 03:59 PM

RPMs of PHP version 8.3.6 are available in the remi-modular repository for Fedora ≥ 38 and Enterprise Linux ≥ 8 (RHEL, Alma, CentOS, Rocky...) and in the remi-php83 repository for EL 7.

RPMs of PHP version 8.2.18 are available in the remi-modular repository for Fedora ≥ 38 and Enterprise Linux ≥ 8 (RHEL, Alma, CentOS, Rocky...) and in the remi-php82 repository for EL 7.

RPMs of PHP version 8.1.28 are available in the remi-modular repository for Fedora ≥ 38 and Enterprise Linux ≥ 8 (RHEL, Alma, CentOS, Rocky...) and in the remi-php81 repository for EL 7.

emblem-notice-24.png The Fedora 39, 40, EL-8 and EL-9 packages (modules and SCL) are available for x86_64 and aarch64.

emblem-important-2-24.pngPHP version 8.0 has reached its end of life and is no longer maintained by the PHP project.

These versions are also available as Software Collections in the remi-safe repository.

security-medium-2-24.pngThese Versions fix 3 security bugs (CVE-2024-2756, CVE-2024-3096 and CVE-2024-2757), so update is strongly recommended.

Version announcements:

emblem-notice-24.pngInstallation: use the Configuration Wizard and choose your version and installation mode.

Replacement of default PHP by version 8.3 installation (simplest):

dnf module switch-to php:remi-8.3/common

or, the old EL-7 way:

yum-config-manager --enable remi-php83
yum update php\*

Parallel installation of version 8.3 as Software Collection

yum install php83

Replacement of default PHP by version 8.2 installation (simplest):

dnf module switch-to php:remi-8.2/common

or, the old EL-7 way:

yum-config-manager --enable remi-php82
yum update

Parallel installation of version 8.2 as Software Collection

yum install php82

And soon in the official updates:

emblem-important-2-24.pngTo be noticed :

  • EL-9 RPMs are built using RHEL-9.3
  • EL-8 RPMs are built using RHEL-8.9
  • EL-7 RPMs are built using RHEL-7.9
  • intl extension now uses libicu73 (version 73.2)
  • mbstring extension (EL builds) now uses oniguruma5php (version 6.9.9, instead of the outdated system library)
  • oci8 extension now uses the RPM of Oracle Instant Client version 21.13 on x86_64, 19.19 on aarch64
  • a lot of extensions are also available, see the PHP extensions RPM status (from PECL and other sources) page

emblem-notice-24.pngInformation:

Base packages (php)

Software Collections (php81 / php82 / php83)

Infra and RelEng Update – Week 15 2024

Posted by Fedora Community Blog on April 12, 2024 10:00 AM

This is a weekly report from the I&R (Infrastructure & Release Engineering) Team. It also contains updates for CPE (Community Platform Engineering) Team as the CPE initiatives are in most cases tied to I&R work.

We provide you both infographic and text version of the weekly report. If you just want to quickly look at what we did, just look at the infographic. If you are interested in more in depth details look below the infographic.

Week: 08 April – 12 April 2024

<figure class="wp-block-image size-full wp-lightbox-container" data-wp-context="{"uploadedSrc":"https:\/\/communityblog.fedoraproject.org\/wp-content\/uploads\/2024\/04\/IR_Weekly_15-scaled.jpg","figureClassNames":"wp-block-image size-full","figureStyles":null,"imgClassNames":"wp-image-13534","imgStyles":null,"targetWidth":2560,"targetHeight":2295,"scaleAttr":false,"ariaLabel":"Enlarge image: I\u0026R infographic`","alt":"I\u0026R infographic`"}" data-wp-interactive="core/image">I&R infographic`</figure>

Infrastructure & Release Engineering

The purpose of this team is to take care of day to day business regarding CentOS and Fedora Infrastructure and Fedora release engineering work.
It’s responsible for services running in Fedora and CentOS infrastructure and preparing things for the new Fedora release (mirrors, mass branching, new namespaces etc.).
List of planned/in-progress issues

Fedora Infra

CentOS Infra including CentOS CI

Release Engineering

CPE Initiatives

EPEL

Extra Packages for Enterprise Linux (or EPEL) is a Fedora Special Interest Group that creates, maintains, and manages a high quality set of additional packages for Enterprise Linux, including, but not limited to, Red Hat Enterprise Linux (RHEL), CentOS, Scientific Linux (SL) and Oracle Linux (OL).

Updates

  • Fixing uninstallable plplot-qt-devel package
  • Presentation for Texas Linux Fest giving overview of Fedora, CentOS, RHEL, and EPEL

Community Design

CPE has few members that are working as part of Community Design Team. This team is working on anything related to design in Fedora Community.

Updates

List of new releases of apps maintained by CPE

If you have any questions or feedback, please respond to this report or contact us on #redhat-cpe channel on matrix.

The post Infra and RelEng Update – Week 15 2024 appeared first on Fedora Community Blog.

Profissionais high-tech preferem MacBook

Posted by ! Avi Alkalay ¡ on April 11, 2024 10:53 AM

Há mais de 10 anos, por todas as últimas empresas que passei — umas 3 ou 4 — MacBook é o laptop padrão que profissionais high-tech usam.

E hoje em dia estranham quando só lhes deixam usar Windows. Mas não falam abertamente sobre isso por incorretamente acharem que é um assunto banal. Só que não é. Da perspectiva de RH e de ambiente de trabalho, no mínimo para o setor high-tech, equipamento de alta qualidade, moderno e adequado é ponto positivo de atração e retenção de talentos.

MacBook é equipamento indiscutivelmente melhor do que um laptop médio baseado em Windows.

  • A tela de alta densidade (conhecida como Retina) é mais confortável aos olhos e faz caber mais informação.
  • O equipamento é mais coeso, mais fino e mais leve para se carregar na mochila.
  • A bateria dura muitas horas mais, parece que nunca acaba.
  • O laptop esquenta menos por ter CPU mais eficiente e mais moderna que a de um laptop projetado para Windows.
  • O teclado é melhor, permite mais possibilidades de escrita, correção e substituição de texto, e tem melhor suporte a Unicode.
  • O trackpad é maior, mais ergonômico e tem mais funções.
  • A qualidade da câmera, microfone, alto-falantes é a melhor possível.
  • E o sistema operacional, baseado em Posix (Unix), é ambiente mais familiar para trabalhos tipicamente high-tech, por ser similar a ambientes de produção.

Repare que não entrei no mérito de segurança, facilidade de uso e nem boniteza do macOS. Isso é bem menos relevante para este contexto. E convenhamos que o Microsoft Windows não deixa a desejar, é igualmente bom em todos estes quesitos. A preferência por MacBook continua girando em torno do hardware, não do software.

O conjunto citado e mais muitos outros pequenos detalhes faz do MacBook a plataforma preferida por profissionais high-tech, e outros também, que passam muitas horas do dia na frente de um computador.

É por isso que quem experimenta dificilmente volta atrás para hardware mediano baseado em Windows.

MacBook é equipamento mais caro?

Se você procurar no mercado de laptops Windows as linhas com as mesmas características de tela, ergonomia, leveza, bateria, teclado etc, vai perceber que os equipamentos serão mais caros ainda do que um MacBook equivalente. Como referência, as linhas de alta qualidade de outros fabricantes são XPS da Dell, Spectre ou Envy da HP, X1 da Lenovo.

O mercado de laptops Windows, por ser mais competitivo, inova no palavreado para vender refugo. Digo isso porque já fiz essa pesquisa e terminei frustrado. Eu considero refugo as linhas de laptops inferiores das citadas acima, por usarem componentes físicos obsoletos e de menor qualidade.

Apesar de “ser mais caro”, a empresa opta ter escritório na Av. Paulista, ao invés de Alphaville.

Apesar de “ser mais caro”, a empresa prefere instalar ar-condicionado, ao invés de ventiladores ou de manter janelas abertas.

Pois então, optar por oferecer um laptop melhor aos funcionários que valorizam alta qualidade técnica é o mesmo tipo de escolha.

Então não é uma questão monetária e sim de usar características mínimas para os padrões de hoje em dia.

Este artigo é uma versão corporativa para outro artigo meu, titulado Como Escolher e Comprar um Laptop.

<figure class="wp-block-embed is-type-wp-embed is-provider-avi-alkalay wp-block-embed-avi-alkalay">
Como Escolher e Comprar um Laptop
<iframe class="wp-embedded-content" data-secret="YaE4flUjrE" frameborder="0" height="338" marginheight="0" marginwidth="0" sandbox="allow-scripts" scrolling="no" security="restricted" src="https://avi.alkalay.net/2021/07/como-escolher-um-laptop.html/embed#?secret=LKyLkIwGDp#?secret=YaE4flUjrE" title="“Como Escolher e Comprar um Laptop” — Avi Alkalay" width="600"></iframe>
</figure>

Fedora DEI Team 2023 Q4: Appreciation Week and new members

Posted by Fedora Community Blog on April 11, 2024 08:00 AM

The Fedora Diversity, Equity, & Inclusion (DEI) Team rounded out 2023 with a focus on celebrating the 20th anniversary of the Fedora Project and officially welcoming new team members. This post is a brief recap of the fourth quarter of 2023 (October to December) for the DEI Team. The end of the year is typically a slower time in Fedora due to holidays, but we had some major highlights in 2023 Q4 anyways:

  • Shifted our sprint planning from a monthly cadence to a quarterly cadence.
  • Revived Fedora Appreciation Week after five years, to celebrate our 20th anniversary.
  • Welcomed two new team members, Robert Wright and Emma Kidney.
  • Fedora Pride was established, and represented at some of our virtual events.

This post summarizes these highlights and also paints a picture of what we were looking forward to in 2024 Q1. Read on to get the full scoop!

Shifting from monthly to quarterly planning

In our previous sprint report, the new GitLab-centered workflow was introduced. We originally launched with a monthly cadence. However, we quickly realized that a monthly cadence was not the right fit for our team. Many of our projects span many months, like planning an event. This means that a few things get done every month, but many ongoing tasks shift every month.

Adopting a quarterly format worked better because that better matches the cadence at which the Fedora DEI Team operates. Event planning might span two to three months. This means that most events could fit into a three-month window. Some things still get shifted from quarter to quarter, but as long as we anticipate that, it works fine for us!

Most importantly, a quarterly cadence means that we can always clearly describe what was accomplished, what we are working on, and we can speculate on the future. Our hope is that it also makes reports like this easier to read!

A successful Fedora Appreciation Week

The previous report mentioned that planning for the Fedora Appreciation Week was underway. And it successfully happened! For context, Fedora Appreciation Week first started in 2018 for the 15th anniversary of Fedora. Fedora Appreciation Week, abbreviated as FAW, is a week-long event organized by the Fedora DEI Team. It is dedicated to celebrating the efforts of Fedora Project contributors and expressing gratitude to one another. Fedora Appreciation Week happened from November 6–12, 2023.

At-a-glance statistics from Appreciation Week

🚀 Here are some stats from FAW 2023:

  • 12 Contributor Stories
  • 44 images shared on Fedora Discussion
  • 4 speakers who shared their Fedora Story at the Release Party: Chris Idoko, Emma Kidney, Kevin Fenzi, and Aoife Moloney 🎉
  • 15 posts on social media with the #WeAreFedora hashtag
  • lots of cookies 🍪

Read the Contributor Stories

📍 You can check out all the articles highlighting what happened during FAW:

Thank you to our contributors!

Thanks a lot to everyone who contributed to making Fedora Appreciation Week happen! 💙 🎉 Your participation and contributions have made this event a truly special and memorable experience. As we move forward, let’s carry the spirit of gratitude with us and continue to acknowledge the exceptional efforts of our Fedora community.

Welcoming Robert and Emma to the DEI Team

Our Fedora DEI Team continues to grow! Although neither of these two names were new to us, we officially nominated and voted Robert Wright and Emma Kidney as the newest inductees to the Fedora DEI Team. Robert is an infrastructure contributor and co-lead to the Community Operations Community Initiative. Emma is a Design Team member and she has been a key contributor for managing graphic design and brand identity for events like Fedora Flock and our release parties. She also designed our team logo!

We are so excited to have Robert and Emma join us as official team members! Although their contributions span before they were officially inducted, we cannot wait to see them continue to contribute and shine in our team. 🚀

Fedora Pride establishes as a Fedora DEI Community

In Q4 2023, Fedora Pride achieved several notable accomplishments:

  • Successfully hosted a release party mini-event for Fedora 39, featuring an engaging session of the game Among Us. This event fostered community engagement and celebrated the new release.
  • Held meetings in October 2023 (and a few months of 2023). The session focused on strategizing future initiatives and strengthening community involvement.
  • Initiated the development of a new GitLab project to hold SIG identified issues.

Looking ahead to 2024 Q1

At the time of publishing, this report is already coming out at the end of 2024 Q1. Oops! That means you can expect to see a 2024 Q1 article later this April. However, to give you an early sneak preview, this is a summary of what the DEI Team was working on from January to March 2024:

  • Fedora Council Hackfest: The Fedora Council held its annual in-person hackfest in February 2024 for annual planning. The DEI Advisor, Jona Azizaj, represented the DEI Team in conversations about the Fedora Strategy and more. Look out for more about the Council Hackfest in future Community Blog posts.
  • Fedora Week of Diversity: Planning is already underway for the DEI Team’s next virtual in June 2024. Fedora Week of Diversity is the successor to Fedora Women’s Day, originally started in 2016 as a celebration of the diverse people who make up our Fedora community. Volunteers are needed! See the issue for more details.
  • GNOME collaboration: Following the initial meeting of some DEI Team members with the GNOME community at GNOME Asia 2023, we wanted to continue collaboration with the GNOME D&I team. Jona Azizaj and Justin W. Flory continue to represent the Fedora community there upstream and provide guidance based on past experiences with the Fedora DEI Team.
  • Marketing Team collaboration: Following up on a request from Marketing Team member Daimar Stein, the DEI Team is working together with the Marketing Team to provide more perspectives and ideas to messaging campaigns. Since the issue was opened, we are working on an outreach timeline for Fedora Week of Diversity and collaborated on a post for World Autism Acceptance/Awareness Day.

Stay tuned for the full 2024 Q1 report in an upcoming article. In reflection, the end of 2023 was a busy ending to a year that saw the comeback of the DEI Team after a dormant period. As we continue building up our capacity and focusing in our team vision and mission, we are also slowly growing our team and exploring new ways to not just recognize, but also celebrate the unique diversity that makes up our global Fedora contributor community.

Want to get involved? Join the DEI Team Matrix chat room (#dei:fedoraproject.org) and follow the Fedora Discussion tag. We meet twice monthly. Our next meeting can be found on the Fedora Calendar.

The post Fedora DEI Team 2023 Q4: Appreciation Week and new members appeared first on Fedora Community Blog.

Network outage in datacenter

Posted by Fedora Infrastructure Status on April 10, 2024 06:00 PM

One of our datacenters primary network link is down. A secondary link is up, but some providers are still trying to route over the down link, resulting in connectivity problems.

Affected fedora resources include:

  • pagure.io
  • download-cc-rdu01

The provider is looking for the outage cause and networking is working on …

Automation through Accessibility

Posted by Fedora Magazine on April 10, 2024 08:00 AM

In this article you will see how we are using Accessibility as an automation tool to test desktop applications just like a real user would using keyboard key presses and mouse clicks.

Although this topic and all of its parts can be talked about for hours to exhaust everything, I will attempt to describe how we are dealing with automation testing in a more digestible form.

For those interested there is a link to a full technical solution at the end of this post, with all of our tools and how to use them. We also provide our full GNOME Terminal testing suite for anyone to try.

Let us start wit the very core of our ability. Accessibility.

What is Accessibility

Accessibility (AT-SPI) in software development aims to make software products available to people of all abilities. While being used for various tools present throughout many distributions, it can be used for other purposes.

We are using Accessibility through Python.

Specifically we utilize Python module GObject introspection that holds Python bindings and support for GTK toolkit and GNOME applications, namely the Atspi module.

While Atspi is already providing useful functions, in general this is not enough, we need quite a few more tools to do our job effectively.

With that in mind lets go over our automation stack.

Automation stack

We do not have a single project that we could utilize. No such project that would fulfill all of our criteria exists, to our knowledge.

Therefore, we are using multiple open source projects together to achieve our goal of testing desktop applications. We are maintainers and contributors to most of the following projects.

  • The API – dogtail
  • Usage on Wayland – gnome-ponytail-daemon
  • The project template – behave
  • Gathering results – behave-html-pretty-formatter
  • Library of tools – qecore

The API – dogtail

dogtail is a GUI test tool and automation framework written in Python. It is an extension and wrapper around Atspi and pyatspi2 python libraries.

Atspi provides almost everything we need. The dogtail framework, however, is more user friendly in matters of usage.

dogtail is how we obtain positions and sizes of various widgets. It also provides functions to press single keyboard keys, do key combinations, typing of text, and mouse button clicking.

Usage on Wayland

Another piece of the stack is the gnome-ponytail-daemon project.

This is a helper daemon intended for dogtail on Wayland. Wayland does not expose desktop coordinates so gnome-ponytail-daemon uses remote-desktop and screen-cast APIs in order to work around that.

Working with gnome-ponytail-daemon is not trivial. Fortunately, most of what we need from it is hidden behind dogtail which uses gnome-ponytail-daemon functions when needed. This enables seamless work without the need to change API calls.

Let us continue to the structure of our automation code.

The project template – behave

behave provides a way to connect natural language, which serves as our step by step suite definition, to an implementation in Python. To illustrate a more specific example, here are behave‘s feature files that contain natural language…

@showing_off_behave
Feature: Showing off behave

  Scenario: Run a simple test
    Given we have behave installed
    When we implement 5 tests
    Then behave will test them for us!

… which is implemented in Python as you can see below…

from <mark class="has-inline-color has-black-color" style="background-color:rgba(0, 0, 0, 0)">behave</mark> import given, when, then, step

@given('we have behave installed')
def step_impl(context):
    pass

@when('we implement {number:d} tests')
def step_impl(context, number):
    assert number > 1 or number == 0
    context.tests_count = number

@then('behave will test them for us!')
def step_impl(context):
    assert context.failed is False
    assert context.tests_count >= 0

We also use behave‘s file structure as a project template for our testing suites. Therefore, our suites are started by behave in all of our cases.

Starting a single test:

$ behave -kt showing_off_behave

There is more that behave does for us but that is not relevant here.

Lets explore how we gather the results of our testing.

Gathering result – behave-html-pretty-formatter

behave provides results, after execution, in user specified format. There are a lot of built-in formats but none of them are useful for us. We are testing GUI applications after all, so we need a lot more than what behave provides.

While behave‘s formats are not useful for us, it does provides us with a way to add a new one as a module.

We wrote our own formatter for behave called behave-html-pretty-formatter. This formatter returns the output as HTML which we can direct to a file. We have functions specified in our module that enable us to embed data into the HTML file as links, strings, screenshots and videos.

The following is an example of starting a test, specifying what the output format will be, and what file to output the data to.

$ behave -kt <test> -f html-pretty -o test.html

Library of tools – qecore

With the tools above we have a way to implement our test, have the steps written in natural language, have them executed, and obtain the output of this execution in an HTML file for review. In spite of having all of that, we still need more, much more.

For that reason we have a library of tools that is present in all of our automation suites. It provides everything else we might need in our solution. When we need a new feature, we will add it to this project.

To list a few examples of what qecore is used for:

  • System configuration.
  • Video recording.
  • Data gathering.
  • Debugging on error.
  • Image matching.

Summary of parts

  • qecore will start a session and execute behave.
    • behave starts executing its parts.
      • qecore initiates and executes commons functions.
        • Test will execute.
          • Automation testing via dogtail /ponytail.
        • Test finishes.
      • qecore gathers all data and lets behave know how to include them in our file.
    • behave finishes its parts and provides results in HTML format.
  • qecore may or may not terminate the session based on user setup.

Starting the entire solution for a single test:

$ qecore-headless “behave -kt <test> -f html-pretty -o test.html”

The “headless” in the name of the script is historical, now it serves as a session configuration tool.

Examples

#!/usr/bin/python3
from dogtail.tree import root
from time import sleep

# Load application root to variable.
shell = root.application("gnome-shell")

# Search the application tree for objects.
system_menu = shell.child("System", "menu")
# Click it.
system_menu.click()
#!/usr/bin/python3
from dogtail.rawinput import typeText, pressKey
from time import sleep

# Start the application.
# Open overview.
pressKey("Super")
# Give overview a little time to show.
sleep(1)

# Search application.
typeText("Terminal")
# Confirm by Enter.
pressKey("Enter")
#!/usr/bin/python3
from dogtail.tree import root
from dogtail.rawinput import typeText, pressKey
from time import sleep

# Start the application.
# Open overview.
pressKey("Super")
# Give overview a little time to show.
sleep(1)

# Search application.
typeText("Terminal")
# Confirm by Enter.
pressKey("Enter")

typeText("seq 100")
pressKey("Enter")

scroll_bar = terminal.findChild(
    lambda x: x.roleName == "scroll bar"
)
s_min = int(scroll_bar.minValue)
s_max = int(scroll_bar.maxValue)

for i in range(s_max, s_min, -1):
    scroll_bar.value = i
    sleep(0.05)

for i in range(s_min,s_max):
    scroll_bar.value = i
    sleep(0.05)
#!/usr/bin/python3
from dogtail.tree import root
from dogtail.rawinput import typeText, pressKey
from time import sleep

# First open the application.
pressKey("Super")  # Open overview.
sleep(1)  # Give overview a little time to show.

# Search application.
typeText("Terminal")
# Confirm by Enter.
pressKey("Enter")

# Load application root to variable.
app = root.application("gnome-terminal-server") 

# Search the application tree for objects.
terminal = app.child("Terminal", "terminal")
# Right click in the terminal.
terminal.click(3)
# Give menu some time to show.
sleep(1)

# Find the item Show Menubar that is showing
show_menubar = app.findChild(
    lambda x: x.name == "Show Menubar" and
    x.roleName == "check menu item" and
    x.showing
)
# Click it if the option is not checked.
if not show_menubar.checked:
    show_menubar.click()
else:
    # Close the menu if option is checked.
    pressKey("Esc")

sleep(1)

app.child("File", "menu").click()
app.child("New Tab", "menu").click()
app.findChild(lambda x: "1." in x.name).click()
sleep(1)

# Execute the command.
typeText("echo Hello World")
pressKey("Enter")
#!/usr/bin/python3
from dogtail.tree import root
from time import sleep
import dogtail.rawinput

# Load application root to variable.
shell = root.application("gnome-shell")

# Search the application tree for objects.
shell.child("Activities", "label").click()
sleep(2)  # Give overview a little time to show.

shell.child("Show Apps", "toggle button").click()
sleep(2)

shell.child("Calculator", "label").click()
sleep(2)

# Load the Calculator Atspi object to a variable.
calculator = root.application("gnome-calculator")

# For calculator we have to account for shadows.
def _update_coords(coords):
    return (coords[0] + 40, coords[1] + 40)
dogtail.rawinput.update_coords = _update_coords
# Or you can disable box-shadow for gtk4 css.

# Simple calculation.
calculator.child("3").click()
calculator.child("+").click()
calculator.child("5").click()
calculator.child("=").click()

# Simple check.
assert calculator.child("3+5").showing
assert calculator.child("8").showing

Examples of an automation suite output files

  • Passed test in GNOME Terminal Suite
<figure class="wp-block-image size-full wp-lightbox-container" data-wp-context="{"uploadedSrc":"https:\/\/fedoramagazine.org\/wp-content\/uploads\/2024\/04\/test_example.png","figureClassNames":"wp-block-image size-full","figureStyles":null,"imgClassNames":"wp-image-40105","imgStyles":null,"targetWidth":1917,"targetHeight":535,"scaleAttr":false,"ariaLabel":"Enlarge image","alt":""}" data-wp-interactive="core/image"></figure>
  • Passed test in GNOME Terminal Suite in High Contrast.

We have teammates with visual impairment. While designing the output format we thought about a button that would remove all color as a core feature.

<figure class="wp-block-image size-full wp-lightbox-container" data-wp-context="{"uploadedSrc":"https:\/\/fedoramagazine.org\/wp-content\/uploads\/2024\/04\/test_example_high_contrast.png","figureClassNames":"wp-block-image size-full","figureStyles":null,"imgClassNames":"wp-image-40106","imgStyles":null,"targetWidth":1920,"targetHeight":637,"scaleAttr":false,"ariaLabel":"Enlarge image","alt":""}" data-wp-interactive="core/image"></figure>
  • Failed test in a Zenity Testing Suite

Our automation solution will provide as much data as possible after any error.

You will notice the amount of data present in a failed page. This page has everything a developer will need to debug a problem.

  • Set of steps taken to reproduce the issue.
  • Screenshot at the moment of the failure.
  • Video of the reproducer.
  • Journal logs.
  • Full backtrace from coredumps – all relevant debuginfo/debugsource packages are installed.
  • Status shows what version of an application is tested.
  • We also have debug logs for our own tools to verify we did not introduce the issue.
<figure class="wp-block-image size-full wp-lightbox-container" data-wp-context="{"uploadedSrc":"https:\/\/fedoramagazine.org\/wp-content\/uploads\/2024\/04\/zenity_backtrace_example.png","figureClassNames":"wp-block-image size-full","figureStyles":null,"imgClassNames":"wp-image-40107","imgStyles":null,"targetWidth":1917,"targetHeight":507,"scaleAttr":false,"ariaLabel":"Enlarge image","alt":""}" data-wp-interactive="core/image"></figure>

Advantages of our solution

  • It does not matter what theme is in use.
  • It does not matter what font is in displayed on the screen.
  • It does not matter where on the screen the application is located.
  • In GNOME Control Center we can enable Zoom, Large Text or High Contrast and the automation will still work.
  • If the application is in the Atspi tree in can be tested:
    • Evolution
    • Firefox
    • GNOME Control Center
    • GNOME Shell
    • GNOME Software

Disadvantages of our solution

  • Accessibility is primarily not meant to be used for automation.
  • Most applications we test have the Accessibility layer in imperfect/incomplete state.
    • Wrong coordinates.
    • Incorrect or missing names, roles or attributes.
    • Widgets for scroll bars have their limit set to 0 and cannot be changed even if a user can scroll in the GUI with no issues.
  • While most of the issues we find have relatively simple workarounds they still exist and have to be dealt with.
  • Problems with Accessibility in context of an automation are not a priority and might not get the attention they would need.

Full technical solution

For those interested in more details I am providing full technical solution for automation testing of GNOME Terminal on Fedora 38 with Wayland.

The article will guide you to fully functional Automation Testing solution.

https://modehnal.github.io/

Fedora Strategy 2028: April 2024 Update

Posted by Fedora Community Blog on April 10, 2024 08:00 AM

from Fedora Project Leader Matthew Miller, on behalf of the Fedora Council

First, a personal note! As you may have seen, I was out sick with Covid for a month after getting home from our annual Council face-to-face meeting. It’s not been fun — some respiratory symptoms, but primarily, overwhelming fatigue. Somewhat ironically, the timing suggests that I managed to avoid catching anything at FOSDEM itself (where I wore a mask most of the time), or at the Council meeting, but rather on the plane or in the airport on the way back. Although emergency measures have been lifted, there really is still a pandemic going on. Be careful, everyone, especially when traveling! In any case, I’m back to myself now, and am excited for Fedora’s next big steps.

The Story so Far

So! I’ve been talking about “Strategy 2028” for a while — we started this effort seriously about a year ago. If you’re just joining in, or want a refresher, Fedora Strategy 2028: a topic index for our planning process is a great place to start. I won’t rehash all of that here.

The important thing is: 2023 was kind of a hard year, and although we made some progress, we lost momentum. The Council hackfest helped get things back on track, and we’re moving forward now. We’re not making any fundamental changes, but we are restructuring how we present things — and we’re moving on from theory to practical work.

A New Presentation

Over the last year, we got feedback from many people who felt that the organization into Themes and Focus Areas was overwhelming and confusing. It felt really big, maybe too much, and hard to know where one might fit in.

After some discussion, we decided that we could better present our various objectives as they align with something we’re all already very familiar with: Fedora’s “four foundations”: Freedom, Friends, Features, and First. The objectives we’ve talked about over the past year aren’t going away, but this gives us an easier way to organize and prioritize them over the next few years.

What Else?

Even with a big and ambitious plan, we left some important ideas behind. For example, we want to better tell our Fedora stories (both inside and outside the project), and we want work to improve distribution security. We’re not immediately adding planned effort on these, but our new framing around the Foundations gives us more room to add those things as needed.

Our project has amazing, passionate people who have done amazing things for Fedora and for the world of community-built, free and open source software in general. We should do more to celebrate them, to give everyone the recognition they deserve. We should show new and potential contributors the incredible things we’ve done and the exciting things we’re doing — and what it means to be part of our community.

The recent xz exploit relied on long-term, persistent social engineering within an open source project, along with a very sophisticated technical attack. A long discussion on the devel mailing list shows that we have many ideas for how we can make Fedora more resilient against such attacks as a project, and Fedora Linux safer as an operating system. Initiatives to work on these  improvements may end up under a different umbrella, but will certainly have some interconnection.

As we go through the next five years, don’t be surprised to see us add Community Initiatives focused on these things — and others, as they emerge.

And then, there’s AI

We’ve all heard a lot about various “large language model” chatbots, and about image and even video creation. There is obviously a lot of hype around AI — and inevitably, over-the-top nonsense. We’re not really “just five years away” from actual generalized Artificial Intelligence. This isn’t the start of Skynet from The Terminator movies. Human creativity isn’t being replaced, and I don’t think all programmers will end up as “prompt engineers”.

However, there is something real here.

Advances in accelerated hardware and machine-learning software have unlocked possibilities which were imagined last century, but which were not practical at the time. When the dust settles around the hyperbole, I believe we’ll still be left with something significant, powerful.

In addition to the big showy LLM-based tools for chat and code generation, these advances have brought big jumps for more tailored tasks: for translation, file search, home automation, and especially for accessibility (already a key part of our strategy). For example, open source speech synthesis has long lagged behind proprietary options. Now, what we have in Fedora is not even close to the realism, nuance, and flexibility of AI-generated speech.

Right now, most of all this is proprietary. It’s corporate-owned closed models trained with hidden data, largely running on hardware without open source drivers. If we ignore this, we’re going to be left behind — not just Fedora, but free and open source software entirely. On the other hand, we can take a leadership position, and build a future where AI belongs to all of us.

The Guiding Star for Strategy 2028 is about growing our contributor base. We can make Fedora Linux the best community platform for AI, and in doing so, open a new frontier of contribution and community potential.

This won’t be easy. We have a lot of basic work on platform fundamentals. That’s drivers and tooling, packages and containers, and even new ways of distributing Fedora software. We also need to improve developer experience — for example, it’d be nice to have Podman Desktop as part of Fedora, with easy paths to getting started.

We can use AI/ML as part of making the Fedora Linux OS. New tools could help with package automation and bug triage. They could note anomalies in test results and logs, maybe even help identify potential security issues. We can also create infrastructure-level features for our users. For example, package update descriptions aren’t usually very meaningful. We could automatically generate concise summaries of what’s new in each system update — not just for each package, but highlighting what’s important in the whole set, including upstream change information as well.

At the same time, we need to work with the rest of the free and open source world to create labels for AI technology which aligns with our values. We need polices on what we allow, and on what we encourage. We may even need to fight for legal frameworks friendly to community-built software.

Finally, of course, we can provide models in the OS. This includes accessibility tooling, which can benefit everyone: imagine an all-local voice assistant that doesn’t send your conversations to some big datacenter or try to sell you things while simultaneously selling your personal data. We could also include tools that make it easier to find help, features to simplify system administration tasks, and interfaces to better organize your documents and media — all within your control, all running on a free and open source software stack.

We’re just getting started here (with, for example, Pytorch coming in Fedora Linux 40 1, CPU-only — for now). There will be more exciting things coming soon.

Next Steps

The next post will be the high-level view of Strategy 2028, updated from this new perspective.

The Council’s next immediate step is to identify Executive Sponsors and leaders for each Focus Area under the broad umbrellas of our Four Foundations. Then, we’ll plan and schedule concrete outputs and practical activities in each area. For larger efforts, we expect to launch Community Initiatives, but much of the work will be organized as smaller projects under each focus area banner. Expect more announcements soon as we build this out!

The post Fedora Strategy 2028: April 2024 Update appeared first on Fedora Community Blog.

8.1.0

Posted by Bodhi on April 09, 2024 12:27 PM

Released on 2024-04-09.
This is a feature release that adds options for running createrepo_c.

Features

  • Bodhi can now set a timeout on postgresql database queries (default to 30 sec) (#5593).
  • The createrepo_c config file now can accept enabling/disabling sqlite metadata generation and using --compatibility flag (#5617).
  • Builds submission can now be restricted to only specified sources (#5556).
  • A new /list_releases/ GET endpoint is available to allow retrieving JSON data through ajax calls. (#5587).

Bug fixes

  • Use urljoin for update URLs construction (#5566`).
  • DRPMs can now be disabled per Release in createrepo_c config file (#5616).

Development improvements

  • The Vagrant development environment is entirely removed in favor of BCD, and bodhi-shell is fixed in BCD. (#5600).

Contributors

The following developers contributed to this release of Bodhi:

  • Aurélien Bompard
  • Adam Williamson
  • Mattia Verga

One Week With KDE Plasma Workspaces 6 on Fedora 40 Beta (Vol. 2)

Posted by Stephen Gallagher on April 08, 2024 08:31 PM

Checking In

It’s been a few days since my first entry in this series. For the most part, things have been going quite smoothly. I have to say, I am liking KDE Plasma Workspaces 6 much better than previous releases (which I dabbled with but admittedly did not spend a significant amount of time using). The majority of what I want to do here Just Works. This should probably not come as a surprise to me, but I’ve been burned before when jumping desktops.

I suppose that should really be my first distinct note here: the transition from GNOME Desktop to KDE Plasma Workspaces has been minimally painful. No matter what, there will always be some degree of muscle memory that needs to be relearned when changing working environments. It’s as true going from GNOME to KDE as it is from Windows to Mac, Mac to ChromeOS and any other major shift. That said, the Fedora Change that prompted this investigation is specifically about the possibility of changing the desktop environment of Fedora Workstation over to using KDE Plasma Workspaces and away from GNOME. As such, I will be keeping in mind some of the larger differences that users would face in such a transition.

Getting fully hooked up

The first few days of this experience, I spent all of my time directly at my laptop, rather than at my usual monitor-and-keyboard setup. This was because I didn’t want to taint my initial experience with potential hardware-specific headaches. My main setup involves a very large 21:9 aspect monitor, an HDMI surround sound receiver and a USB stereo/mic headset connected via a temperamental USB 3.2/Thunderbolt hub and the cheapest USB A/B switch imaginable (I share these peripherals with an overpowered gaming PC). So when I put aside my usual daily driver and plugged my Thinkpad into the USB-C hub, I was prepared for the worst. At the best of times, Fedora has been… touchy about working with these devices.

Let’s start with the good bits: When I first connected the laptop to my docking station, I was immediately greeted by an on-screen display asking me how I wanted to handle the new monitor. Rather than just making a guess between cloning or spanning the desktop, it gave me an easy and visual prompt to do so. Unfortunately, I don’t have a screenshot of this, as after the first time it seems that the system “remembers” the devices and puts them back the way I had them. This is absolutely desirable for the user, but as a reviewer it makes it harder to show it off. (EDIT: After initial publication, I was informed of the meta-P shortcut which allowed me to grab this screenshot)

<figure class="wp-block-image size-large"></figure>

Something else that I liked about the multi-monitor support was the way that the virtual desktop space on the taskbar automatically expanded to include the contents from both screens. It’s a simple thing, but I found that it made it really easy to tell at a glance which desktop I had particular applications running on.

All in all, I want to be clear here: the majority of my experience with KDE Plasma Workspaces has been absolutely fine. So many things work the same (or close enough) to how they work in GNOME that the transition has actually been much easier than I expected. the biggest workflow changes I’ve encountered are related to keyboard shortcuts, but I’m not going to belabor that, having discussed it in the first entry. The one additional keyboard-shortcut complaint I will make is this: using the “meta” key and typing an application name has a strange behavior that gets in my way. It almost behaves identically to GNOME; I tap “meta” and start typing and then hit enter to proceed. But the issue I have with KDE is this: I’m a fast typist and the KDE prompt doesn’t accept <enter> until the visual effect of opening the menu completes. This baffles me, as it accepts all of the other keys. So my muscle memory to launch a terminal by quickly tapping “meta”, typing “term” and hitting enter doesn’t actually launch the terminal. It leaves me at the menu with konsole sitting there. When I hit enter after the animation completes, it works fine. So while the behavior isn’t wrong, per se, it’s frustrating. The fact that it accepts the other characters makes me think this was a deliberate choice that I don’t understand.

There have been a few other issues, mostly around hardware support. I want to be clear: I’m fully aware that hardware is hard. One issue in particular that has gotten in the way is support for USB and HDMI sound devices in KDE Plasma. I don’t know if it’s specifically my esoteric hardware or a more general problem, but it has been very hard to get KDE to use the correct inputs and outputs. In the case of the HDMI audio receiver, I still haven’t been able to get KDE to present it as an output option in the control panel. It connects to the receiver and treats it as a very basic 720p video output device, but it just won’t recognize it as an audio output device. My USB stereo headset with mic has also been more headache than headset: after much trial and error, I’ve managed to identify the right output to send stereo output to it, but no matter what I have fiddled with, it does not recognize the microphone.

More issues on the hardware front are related to having two webcam devices available. KDE properly detects both the built-in camera on the laptop as well as the external webcam I have clipped to the top of my main monitor, but it seems to have difficulty switching between them. I’m not yet 100% sure how much of this is a KDE problem and how much a Firefox problem, but it is frustrating. Sometimes I’ll select my external webcam and it will still be taking input from the built-in camera. Also, it seems to always show two entries for both devices. I need to do more digging here, but I anticipate that I’ll be filing a bug report once I gather enough data.

Odds and Ends

I have mixed feelings about KDE’s clipboard applet in the toolbar. On the one hand, I can certainly see the convenience of digging into the clipboard history, particularly if you accidentally drag-select something and replace the clipboard copy you intended to keep. On the other hand, as a heavy user of Bitwarden who regularly copies passwords1 out of the wallet and into other applications, the fact that all of the clipboard contents are easily viewable in plaintext to anyone walking by if I forget to lock my screen for a few seconds is quite alarming. I’m pretty sure I’ll either have to disable this applet or build a habit of clearing it any time I copy a password. Probably the former, as I don’t like the fact that I have to call up and make the plaintext visible first in order to delete it without clearing the entire history anyway.

Conclusion

This will probably seem odd after a post that mostly contained complaints and nitpicks, but I want to reiterate: my experience over the last several days has actually been quite good. When dealing with a computer, I consider “it was boring” to be the highest of praise. Using KDE has not been a life-altering experience. It has been a stable, comfortable environment in which to get work done. Have I experienced some issues? Absolutely. None of them are deal-breakers, though the audio issues are fairly annoying. My time in the Fedora Project has shown me that hardware issues inevitably get fixed once they are noticed, so I’m not overly worried.

As for me? I’m going to stick around in KDE for a while and see how things play out. If you’re reading this and you’re curious, I’ll happily direct you to the Fedora KDE Spin for the Live ISO or the Kinoite installer if, like me, you enjoy an atomic update environment. Make sure to select “Show Beta downloads” to get Plasma 6!

  1. I generate high-entropy, unique random passwords for everything. Don’t you? ↩

New badge: Fedora 42 CoreOS Test Day !

Posted by Fedora Badges on April 08, 2024 12:09 PM
Fedora 42 CoreOS Test DayYou helped solidify the core for the Fedora 42 rebase!

New badge: Fedora 41 CoreOS Test Day !

Posted by Fedora Badges on April 08, 2024 12:07 PM
Fedora 41 CoreOS Test DayYou helped solidify the core for the Fedora 41 rebase!

New badge: Fedora 40 CoreOS Test Day !

Posted by Fedora Badges on April 08, 2024 12:04 PM
Fedora 40 CoreOS Test DayYou helped solidify the core for the Fedora 40 rebase!

Centralized system and LSF logging on a Turing Pi system

Posted by Peter Czanik on April 08, 2024 11:20 AM

I love high performance computers, and some of my best friends work in high performance computing (HPC). Obviously, sometimes we also talk about logging. Recently we not just talked, but I also helped Gábor in his first steps with syslog-ng. He summarized his experiences in a blog:

Logs are one of those indispensable things in IT when things go wrong. Having worked in technical support for software products in a past life, I’ve likely looked at hundreds (or more) logs over the years, helping to identify issues. So, I really appreciate the importance of logs, but I can honestly say that I never really thought about a logging strategy for the systems on my home network - primarily those running Linux.

One of my longtime friends, Peter Czanik, who also works in IT, happens to be a logging guru as well as an IBM Champion for Power Systems (yeah!). So it’s only natural that we get to talking about logging. He is often complaining that even at IT security conferences people are unaware of the importance of central logging. So, why is it so important? For security it’s obvious: logs are stored independently from the compromised system, so they cannot be modified or deleted by the attacker. But central logging is beneficial for the HPC operator as well. First of all, it’s availability. You can read the logs even if one of your nodes becomes unreachable. Instead of trying to breath life into the failed node, you can just take a look at the logs and see a broken hard drive, or a similar deadly problem. And it is also convenience, as all logs are available at a single location. Logging into each node on the 3 node cluster to check locally saved logs is inconvenient but doable. On a 10 node cluster it takes a long time. On a 100 node cluster a couple of working days. While, if your logs are collected to a central location, maybe a single grep command, or search in a Kibana or similar web interface.

Those who follow my blog will know that I’ve been tinkering with a Turing Pi V1 system lately. You can read my latest post here. For me, the Turing Pi has always been a cluster in a box. My Turing Pi is fully populated with 7 compute modules. I’ve designed Node 1 to be the NFS server and LSF manager for the cluster. LSF is a workload scheduler for high-performance computing (HPC) from IBM. Naturally I turned to Peter for his guidance on this, and the result is this blog. Peter recommended that I use syslog-ng for log aggregation and also helped me through some of my first steps with syslog-ng. And the goal was to aggregate both the system (syslog) as well as LSF logs on Node 1. TL;DR it was easy to get it all working. But I encourage you to read on to better understand the nuances and necessary configuration both syslog-ng and LSF that was needed.

Read the rest at: https://www.gaborsamu.com/blog/turingpi_syslog-ng_lsf/

<figure><figcaption>

syslog-ng logo

</figcaption> </figure>

Week 14 in Packit

Posted by Weekly status of Packit Team on April 08, 2024 12:00 AM

Week 14 (April 2nd – April 8th)

  • We have fixed a race condition that could occur when multiple copr_build jobs sharing a Copr project but having different targets were running at the same time. (packit#2274)
  • We have fixed reporting of tests with manual_trigger: True. (packit-service#2389)

Episode 423 – FCC cybersecurity label for consumer devices

Posted by Josh Bressers on April 08, 2024 12:00 AM

Josh and Kurt talk about a new FCC program to provide a cybersecurity certification mark. Similar to other consumer safety marks such as UL or CE. We also tie this conversation into GrapheneOS, and what trying to claim a consumer device is secure really means. Some of our compute devices have an infinite number of possible states. It’s a really weird and hard problem.

<audio class="wp-audio-shortcode" controls="controls" id="audio-3355-3" preload="none" style="width: 100%;"><source src="https://traffic.libsyn.com/opensourcesecuritypodcast/Episode_423_FCC_cybersecurity_label_for_consumer_devices.mp3?_=3" type="audio/mpeg">https://traffic.libsyn.com/opensourcesecuritypodcast/Episode_423_FCC_cybersecurity_label_for_consumer_devices.mp3</audio>

Show Notes

Contribute at the Fedora 40 Upgrade, and Intel OpenCL Test Days

Posted by Fedora Magazine on April 06, 2024 05:00 PM

Fedora test days are events where anyone can help make certain that changes in Fedora work well in an upcoming release. Fedora community members often participate, and the public is welcome at these events. If you’ve never contributed to Fedora before, this is a perfect way to get started.

There are two upcoming test days in the next week covering two topics:

  • Mon 8 April , is to test the Fedora 40 Upgrade.
  • Tuesday 9 April , is to test the Intel Open CL.

Upgrade test day

As we come closer to Fedora Linux 40 release dates, it’s time to test upgrades. This release has a lot of changes and it becomes essential that we test the graphical upgrade methods as well as the command line. As a part of this test day, we will test upgrading from fully updated F38 and F39 to F40. This will include all architectures (x86_64, ARM, aarch64) and variants (WS, cloud, server, silverblue, IoT).

Intel Open CL test day

Intel OpenCL is an open standard for parallel programming of heterogeneous systems. It allows developers to harness the power of Intel’s hardware, particularly CPUs and GPUs, to accelerate computing tasks. OpenCL (Open Computing Language) enables software developers to write programs that can execute across hardware platforms. It offers the potential for significant improvements in computing performance and efficiency. As part of its commitment to open standards and community collaboration, Fedora QA engages in initiatives like Test Days. Here developers and users can contribute to testing and improving the implementation of OpenCL on Intel hardware.

How do test days work?

A test day is an event where anyone can help make certain that changes in Fedora work well in an upcoming release. Fedora community members often participate, and the public is welcome at these events. Test days are the perfect way to start contributing if you not in the past.

The only requirement to get started is the ability to download test materials (which include some large files) and then read and follow directions step by step.

Detailed information about all the test days are on the wiki page links provided above. If you are available on or around the days of the events, please do some testing and report your results.

Fedora Ops Architect Weekly

Posted by Fedora Community Blog on April 05, 2024 10:16 PM

Hello folks! I’m coming to you live from a very wet and windy Ireland. April showers is certainly a thing, but this kind of rain is even giving the typical Irish weather a run for its money! 😀 I hope you all have had a good (and drier) week so far and enjoy your weekend, and if you would like some weekend reading, weekend bug fixing, or even a weekend proposal writing session, read on for the links and information you need to do just that 🙂

Flock to Fedora

The call for papers for our annual contributor conference, Flock to Fedora, is now open until April 21st. Check out the cfp page for details on the tracks and themes of this years conference, plus information on travel subsidies and how to contact event staff if you need help.

Fedora Linux 40

Important Dates

  • Currently in Final Freeze
  • Thursday, April 11th @ 1700 UTC – Fedora Linux 40 Go/No-Go Meeting
  • Tuesday, April 16th – Current Release Target Date (this will depend on the outcome of the Go/No-Go meeting)

Help Wanted

There are a number of blocker bugs open against F40 at the moment, both proposed and accepted. If you could spare some time to visit the blocker bugs app and reproduce some of the bugs to validate if they are blocking bugs or not, and/or even propose a fix for a bug listed, that would be hugely appreciated. A summary of the current F40 bugs can be found on this email with links to each too.

Fedora Linux 41

Change proposals are welcome for F41, and even F42 (and F43 if you’re that prepared!). The first deadline is 19th June if your change requires any infrastructure changes, and 26th June if it is a system-wide change. Self-contained changes may be submitted until 16th July. Those dates might seem far off, but please do have your changes in Rawhide as early as possible as this impacts a lot of the build and release folks (QA, rel-eng, etc) so getting the work proposed, approved and into development as early as possible is strongly recommended. Below is a list of changes proposed, awaiting FESCo decision and already accepted for F41.

Proposed

Awaiting FESCo Decision

Accepted F41

Hot Topics

An update on the Git Forge Evaluation has been published by the Fedora Council. Please have a read on discussion.fpo or on the community blog.

The CommOps Team is rebooting! Read about the newly (re)formed team on their blog post and find out how to get involved and join the team.

Help Wanted

Lots of Test Days! Check them out on the QA calendar in fedocal for component-specific days. Help is always greatly appreciated.We also have some packages needing some new maintainers and others needing reviews. See below links to adopt and review packages!

The post Fedora Ops Architect Weekly appeared first on Fedora Community Blog.