udev 057 ======== All rules are applied now, but only the first matching rule with a NAME-key will be applied. All later rules with NAME-key are completely ignored. This way system supplied symlinks or permissions gets applied to user-defined naming rules. Note: Please check your rules setup, if you may need to add OPTIONS="last_rule" to some rules, to keep the old behavior. The rules are read on "remove"-events too. That makes is possible to match with keys that are available on remove (KERNEL, SUBSYSTEM, ID, ENV, ...) to instruct udev to ignore an event (OPTIONS="ignore_device"). The new ACTION-key may be used to let a rule act only at a "remove"-event. The new RUN-key supports rule-based execution of programs after device-node handling. This is meant as a general replacement for the dev.d/-directories to give fine grained control over the execution of programs. The %s{}-sysfs format char replacement values are searched at any of the devices in the device chain now, not only at the class-device. We support log priority levels now. The value udev_log in udev.conf is used to determine what is printed to syslog. This makes it possible to run a version with compiled-in debug messages in a production environment which is sometimes needed to find a bug. It is still possible to supress the inclusion of _any_ syslog usage with USE_LOG=false to create the smallest possible binaries if needed. The configured udev_log value can be overridden with the environment variable UDEV_LOG. udev 056 ======== Possible use of a system-wide klibc: make USE_KLIBC=true KLCC=/usr/bin/klcc all will link against an external klibc and our own version will be ignored. udev 055 ======== We support an unlimited count of symlinks now. If USE_STATIC=true is passed to a glibc build, we link statically and use a built-in userdb parser to resolve user and group names. The PLACE= key is gone. It can be replaced by an ID= for a long time, cause we walk up the chain of physical devices to find a match. The KEY="" format supports '=', '==', '!=,' , '+=' now. This makes it easy to skip certain attribute matches without composing rules with weird character class negations like: KERNEL="[!s][!c][!d]*" this can now be replaced with: KERNEL!="scd*" The current simple '=' is still supported, and should work as it does today, but existing rules should be converted if possible, to be better readable. We have new ENV{}== key now, to match against a maximum of 5 environment variables. udevstart is its own binary again, cause we don't need co carry this araound with every forked event.