Release Notes for Alpine 3.21.0: Difference between revisions
m (→Preparations for /usr-merge: typo) |
(→ISC DHCP: dracut-modules-network) |
||
(17 intermediate revisions by 6 users not shown) | |||
Line 18: | Line 18: | ||
# Print a message on what is about to happen and why | # Print a message on what is about to happen and why | ||
# Restart the <code>sshd</code> service | # Restart the <code>sshd</code> service | ||
# If the command to restart the service | # If the command to restart the service fails for any reason, a warning message will be printed and an error code returned to <code>apk</code>, to be noticed by the end of the package upgrades (this will not interrupt the upgrade process). | ||
We have decided to do this in order to help keep you from getting locked out of your system(s) and be able to fix any issues with the upgrade. | We have decided to do this in order to help keep you from getting locked out of your system(s) and be able to fix any issues with the upgrade. | ||
Line 34: | Line 34: | ||
=== Preparations for /usr-merge === | === Preparations for /usr-merge === | ||
Plans for /usr-merge are underway and we should be able to finalize it in Alpine Linux, version 3.22. | |||
Much preparation has gone into this release to ensure that the merge happens as smoothly as possible. That included moving the location of some binaries and many libraries from <code>/bin</code>, <code>/sbin</code>, and <code>/lib</code> to their counterparts in <code>/usr</code>. As part of the merge, <code>/usr</code> will be mounted from the initramfs to make sure everybody has all necessary binaries in place. | |||
'''Users with installations where <code>/</code> and <code>/usr</code> are on separate filesystems (partitions, volumes, disk drives or other) should proceed with care and report any issues.''' They should also ensure that an entry <code>/usr</code> is added to <code>/etc/fstab</code> before upgrading, and all modules required to mount <code>/usr</code> from the initramfs are added to mkinitfs configuration. New/fresh installations of v3.21 will work out of the box without modification. Please note that <code>/</code> on separate filesystem than <code>/usr</code> is not officially supported. | |||
We | If you have one of these setups, and have doubts about the configuration, you can open an [https://gitlab.alpinelinux.org/alpine/aports/-/issues/new issue] and ping <code>@pabloyoyoista</code>. We will also publish a blog post soon with further information on the timeline and progress of the merge, as well as how the changes may affect users. | ||
== Significant changes == | == Significant changes == | ||
Line 46: | Line 46: | ||
=== Jellyfin === | === Jellyfin === | ||
Jellyfin now uses the recommended fork of ffmpeg called {{pkg|jellyfin-ffmpeg}} by default. If you want to change | Jellyfin now uses the recommended fork of ffmpeg called {{pkg|jellyfin-ffmpeg}} by default. If you want to change the default, take a look at the <code>ffmpegpath</code> variable in <code>/etc/conf.d/jellyfin</code>. ({{MR|69924}}) | ||
Jellyfin was disabled for ARM architectures (<code>aarch64</code> and <code>armv7</code>) and is only available for <code>x86_64</code>. ({{Issue|16613}}) | Jellyfin was disabled for ARM architectures (<code>aarch64</code> and <code>armv7</code>) and is only available for <code>x86_64</code>. ({{Issue|16613}}) | ||
Line 52: | Line 52: | ||
=== Bats === | === Bats === | ||
<code>main/bats</code> was renamed to <code>main/bats-core</code>. | <code>main/bats</code> was renamed to <code>main/bats-core</code>. There is now a meta package <code>community/bats</code> which contains: | ||
* {{pkg|bats-core}} | * {{pkg|bats-core}} | ||
Line 65: | Line 65: | ||
There is still the {{pkg|xen-qemu}} package, but the regular {{pkg|qemu}} aport [https://git.alpinelinux.org/aports/commit/?id=a9249e2e0de827e88d84c01f9731aeebd248be13 is now built with Xen support], so a {{pkg|qemu-system-*}} package can be used instead. | There is still the {{pkg|xen-qemu}} package, but the regular {{pkg|qemu}} aport [https://git.alpinelinux.org/aports/commit/?id=a9249e2e0de827e88d84c01f9731aeebd248be13 is now built with Xen support], so a {{pkg|qemu-system-*}} package can be used instead. | ||
You | You can choose to use it in your ''xl.cfg(1)'' like so: | ||
<pre> | <pre> | ||
device_model_override = "/usr/bin/qemu-system-x86_64" | device_model_override = "/usr/bin/qemu-system-x86_64" | ||
Line 75: | Line 75: | ||
{{pkg|uutils-coreutils}} is repackaged as a sub-package to {{pkg|uutils}} in such a way as to be a drop-in replacement for GNU {{pkg|coreutils}}. | {{pkg|uutils-coreutils}} is repackaged as a sub-package to {{pkg|uutils}} in such a way as to be a drop-in replacement for GNU {{pkg|coreutils}}. | ||
If you have both {{pkg|uutils-coreutils}} and {{pkg|coreutils}} installed, the latter will be '''purged''' and its symlinks replaced with ones pointing to the <code>/usr/bin/uutils</code> binary. The <code>/usr/bin/uutils-*</code> symlinks, previously provided by {{pkg|uutils-coreutils}}, no | If you have both {{pkg|uutils-coreutils}} and {{pkg|coreutils}} installed, the latter will be '''purged''' and its symlinks replaced with ones pointing to the <code>/usr/bin/uutils</code> binary. The <code>/usr/bin/uutils-*</code> symlinks, previously provided by {{pkg|uutils-coreutils}}, no longer exist. | ||
If you prefer to use GNU {{pkg|coreutils}}, | If you prefer to use GNU {{pkg|coreutils}}, remove the {{pkg|uutils-coreutils}} package before upgrading, and then add the {{pkg|uutils}} package, containing the <code>/usr/bin/uutils</code> binary. | ||
A few parts of the {{pkg|uutils}} aport are also split into {{pkg|uutils-*}} subpackages, to avoid conflicts or other issues. | A few parts of the {{pkg|uutils}} aport are also split into {{pkg|uutils-*}} subpackages, to avoid conflicts or other issues. | ||
Line 100: | Line 100: | ||
* LXQt 2.1 | * LXQt 2.1 | ||
* Qt 6.8 | * Qt 6.8 | ||
* wlroots 18 | * wlroots 0.18 | ||
=== GCC 14 === | === GCC 14 === | ||
The Gnu Compiler Collection was upgraded to 14.2.0 and | The Gnu Compiler Collection was upgraded to 14.2.0 and as a result, all packages built with {{pkg|gcc}} in Alpine 3.21 are compiled with GCC 14.2.0. | ||
Make sure to read all changes: https://gcc.gnu.org/gcc-14/changes.html | Make sure to read all changes: https://gcc.gnu.org/gcc-14/changes.html | ||
Line 112: | Line 112: | ||
LXQt has been updated to release 2.1.0 | LXQt has been updated to release 2.1.0 | ||
* It now uses Qt6 | * It now uses Qt6 | ||
* Many parts of LXQt are now | * Many parts of LXQt are now Wayland ready¹, but Wayland ports of the following are pending: {{pkg|screengrab}}, {{pkg|lxqt-globalkeys}}, and keyboard indicator, some input settings, as well as settings for monitor, power button, and screen locker. | ||
* LXQt Panel has a new default application menu called Fancy Menu. | * LXQt Panel has a new default application menu called Fancy Menu. | ||
¹ [https://github.com/lxqt/lxqt-wayland-session lxqt-wayland-session] has not been packaged yet, but most folks wanting to test on | ¹ [https://github.com/lxqt/lxqt-wayland-session lxqt-wayland-session] has not been packaged yet, but most folks wanting to test on Wayland will want to use it. | ||
=== Linux 6.12 === | === Linux 6.12 === | ||
Alpine 3.21.0 ships Linux 6.12.1 in the {{pkg|linux-lts}} package. | Alpine 3.21.0 ships Linux 6.12.1 in the {{pkg|linux-lts}} package. | ||
=== PostgreSQL 17 === | === PostgreSQL 17 === | ||
Line 129: | Line 127: | ||
We packaged LLVM 19 in our repositories. A total of 5 LLVM versions are supported: {{pkg|llvm19}}, {{pkg|llvm18}}, {{pkg|llvm17}}, {{pkg|llvm16}}, {{pkg|llvm15}}. | We packaged LLVM 19 in our repositories. A total of 5 LLVM versions are supported: {{pkg|llvm19}}, {{pkg|llvm18}}, {{pkg|llvm17}}, {{pkg|llvm16}}, {{pkg|llvm15}}. | ||
=== GNOME 47 === | |||
{{pkg|gnome-software}} has been held back to version 45, after several regressions in the apk plugin on update. See {{issue|16637}} for more details. | |||
== Significant removals == | == Significant removals == | ||
Line 145: | Line 147: | ||
=== ISC DHCP === | === ISC DHCP === | ||
If you are still running an ISC DHCP server, you are advised to migrate to a maintained alternative '''before''' upgrading to the 3.21 release. | |||
ISC DHCP has been EoL since 2022. They have a guide for migrating to {{pkg|kea}} here: https://www.isc.org/dhcp_migration/ | ISC DHCP has been EoL since 2022. They have a guide for migrating to {{pkg|kea}} here: https://www.isc.org/dhcp_migration/ | ||
Up to, and including, the 3.20 version of Alpine, the {{pkg|dhcp|branch=v3.20}} aport has the subpackage {{pkg|keama|branch=v3.20}} that is a tool for helping with migration from ISC DHCP configuration to ISC Kea configuration. | |||
Alternative DHCP servers packaged in Alpine include: | |||
* {{pkg|kea}} | |||
* {{pkg|freeradius-dhcp}} | |||
* {{pkg|dnsmasq}} | |||
* udhcpd - packaged in {{pkg|busybox-extras}} | |||
==== dracut-modules-network network-legacy removal ==== | |||
As a consequence of the above, the <code>network-legacy</code> module has been removed from {{pkg|dracut-modules-network}}, as it had a depedency on the {{pkg|dhclient}} sub-package of the ISC DHCP aport. | |||
=== Gogs === | === Gogs === | ||
<code>gogs</code> was removed due to multiple high-severity vulnerabilities which | <code>gogs</code> was removed due to multiple high-severity vulnerabilities for which issues have remained open for a year. The developers of Gogs were contacted multiple times by the Forgejo team but unfortunately received no response. Therefore we have removed Gogs from our repositories. ({{MR|75304}}) | ||
Please consider migrating to {{pkg|forgejo|branch=edge|arch=}} or {{pkg|gitea|branch=edge|arch=}}. Both forks are available in our community repo | Please consider migrating to {{pkg|forgejo|branch=edge|arch=}} or {{pkg|gitea|branch=edge|arch=}}. Both forks are available in our community repo. | ||
The Gitea fork of Gogs was created in 2016 by contributors who were | The Gitea fork of Gogs was created in 2016 by contributors who were frustrated with the single-maintainer management model of Gogs. Forgejo is a fork of Gitea which was created as a result of the for-profit company Gitea Ltd taking over maintainership (see also https://forgejo.org/compare-to-gitea/). | ||
=== neofetch === | === neofetch === | ||
The upstream repository was archived in April, therefore | The upstream repository was archived in April and became unmaintained, therefore we have removed it from our repositories. {{pkg|fastfetch}} provides similar functionality. | ||
=== .NET 6 === | |||
.NET 6 reached EOL in 12 November 2024 (see https://devblogs.microsoft.com/dotnet/dotnet-6-end-of-support/) and the following packages have been moved to the testing repository ({{MR|73655}}): | |||
* {{pkg|dotnet6-build|branch=edge|arch=}} | |||
* {{pkg|dotnet6-runtime|branch=edge|arch=}} | |||
* {{pkg|dotnet6-stage0|branch=edge|arch=}} | |||
* {{pkg|lidarr|branch=edge|arch=}} | |||
* {{pkg|prowlarr|branch=edge|arch=}} | |||
* {{pkg|radarr|branch=edge|arch=}} | |||
* {{pkg|sonarr|branch=edge|arch=}} | |||
[[Category:News]] |
Latest revision as of 18:00, 7 December 2024
As always, make sure to read Upgrading Alpine to a new major release when upgrading to a new release.
If you experience any issues with the upgrade, please let us know and file an issue in our repositories.
Important changes
OpenSSH service requires restart
From the 9.8_p1
release, and on, of openssh, openssh-server is split into two binaries (/usr/lib/ssh/sshd-session
and /usr/sbin/sshd
). Due to this change, it will not be possible to ssh
into a system that has upgraded from a release prior to 9.8_p1
to this release or later, without restarting the sshd
service.
We have previously brought attention to this - https://alpinelinux.org/posts/2024-07-02-openssh-upgrade-edge.html
Managing services has always been out-of-scope for apk-tools, but this one time we will make an exception when the following conditions are met:
- You have both the openssh-server and openssh-server-common-openrc packages installed at a version lower than
9.8_p1
- The
sshd
service is started
We will then, post openssh-server upgrade, have a post-upgrade
script that will:
- Print a message on what is about to happen and why
- Restart the
sshd
service - If the command to restart the service fails for any reason, a warning message will be printed and an error code returned to
apk
, to be noticed by the end of the package upgrades (this will not interrupt the upgrade process).
We have decided to do this in order to help keep you from getting locked out of your system(s) and be able to fix any issues with the upgrade.
See also:
- https://bugzilla.mindrot.org/show_bug.cgi?id=3706
- https://git.alpinelinux.org/aports/commit/?id=6adff08ae09961d4eea66b55a8cca14d3941fb53
New loongarch64 architecture
Alpine 3.21 is the first release which is available for loongarch64
.
Thanks to the support of the team of Loongson dedicated to supporting Alpine Linux and many other contributors.
Preparations for /usr-merge
Plans for /usr-merge are underway and we should be able to finalize it in Alpine Linux, version 3.22.
Much preparation has gone into this release to ensure that the merge happens as smoothly as possible. That included moving the location of some binaries and many libraries from /bin
, /sbin
, and /lib
to their counterparts in /usr
. As part of the merge, /usr
will be mounted from the initramfs to make sure everybody has all necessary binaries in place.
Users with installations where /
and /usr
are on separate filesystems (partitions, volumes, disk drives or other) should proceed with care and report any issues. They should also ensure that an entry /usr
is added to /etc/fstab
before upgrading, and all modules required to mount /usr
from the initramfs are added to mkinitfs configuration. New/fresh installations of v3.21 will work out of the box without modification. Please note that /
on separate filesystem than /usr
is not officially supported.
If you have one of these setups, and have doubts about the configuration, you can open an issue and ping @pabloyoyoista
. We will also publish a blog post soon with further information on the timeline and progress of the merge, as well as how the changes may affect users.
Significant changes
Jellyfin
Jellyfin now uses the recommended fork of ffmpeg called jellyfin-ffmpeg by default. If you want to change the default, take a look at the ffmpegpath
variable in /etc/conf.d/jellyfin
. (!69924)
Jellyfin was disabled for ARM architectures (aarch64
and armv7
) and is only available for x86_64
. (#16613)
Bats
main/bats
was renamed to main/bats-core
. There is now a meta package community/bats
which contains:
Xen 4.19
qemu-traditional and stubdom are removed from the build in this release, see https://git.alpinelinux.org/aports/commit/?id=24217a24da3924039b000eb17c04bf3f01bf1f12
There is still the xen-qemu package, but the regular qemu aport is now built with Xen support, so a qemu-system-* package can be used instead.
You can choose to use it in your xl.cfg(1) like so:
device_model_override = "/usr/bin/qemu-system-x86_64" device_model_version = "qemu-xen"
uutils-coreutils
uutils-coreutils is repackaged as a sub-package to uutils in such a way as to be a drop-in replacement for GNU coreutils.
If you have both uutils-coreutils and coreutils installed, the latter will be purged and its symlinks replaced with ones pointing to the /usr/bin/uutils
binary. The /usr/bin/uutils-*
symlinks, previously provided by uutils-coreutils, no longer exist.
If you prefer to use GNU coreutils, remove the uutils-coreutils package before upgrading, and then add the uutils package, containing the /usr/bin/uutils
binary.
A few parts of the uutils aport are also split into uutils-* subpackages, to avoid conflicts or other issues.
linux-firmware
linux-firmware is now compressed with ZSTD compression. If you run a custom built Linux kernel, you need to ensure that CONFIG_FW_LOADER_COMPRESS_ZSTD=y
is set in your configuration.
Note-worthy updates
As always, a lot of packages were upgraded. Make sure to read the indivdual release notes of the projects you use.
- Linux 6.12
- busybox 1.37
- GCC 14.2
- LLVM 19
- Go 1.23
- Rust 1.83
- PHP 8.4
- GNOME 47
- KDE Plasma 6.2
- LXQt 2.1
- Qt 6.8
- wlroots 0.18
GCC 14
The Gnu Compiler Collection was upgraded to 14.2.0 and as a result, all packages built with gcc in Alpine 3.21 are compiled with GCC 14.2.0.
Make sure to read all changes: https://gcc.gnu.org/gcc-14/changes.html
LXQt 2.1
LXQt has been updated to release 2.1.0
- It now uses Qt6
- Many parts of LXQt are now Wayland ready¹, but Wayland ports of the following are pending: screengrab, lxqt-globalkeys, and keyboard indicator, some input settings, as well as settings for monitor, power button, and screen locker.
- LXQt Panel has a new default application menu called Fancy Menu.
¹ lxqt-wayland-session has not been packaged yet, but most folks wanting to test on Wayland will want to use it.
Linux 6.12
Alpine 3.21.0 ships Linux 6.12.1 in the linux-lts package.
PostgreSQL 17
This release features postgresql17. We dropped support for postgresql14, and moved postgreSQL15 from main to community.
LLVM 19
We packaged LLVM 19 in our repositories. A total of 5 LLVM versions are supported: llvm19, llvm18, llvm17, llvm16, llvm15.
GNOME 47
gnome-software has been held back to version 45, after several regressions in the apk plugin on update. See #16637 for more details.
Significant removals
Disabled packages due to FTBS
The following packages are temporarily disabled because they failed to build. We will try to restore them as soon as possible.
- hplip (#16685)
- imageflow (#16679)
- kdevelop (!75839)
- postgresql-citus (#16580)
- uvicorn (#16646)
- vulkan-validation-layers (#16686)
ISC DHCP
If you are still running an ISC DHCP server, you are advised to migrate to a maintained alternative before upgrading to the 3.21 release.
ISC DHCP has been EoL since 2022. They have a guide for migrating to kea here: https://www.isc.org/dhcp_migration/
Up to, and including, the 3.20 version of Alpine, the dhcp aport has the subpackage keama that is a tool for helping with migration from ISC DHCP configuration to ISC Kea configuration.
Alternative DHCP servers packaged in Alpine include:
- kea
- freeradius-dhcp
- dnsmasq
- udhcpd - packaged in busybox-extras
dracut-modules-network network-legacy removal
As a consequence of the above, the network-legacy
module has been removed from dracut-modules-network, as it had a depedency on the dhclient sub-package of the ISC DHCP aport.
Gogs
gogs
was removed due to multiple high-severity vulnerabilities for which issues have remained open for a year. The developers of Gogs were contacted multiple times by the Forgejo team but unfortunately received no response. Therefore we have removed Gogs from our repositories. (!75304)
Please consider migrating to forgejo or gitea. Both forks are available in our community repo.
The Gitea fork of Gogs was created in 2016 by contributors who were frustrated with the single-maintainer management model of Gogs. Forgejo is a fork of Gitea which was created as a result of the for-profit company Gitea Ltd taking over maintainership (see also https://forgejo.org/compare-to-gitea/).
neofetch
The upstream repository was archived in April and became unmaintained, therefore we have removed it from our repositories. fastfetch provides similar functionality.
.NET 6
.NET 6 reached EOL in 12 November 2024 (see https://devblogs.microsoft.com/dotnet/dotnet-6-end-of-support/) and the following packages have been moved to the testing repository (!73655):