Planet Arch Linux & News
728 subscribers
230 links
Planet Arch Linux is a window into the world, work and lives of Arch Linux hackers and developers.
Also we have the latest news from the Arch Linux development staff.

Recently updated packages: @archlinux_updates

Inline ArchWiki search: @archewikibot
Download Telegram
libxml2>=2.9.12-6 update may require manual intervention

The libxml2 package prior to version 2.9.12-6 was missing the compiled python modules. This has been fixed in 2.9.12-6, so the upgrade may need to overwrite any untracked pyc files created. If you get errors like these

libxml2: /usr/lib/python3.10/site-packages/__pycache__/drv_libxml2.cpython-310.opt-1.pyc exists in filesystem
libxml2: /usr/lib/python3.10/site-packages/__pycache__/drv_libxml2.cpython-310.pyc exists in filesystem
libxml2: /usr/lib/python3.10/site-packages/__pycache__/libxml2.cpython-310.opt-1.pyc exists in filesystem
libxml2: /usr/lib/python3.10/site-packages/__pycache__/libxml2.cpython-310.pyc exists in filesystem



when updating, use

pacman -Syu --overwrite /usr/lib/python3.10/site-packages/__pycache__/\*



to perform the upgrade.

https://archlinux.org/news/libxml22912-6-update-may-require-manual-intervention/

#news
Reproducible Builds: Debian and the case of the missing version string

If you’ve been following my twitter recently you probably noticed there’s now a rebuilderd based Debian rebuilder run by the Purdue Trustworthy Software Ecosystems Lab. The rebuilder backend - the code that’s actually re-creating the build environment and running the build - is debrebuild.py, written by Frédéric Pierret from the QubesOS project. The setup as a whole automatically monitors packages in Debian unstable, then downloads the source code, build-dependencies and attempts to compile a bit-for-bit identical binary package. If this succeeds, the package is marked as “reproducible”. (https://vulns.xyz/img/6gswC1Pux2Dr.png)The 62.89% reproducible number is currently significantly lower than the 94.6% …

https://vulns.xyz/2022/01/debian-missing-version-string/
1
linux-firmware 20220119.0c6a7b3-2 requires kernel >=5.3 and package splitting

The linux-firmware package 20220119.0c6a7b3-2 implements kernel firmware compression. Linux kernel from 5.3 on support loading from xz compressed firmware.
CONFIG_FW_LOADER_COMPRESS kernel option must be enabled. All official Arch Linux kernel support this for a long time. [1\]

The linux-firmware package has been split into smaller packages to further reduce required disk space. Some big firmware files of rarely used hardware have been split into separate packages.
This affects firmware for Mellanox Spectrum switches, Marvell devices, Qualcomm SoCs, Cavium LiquidIO server adapters, QLogic devices, Broadcom NetXtreme II 10Gb ethernet adapters.
Make sure to install additional firmware packages if needed. [2\]

[1\] FS#72899
[2\] FS#72559 + svn commit

https://archlinux.org/news/linux-firmware-202201190c6a7b3-2-requires-kernel-53-and-package-splitting/

#news
👍2
Arch, a recap

One of the things, that has kept me (increasingly) busy over the past few years is my involvement with the Linux distribution Arch Linux. While I have been using Linux for probably about 14 years it is frankly hard to pinpoint when exactly I went down the rabbit hole that this operating system/ ecosystem/ community is (relevant XKCD). However, I can elaborate on my motivation and where that got me. Read more… (6 min remaining to read)

https://sleepmap.de/2022/arch-a-recap/

#planetarch
👍3🔥2
Debug packages and debuginfod

We are very happy to announce that debug packages are now available in Arch Linux.

Debug symbols and source listing are provided through our debuginfod instance which can be utilized by debuggers such as gdb and delve.

https://debuginfod.archlinux.org/

A couple of sponsored mirrors are providing the debug repositories while we figure out and communicate the new mirror requirements.

https://america.mirror.pkgbuild.com
https://asia.mirror.pkgbuild.com
https://europe.mirror.pkgbuild.com

Not all packages provide debug packages as enabling it for all packages is an ongoing effort.

For more information, please visit the Debuginfod wiki article, and also our newly renovated Debugging/Getting traces article.


https://archlinux.org/news/debug-packages-and-debuginfod/

#news
👍6
Arch Linux Leader Election Results

This month we held our leader election, and our current leader Levente Polyák ran unopposed. As per our election rules he is re-elected for a new term.

Congratulations to Levente Polyak on a new term!

https://archlinux.org/news/arch-linux-leader-election-results/

#news
👍2🎉1
Keycloak 17.0.1-2 update requires manual reconfiguration

The keycloak package prior to version 17.0.1-2 was running with WildFly server. Since upstream officially moved to Quarkus distribution, Arch Linux follows this approach. This means some manual intervention is required for the upgrade.

The configuration needs to be adjusted from the old .xml format to the new /etc/keycloak/keycloak.conf.

Prior to the upgrade, stop the keycloak service, upgrade the package and migrate the configuration before starting:

systemctl stop keycloak.service
pacman -Syu keycloak
# migrate configuration /etc/keycloak/keycloak.conf
systemctl start keycloak.service


See Keycloak migration docs and Keycloak Quarkus server docs

https://archlinux.org/news/keycloak-1701-2-update-requires-manual-reconfiguration/

#news
👍3
Streaming the Steam Deck to OBS

Valve was kind enough to send Steam Deck devkits to Arch Linux maintainers and developers which gave us an opportunity to mess around with the device. Personally I find it a bit fun to mess around with video streaming, thus one of the first things I wanted to try figure out was how I could stream the gamemode on the Steam Deck. Installing the OBS flatpak and adding it to the menu doesn’t actually work so we sadly have to be a bit more clever.

https://linderud.dev/blog/streaming-the-steam-deck-to-obs/

#planetarch
👏2
Go 1.18 debug/buildinfo features

Hello and welcome to another blog article. Today, I would like to discuss one feature of Go 1.18, that I am interested in. No, this will not be another article about generics. The feature I would like to write about is something that might be under the radar for most people, but it still might be useful. If you ever wrote a CLI app in Go you are very familiar with injecting information during the build process into global variables.

https://shibumi.dev/posts/go-18-feature/

#planetarch
Packaging for Arch Linux

In Arch, a recap I elaborated a bit on my reasons for getting involved with Arch Linux. In this post I would like to highlight a few technical details and give a "behind the scenes" when it comes to packaging on and for Arch Linux. This post is written from the viewpoint of a distribution packager, but it is likely to contain information also useful to people packaging on different distributions or for private purposes. Read more… (21 min remaining to read)

https://sleepmap.de/2022/packaging-for-arch-linux/

#planetarch
👏6
Monitoring the kernel.org Transparency Log for a year

Lets prefix this with: I really love Transparency Logs! It’s a fairly simple concept: If you hash elements together in a binary tree, you can validate and verify if elements are present on a tree by hashing a couple of elements. This is what is commonly known as a Merkle tree. I forget the math, but if you have a tree with a million items, you would only really need less than 10 hashes (I think) to figure out what the hash of the top node would be.

https://linderud.dev/blog/monitoring-the-kernel.org-transparency-log-for-a-year/

#planetarch
QEMU >= 7.0.0 changes split package setup

With the update to qemu 7.0.0 the package has been turned into a more fine grained split package utilizing meta packages.

* The qemu package is now virtually provided by the meta packages qemu-base, qemu-desktop and qemu-full.
* The functionality of qemu prior to 7.0.0 is replaced by qemu-desktop
* The functionality of qemu-headless is replaced by qemu-base
* The functionality of qemu-arch-extra and qemu-headless-arch-extra is replaced by qemu-emulators-full
*The meta package qemu-full provides all QEMU related packages (excluding qemu-guest-agent)

https://archlinux.org/news/qemu-700-changes-split-package-setup/

#news
👍5🤯4
Undone replacement of pipewire-media-session with wireplumber

Two days ago the wireplumber package was made to replace pipewire-media-session as the latter session manager for PipeWire is considered dead upstream and will see no more releases. Unfortunately, this step was premature.

Our pipewire audio packages (pipewire-alsa, pipewire-jack and pipewire-pulse) ship configuration that prompt media-session to activate PipeWire's audio features. When these packages are not installed and the configuration is missing, PipeWire can be used for screen recording without interfering with ALSA or PulseAudio.

WirePlumber disregards this mechanism and always configures PipeWire to grab audio devices, meaning users of PulseAudio or bare ALSA experience broken audio.

The replacement has been reverted while we attempt to look for a better solution switching to WirePlumber. If you are currently not using PipeWire for audio and wireplumber got installed on your system, please reinstall pipewire-media-session and reboot to restore audio functionality.

pacman -Syu pipewire-media-session


https://archlinux.org/news/undone-replacement-of-pipewire-media-session-with-wireplumber/

#news
🤯6👍3👏1
auth-tarball-from-git: Verifying tarballs with signed git tags

I noticed there’s a common anti-pattern in some PKGBUILDs, the short scripts that are used to build Arch Linux packages. Specifically we’re looking at the part that references the source code used when building a package: source=("git+https://github.com/alacritty/alacritty.git#tag=v${pkgver}?signed") validpgpkeys=('4DAA67A9EA8B91FCC15B699C85CDAE3C164BA7B4' 'A56EF308A9F1256C25ACA3807EA8F8B94622A6A9') sha256sums=('SKIP') This does:

authentication: verify the git tag was signed by one of the two trusted keys.
pinning: the source code is not pinned and git tags are not immutable, upstream could create a new signed git tag with an identical name and arbitrarily change the source code without the PKGBUILD noticing.

In contrast consider this PKGBUILD: source=($pkgname-$pkgver.tar.gz::https://github.com/alacritty/alacritty/archive/refs/tags/v$pkgver.tar.gz) sha256sums=('e48d4b10762c2707bb17fd8f89bd98f0dcccc450d223cade706fdd9cfaefb308') …

https://vulns.xyz/2022/05/auth-tarball-from-git/

#planetarch
👍3
萌新的 PolarFire SoC Icicle Kit 初体验

这两天翻出来了去年代收的 PolarFire SoC Icicle Kit。因为隔壁的 FPGA 大佬们看不上这块板子,我打算尝试物尽其用一下,目标只是用板子上的 RISC-V 核启动 Arch Linux RISC-V 的 rootfs 测试(把它当作一块 SD 卡槽没有问题、并且带 PCIE 的 HiFive Unleashed 来用。隔壁嵌入式群的大佬们:买椟还珠!)。如此便开始了年轻人的 FPGA 初体验(可能还是不能算)。 噩梦的开始 一开始尝试的当然是最新版的 Yocto 镜像,毕竟这是“官方”的 Linux 镜像。结果刷完后立刻遇到了启动失败: 一开始我还以为是 SD 卡坏了。在多次尝试未果后…… 当时的猜测是(不一定对),可能因为板子上 FPGA 部分(抱歉,我不知道专业的称呼)不够新,所以我打算刷一下 HSS。结果这成为了噩梦的开始。 可怕的“硬件”工具链 我最初参考的文档来自 U-boot:https://u-boot.readthedocs.io/en/latest/board/microchip/mpfs_icicle.html 这份文档可能已经颇为过时,里面编译 HSS 的部分从一开始就找不到名叫“icicle-kit-es”的 BOARD. 在我加上 mpfs- 前缀,并根据后续报错依次按照我的 CROSS 工具链目标修改了 PLATFORM_RISCV_ABI=lp64d PLATFORM_RISCV_ISA=rv64gc 之后,我遇到了第一个大魔王:SoftConsole。 好在这个工具可以无需注册直接下载。 顺利安装完成后,按照要求设置 SC_INSTALL_DIR,我终于看到了……下个错误:缺少 … Continue reading 萌新的 PolarFire SoC Icicle Kit 初体验 The post 萌新的 PolarFire SoC Icicle Kit 初体验 first appeared on Felix's Blog.

https://felixc.at/2022/06/newbies-polarfire-soc-icicle-kit-first-experience/

#planetarch
🤔15💩72
Network-bound disk encryption on Arch Linux

While in a discussion with my coworkers, a coworker brought up that they wanted to have automatic LUKS disk decryption on their desktop while it was at home. Normally they would use a passphrase to decrypt the LUKS volume but would prefer automatic decryption. There are multiple ways to achieve …

https://vdwaa.nl/arch-clevis-tang.html

#planetarch
3
Managing binary package repositories

In Packaging for Arch Linux I described the ins and outs of binary repository management and some of the issues that come with the tooling currently used by Arch Linux. In this article I will highlight the work on new tooling and its features. Since my last write-up on this topic, the project formerly known as arch-repo-management has been renamed to repod (as in repo-d) and has just seen its first minor release. 🎉 You can find its documentation at https://repod.archlinux.page. Read more… (2 min remaining to read)

https://sleepmap.de/2022/managing-binary-package-repositories/

#planetarch
👍6
wxWidgets 3.2 update may need manual intervention

wxWidgets 3.2 provides a Qt frontend in addition to the GTK3 one, so packages have been renamed from wxgtk- to wxwidgets-. The GTK2 frontend is no longer provided. If you have wxgtk2 installed, the upgrade will fail with

error: failed to prepare transaction (could not satisfy dependencies) :: removing wxgtk-common breaks dependency 'wxgtk-common' required by wxgtk2

In such case, uninstall wxgtk2 first and then proceed with the upgrade.

https://archlinux.org/news/wxwidgets-32-update-may-need-manual-intervention/

#news
👍2
Day in the life of a package maintainer: Reproducible Go packages

In this new blog series, I would like to introduce you to the daily adventures of an Arch Linux package maintainer. This time, we will have a look at reproducible package builds. Reproducible package builds are very important for us, as package maintainers, because reproducible package builds create an independently-verifiable path from source to the final package. This means, every Arch Linux user can verify that noone tampered with the Arch Linux package build process.

https://shibumi.dev/posts/day-in-the-life-of-a-package-maintainer-reproducible-go-packages/

#planetarch
8
Grub bootloader upgrade and configuration incompatibilities

Recent changes in grub added a new command option to fwsetup and changed the way the command is invoked in the generated boot configuration. Depending on your system hardware and setup this could cause an unbootable system due to incompatibilities between the installed bootloader and configuration. After a grub package update it is advised to run both, installation and regeneration of configuration:

grub-install ...
grub-mkconfig -o /boot/grub/grub.cfg


For more specific information on grub-install, please refer to the wiki: GRUB - ArchWiki

https://archlinux.org/news/grub-bootloader-upgrade-and-configuration-incompatibilities/

#news
👍10👎5
Arch Linux mailing list changes

As part of dropping Python 2 which is EOL, we have migrated our mailing lists from mailman2 to mailman3.

Rewriting of the "From" header and subject (to prepend the list name) have been disabled to keep the DKIM signature intact. This means "reply to mailing list" must be used when replying to the list and you may need to update your filters and rules matching the "From" header.

All existing subscriptions are migrated and you do not need to re-subscribe. For managing your subscriptions a new mailman3 account must be registered.

https://archlinux.org/news/arch-linux-mailing-list-changes/

#news