Release Notes for Alpine 3.13.0: Difference between revisions

From Alpine Linux
No edit summary
Line 5: Line 5:
musl has been upgraded to 1.2. This release changes the definition of <code>time_t</code> on 32-bit systems. See the [https://musl.libc.org/time64.html musl time64 release notes] for more details. All x86, armv7 and armhf packages have been rebuilt for this change. For users of these architectures, all self-compiled packages must be manually rebuilt after upgrading.
musl has been upgraded to 1.2. This release changes the definition of <code>time_t</code> on 32-bit systems. See the [https://musl.libc.org/time64.html musl time64 release notes] for more details. All x86, armv7 and armhf packages have been rebuilt for this change. For users of these architectures, all self-compiled packages must be manually rebuilt after upgrading.


This also affects docker containers running on these arches. As new syscalls are being used, using a docker version with an outdated seccomp profile can result in errors when running programs on <code>alpine:3.13</code> and <code>alpine:edge</code> containers. If you run into these errors (like "error getting time" when running apk), then either try to update docker on your host, or if that's not possible, use up-to-date [https://raw.githubusercontent.com/moby/moby/master/profiles/seccomp/default.json seccomp profile], by passing <code>--seccomp-profile=</path/to/profile.json></code> to <code>dockerd</code>.
In order to support dates past 2038, musl 1.2 uses new time64-compatible system calls. Due to a long-standing Docker issue, these system calls incorrectly return EPERM when running on a Docker version predating their release. This causes a wide range of Alpine Linux programs to fail or operate incorrectly. If you encounter errors such as "error getting time" when running apk, or if the date command returns a nonsensical date, then the host Docker needs to be updated. As a workaround, download an up-to-date [https://raw.githubusercontent.com/moby/moby/master/profiles/seccomp/default.json seccomp profile] and apply it by passing <code>--seccomp-profile=</path/to/profile.json></code> to the host <code>dockerd</code>.


=== Deprecation of BerkeleyDB ===
=== Deprecation of BerkeleyDB ===

Revision as of 20:31, 7 January 2021

aports

musl upgraded to 1.2

musl has been upgraded to 1.2. This release changes the definition of time_t on 32-bit systems. See the musl time64 release notes for more details. All x86, armv7 and armhf packages have been rebuilt for this change. For users of these architectures, all self-compiled packages must be manually rebuilt after upgrading.

In order to support dates past 2038, musl 1.2 uses new time64-compatible system calls. Due to a long-standing Docker issue, these system calls incorrectly return EPERM when running on a Docker version predating their release. This causes a wide range of Alpine Linux programs to fail or operate incorrectly. If you encounter errors such as "error getting time" when running apk, or if the date command returns a nonsensical date, then the host Docker needs to be updated. As a workaround, download an up-to-date seccomp profile and apply it by passing --seccomp-profile=</path/to/profile.json> to the host dockerd.

Deprecation of BerkeleyDB

Oracle has changed the license of its BerkeleyDB to AGPL-3.0, making it unsuitable to link it to packages with GPL-incompatible licenses. Since the old version is no longer maintained, the db has been declared deprecated, packages are being transitioned out of using it or out of the distribution entirely, developer tooling for doing QA in APKBUILDs has been adjusted to warn when db is present.

For postfix, this means using lmdb and dropping support for hash and btree databases. Before upgrading, update all references of these types in /etc/postfix/main.cf to lmdb.

Switching from busybox ifupdown to ifupdown-ng

Alpine Linux has switched the default ifupdown implementation from busybox to ifupdown-ng. This version is compatible with debian ifupdown and busybox ifupdown, but please read the readme and the admin guide.

ifupdown-ng has native vlan support, so the vlan package is no longer required and can be uninstalled. The bridge and bond packages are still required.

GCC 10

GCC has been updated to version 10. GCC 10 sets the -fno-common option by default. All Alpine Linux packages have been fixed, but users compiling other packages on Alpine may need to fix their code. For more information, see the GCC 10 porting guide.

PHP 8.0

PHP 8.0 with a common set of extensions is now available as php8. PHP 7.4 (php7) remains the default.

xorg-server has moved to community

xorg-server and related packages have been moved from main to community. To install it, make sure the community repository is added to /etc/apk/repositories.

Running

setup-xorg-base

will do this for you.

busybox

Removed applets

The following applets have been removed due to limited feature support and/or highly infrequent use:

  • hdparm: Use hdparm instead.
  • fdformat: Use util-linux instead.
  • readprofile: Use util-linux instead.
  • lspci: Use pciutils instead.
  • conspy: None
  • smemcap: None
  • dumpleases: None

For conspy and smemcap, alternative versions are available but not yet packaged. Please file an issue at Alpine GitLab if you require these programs.

Changes

The following applets now support long options:

  • gzip
  • install
  • ipcalc

apk-tools

Man page

apk-tools now has an official man-page: apk-tools-docs. If the docs package is installed, man pages will automatically be installed and updated for all installed packages.