Arch Planet
Planet Arch Linux is a window into the world, work and lives of Arch Linux developers, package maintainers and support staff.
Expanding battery charge control support in Linux
Since GNOME 48, users can now preserve their battery health directly from
GNOME
Settings.
Currently, this feature only works on laptops that support both start and end
charge thresholds, such as ThinkPads. Ideally, we’d like to support every
laptop with any form of charge threshold control but that isn't …
zabbix >= 7.4.1-2 may requires manual intervention
Starting with
7.4.1-2
, the following Zabbix system user accounts (previously shipped by their related packages) will no longer be used. Instead, all Zabbix components will now rely on a shared zabbix
user account (as originally intended by upstream and done by other distributions):
- zabbix-server
- zabbix-proxy
- zabbix-agent (also used by the
zabbix-agent2
package) - zabbix-web-service
zabbix
user account is provided by the newly introduced zabbix-common
split package, which is now a dependency for all relevant zabbix-*
packages.
The switch to the new user account is handled automatically for the corresponding main configuration files and systemd
service units.
However, manual intervention may be required if you created custom files or configurations referencing to and / or being owned by the above deprecated users accounts, for example:
PSK
files used for encrypted communication- Custom scripts for metrics collections or report generations
sudoers
rules for metrics requiring elevated privileges to be collected- ...
zabbix
user account, otherwise some services or user parameters may fail to work properly, or not at all.
Once migrated, you may remove the obsolete user accounts from your system.
Introducing pkgctl license
In Arch Linux, as part of RFC40, we have recently decided to license all Arch Linux package sources as 0BSD. Our package sources didn't have any license previously. RFC40 only specified that we do want to license our package sources but it didn't specify how to ensure this. As such, in RFC52 we decided we want to use REUSE to achieve that.
NOTE: It might be a bit confusing that our PKGBUILD files also have a
license
field. However, this field specifies the upstream license, i.e. the license of the software that we package. It does not specify …
Specifications
In October 2024 a team of dedicated developers has started work on the ALPM project. Since then it has been focusing on writing new documentation on many aspects of Arch Linux Package Management that were not thoroughly documented in the past. This article provides an overview of the specifications written by this project and attempts to contextualize them for the reader. The existing stack 📚 With its
bash
based makepkg
tool for package creation, the libalpm C library for interfacing with system state and the central pacman
package management tool, the pacman project has defined the …
linux-firmware >= 20250613.12fe085f-5 upgrade requires manual intervention
With
20250613.12fe085f-5
, we split our firmware into several vendor-focused packages. linux-firmware
is now an empty package depending on our default set of firmware.
Unfortunately, this coincided with upstream reorganizing the symlink layout of the NVIDIA firmware, resulting in a situation that Pacman cannot handle. When attempting to upgrade from 20250508.788aadc8-2
or earlier, you will see the following errors:
linux-firmware-nvidia: /usr/lib/firmware/nvidia/ad103 exists in filesystem
linux-firmware-nvidia: /usr/lib/firmware/nvidia/ad104 exists in filesystem
linux-firmware-nvidia: /usr/lib/firmware/nvidia/ad106 exists in filesystem
linux-firmware-nvidia: /usr/lib/firmware/nvidia/ad107 exists in filesystem
To progress with the system upgrade, first remove linux-firmware
, then reinstall it as part of the upgrade:
# pacman -Rdd linux-firmware
# pacman -Syu linux-firmware
Plasma 6.4.0 will need manual intervention if you are on X11
On Plasma 6.4 the wayland session will be the only one installed when the users does not manually specify kwin-x11.
With the recent split of kwin into kwin-wayland and kwin-x11, users running the old X11 session needs to manually install plasma-x11-session, or they will not be able to login. Currently pacman is not able to figure out your personal setup, and it wouldn't be ok to install plasma-x11-session and kwin-x11 for every
one using Plasma.
tldr: Install plasma-x11-session if you are still using x11
Transition to the new WoW64 wine and wine-staging
We are transitioning the wine and wine-staging package to a pure wow64 build. This change removes the dependency on the multilib repository for wine and wine-staging.
The main reason for this is to align with upstream Wine development, which simplifies packaging and the dependency chain.
Potential Issues:
- OpenGL Performance: A known limitation of the new WoW64 mode is reduced performance for 32-bit applications that use OpenGL directly
- Breaking Changes: Existing 32-bit prefixes needs to be recreated
Am I a musician yet? - Superbooth 2025 Experience
I went to Berlin for a music event and here is what happened.
Easter hack: terraform-provider-openwrt
April is usualy tax season for most people in Norway, and as I got some “money back on the skætt” I wound up purchasing an OpenWrt One to replace my 13-14 year old Asus router. I’ve been meaning to learn a bit more about networking in general and getting an OpenWrt router seemed like a fun project.
Last year I bought a Beryl AX from GL-Inet as I was travelling for a few weeks.
Valkey to replace Redis in the [extra] Repository
Valkey, a high-performance key/value datastore, will be replacing redis in the [extra] repository. This change is due to Redis modifying its license from BSD-3-Clause to RSALv2 and SSPLv1 on March 20th, 2024[0].
Arch Linux Package Maintainers intend to support the availability of the redis package for roughly 14 days from the day of this post, to enable a smooth transition to valkey. After the 14 day transition period has ended, the redis package will be moved to the AUR. Also, from this point forward, the redis package will not receive any additional updates and should be considered deprecated until it is removed.
Users are recommended to begin transitioning their use of Redis to Valkey as soon as possible to avoid possible complications after the 14 day transition window closes.
[0] https://github.com/redis/redis/commit/0b34396924eca4edc524469886dc5be6c77ec4ed
Rust edition 2024 annotated
Last Thursday Rust 1.85 was released, and with it, edition 2024 has dropped. The new edition is significantly larger than the two editions that preceded it, and contains many small but significant quality of life improvements to the language. In this post, I’d like to explain what an edition is, and summarize all the changes that were made to the language I love. If you need the details, I recommend reading the edition guide, but for a general overview, read on.
Cleaning up old repositories
Around two years ago, we've merged the
[community]
repository into [extra]
as part of the git migration.
In order to not break user setups,
we kept these repositories around in an unused and empty state.
We're going to clean up these old repositories on 2025-03-01.
On systems where /etc/pacman.conf
still references the old
[community]
repository, pacman -Sy
will return an error on trying to
sync repository metadata.
The following deprecated repositories will be removed: [community]
,
[community-testing]
, [testing]
, [testing-debug]
, [staging]
,
[staging-debug]
.
Please make sure to remove all use of the aforementioned repositories from your /etc/pacman.conf
(for which a .pacnew
was shipped with pacman>=6.0.2-7
)!
Infrastructure as Advent of Code
In the cold of December we have but one thing to keep us warm: our laptops, trying to solve Advent of Code puzzles with inefficient algorithms. This year, 2024, is the tenth edition, and the puzzles are filled with more Easter eggs than ever before. Unfortunately, I’m not interested in Easter eggs, or solving the puzzles. I am a DevOps engineer, and I’m going to apply Infrastructure as Code principles to Advent of Code.
Glibc 2.41 corrupting Discord installation
We plan to move
glibc
and its friends to stable later today, Feb 3. After installing the update, the Discord client will show a red warning that the installation is corrupt.
This issue has been fixed in the Discord canary build. If you rely on audio connectivity, please use the canary build, login via browser or the flatpak version until the fix hits the stable Discord release.
There have been no reports that (written) chat connectivity is affected.
Critical rsync security release 3.4.0
We'd like to raise awareness about the rsync security release version
3.4.0-1
as described in our advisory ASA-202501-1.
An attacker only requires anonymous read access to a vulnerable rsync server, such as a public mirror, to execute arbitrary code on the machine the server is running on.
Additionally, attackers can take control of an affected server and read/write arbitrary files of any connected client.
Sensitive data can be extracted, such as OpenPGP and SSH keys, and malicious code can be executed by overwriting files such as ~/.bashrc
or ~/.popt
.
We highly advise anyone who runs an rsync daemon or client prior to version 3.4.0-1
to upgrade and reboot their systems immediately.
As Arch Linux mirrors are mostly synchronized using rsync, we highly advise any mirror administrator to act immediately, even though the hosted package files themselves are cryptographically signed.
All infrastructure servers and mirrors maintained by Arch Linux have already been updated.
2024 wrapped
Dear blog. This post is inspired by an old friend of mine who has been writing these for the past few years. I meant to do this for a while now, but ended up not preparing anything, so this post is me writing it from memory. There’s likely stuff I forgot, me being gentle with myself I’ll probably just permit myself to complete this list the next couple of days.
I hate bragging, I try to not depend on external validation as much as possible, and being the anti-capitalist that I am, I try to be content with knowing I’m …
Goodbye, Sam
A eulogy for the greatest dog of all, and a friend I will never forget.
How I set up this blog
Like my blog? Here is how I set it up.
Providing a license for package sources
Arch Linux hasn't had a license for any package sources (such as PKGBUILD files) in the past, which is potentially problematic. Providing a license will preempt that uncertainty.
In RFC 40 we agreed to change all package sources to be licensed under the very liberal 0BSD license. This change will not limit what you can do with package sources. Check out the RFC for more on the rationale and prior discussion.
Before we make this change, we will provide contributors with a way to voice any objections they might have. Starting on 2024-11-19, over the course of a week, contributors will receive a single notification email listing all their contributions.
- If you receive an email and agree to this change, there is no action required from your side.
- If you do not agree, please reply to the email and we'll find a solution together.
Can't trust any VPN these days
After Turkey banned Discord, I had to jump through some hoops, fix my VPN, and learn a bit about how DNS works.
Facts
A collection of facts about yours truly. Guaranteed to be as accurate as my memory.
Manual intervention for pacman 7.0.0 and local repositories required
With the release of version 7.0.0 pacman has added support for
downloading packages as a separate user with dropped privileges.
For users with local repos however this might imply that the download
user does not have access to the files in question, which can be fixed
by assigning the files and folder to the
alpm
group and ensuring the
executable bit (+x
) is set on the folders in question.
$ chown :alpm -R /path/to/local/repo
Remember to merge the .pacnew files to apply the new default.
Pacman also introduced a change to improve checksum stability for
git repos that utilize .gitattributes
files. This might require a
one-time checksum change for PKGBUILD
s that use git sources.
Why I started livestreaming as a Rust developer?
Some thoughts on why I started livestreaming my open-source development sessions and my future plans.
SSH CA with device and identity attestation: ssh-tpm-ca-authority
The past year I have been hacking around on tools utilizing TPMs, and one of the features I have been interested to learn more about is the device attestation features.
After being a bit inspired by some ideas from people at work, the hackerspace and toots on mastodon, I figure out a SSH certificate authority would be a cool small project to hack on. Last year I wrote an SSH agent with TPM bound keys so this would nicely fit into the existing tooling.
Reproducible Arch images with mkosi
In the previous
article
I investigated how to create a reproducible image but ended up with only
managing to create two identical image directories. In this article we'll end
up with a fully bit-by-bit reproducible filesystem image!
Some things have changed since the last post, mkosi now no longer creates …