1
0
mirror of https://github.com/home-assistant/operating-system.git synced 2026-05-08 17:49:46 +01:00
Commit Graph

2617 Commits

Author SHA1 Message Date
Jan Čermák 0724608ff7 Update Buildroot to 2025.02 (#4027)
* Update Buildroot base to v2025.02

Packages updated:

* Added host-blake3 1.5.4
* Added host-go-src
* Added host-libxcrypt 4.4.38
* Added host-tar 1.35
* Added host-xxhash 0.8.3
* Added libtalloc 2.4.2
* Added libxcrypt 4.4.38
* apparmor updated from 3.1.2 to 3.1.7
* busybox updated from 1.36.1 to 1.37.0
* cifs-utils updated from 6.15 to 7.1
* containerd updated from 1.7.26 to 2.0.2
* dbus-broker updated from 35 to 36
* dropbear updated from 2024.85 to 2024.86
* e2fsprogs updated from 1.47.0 to 1.47.2
* expat updated from 2.6.4 to 2.7.0
* gcc-final updated from 12.4.0 to 13.3.0
* glibc updated from 2.38-81-gc8cb4d2b86ece572793e31a3422ea29e88d77df5 to 2.41-5-gcb7f20653724029be89224ed3a35d627cc5b4163
* gptfdisk updated from 1.0.9 to 1.0.10
* host-binutils updated from 2.40 to 2.43.1
* host-ccache updated from 4.8.2 to 4.10.2
* host-cmake updated from 3.28.3 to 3.31.5
* host-dtc updated from 1.7.0 to 1.7.2
* host-e2fsprogs updated from 1.47.0 to 1.47.2
* host-elfutils updated from 0.189 to 0.192
* host-expat updated from 2.6.4 to 2.7.0
* host-fakeroot updated from 1.32.1 to 1.36
* host-gawk updated from 5.3.0 to 5.3.1
* host-gcc-final updated from 12.4.0 to 13.3.0
* host-gcc-initial updated from 12.4.0 to 13.3.0
* host-genimage updated from 17 to 18
* host-go updated from 1.22.12 to unknown
* host-gptfdisk updated from 1.0.9 to 1.0.10
* host-kmod updated from 31 to 33
* host-libcap updated from 2.69 to 2.73
* host-libffi updated from 3.4.4 to 3.4.6
* host-libglib2 updated from 2.76.1 to 2.82.5
* host-libopenssl updated from 3.2.4 to 3.4.1
* host-libtirpc updated from 1.3.4 to 1.3.6
* host-libxml2 updated from 2.12.9 to 2.13.6
* host-lz4 updated from 1.9.4 to 1.10.0
* host-lzip updated from 1.23 to 1.25
* host-meson updated from 1.3.1 to 1.7.0
* host-mpc updated from 1.2.1 to 1.3.1
* host-mtools updated from 4.0.43 to 4.0.47
* host-nfs-utils updated from 2.6.4 to 2.8.2
* host-pcre2 updated from 10.42 to 10.44
* host-pkgconf updated from 1.6.3 to 2.3.0
* host-python3 updated from 3.11.11 to 3.12.9
* host-python-flit-core updated from 3.9.0 to 3.10.1
* host-python-jinja2 updated from 3.1.2 to 3.1.5
* host-python-markupsafe updated from 2.1.3 to 3.0.2
* host-python-packaging updated from 23.2 to 24.2
* host-python-pypa-build updated from 1.0.3 to 1.2.2
* host-python-pyproject-hooks updated from 1.0.0 to 1.2.0
* host-python-setuptools updated from 69.0.3 to 75.8.0
* host-python-wheel updated from 0.40.0 to 0.45.1
* host-rauc updated from 1.11.3 to 1.13
* host-sqlite updated from 3.44.2 to 3.48.0
* host-systemd updated from 254.13 to 256.7
* host-util-linux updated from 2.39.3 to 2.40.2
* host-xz updated from 5.4.5 to 5.6.4
* host-zstd updated from 1.5.5 to 1.5.7
* iproute2 updated from 6.7.0 to 6.13.0
* iptables updated from 1.8.9 to 1.8.11
* json-c updated from 0.17 to 0.18
* kmod updated from 31 to 33
* libapparmor updated from 3.1.2 to 3.1.7
* libblockdev updated from 3.1.1 to 3.3.0
* libbytesize updated from 2.7 to 2.10
* libcap-ng updated from 0.8.4 to 0.8.5
* libcap updated from 2.69 to 2.73
* libdnet updated from 1.16.4 to 1.18.0
* libffi updated from 3.4.4 to 3.4.6
* libglib2 updated from 2.76.1 to 2.82.5
* libgudev updated from 237 to 238
* libmicrohttpd updated from 0.9.77 to 1.0.1
* libnftnl updated from 1.2.6 to 1.2.7
* libnl updated from 3.9.0 to 3.11.0
* libnvme updated from 1.7.1 to 1.11.1
* libopenssl updated from 3.2.4 to 3.4.1
* libtirpc updated from 1.3.4 to 1.3.6
* libunistring updated from 1.1 to 1.3
* libusb updated from 1.0.26 to 1.0.27
* lvm2 updated from 2.03.14 to 2.03.27
* nettle updated from 3.9.1 to 3.10.1
* network-manager updated from 1.44.2 to 1.50.2
* nfs-utils updated from 2.6.4 to 2.8.2
* pcre2 updated from 10.42 to 10.44
* procps-ng updated from 4.0.4 to 4.0.5
* rauc updated from 1.11.3 to 1.13
* rpcbind updated from 1.2.6 to 1.2.7
* rtl8821cu updated from 1597dfeda6cefd2e603fc7020ceca226d05fb108 to 96c65c58b544241178638e810b333dcc9aa26b91
* sqlite updated from 3.44.2 to 3.48.0
* systemd updated from 254.13 to 256.7
* util-linux-libs updated from 2.39.3 to 2.40.2
* util-linux updated from 2.39.3 to 2.40.2
* wireless-regdb updated from 2023.09.01 to 2024.10.07
* wpa_supplicant updated from 2.10 to 2.11

* patches/genimage: drop upstreamed patches

* patches/systemd: drop merged patch

* patches/network-manager: drop upstreamed patch

* Add BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_* to defconfigs
2025-04-17 12:04:39 +02:00
Jan Čermák 233b9c9482 Bump OS to development version 15.3.dev0 2025-04-11 10:05:19 +02:00
Jan Čermák 338df41858 Linux: Update kernel to 6.12.23 (#4017)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.23
2025-04-10 17:21:58 +02:00
Jan Čermák 57445099f7 Allow for fluctuation of MemTotal for automatic swapfile size (#4016)
As the reported MemTotal can fluctuate a bit on some systems, e.g. because the
reserved memory changes between kernel version or other factors affect it like
VRAM, the swap file can be recreated unnecessarily between boots. Allow for
some fluctuation (up to +-32MB) before the swapfile is recreated.

This was a problem already before the recent haos-swapfile changes, however,
before it checked if the existing swapfile isn't smaller than the desired
value. If the MemTotal fluctuated there, the swapfile size eventually settled
on the highest value seen and it wasn't recreated anymore. With this change,
things should be stable even more.
2025-04-10 17:18:07 +02:00
Michal Šimek f3916bb7f0 Enable driver for 1-wire temperature sensors for generic-aarch64 (#4015)
Driver is used for connected local 1-wire temperatures sensors.
2025-04-10 13:31:52 +02:00
Jan Čermák 7b3ce53ab2 Backport realtek phy driver changes for RTL8125D (#4014)
As pointed out in [1] by @cdce8p, the RTL8125D has an internal PHY that also
needs some changes to be backported.

Also, move the patches to more targeted directories is it would be otherwise
applied to RPi 6.6 kernel with failures. We can move it back to the top-level
patches directory once RPi moves to kernel 6.12.

[1] https://github.com/home-assistant/operating-system/issues/3880#issuecomment-2790105503
2025-04-09 21:44:31 +02:00
Jan Čermák 7bc7f66e49 Disable amdgpu SI/CIK support and backport upstream patch to prevent crashes (#4013)
As we enabled SI/CIK support to fix crashes on bunch of AMD SoCs in #3957, the
amdgpu driver still crashes on some hardware. It seems to be some GX-217GA SoCs
or even GX-425GA in Fujitsu thin clients (even though the same SoC is fine on
T620).

To get to the state before update to kernel 6.12, disable amdgpu for these
platforms again (as it couldn't work properly there before OS 15.0) and just
backport the patch that fixes the crashes during probing when the driver isn't
compiled with SI/CIK support.

Fixes #4012
2025-04-09 17:23:55 +02:00
Jan Čermák fc984b9435 Backport RTL8125D (rev C, XID 688) support (#4011)
* Backport RTL8125D (rev C, XID 688) support

Apply mainline patch adding support for NIC present e.g. on ASUS NUC 14
Essential.

Fixes #3880

* Update buildroot to add RTL8125D firmware

* buildroot 4cd211162d...5379c358bf (1):
  > linux-firmware: add RTL8125D firmware
2025-04-09 16:38:29 +02:00
Jan Čermák 349b7e48ea Add tests for checking connectivity, fix Supervisor update test (#4008)
When there's a problem with connectivity, it may result in obscure errors later
in the testing. Add checks testing three scenarions:

* connectivity in host - both using curl and nmcli
* connectivity in Supervisor container (uses docker0 as default via)
* connectivity in CLI container (uses hassio as default via)

Also make sure that Supervisor upgrade isn't attempted when the version
information is missing.
2025-04-07 16:13:11 +02:00
Jan Čermák cdbbfeaecc Linux: Update kernel to 6.12.22 (#4007)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.22
2025-04-07 16:13:00 +02:00
Jan Čermák 212796c98a Linux: Update kernel to 6.12.21 (#3994)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.21
2025-04-01 18:49:19 +02:00
Jan Čermák 92a3b5a793 Adjust lock workflow to run only once a day (#3991)
It's unnecessary to run it every hour, adjust it to run shortly after the
current stale workflow.
2025-03-31 20:26:23 +02:00
Jan Čermák 163b1a3fff Merge branch 'main' into dev 2025-03-31 17:28:33 +02:00
Jan Čermák 3e2f891cc0 Bump OS to release version 15.1 15.1 2025-03-31 11:27:11 +02:00
Jan Čermák 23d08b9cf7 Fix permissions for the lock workflow (#3982)
Unlike Core this repo has stricter default policy for actions. Explicitly
enable permissions for scope the lock workflow needs.
2025-03-28 16:59:27 +01:00
Jan Čermák 75f0936c53 Add workflow for locking old issues (#3980)
To avoid necroposting to old issues that's usually left unnoticed, add workflow
for locking issues similar to the one that Core has.

The PR locking limit can be increased as the traffic is much lower compared to
Core. Issues before 2025 have been locked manually via the API.
2025-03-28 15:51:25 +01:00
Jan Čermák 2f0ffbe443 Change algorithm name in OVA manifest from SHA2-256 to SHA256 (#3981)
Update of OpenSSL in OS 12.2 from 1.1.1 to 3.2 changed the output of `openssl
sha256` command. It seems that some hypervisors don't like this and fail if
it's not plain "SHA256".

Fixes #3654
2025-03-28 15:21:46 +01:00
Jan Čermák 3a9a2529c6 Bump OS to development version 15.2.dev0 2025-03-28 15:20:43 +01:00
Jan Čermák 8407de34f6 Bump OS to pre-release version 15.1.rc1 15.1.rc1 2025-03-27 11:03:23 +01:00
Jan Čermák 00203b8c5c Update Docker to v28.0.4 (#3974)
Update Docker and its dependencies to versions packaged in last bugfix release.

* buildroot 3914f8cad5...4cd211162d (4):
  > package/runc: bump version to v1.2.6
  > package/docker-cli: bump version to v28.0.4
  > package/docker-engine: bump version to v28.0.4
  > package/containerd: bump version to v1.7.26
2025-03-26 18:43:44 +01:00
Jan Čermák ed53f0491c Set initial_turbo=0 in config.txt on Raspberry Pi 3 (#3973)
Firmware change that set initial_turbo to 60 from the previous 0 has broken
initialization of some SD cards in U-Boot. Adjust the value in config.txt on OS
update if the value is not already set by the user, and put it to the default
config.txt.

The config.txt also contains a short comment explaining the purpose. The
purpose of it is also to make it easier to revert this change in the future if
the problem is fixed in the firmware or U-Boot.

Fixes #3965
2025-03-26 17:26:20 +01:00
Jan Čermák 5e9c47a318 Backport RPi patches for PIO/RP1 firmware probing errors (#3972)
One of the reason for failures after update to OS 15.0 was missing support for
the kernel PIO driver in EEPROM firmware. Backport upstream patches from
raspberrypi/linux#6645 and raspberrypi/linux#6642 that handle this situation
more gracefully. These patches could be dropped after the next RPi kernel
release.

Refs #3943
2025-03-26 16:26:44 +01:00
Jan Čermák ab6214ba42 Linux: Update kernel to 6.12.20 (#3971)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.20
2025-03-25 18:29:22 +01:00
M. Greyson Christoforo 73b6cce99a Add Mellanox ConnectX-3 NIC support for kernel 6.12 (#3969)
PR #3775 was mistakenly left out of the jump to the 6.12 kernel
2025-03-25 11:50:25 +01:00
Jan Čermák ff1eadfe21 Fix incorrect buildroot reference after #3964 merge (#3968)
Submodule hash for buildroot was changed by accident in #3964, revert to
version from the previous commit.
2025-03-25 10:09:00 +01:00
Jens Maus 15e59ead2f Update generic_raw_uart and eq3_char_loop to latest versions (#3964)
Update generic_raw_uart package to the latest sources available coming with
direct kernel 6.12.x compatibility dropping the intermediate patches
accordingly. In addition, the eq3_char_loop patchset was updated to reflect the
same changes performed.
2025-03-23 10:59:02 +01:00
Jan Čermák 05830dae0b Change i915 to module for proper initialization in VM passthrough (#3959)
When Intel GPUs are used in passthrough, the i915 is probed too early and fails
to load firmware which is in the rootfs mounted later. The CONFIG_DRM_I915=y
comes from x86_64_defconfig, by changing it to module (like we do for
generic-x86-64), the driver becomes only available after the rootfs is mounted
and firmware is loaded correctly.

Fixes #3949
2025-03-20 17:33:17 +01:00
Jan Čermák 0abfee2eaf Enable amdgpu SI and CIK support for x86 (#3957)
It seems that kernel 6.12 handles device probing less gracefully when these
options are not enabled and causes crash on some AMD SoCs, e.g.:

*ERROR* Invalid callback to read register 0x58184

Link: https://gitlab.freedesktop.org/drm/amd/-/issues/4050

Refs #3944
2025-03-20 17:32:24 +01:00
Jan Čermák ce961e0c2c Add patches missing for ODROID-N2/C2/C4 to fix missing serial/I2C (#3947)
U-Boot update in #3878 changed the layout of patch folders for Hardkernel
targets with the goal to make it less confusing. However, it missed adding the
top-level hardkernel patches directory to all hardkernel targets and only
remove it from some of them in [1].

Revert to state before #3878 by adding the hardkernel folder to c2/c4/n2. In
the future, the patches from this folder should be split per target and if any
patches remain in it, they should be applied for all hardkernel boards.

[1] https://github.com/home-assistant/operating-system/pull/3878/commits/2716b564c260b40290b99c252d624f5f46d9e486

Fixes #3936
2025-03-18 18:00:04 +01:00
Jan Čermák fd2c16d568 Move ODROID-N2/C2/C4 U-Boot patch to correct folder to fix eMMC issues (#3946)
As pointed out by @ginkage, in #3878 the eMMC patch was moved to a wrong path.
Move it to uboot subfolder so it's correctly applied.

Fixes #3942
2025-03-18 14:21:49 +01:00
dependabot[bot] 6d77c03e98 Bump docker/login-action from 3.3.0 to 3.4.0 (#3934)
Bumps [docker/login-action](https://github.com/docker/login-action) from 3.3.0 to 3.4.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v3.3.0...v3.4.0)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-17 15:12:30 +01:00
Jan Čermák 1e69fb2c25 Merge branch 'main' into dev 2025-03-17 11:27:03 +01:00
Jan Čermák a3b0232351 Add landing page test to the basic test set (#3928)
We check that landing page is working when the network is down but we don't
check it in the happy path. Add its test to make it more obvious when the
just landing page is broken.
2025-03-17 11:23:04 +01:00
Jan Čermák d259bf8b6b Linux: Update kernel to 6.12.19 (#3929)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.19
2025-03-17 11:19:03 +01:00
Jan Čermák 248af90c9f Bump OS to release version 15.0 15.0 2025-03-17 11:10:39 +01:00
Jan Čermák 5741be48bd Bump OS to pre-release version 15.0.rc2 15.0.rc2 2025-03-13 10:16:33 +01:00
Jan Čermák a4190754fe Ensure haos-wipe service can be called only once per boot (#3924)
In some cases, the wipe service may be called due to a race condition for the
second time during the boot, very likely failing because the filesystems are
already mounted. This can not be reproduced on OVA but can be fairly easy
triggered e.g. on RPi. As we want the service to be executed exactly only once,
we can do what's suggested in [1] and set the RemainAfterExit=yes. That should
ensure the unit is not ever started for the second time.

[1] https://www.github.com/systemd/systemd/issues/29367

(cherry picked from commit 24640c11ae)
2025-03-13 10:16:12 +01:00
Jan Čermák 24640c11ae Ensure haos-wipe service can be called only once per boot (#3924)
In some cases, the wipe service may be called due to a race condition for the
second time during the boot, very likely failing because the filesystems are
already mounted. This can not be reproduced on OVA but can be fairly easy
triggered e.g. on RPi. As we want the service to be executed exactly only once,
we can do what's suggested in [1] and set the RemainAfterExit=yes. That should
ensure the unit is not ever started for the second time.

[1] https://www.github.com/systemd/systemd/issues/29367
2025-03-12 20:07:26 +01:00
Jan Čermák 7e6e4119a7 Fix runtime device permissions update in runc v1.2.x (#3921)
Add missing patch and update for latest runc version to fix losing device
permissions when new devices are added in runtime.

* buildroot b079a02a9a...3914f8cad5 (2):
  > package/runc: add patch for extended default allowed devices in v1.2.4
  > package/runc: add missing patch to fix device permissions update

Fixes #3915

(cherry picked from commit 04debe2f53)
2025-03-12 11:31:35 +01:00
Jan Čermák 34a422401d Update Hailo PCIe driver and firmware to v4.20.1 (#3922)
Update to latest version of the driver and matching firmware. The most common
application for it - Frigate - currently has 4.19.0 in stable but 4.20.0 is
staged in dev. As it's easier to select OS version than a version of the
add-on, it makes sense to stay ahead in HAOS. This also means Frigate needs to
be updated to the matching version (as staying on an arbitrary older patch
revision doesn't make much sense either).

(cherry picked from commit 173a4388fe)
2025-03-12 11:31:30 +01:00
Jan Čermák f723d93159 Linux: Update kernel to 6.12.18 (#3919)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.18

(cherry picked from commit 3fb9c161c0)
2025-03-12 11:31:27 +01:00
Jan Čermák 084d0acee4 Improve tests traceability, add test for Systemd dependency cycles (#3917)
* Add test checking journal logs for dependency cycles
* Run some test cases to get their output also when full init fails
* Remove high timeouts from the times when GHA couldn't use KVM
* Enable logging durations for future optimizations

(cherry picked from commit 4a1d2b75b9)
2025-03-12 11:31:24 +01:00
Jan Čermák 4ccc875520 Use shell script instead of OS Agent for device wipe (#3916)
Use simple shell script to perform device wipe instead of calling OS Agent to
do that through the UDisks2 API. While it might have been a good idea to use
high level interface for that back then, it turns out it causes more issues
than the benefits it could bring.

Main problem currently is that the OS Agent needs to read sysctl variables, but
those are only set after mounting the overlay partition. But at the same time,
the overlay partition can't be mounted if we want to wipe it - this creates a
dependency cycle through the haos-agent.service.

To get rid of the cycle and simplify things, use a shell script doing basically
the same what the OS Agent does. Since the wipe functionality only makes sense
to be implemented on HAOS targets (not on Supervised), there's little point of
having it in higher layer of abstraction that OS Agent provides.

It should be also checked if changes from #1291 are needed anymore, as the
driving factor for those have been probably the wipe feature in OS Agent too,
but at this point they seem to be harmless.

(cherry picked from commit 6c4f32a8c0)
2025-03-12 11:31:20 +01:00
Jan Čermák 25ca83287e Bump os-agent to v1.7.2 (#3914)
Update to latest version that fixes start order in haos-agent.service. Without
that, OS Agent reports incorrect swappiness after boot.

(cherry picked from commit 36d905720a)
2025-03-12 11:31:13 +01:00
Jan Čermák 6e8c390096 Update RPi firmware to fix boot with 2025-02-11 bootloader (#3913)
* buildroot 7d5c3b5e70...b079a02a9a (1):
  > package/rpi-firmware: bump to 1.20250305 with updated firmware binaries

Fixes #3911

(cherry picked from commit d4e11afd3c)
2025-03-12 11:31:10 +01:00
Jan Čermák 16e6599832 Add test that no AppArmor denied events are produced (#3912)
As discussed in #3885, now that fixed Supervisor is in stable, we can test that
no AppArmor denied events are logged during CI tests.

(cherry picked from commit 610ced0162)
2025-03-12 11:31:07 +01:00
dependabot[bot] f7bfd161ad Bump docker/setup-buildx-action from 3.9.0 to 3.10.0 (#3910)
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.9.0 to 3.10.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v3.9.0...v3.10.0)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
(cherry picked from commit c72cf09cc3)
2025-03-12 11:31:02 +01:00
dependabot[bot] 33b92f53f9 Bump docker/build-push-action from 6.14.0 to 6.15.0 (#3909)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.14.0 to 6.15.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.14.0...v6.15.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
(cherry picked from commit 668c84959a)
2025-03-12 11:30:55 +01:00
Jan Čermák 04debe2f53 Fix runtime device permissions update in runc v1.2.x (#3921)
Add missing patch and update for latest runc version to fix losing device
permissions when new devices are added in runtime.

* buildroot b079a02a9a...3914f8cad5 (2):
  > package/runc: add patch for extended default allowed devices in v1.2.4
  > package/runc: add missing patch to fix device permissions update

Fixes #3915
2025-03-11 15:24:08 +01:00
Jan Čermák 173a4388fe Update Hailo PCIe driver and firmware to v4.20.1 (#3922)
Update to latest version of the driver and matching firmware. The most common
application for it - Frigate - currently has 4.19.0 in stable but 4.20.0 is
staged in dev. As it's easier to select OS version than a version of the
add-on, it makes sense to stay ahead in HAOS. This also means Frigate needs to
be updated to the matching version (as staying on an arbitrary older patch
revision doesn't make much sense either).
2025-03-11 15:15:28 +01:00