Release Notes for CRUX 3.7
This page discusses the relevant changes introduced in CRUX 3.7. Everybody upgrading from the previous release is advised to carefully read the following notes.
CRUX 3.7 comes with a multilib toolchain which includes glibc 2.36, gcc 12.2.0 and binutils 2.39
Linux 5.15.55 (LTS)
CRUX 3.7 ships with Xorg 7.7 and xorg-server 21.1.4
CRUX 3.7 now includes Wayland 1.21.0. Ports continue to default to Xorg, but Wayland can easily be installed along and run in either pure Wayland or Xwayland mode.
If you decide to run a Wayland session, you will need to enable the 'contrib' collection and rebuild a few ports (for example xorg/mesa) to make it fully available.
cd /usr/ports && grep -rlw "wayland" | cut -d "/" -f2 | sort -u to see which ports are affected.
The ISO image is processed with isohybrid and is suitable for burning on a DVD or putting on a USB drive. UEFI support is available during installation with dosfstools, efibootmgr, and grub2-efi/syslinux available during installation.
Because all bootloaders are in our opt collection now, no bootloader is installed as a core port by default.
To give the possibility to select a bootloader we have added a new menu to setup.
Important libraries have been updated to new major versions which are not ABI compatible with the old versions. We strongly advise against manually updating to CRUX 3.7 via ports, since these changes will temporarily break the system. Please note that there may still be packages that need updating that are not included on the ISO. These packages will need to be updated/rebuilt manually. Use prt-get sysup and revdep (from opt/prt-utils).
- we changed the rundir from /var/run to /run. Because /run is a TMPFS it's no longer possible to precreate directories, needed by daemons, at buildtime, for example /run/samba. It's now the responsibility of the rcscripts to create such directories with the right permissions. see FHS for details
- when upgrading an existing CRUX installation, a nonempty /var/run directory cannot be removed during the pkgadd -u -f filesystem#3.7-3.pkg.tar.gz operation. You should recursively delete such a directory before running setup (after making backups of anything you want to preserve)
- core/dumb_runtime_dir was introduced to create /run/user/$UID upon login of a user by leveraging a pam module. this directory is specified as XDG_RUNTIME_DIR as part of XDG Base Directory Specification
- we have moved cmake, meson, ninja and their dependencies to core because more and more projects are moving away from autotools to cmake or meson
- pkg-config has been replaced by pkgconf per commits 07202c8d84edf2cb10d84ebb4bf585dd39477d49 and c30d30a977c0a5eda765b700744615b833aacfbe
- nftables has been added to core, iptables is still available. a sample nftables configuration for a workstation setup is included by default and can be activated via /etc/rc.d/nftables
- libpcre2 has been moved from opt to core and all core ports are linked to libpcre2 instead of libpcre, which is EOL
- pkgmk now defines LC_ALL=C.UTF-8 instead of LC_ALL=POSIX. This should avoid errors like: bsdtar: Pathname can't be converted from UTF-8 to current locale
- we adjusted glibc so that its post-install script will generate the desired locales (previously you would have regenerated locales manually after a glibc update). The script will generate and store locales in /usr/lib/locale/locale-archive, while the C.UTF-8 locale will be stored as /usr/lib/locale/C.UTF-8
- we changed the default program to download files from wget to curl. This still can be changed in pkgmk.conf
- some default options for prt-get were changed with commit f119565a2abd0ea65e6fe269c8d2a66c1cbce8bd
- our Handbook got a big review and many additions by farkuhar, many thanks for doing the work