From: Kay Sievers Date: Tue, 22 Aug 2006 23:32:25 +0000 (+0200) Subject: 098 release X-Git-Tag: 174~2167 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=56f914e63b2295b2755cf66be02a8874de7f2b8a 098 release --- diff --git a/Makefile b/Makefile index 1b3815f3b..d7801296b 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ # Makefile for udev # -# Copyright (C) 2003,2004 Greg Kroah-Hartman +# Copyright (C) 2003-2004 Greg Kroah-Hartman # Copyright (C) 2004-2006 Kay Sievers # # This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # -VERSION = 097 +VERSION = 098 # set this to make use of syslog USE_LOG = true @@ -91,7 +91,7 @@ MAN_PAGES = \ GEN_HEADERS = \ udev_version.h -prefix = +prefix ?= etcdir = ${prefix}/etc sbindir = ${prefix}/sbin usrbindir = ${prefix}/usr/bin @@ -108,7 +108,7 @@ INSTALL_DATA = ${INSTALL} -m 644 INSTALL_SCRIPT = ${INSTALL_PROGRAM} PWD = $(shell pwd) -CROSS_COMPILE = +CROSS_COMPILE ?= CC = $(CROSS_COMPILE)gcc LD = $(CROSS_COMPILE)gcc AR = $(CROSS_COMPILE)ar diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 7980b452c..9fe4542dd 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -1,3 +1,60 @@ +udev 098 +======== +Bugfixes. + +Renaming of some key names (the old names still work): +BUS -> SUBSYSTEMS, ID -> KERNELS, SYSFS -> ATTRS, DRIVER -> DRIVERS. +(The behavior of the key DRIVER will change soon in one of the next +releases, to match only the event device, please switch to DRIVERS +instead. If DRIVER is used, it will behave like DRIVERS, but an error +is logged. +With the new key names, we have a more consistent and simpler scheme. +We can match the properties of the event device only, with: KERNEL, +SUBSYSTEM, ATTR, DRIVER. Or include all the parent devices in the match, +with: KERNELS, SUBSYSTEMS, ATTRS, DRIVERS. ID, BUS, SYSFS, DRIVER are no +longer mentioned in the man page and should be switched in the rule +files. + +ATTR{file}="value" can be used now, to write to a sysfs file of the +event device. Instead of: + ..., SYSFS{type}=="0|7|14", RUN+="/bin/sh -c 'echo 60 > /sys$$DEVPATH/timeout'" +we now can do: + ..., ATTR{type}=="0|7|14", ATTR{timeout}="60" + +All the PHYSDEV* keys are deprecated and will be removed from a +future kernel: + PHYDEVPATH - is the path of a parent device and should not be + needed at all. + PHYSDEVBUS - is just a SUBSYSTEM value of a parent, and can be + matched with SUBSYSTEMS== + PHYSDEVDRIVER - for bus devices it is available as ENV{DRIVER}. + Newer kernels will have DRIVER in the environment, + for older kernels udev puts in. Class device will + no longer carry this property of a parent and + DRIVERS== can be used to match such a parent value. +Note that ENV{DRIVER} is only available for a few bus devices, where +the driver is already bound at device event time. On coldplug, the +events for a lot devices are already bound to a driver, and they will have +that value set. But on hotplug, at the time the kernel creates the device, +it can't know what driver may claim the device after that, therefore +in most cases it will be empty. + +Failed events should now be re-triggered with: + udevtrigger --retry-failed. +Please switch to this command, so we keep the details of the /dev/.udev/failed/ +files private to the udev tools. We may need to switch the current symlink +target, cause some obviously broken tools try to scan all files in /dev +including /dev/.udev/, find the links to /sys and end up stat()'ing sysfs files +million times. This takes ages on slow boxes. + +The udevinfo attribute walk (-a) now works with giving a device node +name (-n) instead of a devpath (-p). The query now always works, also when +no database file was created by udev. + +The built-in /etc/passwd /etc/group parser is removed, we always depend on +getpwnam() and getgrnam() now. One of the next releases will depend on +fnmatch() and may use getopt_long(). + udev 097 ======== Bugfixes and small improvements. @@ -8,7 +65,7 @@ Fix path_id for recent kernels. udev 095 ======== -%e is finaly gone. +%e is finally gone. Added support for swapping network interface names, by temporarily renaming the device and wait for the target name to become free. diff --git a/TODO b/TODO index b0df3c12d..7954deb50 100644 --- a/TODO +++ b/TODO @@ -1,13 +1,38 @@ -These things need to be done, or would be nice to have: - - o Log the relationship of the kernel name and the persistent disk name +These things would be nice to have: + o log the relationship of the kernel name and the persistent disk name to syslog, so any error logged from the kernel can be associated with - any of the links at that time. + any of the links at that time + +These things will change in future udev versions: + o remove /sys prefix from symlinks in /dev/.udev/{queue,failed} + (broken tools search /dev for files and get lost following to /sys + and stat() sysfs files million times) + + o make DRIVER== to match only the event device + (DRIVERS must be used, we currently translate it to DRIVERS and print + an error if DRIVER is used) + + o switch to fnmatch() instead of our own implementation + + o warn if PHYSDEV* keys are used in ENV keys + (they are deprecated and will be removed from a future kernel) + + o warn if "/device/" is used in a ATTR, ATTRS, $sysfs key + (the device link must not be used in rules or tools, udev resolves + the link and makes the devices available as parents, which can + be matched with the normal keys) + + o warn if BUS, ID, SYSFS are used as keys + (they are SUBSYSTEMS, KERNELS, ATTRS now) These things are deprecated and scheduled for removal in a future udev version: + o remove old udevdb dump 'udevinfo -d' + (-e exports everything) o remove udevstart (we rely on the kernel "uevent" triggers of kernel 2.6.15 and no longer want to guess event properties from sysfs like udevstart is doing it) + o remove extra for /etc/dev.d/ /etc/hotplug.d/ + (that inefficient stuff should finally go away)