Release Notes for Alpine 3.12.0

From Alpine Linux
Revision as of 18:49, 18 February 2020 by Leo (talk | contribs) (aports)
Jump to: navigation, search


OpenRC now has a sane ordering of directories when configuring kernel parameters

Configuring kernel parameters is done by having files in specific locations like /etc/sysctl.conf and files ending with .conf in certain directories like /etc/sysctl.d. Before 3.12.0 the ordering had no logical explanation and supervised users that expected a hierarchy.

Starting with 3.12.0 the ordering is as such:

  1. /lib/sysctl.d/*.conf
  2. /usr/lib/sysctl.d/*.conf
  3. /etc/sysctl.d/*.conf
  4. /etc/sysctl.conf
  5. /run/sysctl.d/*.conf

Packages and Alpine Linux will install to /lib/sysctl.d and /usr/lib/sysctl.d, those can be overridden by the local administrator by placing the files in /etc/sysctl.d, if a filename from /etc/sysctl.d matches a filename from /lib/sysctl.d or /usr/lib/sysctl.d then the file in the latter will not be run.

The same logic applies for run/sysctl.d, meant for runtime configuration, which will override all locations mentioned above.

Note: /etc/sysctl.conf cannot be overridden and exists because of historical precedent
OpenRC now has a sane ordering of directories when loading kernel modules

Loading kernel modules during boot is done with the modules OpenRC service, which reads configuration files in certain locations and loads kernel modules with the modprobe utility from either busybox or util-linux.

Before the changes the files were loading in the following order, files in modules-load.d directories were decided by how the shell picked it by globbing.

  1. /etc/modules
  2. /etc/modules-load.d/*.conf
  3. /run/modules-load.d/*.conf
  4. /usr/lib/modules-load.d/*.conf
  5. /lib/modules-load.d/*.conf

That means the changes that were done in /etc/modules or /etc/modules-load.d by the local administrator ended up being overridden by modules installed by packages in /usr/lib/modules-load.d and /lib/modules-load.d.

With the changes to the modules service the new ordering of directories is:

  1. /lib/modules-load.d/*.conf
  2. /usr/lib/modules-load.d/*.conf
  3. /etc/modules
  4. /etc/modules-load.d/*.conf
  5. /run/modules-load.d/*.conf

Now admins can override files installed by packages (/lib/modules-load.d and /usr/lib/modules-load.d) by having files with the same name in /etc/modules-load.d, and both can be overridden by files in /run/modules-load.d.

Note: /etc/modules cannot be overridden and only exists because of historical precedent.
Telegram Desktop is now available in the community repo

See commit that moved the package to the community repo for explanation.

efitools and sbsigntool are now in main/

Those packages have lived in testing/ for a long time and have been successfully used by one of our developers to implement secure-boot in his system. They have been moved to main/ and will be available for others.


Add default functions for subpackages that hold Bash, Zsh and Fish completion

abuild now provides default functions for $pkgname-bash-completion, $pkgname-zsh-completion and $pkgname-fish-completion subpackages.

Expected location of the completion files per shell:

  • Bash -> /usr/share/bash-completion/completions
  • Zsh -> /usr/share/zsh/site-functions
  • Fish -> /usr/share/fish/completions

Files must be installed in the expected location in relation to $pkgdir in pacakge().

Introduced in d5826968b713123a4f51d3dec1adb1225d0e194f.

newapkbuild when called with CMake (-C) does out-of-source builds by default

When packaging with newapkbuild and using the -C switch to pre-fill the apkbuild with skeleton functions for CMake now:

  • Adds -B build to the cmake call in build().
  • Adds -C build the make calls.

Doing out-of-source builds are recommended upstream to the point where warnings are printed when calling CMake on a project.

Introduced in e125a764896d884c69cc409e614b65cb336c15e8.

set CARGO_HOME to cache dependencies of rust packages

CARGO_HOME is now set to $SRCDEST/cargo and will cache all dependencies downloaded.

Introduced in af0c88e6abbb1e49224759f5c51b3068e6eab28b.