Release Notes for Alpine 3.13.0: Difference between revisions

From Alpine Linux
No edit summary
Line 3: Line 3:
=== musl upgraded to 1.2 ===
=== musl upgraded to 1.2 ===


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, even if relocation/SONAME errors are not encountered.


In order to support dates past 2038, musl 1.2 uses new time64-compatible system calls. Due to [https://github.com/opencontainers/runc/issues/2151 a long-standing Docker issue], these system calls incorrectly return EPERM when running under a Docker version predating their release. This issue particularly affects 32-bit ARM systems due to an unrelated kernel bug, but can manifest in strange errors on all architectures. If you encounter any unusual 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 to at least 20.10.0, which contains [https://github.com/moby/moby/commit/89fabf0f241292e929fbb2fbb794d58d8d697ab5 moby commit 89fabf0]. As a workaround, [an up-to-date https://raw.githubusercontent.com/moby/moby/master/profiles/seccomp/default.json seccomp profile] can be manually downloaded and applied by passing <code>--seccomp-profile=</path/to/profile.json></code> to the host <code>dockerd</code>.
In order to support dates past 2038, musl 1.2 uses new time64-compatible system calls. Due to [https://github.com/opencontainers/runc/issues/2151 a long-standing Docker issue], these system calls incorrectly return EPERM when running under a Docker version predating their release. Therefore, when running under Docker, Alpine Linux 3.13.0 requires the host Docker version to be at least 20.10.0. This issue particularly affects 32-bit ARM systems due to an unrelated kernel bug, but can manifest as strange errors on all architectures. If you encounter any unusual errors, such as "error getting time" when running apk, or if the date command returns a nonsensical date, then the host Docker must be updated to at least 20.10.0, which contains [https://github.com/moby/moby/commit/89fabf0f241292e929fbb2fbb794d58d8d697ab5 moby commit 89fabf0]. As a temporary workaround, [an up-to-date https://raw.githubusercontent.com/moby/moby/master/profiles/seccomp/default.json seccomp profile] can be manually downloaded and applied by passing <code>--seccomp-profile=</path/to/profile.json></code> to the host <code>dockerd</code>.


=== Deprecation of BerkeleyDB ===
=== Deprecation of Berkeley DB (BDB) ===


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 <code>db</code> 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 <code>db</code> is present.
Oracle has changed the license of BDB to AGPL-3.0, making it unsuitable to link to packages with GPL-incompatible licenses. Since the old version is no longer maintained, the <code>db</code> package is now deprecated. Alpine Linux packages are being transitioned to alternatives or, where no alternatives exist, removed entirely.


For postfix, this means using lmdb and dropping support for <code>hash</code> and <code>btree</code> databases. Before upgrading, update all references of these types in <code>/etc/postfix/main.cf</code> to <code>lmdb</code>.
For postfix, support for <code>hash</code> and <code>btree</code> databases has been removed. <code>lmdb</code> is the recommended replacement. Before upgrading, all tables in <code>/etc/postfix/main.cf</code> using <code>hash</code> and <code>btree</code> must be changed to a supported alternative. See the [http://www.postfix.org/DATABASE_README.html Postfix lookup table documentation] for more information.


=== Switching from busybox ifupdown to ifupdown-ng ===
=== Switching from busybox ifupdown to ifupdown-ng ===


Alpine Linux has switched the default ifupdown implementation from busybox to [https://github.com/ifupdown-ng/ifupdown-ng/ ifupdown-ng]. This version is compatible with debian ifupdown and busybox ifupdown, but please read the [https://github.com/ifupdown-ng/ifupdown-ng/blob/master/README.md readme] and the [https://github.com/ifupdown-ng/ifupdown-ng/blob/master/doc/ADMIN-GUIDE.md admin guide].
The default ifupdown implementation has been switched from busybox to [https://github.com/ifupdown-ng/ifupdown-ng/ ifupdown-ng]. This version is intended to be compatible with debian ifupdown and busybox ifupdown, but all users of <code>/etc/network/interfaces</code> should read the [https://github.com/ifupdown-ng/ifupdown-ng/blob/master/README.md ifupdown-ng readme] and the [https://github.com/ifupdown-ng/ifupdown-ng/blob/master/doc/ADMIN-GUIDE.md ifupdown-ng admin guide] before upgrading.


ifupdown-ng has native vlan support, so the <code>vlan</code> package is no longer required and can be uninstalled. The <code>bridge</code> and <code>bond</code> packages are still required.
ifupdown-ng has native vlan support, so the <code>vlan</code> package is no longer required and can be uninstalled. The <code>bridge</code> and <code>bond</code> packages are still required.
Line 37: Line 37:
=== Removed applets ===
=== Removed applets ===


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


* '''hdparm''': Missing many features. Use <code>hdparm</code> instead.
* '''hdparm''': Missing many features. Use <code>hdparm</code> instead.
* '''fdformat''': Rarely used. Use <code>util-linux</code> instead.
* '''fdformat''': Rarely used. Use <code>util-linux</code> instead.
* '''readprofile''': Rarely used. Consider <code>perf</code> or use <code>util-linux</code> instead.
* '''readprofile''': Rarely used. Consider <code>perf</code> or use <code>util-linux</code> instead.
* '''lspci''': Missing many features. Use <code>pciutils</code> or <code>grep . /sys/bus/pci/devices/*/*</code> instead.
* '''lspci''': Missing many features, such as hwdb support. Use <code>pciutils</code> or <code>grep . /sys/bus/pci/devices/*/*</code> instead.
* '''conspy''': Rarely used.
* '''conspy''': Rarely used.
* '''smemcap''': Rarely used.
* '''smemcap''': Rarely used.

Revision as of 21:25, 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, even if relocation/SONAME errors are not encountered.

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 under a Docker version predating their release. Therefore, when running under Docker, Alpine Linux 3.13.0 requires the host Docker version to be at least 20.10.0. This issue particularly affects 32-bit ARM systems due to an unrelated kernel bug, but can manifest as strange errors on all architectures. If you encounter any unusual errors, such as "error getting time" when running apk, or if the date command returns a nonsensical date, then the host Docker must be updated to at least 20.10.0, which contains moby commit 89fabf0. As a temporary workaround, [an up-to-date https://raw.githubusercontent.com/moby/moby/master/profiles/seccomp/default.json seccomp profile] can be manually downloaded and applied by passing --seccomp-profile=</path/to/profile.json> to the host dockerd.

Deprecation of Berkeley DB (BDB)

Oracle has changed the license of BDB to AGPL-3.0, making it unsuitable to link to packages with GPL-incompatible licenses. Since the old version is no longer maintained, the db package is now deprecated. Alpine Linux packages are being transitioned to alternatives or, where no alternatives exist, removed entirely.

For postfix, support for hash and btree databases has been removed. lmdb is the recommended replacement. Before upgrading, all tables in /etc/postfix/main.cf using hash and btree must be changed to a supported alternative. See the Postfix lookup table documentation for more information.

Switching from busybox ifupdown to ifupdown-ng

The default ifupdown implementation has been switched from busybox to ifupdown-ng. This version is intended to be compatible with debian ifupdown and busybox ifupdown, but all users of /etc/network/interfaces should read the ifupdown-ng readme and the ifupdown-ng admin guide before upgrading.

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 software on Alpine Linux may need to make changes to 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, ensure /etc/apk/repositories contains the community repository.

Running setup-xorg-base will automatically enable the community repo and install xorg-server.

busybox

Removed applets

The following applets have been removed:

  • hdparm: Missing many features. Use hdparm instead.
  • fdformat: Rarely used. Use util-linux instead.
  • readprofile: Rarely used. Consider perf or use util-linux instead.
  • lspci: Missing many features, such as hwdb support. Use pciutils or grep . /sys/bus/pci/devices/*/* instead.
  • conspy: Rarely used.
  • smemcap: Rarely used.
  • dumpleases: Rarely used.

Alternatives for conspy, smemcap, and dumpleases are not currently packaged due to a lack of interest. If you require these programs, please file an issue at Alpine GitLab.

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.