Repository navigation
This release syncs the hardware database, rules, rules parser, builtins and helper programs with systemd-udev (v262+, see #300). It also brings fixes found by static analysis and builds cleanly with GCC 16 and glibc 2.43.
Before upgrading
- SAS by-path names: disks behind SAS ports that report
num_phys=0(e.g. smartpqi) now get systemd's names,*-sas-phy<PHY>-lun-<N>instead of*-sas-0x<ADDRESS>-lun-<N>.sas_legacy_path=yesin/etc/udev/udev.confkeeps the old names. - ATA by-path links: SATA/PATA disks now get
ID_PATHand/dev/disk/by-path/*-ata-*symlinks (#242). Nothing is removed, but scripts or rules that assumed ATA disks have no by-path entry may see new links. - Other by-path renames: AMBA devices and mlx5 sub-functions get unique names; before, siblings shared one.
- Render nodes:
/dev/dri/renderD*,kfdandacceldevices now belong to therendergroup instead ofvideo, with mode0666as before. Make sure the group exists. - Local rules:
RUNvalues are expanded when the rule is processed;ENV{}assignments to kernel-owned or udevd-owned properties are refused;- invalid
SYMLINKvalues and tags are rejected; IMPORT{cmdline}matches whole words.
- libudev:
udev_device_set_sysattr_value()returns-ENOENTfor a missing attribute (was-ENXIO). The ABI is unchanged:libudev.so.1.6.4, sonamelibudev.so.1. - New
udev.confkeyhwdb_format:hwdb_format=2makes laterhwdbfiles and lines win for the same property. It takes effect with the nextudevadm hwdb --update. Older versions oflibudevcannot read that format, so restart any runningudevdthat predates this release. The default,hwdb_format=1, keeps the format that everylibudevreads.
Also in this release (committed directly)
udevadm trigger --type=all- Chromium OS autosuspend list in the
hwdb dmi_memory_idhandles large DMI tables- no error is logged when a watched device is already gone
- fixes for issues found by
clang's static analyzer: memory safety, error paths, and several real bugs in thehwdbcompiler,scsi_id,fileioandcunescape - constness fixes for C23 qualifier-preserving glibc functions (GCC 16, glibc 2.43)
- CI builds on Devuan daedalus, excalibur and ceres, and on Alpine 3.21, latest and edge
- bug report URL points to eudev-project
SYMLINK-=to remove symlinks added by earlier rules (#289)- by-path links for NVMe multipath (
nvme-subsystem) devices (#273) IMPORT{cmdline}treats-and_in keys as equivalent and no longer ignoresrd.*options
What's Changed
- rules: add mtd/by-name symlinks by @tq-schiffern in #267
- Fix a mistake in the length of USEC_INITIALIZED when parsing property… by @bbonev in #269
- 78-sound-card.rules: Import ID_PATH early by @mixi in #271
- udev/path_id: introduce support for NVMe devices by @mscdex in #272
- 80-net-name-slot.rules: consider ID_NET_NAME_MAC as a name by @jwslater0823 in #274
- fix typos by @spaette in #276
- build: Add libtool as build-dependency for Alpine by @CuriouslyCurious in #278
- random-util.c: sync dev_urandom implementation to systemd-udev by @masahisak in #280
- udev-rules: Fix compile errors with
-DDEBUG=1by @bence98 in #288 - Add BTN_ key codes by @vicencb in #284
- udevd: add support for S6/dinit-compatible readiness notification by @davmac314 in #290
- Sync with systemd-udev up to a446e8ff2c (v262+) by @bbonev in #300
New Contributors
- @tq-schiffern made their first contribution in #267
- @mixi made their first contribution in #271
- @mscdex made their first contribution in #272
- @jwslater0823 made their first contribution in #274
- @spaette made their first contribution in #276
- @CuriouslyCurious made their first contribution in #278
- @masahisak made their first contribution in #280
- @bence98 made their first contribution in #288
- @vicencb made their first contribution in #284
- @davmac314 made their first contribution in #290
Full Changelog: v3.2.14...v3.2.15