NEWS revision ce440d1c1bcd9ac05a34bd987bc68744270214d7
d657c51f14601d0235434ffb78cf6ac0f27cc83cLennart Poetteringudev 167
220a21d38f675eb835f5758e3d23e896573aa5eaLennart Poettering========
6936cd8926b6935364874b3701e86fe823e8c4ceLennart PoetteringBugfixes.
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering
6936cd8926b6935364874b3701e86fe823e8c4ceLennart PoetteringThe udev runtime data moved from /dev/.udev/ to /run/udev/. The
69beda1f75070b36d0562e4050cd567bf2da5a87Kay Sievers/run mountpoint is supposed to be a tmpfs mounted during early boot,
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poetteringavailable and writable to for all tools at any time during bootup,
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poetteringit replaces /var/run/, which should become a symlink some day.
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering
69beda1f75070b36d0562e4050cd567bf2da5a87Kay SieversIf /run does not exist, or is not writable, udev will fall back using
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering/dev/.udev/.
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering
6936cd8926b6935364874b3701e86fe823e8c4ceLennart PoetteringOn systemd systems with initramfs and LVM used, packagers must
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poetteringmake sure, that the systemd and initramfs versions match. The initramfs
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poetteringneeds to create the /run/ mountpoint for udev to store the data, and
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poetteringmount this tmpfs to /run in the rootfs, so the that the udev database
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poetteringis preserved for the udev version started in the rootfs.
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering
6936cd8926b6935364874b3701e86fe823e8c4ceLennart PoetteringThe command 'udevadm info --convert-db' is gone. The udev daemon
69beda1f75070b36d0562e4050cd567bf2da5a87Kay Sieversitself, at startup, converts any old database version if necessary.
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering
6936cd8926b6935364874b3701e86fe823e8c4ceLennart PoetteringThe systemd services files have been reorganized. The udev control
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poetteringsocket is bound by systemd and passed to the started udev daemon.
6936cd8926b6935364874b3701e86fe823e8c4ceLennart PoetteringThe udev-settle.service is no longer active by default. Services which
69beda1f75070b36d0562e4050cd567bf2da5a87Kay Sieverscan not handle hotplug setups properly need to actively pull it in to
69beda1f75070b36d0562e4050cd567bf2da5a87Kay Sieversact like a barrier for basic.target. Alternatively the settle service
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poetteringcan be unconditionally 'systemctl'enabled to work-around such services.
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering
6936cd8926b6935364874b3701e86fe823e8c4ceLennart PoetteringThe fstab_import callout is no longer built or installed. Udev
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poetteringshould not be used to mount, does not watch changes to fstab, and
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poetteringshould not mirror fstab values in the udev database.
499b604b21c02ee64c8590a76d7900d64d7a5cb7Zbigniew Jędrzejewski-Szmek
499b604b21c02ee64c8590a76d7900d64d7a5cb7Zbigniew Jędrzejewski-Szmekudev 166
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering========
6936cd8926b6935364874b3701e86fe823e8c4ceLennart PoetteringBugfixes.
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering
499b604b21c02ee64c8590a76d7900d64d7a5cb7Zbigniew Jędrzejewski-SzmekNew and updated keymaps.
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poetteringudev 165
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering========
499b604b21c02ee64c8590a76d7900d64d7a5cb7Zbigniew Jędrzejewski-SzmekBugfixes.
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering
6936cd8926b6935364874b3701e86fe823e8c4ceLennart PoetteringThe udev database has changed, After installation of a new udev
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poetteringversion, 'udevadm info --convert-db' should be called, to let the new
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poetteringudev/libudev version read the already stored data.
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering
499b604b21c02ee64c8590a76d7900d64d7a5cb7Zbigniew Jędrzejewski-Szmekudevadm now supports quoting of property values, and prefixing of
499b604b21c02ee64c8590a76d7900d64d7a5cb7Zbigniew Jędrzejewski-Szmekkey names:
499b604b21c02ee64c8590a76d7900d64d7a5cb7Zbigniew Jędrzejewski-Szmek $ udevadm info --export --export-prefix=MY_ --query=property -n sda
499b604b21c02ee64c8590a76d7900d64d7a5cb7Zbigniew Jędrzejewski-Szmek MY_MAJOR='259'
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering MY_MINOR='0'
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering MY_DEVNAME='/dev/sda'
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering MY_DEVTYPE='disk'
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering ...
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poetteringlibudev now supports:
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering udev_device_get_is_initialized()
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering udev_enumerate_add_match_is_initialized()
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poetteringto be able to skip devices the kernel has created , but udev has
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poetteringnot already handled.
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poetteringlibudev now supports:
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering udev_device_get_usec_since_initialized()
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poetteringto retrieve the "age" of a udev device record.
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering
6936cd8926b6935364874b3701e86fe823e8c4ceLennart PoetteringGUdev supports a more generic GUdevEnumerator class, udev TAG
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poetteringhandling, device initialization and timestamp now.
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering
6936cd8926b6935364874b3701e86fe823e8c4ceLennart PoetteringThe counterpart of /sys/dev/{char,block}/$major:$minor,
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering/dev/{char,block}/$major:$minor symlinks are now unconditionally
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poetteringcreated, even when no rule files exist.
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering
6936cd8926b6935364874b3701e86fe823e8c4ceLennart PoetteringNew and updated keymaps.
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poetteringudev 164
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering========
6936cd8926b6935364874b3701e86fe823e8c4ceLennart PoetteringBugfixes.
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering
6936cd8926b6935364874b3701e86fe823e8c4ceLennart PoetteringGUdev moved from /usr to /.
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poetteringudev 163
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering========
6936cd8926b6935364874b3701e86fe823e8c4ceLennart PoetteringBugfixes.
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poetteringudev 162
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering========
6936cd8926b6935364874b3701e86fe823e8c4ceLennart PoetteringBugfixes.
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering
6936cd8926b6935364874b3701e86fe823e8c4ceLennart PoetteringPersistent network naming rules are disabled inside of Qemu/KVM now.
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering
6936cd8926b6935364874b3701e86fe823e8c4ceLennart PoetteringNew and updated keymaps.
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering
68dd0956ef9d607e6ff9aea15883a2c290a33c2aTom GundersenUdev gets unconditionally enabled on systemd installations now. There
68dd0956ef9d607e6ff9aea15883a2c290a33c2aTom Gundersenis no longer the need to to run 'systemctl enable udev.service'.
68dd0956ef9d607e6ff9aea15883a2c290a33c2aTom Gundersen
68dd0956ef9d607e6ff9aea15883a2c290a33c2aTom Gundersenudev 161
68dd0956ef9d607e6ff9aea15883a2c290a33c2aTom Gundersen========
68dd0956ef9d607e6ff9aea15883a2c290a33c2aTom GundersenBugfixes.
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering
499b604b21c02ee64c8590a76d7900d64d7a5cb7Zbigniew Jędrzejewski-Szmekudev 160
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering========
69beda1f75070b36d0562e4050cd567bf2da5a87Kay SieversBugfixes.
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poetteringudev 159
8e7acf67b278e47cff0f849780365f8b1a824189Lennart Poettering========
8e7acf67b278e47cff0f849780365f8b1a824189Lennart PoetteringBugfixes.
8e7acf67b278e47cff0f849780365f8b1a824189Lennart Poettering
8e7acf67b278e47cff0f849780365f8b1a824189Lennart PoetteringNew and fixed keymaps.
8e7acf67b278e47cff0f849780365f8b1a824189Lennart Poettering
8e7acf67b278e47cff0f849780365f8b1a824189Lennart PoetteringInstall systemd service files if applicable.
8e7acf67b278e47cff0f849780365f8b1a824189Lennart Poettering
8e7acf67b278e47cff0f849780365f8b1a824189Lennart Poetteringudev 158
8e7acf67b278e47cff0f849780365f8b1a824189Lennart Poettering========
6936cd8926b6935364874b3701e86fe823e8c4ceLennart PoetteringBugfixes.
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering
6936cd8926b6935364874b3701e86fe823e8c4ceLennart PoetteringAll distribution specific rules are removed from the udev source tree,
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poetteringmost of them are no longer needed. The Gentoo rules which allow to support
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poetteringolder kernel versions, which are not covered by the default rules anymore
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poetteringhas moved to rules/misc/30-kernel-compat.rules.
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poetteringudev 157
8e7acf67b278e47cff0f849780365f8b1a824189Lennart Poettering========
8e7acf67b278e47cff0f849780365f8b1a824189Lennart PoetteringBugfixes.
8e7acf67b278e47cff0f849780365f8b1a824189Lennart Poettering
8e7acf67b278e47cff0f849780365f8b1a824189Lennart PoetteringThe option --debug-trace and the environemnt variable UDEVD_MAX_CHILDS=
8e7acf67b278e47cff0f849780365f8b1a824189Lennart Poetteringwas removed from udevd.
8e7acf67b278e47cff0f849780365f8b1a824189Lennart Poettering
8e7acf67b278e47cff0f849780365f8b1a824189Lennart PoetteringUdevd now checks the kernel commandline for the following variables:
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering udev.log-priority=<syslog priority>
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poettering udev.children-max=<maximum number of workers>
8e7acf67b278e47cff0f849780365f8b1a824189Lennart Poettering udev.exec-delay=<seconds to delay the execution of RUN=>
6936cd8926b6935364874b3701e86fe823e8c4ceLennart Poetteringto help debuging coldplug setups where the loading of a kernel
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringmodule crashes the system.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringThe subdirectory in the source tree rules/packages has been renamed to
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringrules/arch, anc contains only architecture specific rules now.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringudev 156
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering========
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringBugfixes.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringudev 155
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering========
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringBugfixes.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringNow the udev daemon itself, does on startup:
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering - copy the content of /lib/udev/devices to /dev
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering - create the standard symlinks like /dev/std{in,out,err},
499b604b21c02ee64c8590a76d7900d64d7a5cb7Zbigniew Jędrzejewski-Szmek /dev/core, /dev/fd, ...
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering - use static node information provided by kernel modules
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering and creates these nodes to allow module on-demand loading
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering - possibly apply permissions to all ststic nodes from udev
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering rules which are annotated to match a static node
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringThe default mode for a device node is 0600 now to match the kernel
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringcreated devtmpfs defaults. If GROUP= is specified and no MODE= is
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringgiven the default will be 0660.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringudev 154
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering========
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringBugfixes.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringUdev now gradually starts to pass control over the primary device nodes
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringand their names to the kernel, and will in the end only manage the
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringpermissions of the node, and possibly create additional symlinks.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringAs a first step NAME="" will be ignored, and NAME= setings with names
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringother than the kernel provided name will result in a logged warning.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringKernels that don't provide device names, or devtmpfs is not used, will
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringstill work as they did before, but it is strongly recommended to use
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringonly the same names for the primary device node as the recent kernel
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringprovides for all devices.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringudev 153
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering========
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringFix broken firmware loader search path.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering
70a44afee385c4afadaab9a002b3f9dd44aedf4aJan Engelhardtudev 152
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering========
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringBugfixes.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering"udevadm trigger" defaults to "change" events now instead of "add"
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringevents. The "udev boot script" might need to add "--action=add" to
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringthe trigger command if not already there, in case the initial coldplug
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringevents are expected as "add" events.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringThe option "all_partitons" was removed from udev. This should not be
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringneeded for usual hardware. Udev can not safely make assumptions
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringabout non-existing partition major/minor numbers, and therefore no
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringlonger provide this unreliable and unsafe option.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringThe option "ignore_remove" was removed from udev. With devtmpfs
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringudev passed control over device nodes to the kernel. This option
b8bde11658366290521e3d03316378b482600323Jan Engelhardtshould not be needed, or can not work as advertised. Neither
b8bde11658366290521e3d03316378b482600323Jan Engelhardtudev nor the kernel will remove device nodes which are copied from
b8bde11658366290521e3d03316378b482600323Jan Engelhardtthe /lib/udev/devices/ directory.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringAll "add|change" matches are replaced by "!remove" in the rules and
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringin the udev logic. All types of events will update possible symlinks
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringand permissions, only "remove" is handled special now.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringThe modem modeswitch extra was removed and the external usb_modeswitch
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringprogram should be used instead.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringNew and fixed keymaps.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringudev 151
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering========
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringBugfixes.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringudev 150
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering========
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringBugfixes.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringKernels with SYSFS_DEPRECATED=y are not supported since a while. Many users
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringdepend on the current sysfs layout and the information not available in the
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringdeprecated layout. All remaining support for the deprecated sysfs layout is
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringremoved now.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringudev 149
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering========
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringFix for a possible endless loop in the new input_id program.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringudev 148
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering========
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringBugfixes.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringThe option "ignore_device" does no longer exist. There is no way to
b8bde11658366290521e3d03316378b482600323Jan Engelhardtignore an event, as libudev events can not be suppressed by rules.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringIt only prevented RUN keys from being executed, which results in an
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringinconsistent behavior in current setups.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringBUS=, SYSFS{}=, ID= are long deprecated and should be SUBSYSTEM(S)=,
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringATTR(S){}=, KERNEL(S)=. It will cause a warning once for every rule
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringfile from now on.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringThe support for the deprecated IDE devices has been removed from the
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringdefault set of rules. Distros who still care about non-libata drivers
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringneed to add the rules to the compat rules file.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringThe ID_CLASS property on input devices has been replaced by the more accurate
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringset of flags ID_INPUT_{KEYBOARD,KEY,MOUSE,TOUCHPAD,TABLET,JOYSTICK}. These are
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringdetermined by the new "input_id" prober now. Some devices, such as touchpads,
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringcan have several classes. So if you previously had custom udev rules which e. g.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringchecked for ENV{ID_CLASS}=="kbd", you need to replace this with
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringENV{ID_INPUT_KEYBOARD}=="?*".
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringudev 147
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering========
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringBugfixes.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering
b8bde11658366290521e3d03316378b482600323Jan EngelhardtTo support DEVPATH strings larger than the maximum file name length, the
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringprivate udev database format has changed. If some software still reads the
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringprivate files in /dev/.udev/, which it shouldn't, now it's time to fix it.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringPlease do not port anything to the new format again, everything in /dev/.udev
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringis and always was private to udev, and may and will change any time without
b8bde11658366290521e3d03316378b482600323Jan Engelhardtprior notice.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringMultiple devices claiming the same names in /dev are limited to symlinks
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringonly now. Mixing identical symlink names and node names is not supported.
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan EngelhardtThis reduces the amount of data in the database significantly.
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan Engelhardt
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringNAME="%k" causes a warning now. It's is and always was completely superfluous.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringIt will break kernel supplied DEVNAMEs and therefore it needs to be removed
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringfrom all rules.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringMost NAME= instructions got removed. Kernel 2.6.31 supplies the needed names
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringif they are not the default. To support older kernels, the NAME= rules need to
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringbe added to the compat rules file.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringSymlinks to udevadm with the old command names are no longer resolved to
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringthe udevadm commands.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringThe udev-acl tool got adopted to changes in ConsoleKit. Version 0.4.1 is
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringrequired now.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringThe option "last_rule" does no longer exist. Its use breaks too many
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringthings which expect to be run from independent later rules, and is an idication
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poetteringthat something needs to be fixed properly instead.
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart Poettering
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringThe gudev API is no longer marked as experimental,
51c61cda1a542c9e999bfdc6aab4a029c0ae7f5aLennart PoetteringG_UDEV_API_IS_SUBJECT_TO_CHANGE is no longer needed. The gudev introspection
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringis enabled by default now. Various projects already depend on introspection
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringinformation to bind dynamic languages to the gudev interfaces.
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringudev 146
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering========
699b6b3491dc265ead79602404ad67ccdacae302Lennart PoetteringBugfixes.
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering
699b6b3491dc265ead79602404ad67ccdacae302Lennart PoetteringThe udevadm trigger "--retry-failed" option, which is replaced since quite
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringa while by "--type=failed" is removed.
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering
699b6b3491dc265ead79602404ad67ccdacae302Lennart PoetteringThe failed tracking was not working at all for a few releases. The RUN
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringoption "ignore_error" is replaced by a "fail_event_on_error" option, and the
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringdefault is not to track any failing RUN executions.
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering
699b6b3491dc265ead79602404ad67ccdacae302Lennart PoetteringNew keymaps, new modem, hid2hci updated.
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringudev 145
f1721625e7145977ba705e169580f2eb0002600cNis Martensen========
699b6b3491dc265ead79602404ad67ccdacae302Lennart PoetteringFix possible crash in udevd when worker processes are busy, rules are
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringchanged at the same time, and workers get killed to reload the rules.
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringudev 144
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering========
699b6b3491dc265ead79602404ad67ccdacae302Lennart PoetteringBugfixes.
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering
699b6b3491dc265ead79602404ad67ccdacae302Lennart PoetteringProperties set with ENV{.FOO}="bar" are marked private by starting the
22e7062d749c69d7edfcd52ef7cc6ec005e862d5David Herrmannname with a '.'. They will not be stored in the database, and not be
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringexported with the event.
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering
699b6b3491dc265ead79602404ad67ccdacae302Lennart PoetteringFirmware files are looked up in:
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering /lib/firmware/updates/$(uname -r)
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering /lib/firmware/updates
b8bde11658366290521e3d03316378b482600323Jan Engelhardt /lib/firmware/$(uname -r)
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering /lib/firmware"
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringnow.
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering
699b6b3491dc265ead79602404ad67ccdacae302Lennart PoetteringATA devices switched the property from ID_BUS=scsi to ID_BUS=ata.
b8bde11658366290521e3d03316378b482600323Jan Engelhardtata_id, instead of scsi_id, is the default tool now for ATA devices.
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringudev 143
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering========
699b6b3491dc265ead79602404ad67ccdacae302Lennart PoetteringBugfixes.
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering
699b6b3491dc265ead79602404ad67ccdacae302Lennart PoetteringThe configure options have changed because another library needs to be
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringinstalled in a different location. Instead of exec_prefix and udev_prefix,
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringlibdir, rootlibdir and libexecdir are used. The Details are explained in
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringthe README file.
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering
699b6b3491dc265ead79602404ad67ccdacae302Lennart PoetteringEvent processes now get re-used after they handled an event. This reduces
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringthe number of forks and the pressure on the CPU significantly, because
499b604b21c02ee64c8590a76d7900d64d7a5cb7Zbigniew Jędrzejewski-Szmekcloned event processes no longer cause page faults in the main daemon.
699b6b3491dc265ead79602404ad67ccdacae302Lennart PoetteringAfter the events have settled, a few worker processes stay around for
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringfuture events, all others get cleaned up.
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering
699b6b3491dc265ead79602404ad67ccdacae302Lennart PoetteringTo be able to use signalfd(), udev depends on kernel version 2.6.25 now.
699b6b3491dc265ead79602404ad67ccdacae302Lennart PoetteringAlso inotify support is mandatory now to run udev.
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering
699b6b3491dc265ead79602404ad67ccdacae302Lennart PoetteringThe format of the queue exported by the udev damon has changed. There is
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringno longer a /dev/.udev/queue/ directory. The current event queue can be
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringaccessed with udevadm settle and libudedv.
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering
699b6b3491dc265ead79602404ad67ccdacae302Lennart PoetteringLibudev does not have the unstable API header anymore. From now on,
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringincompatible changes will be handled by bumping the library major version.
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering
699b6b3491dc265ead79602404ad67ccdacae302Lennart PoetteringTo build udev from the git tree gtk-doc is needed now. The tarballs will
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringbuild without it and contain the pre-built documentation. An online copy
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringis available here:
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering http://www.kernel.org/pub/linux/utils/kernel/hotplug/libudev/
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering
4ef6e535e30c67d4ff34b2ca785e555dbaeac14eKay SieversThe tools from the udev-extras repository have been merged into the main
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringudev repository. Some of the extras have larger external dependencies, and
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringthey can be disabled with the configure switch --disable-extras.
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringudev 142
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering========
699b6b3491dc265ead79602404ad67ccdacae302Lennart PoetteringBugfixes.
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering
4ef6e535e30c67d4ff34b2ca785e555dbaeac14eKay SieversThe program vol_id and the library libvolume_id are removed from the
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringrepository. Libvolume_id is merged with libblkid from the util-linux-ng
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringpackage. Persistent disk links for label and uuid depend on the
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringutil-linux-ng version (2.15) of blkid now. Older versions of blkid
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringcan not be used with udev.
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering
699b6b3491dc265ead79602404ad67ccdacae302Lennart PoetteringLibudev allows to subscribe to udev events. To prevent unwanted messages
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringto be delivered, and waking up the subscribing process, a filter can be
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringinstalled, to drop messages inside a kernel socket filter. The filters
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringmatch on the <subsytem>:<devtype> properties of the device.
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering This is part of the ongoing effort to replace HAL, and switch current
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringusers over to directly use libudev.
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering Libudev is still marked as experimental, and its interface might
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringeventually change if needed, but no major changes of the currently exported
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringinterface are expected anymore, and a first stable release should happen
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringsoon.
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering
4ef6e535e30c67d4ff34b2ca785e555dbaeac14eKay SieversA too old kernel (2.6.21) or a kernel with CONFIG_SYSFS_DEPRECATED
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringis not supported since while and udevd will log an error message at
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringstartup. It should still be able to boot-up, but advanced rules and system
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringservices which depend on the information not available in the old sysfs
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringformat will fail to work correctly.
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering
699b6b3491dc265ead79602404ad67ccdacae302Lennart PoetteringDVB device naming is supplied by the kernel now. In case older kernels
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringneed to be supported, the old shell script should be added to a compat
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringrules file.
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringudev 141
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering========
699b6b3491dc265ead79602404ad67ccdacae302Lennart PoetteringBugfixes.
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering
699b6b3491dc265ead79602404ad67ccdacae302Lennart PoetteringThe processed udev events get send back to the netlink socket. Libudev
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringprovides access to these events. This is work-in-progress, to replace
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringthe DeviceKit daemon functionality directly with libudev. There are
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringupcoming kernel changes to allow non-root users to subcribe to these
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringevents.
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringudev 140
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering========
699b6b3491dc265ead79602404ad67ccdacae302Lennart PoetteringBugfixes.
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering"udevadm settle" now optionally accepts a range of events to wait for,
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringinstead of waiting for "all" events.
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poettering
699b6b3491dc265ead79602404ad67ccdacae302Lennart Poetteringudev 139
13b28d822462e9a0a7130ad40bed08cb380082f0Lennart Poettering========
699b6b3491dc265ead79602404ad67ccdacae302Lennart PoetteringBugfixes.
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poettering
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart PoetteringThe installed watch for block device metadata changes is now removed
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringduring event hadling, because some (broken) tools may be called from udev
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringrules and (wrongly) open the device with write access. After the finished
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringevent handling the watch is restored.
67dd87c51b1ba254dc6a0eeae41762aace40addaLennart Poettering
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringudev 138
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poettering========
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart PoetteringBugfixes.
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poettering
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart PoetteringDevice nodes can be watched for changes with inotify with OPTIONS="watch".
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart PoetteringIf closed after being opened for writing, a "change" uevent will occur.
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poettering/dev/disk/by-{label,uuid}/* symlinks will be automatically updated.
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poettering
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringudev 137
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poettering========
ed28905eecf631916f03edd0a7dfad8b0a177990Kay SieversBugfixes.
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poettering
b8bde11658366290521e3d03316378b482600323Jan EngelhardtThe udevadm test command has no longer a --force option, nodes and symlinks
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringare always updated with a test run now.
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poettering
ed28905eecf631916f03edd0a7dfad8b0a177990Kay SieversThe udevd daemon can be started with --resolve-names=never to avoid all user
b8bde11658366290521e3d03316378b482600323Jan Engelhardtand group lookups (e.g. in cut-down systems) or --resolve-names=late to
ed28905eecf631916f03edd0a7dfad8b0a177990Kay Sieverslookup user and groups every time events are handled.
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poettering
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringudev 136
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poettering========
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart PoetteringBugfixes.
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poettering
d27893efdf652c6d85ea590fa0b7c2b88f817083Lennart PoetteringWe are currently merging the Ubuntu rules in the udev default rules,
949138ccc3417748b0978980e4a1c67955dd4ba4Ansgar Burchardtand get one step closer to provide a common Linux /dev setup, regarding
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringdevice names, symlinks, and default device permissions. On udev startup,
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringwe now expect the following groups to be resolvable to their ids with
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringglibc's getgrnam():
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poettering disk, cdrom, floppy, tape, audio, video, lp, tty, dialout, kmem.
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart PoetteringLDAP setups need to make sure, that these groups are always resolvable at
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringbootup, with only the rootfs mounted, and without network access available.
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poettering
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart PoetteringSome systems may need to add some new, currently not used groups, or need
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringto add some users to new groups, but the cost of this change is minimal,
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringcompared to the pain the current, rather random, differences between the
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringvarious distributions cause for upstream projects and third-party vendors.
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poettering
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart PoetteringIn general, "normal" users who log into a machine should never be a member
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringof any such group, but the device-access should be managed by dynamic ACLs,
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringwhich get added and removed for the specific users on login/logout and
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringsession activity/inactivity. These groups are only provided for custom setups,
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringand mainly system services, to allow proper privilege separation.
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart PoetteringA video-streaming daemon uid would be a member of "audio" and "video", to get
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringaccess to the sound and video devices, but no "normal" user should ever belong
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringto the "audio" group, because he could listen to the built-in microphone with
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringany ssh-session established from the other side of the world.
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poettering
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poettering/dev/serial/by-{id,path}/ now contains links for ttyUSB devices,
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringwhich do not depend on the kernel device name. As usual, unique
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringdevices - only a single one per product connected, or a real
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart PoetteringUSB serial number in the device - are always found with the same
ed28905eecf631916f03edd0a7dfad8b0a177990Kay Sieversname in the by-id/ directory.
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart PoetteringCompletely identical devices may overwrite their names in by-id/
b8bde11658366290521e3d03316378b482600323Jan Engelhardtand can only be found reliably in the by-path/ directory. Devices
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringspecified by by-path/ must not change their connection, like the
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart PoetteringUSB port number they are plugged in, to keep their name.
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poettering
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart PoetteringTo support some advanced features, Linux 2.6.22 is the oldest supported
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringversion now. The kernel config with enabled SYSFS_DEPRECATED is no longer
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringsupported. Older kernels should still work, and devices nodes should be
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringreliably created, but some rules and libudev will not work correctly because
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringthe old kernels do not provide the expected information or interfaces.
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poettering
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringudev 135
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poettering========
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart PoetteringBugfixes.
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poettering
b8bde11658366290521e3d03316378b482600323Jan EngelhardtFix for a possible segfault while swapping network interface names in udev
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringversions 131-134.
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poettering
b8bde11658366290521e3d03316378b482600323Jan Engelhardtudev 134
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poettering========
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart PoetteringBugfixes.
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poettering
d27893efdf652c6d85ea590fa0b7c2b88f817083Lennart PoetteringThe group "video" is part of the default rules now.
d27893efdf652c6d85ea590fa0b7c2b88f817083Lennart Poettering
d27893efdf652c6d85ea590fa0b7c2b88f817083Lennart Poetteringudev 133
b8bde11658366290521e3d03316378b482600323Jan Engelhardt========
d27893efdf652c6d85ea590fa0b7c2b88f817083Lennart PoetteringBugfix for kernels using SYSFS_DEPRECATED* option and finding parent
d27893efdf652c6d85ea590fa0b7c2b88f817083Lennart Poetteringblock devices in some cases. No common distro uses this option anymore,
b8bde11658366290521e3d03316378b482600323Jan Engelhardtand we do not get enough testing for this and recent udev versions. If
d27893efdf652c6d85ea590fa0b7c2b88f817083Lennart Poetteringthis option is not needed to run some old distro with a new kernel,
d27893efdf652c6d85ea590fa0b7c2b88f817083Lennart Poetteringit should be disabled in the kernel config.
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan Engelhardt
ed28905eecf631916f03edd0a7dfad8b0a177990Kay SieversBugfix for the $links substitution variable, which may crash if no links
d27893efdf652c6d85ea590fa0b7c2b88f817083Lennart Poetteringare created. This should not happen in usual setups because we always
d27893efdf652c6d85ea590fa0b7c2b88f817083Lennart Poetteringcreate /dev/{block,char}/ links.
d27893efdf652c6d85ea590fa0b7c2b88f817083Lennart Poettering
13b28d822462e9a0a7130ad40bed08cb380082f0Lennart PoetteringThe strings of the parsed rules, which are kept in memory, no longer
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringcontain duplicate entries, or duplicate tails of strings. This, and the
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringnew rules parsing/matching code reduces the total in-memory size of
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringa huge distro rule sets to 0.08 MB, compared to the 1.2MB of udev
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringversion 130.
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poettering
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart PoetteringThe export of DEVTYPE=disk/partition got removed from the default
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringrules. This value is available from the kernel. The pnp shell script
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringmodprobe hack is removed from the default rules. ACPI devices have _proper_
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart Poetteringmodalias support and take care of the same functionality.
43c71255b3db02916f4f70afa18bab196c6f4a45Lennart PoetteringInstallations which support old kernels, but install current default
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringudev rules may want to add that to the compat rules file.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringLibvolume_id now always probes for all known filesystems, and does not
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringstop at the first match. Some filesystems are marked as "exclusive probe",
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. Johnand if any other filesytem type matches at the same time, libvolume_id
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. Johnwill, by default, not return any probing result. This is intended to prevent
4670e9d5f23fc39360c086fb58eadf8b157ee205Jan Engelhardtmis-detection with conflicting left-over signatures found from earlier
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. Johnfile system formats. That way, we no longer depend on the probe-order
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. Johnin case of multiple competing signatures. In some setups the kernel allows
4670e9d5f23fc39360c086fb58eadf8b157ee205Jan Engelhardtto mount a volume with just the old filesystem signature still in place.
1e190502e78cea1f8bcb62e6d390305c89e41e6aZbigniew Jędrzejewski-SzmekThis may damage the new filesystem and cause data-loss, just by mounting
4670e9d5f23fc39360c086fb58eadf8b157ee205Jan Engelhardtit. Because volume_id can not decide which one the correct signature is,
1e190502e78cea1f8bcb62e6d390305c89e41e6aZbigniew Jędrzejewski-Szmekthe wrong signatures need to be removed manually from the volume, or the
1e190502e78cea1f8bcb62e6d390305c89e41e6aZbigniew Jędrzejewski-Szmekvolume needs to be reformatted, to enable filesystem detection and possible
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringauto-mounting.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
4c2413bffa7861bd3c4b3589c821ab7e0ac51c83Jan Engelhardtudev 132
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering========
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringFix segfault if compiled without optimization and dbg() does not get
4c2413bffa7861bd3c4b3589c821ab7e0ac51c83Jan Engelhardtcompiled out and uses variables which are not available.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringudev 131
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering========
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringBugfixes. (And maybe new bugs. :))
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. John
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. JohnThe rule matching engine got converted from a rule list to a token
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringarray which reduced the in-memory rules representation of a full
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringfeatured distros with thousends of udev rules from 1.2MB to 0.12 MB.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringLimits like 5 ENV and ATTR matches, and one single instance for most
4c2413bffa7861bd3c4b3589c821ab7e0ac51c83Jan Engelhardtother keys per rule are gone.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringThe NAME assignment is no longer special cased. If later rules assign
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringa NAME value again, the former value will be overwritten. As usual
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringfor most other keys, the NAME value can be protected by doing a final
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. Johnassignment with NAME:="<value>".
4c2413bffa7861bd3c4b3589c821ab7e0ac51c83Jan Engelhardt
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. JohnAll udev code now uses libudev, which is also exported. The library
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringis still under development, marked as experimental, and its interface
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringmay change as long as the DeviceKit integration is not finished.
dfb08b058401d56c395f4f2d20ff214d31a277e5Zbigniew Jędrzejewski-Szmek
dfb08b058401d56c395f4f2d20ff214d31a277e5Zbigniew Jędrzejewski-SzmekMany thanks to Alan Jenkins for his continuous help, and finding and
dfb08b058401d56c395f4f2d20ff214d31a277e5Zbigniew Jędrzejewski-Szmekoptimizing some of the computing expensive parts.
dfb08b058401d56c395f4f2d20ff214d31a277e5Zbigniew Jędrzejewski-Szmek
dfb08b058401d56c395f4f2d20ff214d31a277e5Zbigniew Jędrzejewski-Szmekudev 130
dfb08b058401d56c395f4f2d20ff214d31a277e5Zbigniew Jędrzejewski-Szmek========
dfb08b058401d56c395f4f2d20ff214d31a277e5Zbigniew Jędrzejewski-SzmekBugfixes.
dfb08b058401d56c395f4f2d20ff214d31a277e5Zbigniew Jędrzejewski-Szmek
dfb08b058401d56c395f4f2d20ff214d31a277e5Zbigniew Jędrzejewski-SzmekKernel devices and device nodes are connected now by reverse indizes in
dfb08b058401d56c395f4f2d20ff214d31a277e5Zbigniew Jędrzejewski-Szmek/sys and /dev. A device number retrieved by a stat() or similar, the
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringkernel device directory can be found by looking up:
4c2413bffa7861bd3c4b3589c821ab7e0ac51c83Jan Engelhardt /sys/dev/{block,char}/<maj>:<min>
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringand the device node of the same device by looking up:
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering /dev/{block,char}/<maj>:<min>
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringudev 129
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering========
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringFix recently introduced bug, which caused a compilation without large
4c2413bffa7861bd3c4b3589c821ab7e0ac51c83Jan Engelhardtfile support, where vol_id does not recognize raid signatures at the end
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringof a volume.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringFirewire disks now create both, by-id/scsi-* and by-id/ieee-* links.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringSeems some kernel versions prevent the creation of the ieee-* links,
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringso people used the scsi-* link which disappeared now.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringMore libudev work. Almost all udevadm functionality comes from libudev
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringnow.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringudevadm trigger has a new option --type, which allows to trigger events
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringfor "devices", for "subsystems", or "failed" devices. The old option
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. John--retry-failed" still works, but is no longer mentioned in the man page.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
1e190502e78cea1f8bcb62e6d390305c89e41e6aZbigniew Jędrzejewski-Szmekudev 128
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering========
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringBugfixes.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringThe udevadm info --device-id-of-file= output has changed to use
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringthe obvious format. Possible current users should use the --export
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringoption which is not affected.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringThe old udev commands symlinks to udevadm are not installed, if
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringthese symlinks are used, a warning is printed.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringudev 127
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering========
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringBugfixes.
b97610038a122ff30e60b1996369ca4b979d8b19Kay Sievers
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringOptical drive's media is no longer probed for raid signatures,
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringreading the end of the device causes some devices to malfunction.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringAlso the offset of the last session found is used now to probe
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringfor the filesystem.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringThe volume_id library got a major version number update to 1,
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringsome deprecated functions are removed.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringA shared library "libudev" gets installed now to provide access
7e95eda5b36f4a5259e1e86989b5aee824d83d03Patrik Flyktto udev device information. DeviceKit, the successor of HAL, will
7e95eda5b36f4a5259e1e86989b5aee824d83d03Patrik Flyktneed this library to access the udev database and search sysfs for
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringdevices.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringThe library is currently in an experimental state, also the API is
4c2413bffa7861bd3c4b3589c821ab7e0ac51c83Jan Engelhardtexpected to change, as long as the DeviceKit integration is not
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. Johnfinished.
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. John
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. Johnudev 126
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. John========
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringWe use ./configure now. See INSTALL for details. Current
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringoptions are:
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering --prefix=
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering "/usr" - prefix for man pages, include files
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering --exec-prefix=
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering "" - the root filesystem, prefix for libs and binaries
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. John --sysconfdir=
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering "/etc"
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering --with-libdir-name=
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering "lib" - directory name for libraries, not a path name
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering multilib 64bit systems may use "lib64" instead of "lib"
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering --enable-debug
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering compile-in verbose debug messages
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering --disable-logging
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering disable all logging and compile-out all log strings
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering --with-selinux
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering link against SELInux libraries, to set the expected context
4c2413bffa7861bd3c4b3589c821ab7e0ac51c83Jan Engelhardt for created files
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. John
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. JohnIn the default rules, the group "disk" gets permissions 0660 instead
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringof 0640. One small step closer to unify distro rules. Some day, all
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringdistros hopefully end up with the same set of rules.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringNo symlinks to udevadm are installed anymore, if they are still needed,
8e420494bc59d8b9d43e6d34d8ec8bb765946c74Lennart Poetteringthey should be provided by the package.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringudev 125
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering========
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringBugfixes.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringDefault udev rules, which are not supposed to be edited by the user, should
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringbe placed in /lib/udev/rules.d/ now, to make it clear that they are private to
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringthe udev package and will be replaced with an update. Udev will pick up rule
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringfiles from:
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering /lib/udev/rules.d/ - default installed rules
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering /etc/udev/rules.d/ - user rules + on-the-fly generated rules
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering /dev/.udev/rules.d/ - temporary non-persistent rules created after bootup
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringIt does not matter in which directory a rule file lives, all files are sorted
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringin lexical order.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringTo help creating /dev/root, we have now:
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. John $ udevadm info --export --export-prefix="ROOT_" --device-id-of-file=/
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering ROOT_MAJOR=8
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering ROOT_MINOR=5
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringIn case the current --device-id-of-file is already used, please switch to
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringthe --export format version, it saves the output parsing and the old
b97610038a122ff30e60b1996369ca4b979d8b19Kay Sieversformat will be changed to use ':' as a separator, like the format in the
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringsysfs 'dev' file.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
270f1624022039b370b9db311f9d33492833ad24Lennart Poetteringudev 124
270f1624022039b370b9db311f9d33492833ad24Lennart Poettering========
8e420494bc59d8b9d43e6d34d8ec8bb765946c74Lennart PoetteringFix cdrom_id to properly recognize blank media.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
4670e9d5f23fc39360c086fb58eadf8b157ee205Jan Engelhardtudev 123
1e190502e78cea1f8bcb62e6d390305c89e41e6aZbigniew Jędrzejewski-Szmek========
1e190502e78cea1f8bcb62e6d390305c89e41e6aZbigniew Jędrzejewski-SzmekBugfixes.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringTape drive id-data is queried from /dev/bsg/* instead of the tape
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringnodes. This avoids rewinding tapes on open().
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringudev 122
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering========
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringBugfixes.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringThe symlinks udevcontrol and udevtrigger are no longer installed by
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringthe Makefile.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringThe scsi_id program does not depend on sysfs anymore. It can speak
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringSGv4 now, so /dev/bsg/* device nodes can be used, to query SCSI device
1e190502e78cea1f8bcb62e6d390305c89e41e6aZbigniew Jędrzejewski-Szmekdata, which should solve some old problems with tape devices, where
1e190502e78cea1f8bcb62e6d390305c89e41e6aZbigniew Jędrzejewski-Szmekwe better do not open all tape device nodes to identify the device.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringudev 121
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering========
1e190502e78cea1f8bcb62e6d390305c89e41e6aZbigniew Jędrzejewski-SzmekMany bugfixes.
1e190502e78cea1f8bcb62e6d390305c89e41e6aZbigniew Jędrzejewski-Szmek
1e190502e78cea1f8bcb62e6d390305c89e41e6aZbigniew Jędrzejewski-SzmekThe cdrom_id program is replaced by an advanced version, which can
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringdetect most common device types, and also properties of the inserted
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringmedia. This is part of moving some basic functionality from HAL into
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringudev (and the kernel).
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
4c2413bffa7861bd3c4b3589c821ab7e0ac51c83Jan Engelhardtudev 120
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering========
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringBugfixes.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringThe last WAIT_FOR_SYSFS rule is removed from the default rules.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringThe symlinks to udevadm for the debugging tools: udevmonitor and
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringudevtest are no longer created.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringThe symlinks to the udevadm man page for the old tool names are
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringno longer created.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringAbstract namespace sockets paths in RUN+="socket:@<path>" rules,
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringshould be prefixed with '@' to indicate that the path is not a
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringreal file.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringudev 119
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering========
8e420494bc59d8b9d43e6d34d8ec8bb765946c74Lennart PoetteringBugfixes.
8e420494bc59d8b9d43e6d34d8ec8bb765946c74Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringudev 118
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering========
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringBugfixes.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringUdevstart is removed from the tree, it did not get installed for
1e190502e78cea1f8bcb62e6d390305c89e41e6aZbigniew Jędrzejewski-Szmeka long time now, and is long replaced by trigger and settle.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringudev 117
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering========
4c2413bffa7861bd3c4b3589c821ab7e0ac51c83Jan EngelhardtBugfixes.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
4670e9d5f23fc39360c086fb58eadf8b157ee205Jan EngelhardtAll udev tools are merged into a single binary called udevadm.
1e190502e78cea1f8bcb62e6d390305c89e41e6aZbigniew Jędrzejewski-SzmekThe old names of the tools are built-in commands in udevadm now.
1e190502e78cea1f8bcb62e6d390305c89e41e6aZbigniew Jędrzejewski-SzmekSymlinks to udevadm, with the names of the old tools, provide
1e190502e78cea1f8bcb62e6d390305c89e41e6aZbigniew Jędrzejewski-Szmekthe same functionality as the standalone tools. There is also
1e190502e78cea1f8bcb62e6d390305c89e41e6aZbigniew Jędrzejewski-Szmekonly a single udevadm.8 man page left for all tools.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
c0c5af00bec95567435bdfb818c69b2b669adfedDaniel BuchTools like mkinitramfs should be checked, if they need to include
4c2413bffa7861bd3c4b3589c821ab7e0ac51c83Jan Engelhardtudevadm in the list of files.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
4c2413bffa7861bd3c4b3589c821ab7e0ac51c83Jan Engelhardtudev 116
4c2413bffa7861bd3c4b3589c821ab7e0ac51c83Jan Engelhardt========
4c2413bffa7861bd3c4b3589c821ab7e0ac51c83Jan EngelhardtBugfixes.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. Johnudev 115
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering========
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringBugfixes.
6300b3eca9e5261b73bd7f1bb9735992b127cd80Lennart Poettering
6300b3eca9e5261b73bd7f1bb9735992b127cd80Lennart PoetteringThe etc/udev/rules.d/ directory now contains a default set of basic
6300b3eca9e5261b73bd7f1bb9735992b127cd80Lennart Poetteringudev rules. This initial version is the result of a rules file merge
6300b3eca9e5261b73bd7f1bb9735992b127cd80Lennart Poetteringof Fedora and openSUSE. For these both distros only a few specific
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. Johnrules are left in their own file, named after the distro. Rules which
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. Johnare optionally installed, because they are only valid for a specific
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringarchitecture, or rules for subsystems which are not always used are
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan Engelhardtin etc/udev/packages/.
6300b3eca9e5261b73bd7f1bb9735992b127cd80Lennart Poettering
6300b3eca9e5261b73bd7f1bb9735992b127cd80Lennart Poetteringudev 114
6300b3eca9e5261b73bd7f1bb9735992b127cd80Lennart Poettering========
6300b3eca9e5261b73bd7f1bb9735992b127cd80Lennart PoetteringBugfixes.
6300b3eca9e5261b73bd7f1bb9735992b127cd80Lennart Poettering
6300b3eca9e5261b73bd7f1bb9735992b127cd80Lennart PoetteringDynamic rules can be created in /dev/.udev/rules.d/ to trigger
6300b3eca9e5261b73bd7f1bb9735992b127cd80Lennart Poetteringactions by dynamically created rules.
6300b3eca9e5261b73bd7f1bb9735992b127cd80Lennart Poettering
6300b3eca9e5261b73bd7f1bb9735992b127cd80Lennart PoetteringSYMLINK=="<value>" matches agains the entries in the list of
6300b3eca9e5261b73bd7f1bb9735992b127cd80Lennart Poetteringcurrently defined symlinks. The links are not created in the
6300b3eca9e5261b73bd7f1bb9735992b127cd80Lennart Poetteringfilesystem at that point in time, but the values can be matched.
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. John
4c2413bffa7861bd3c4b3589c821ab7e0ac51c83Jan EngelhardtRUN{ignore_error}+="<program>" will ignore any exit code from the
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringprogram and not record as a failed event.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringudev 113
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. John========
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringBugfixes.
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. John
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. JohnFinal merge of patches/features from the Ubuntu package.
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. John
4c2413bffa7861bd3c4b3589c821ab7e0ac51c83Jan Engelhardtudev 112
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering========
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringBugfixes.
4c2413bffa7861bd3c4b3589c821ab7e0ac51c83Jan Engelhardt
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringControl characters in filesystem label strings are no longer silenty
ad42cf7308c45fb8a77c15b313f45361c5ea8fb5Kay Sieversremoved, but hex-encoded, to be able to uniquely identify the device
ad42cf7308c45fb8a77c15b313f45361c5ea8fb5Kay Sieversby its symlink in /dev/disk/by-label/.
ad42cf7308c45fb8a77c15b313f45361c5ea8fb5Kay SieversIf libvolume_id is used by mount(8), LABEL= will work as expected,
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringif slashes or other characters are used in the label string.
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. John
4c2413bffa7861bd3c4b3589c821ab7e0ac51c83Jan EngelhardtTo test the existence of a file, TEST=="<file>" and TEST!="<file>"
4c2413bffa7861bd3c4b3589c821ab7e0ac51c83Jan Engelhardtcan be specified now. The TEST key accepts an optional mode mask
4c2413bffa7861bd3c4b3589c821ab7e0ac51c83Jan EngelhardtTEST{0100}=="<is executable file>".
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. JohnScsi_id now supports a mode without expecting scsi-specific sysfs
ad42cf7308c45fb8a77c15b313f45361c5ea8fb5Kay Sieversentries to allow the extraction of cciss-device persistent properties.
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. John
ad42cf7308c45fb8a77c15b313f45361c5ea8fb5Kay Sieversudev 111
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. John========
ad42cf7308c45fb8a77c15b313f45361c5ea8fb5Kay SieversBugfixes.
ad42cf7308c45fb8a77c15b313f45361c5ea8fb5Kay Sievers
ad42cf7308c45fb8a77c15b313f45361c5ea8fb5Kay SieversIn the future, we may see uuid's which are just simple character
ad42cf7308c45fb8a77c15b313f45361c5ea8fb5Kay Sieversstrings (see the DDF Raid Specification). For that reason vol_id now
ad42cf7308c45fb8a77c15b313f45361c5ea8fb5Kay Sieversexports ID_FS_UUID_SAFE, just like ID_FS_LABEL_SAFE. For things like
ad42cf7308c45fb8a77c15b313f45361c5ea8fb5Kay Sieversthe creation of symlinks, the *_SAFE values ensure, that no control
ad42cf7308c45fb8a77c15b313f45361c5ea8fb5Kay Sieversor whitespace characters are used in the filename.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
4c2413bffa7861bd3c4b3589c821ab7e0ac51c83Jan EngelhardtPossible users of libvolume_id, please use the volume_id_get_* functions.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringThe public struct will go away in a future release of the library.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringudev 110
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering========
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringBugfixes.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringRemoval of useless extras/eventrecorder.sh.
4c2413bffa7861bd3c4b3589c821ab7e0ac51c83Jan Engelhardt
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. Johnudev 109
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering========
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringBugfixes.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringudev 108
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering========
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringBugfixes.
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. John
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringThe directory multiplexer for dev.d/ and hotplug.d are finally removed
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringfrom the udev package.
1e190502e78cea1f8bcb62e6d390305c89e41e6aZbigniew Jędrzejewski-Szmek
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringudev 107
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering========
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringBugfixes.
1e190502e78cea1f8bcb62e6d390305c89e41e6aZbigniew Jędrzejewski-Szmek
1e190502e78cea1f8bcb62e6d390305c89e41e6aZbigniew Jędrzejewski-SzmekSymlinks can have priorities now, the priority is assigned to the device
1e190502e78cea1f8bcb62e6d390305c89e41e6aZbigniew Jędrzejewski-Szmekand specified with OPTIONS="link_priority=100". Devices with higher
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringpriorities overwrite the symlinks of devices with lower priorities.
1e190502e78cea1f8bcb62e6d390305c89e41e6aZbigniew Jędrzejewski-SzmekIf the device that currently owns the link, goes away, the symlink
1e190502e78cea1f8bcb62e6d390305c89e41e6aZbigniew Jędrzejewski-Szmekwill be removed, and recreated, pointing to the next device with the
1e190502e78cea1f8bcb62e6d390305c89e41e6aZbigniew Jędrzejewski-Szmekhighest actual priority. This should make /dev/disk/by-{label,uuid,id}
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringmore reliable, if multiple devices contain the same metadata and overwrite
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringthese symlinks.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
8e420494bc59d8b9d43e6d34d8ec8bb765946c74Lennart PoetteringThe dasd_id program is removed from the udev tree, and dasdinfo, with the
1e190502e78cea1f8bcb62e6d390305c89e41e6aZbigniew Jędrzejewski-Szmekneeded rules, are part of the s390-tools now.
1e190502e78cea1f8bcb62e6d390305c89e41e6aZbigniew Jędrzejewski-Szmek
1e190502e78cea1f8bcb62e6d390305c89e41e6aZbigniew Jędrzejewski-SzmekPlease add KERNEL=="[0-9]*:[0-9]*" to the scsi wait-for-sysfs rule,
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringwe may get the scsi sysfs mess fixed some day, and this will only catch
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringthe devices we are looking for.
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. John
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringUSB serial numbers for storage devices have the target:lun now appended,
8e420494bc59d8b9d43e6d34d8ec8bb765946c74Lennart Poetteringto make it possibble to distinguish broken multi-lun devices with all
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringthe same SCSI identifiers.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
4c2413bffa7861bd3c4b3589c821ab7e0ac51c83Jan EngelhardtNote: The extra "run_directory" which searches and executes stuff in
4c2413bffa7861bd3c4b3589c821ab7e0ac51c83Jan Engelhardt/etc/hotplug.d/ and /etc/dev.d/ is long deprecated, and will be removed
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringwith the next release. Make sure, that you don't use it anymore, or
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringprovides your own implementation of that inefficient stuff.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringWe are tired of reports about a "slow udev", because these directories
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. Johncontain stuff, that runs with _every_ event, instead of using rules,
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringthat run programs only for the matching events.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringudev 106
1e190502e78cea1f8bcb62e6d390305c89e41e6aZbigniew Jędrzejewski-Szmek========
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringBugfixes.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringudev 105
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering========
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringBugfixes.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. JohnDRIVER== will match only for devices that actually have a real
1e190502e78cea1f8bcb62e6d390305c89e41e6aZbigniew Jędrzejewski-Szmekdriver. DRIVERS== must be used, if parent devices should be
1e190502e78cea1f8bcb62e6d390305c89e41e6aZbigniew Jędrzejewski-Szmekincluded in the match.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringLibvolume_id's "linux_raid" detection needed another fix.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
b97610038a122ff30e60b1996369ca4b979d8b19Kay Sieversudev 104
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. John========
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringBugfixes.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringudev 103
b97610038a122ff30e60b1996369ca4b979d8b19Kay Sievers========
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringAdd additional check to volume_id detection of via_raid, cause
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringsome company decided to put a matching pattern all over the empty
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringstorage area of their music players.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringudev 102
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering========
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringFix path_id for SAS devices.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringudev 101
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering========
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringThe udev daemon can be started with --debug-trace now, which will
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringexecute all events serialized to get a chance to catch a possible
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringaction that crashes the box.
1e190502e78cea1f8bcb62e6d390305c89e41e6aZbigniew Jędrzejewski-Szmek
8e420494bc59d8b9d43e6d34d8ec8bb765946c74Lennart PoetteringA warning is logged, if PHYSDEV* keys, the "device" link, or a parent
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringdevice attribute like $attr{../file} is used, only WAIT_FOR_SYSFS rules
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringare excluded from the warning. Referencing parent attributes directly
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringmay break when something in the kernel driver model changes. Udev will
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. Johnjust find the attribute by walking up the parent chain.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
1e190502e78cea1f8bcb62e6d390305c89e41e6aZbigniew Jędrzejewski-SzmekUdevtrigger now sorts the list of devices depending on the device
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringdependency, so a "usb" device is triggered after the parent "pci"
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringdevice.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
4c2413bffa7861bd3c4b3589c821ab7e0ac51c83Jan Engelhardtudev 100
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. John========
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. JohnRevert persistent-storage ata-serial '_' '-' replacement.
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. John
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringudev 099
6afc95b73605833e6e966af1c466b5c08feb953fLennart Poettering========
6afc95b73605833e6e966af1c466b5c08feb953fLennart PoetteringBugfixes.
70a44afee385c4afadaab9a002b3f9dd44aedf4aJan Engelhardt
b8bde11658366290521e3d03316378b482600323Jan EngelhardtUdevtrigger can now filter the list of devices to be triggered. Matches
b8bde11658366290521e3d03316378b482600323Jan Engelhardtfor subsystems or sysfs attributes can be specified.
6afc95b73605833e6e966af1c466b5c08feb953fLennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringThe entries in /dev/.udev/queue and /dev/.udev/failed have changed to
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringzero-sized files to avoid pointing to /sys and confuse broken tools which
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringscan the /dev directory. To retry failed events, udevtrigger --retry-failed
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringshould be used now.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringThe rules and scripts to create udev rules for persistent network
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringdevices and optical drives are in the extras/rules_generator directory
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringnow. If you use something similar, please consider replacing your own
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringversion with this, to share the support effort. The rule_generator
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringinstalls its own rules into /etc/udev/rules.d.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. JohnThe cdrom_id tool installs its own rule now in /etc/udev/rules.d, cause
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. Johnthe rule_generator depends on cdrom_id to be called in an earlier rule.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringudev 098
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering========
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringBugfixes.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringRenaming of some key names (the old names still work):
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringBUS -> SUBSYSTEMS, ID -> KERNELS, SYSFS -> ATTRS, DRIVER -> DRIVERS.
4c2413bffa7861bd3c4b3589c821ab7e0ac51c83Jan Engelhardt(The behavior of the key DRIVER will change soon in one of the next
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. Johnreleases, to match only the event device, please switch to DRIVERS
b8bde11658366290521e3d03316378b482600323Jan Engelhardtinstead. If DRIVER is used, it will behave like DRIVERS, but an error
b8bde11658366290521e3d03316378b482600323Jan Engelhardtis logged.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringWith the new key names, we have a more consistent and simpler scheme.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringWe can match the properties of the event device only, with: KERNEL,
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringSUBSYSTEM, ATTR, DRIVER. Or include all the parent devices in the match,
4c2413bffa7861bd3c4b3589c821ab7e0ac51c83Jan Engelhardtwith: KERNELS, SUBSYSTEMS, ATTRS, DRIVERS. ID, BUS, SYSFS, DRIVER are no
8b7d0494a3fe35209d4db0d1b9e065e7e5cc9875Jason St. Johnlonger mentioned in the man page and should be switched in the rule
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringfiles.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
210054d76cf4d294533aa09256d375e33b52569fKay SieversATTR{file}="value" can be used now, to write to a sysfs file of the
210054d76cf4d294533aa09256d375e33b52569fKay Sieversevent device. Instead of:
210054d76cf4d294533aa09256d375e33b52569fKay Sievers ..., SYSFS{type}=="0|7|14", RUN+="/bin/sh -c 'echo 60 > /sys$$DEVPATH/timeout'"
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringwe now can do:
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering ..., ATTR{type}=="0|7|14", ATTR{timeout}="60"
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringAll the PHYSDEV* keys are deprecated and will be removed from a
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringfuture kernel:
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering PHYDEVPATH - is the path of a parent device and should not be
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering needed at all.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering PHYSDEVBUS - is just a SUBSYSTEM value of a parent, and can be
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering matched with SUBSYSTEMS==
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering PHYSDEVDRIVER - for bus devices it is available as ENV{DRIVER}.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering Newer kernels will have DRIVER in the environment,
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering for older kernels udev puts in. Class device will
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering no longer carry this property of a parent and
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering DRIVERS== can be used to match such a parent value.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringNote that ENV{DRIVER} is only available for a few bus devices, where
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringthe driver is already bound at device event time. On coldplug, the
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringevents for a lot devices are already bound to a driver, and they will have
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringthat value set. But on hotplug, at the time the kernel creates the device,
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringit can't know what driver may claim the device after that, therefore
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringin most cases it will be empty.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringFailed events should now be re-triggered with:
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poettering udevtrigger --retry-failed.
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart PoetteringPlease switch to this command, so we keep the details of the /dev/.udev/failed/
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringfiles private to the udev tools. We may need to switch the current symlink
6300b3eca9e5261b73bd7f1bb9735992b127cd80Lennart Poetteringtarget, cause some obviously broken tools try to scan all files in /dev
e49b5aada0df13c9e8fce7338ae34e075dd7ccd1Lennart Poetteringincluding /dev/.udev/, find the links to /sys and end up stat()'ing sysfs files
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringmillion times. This takes ages on slow boxes.
cd4010b37349413db1e553e213e62e654ca28113Lennart Poettering
cd4010b37349413db1e553e213e62e654ca28113Lennart PoetteringThe udevinfo attribute walk (-a) now works with giving a device node
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringname (-n) instead of a devpath (-p). The query now always works, also when
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringno database file was created by udev.
cd4010b37349413db1e553e213e62e654ca28113Lennart Poettering
cd4010b37349413db1e553e213e62e654ca28113Lennart PoetteringThe built-in /etc/passwd /etc/group parser is removed, we always depend on
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringgetpwnam() and getgrnam() now. One of the next releases will depend on
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringfnmatch() and may use getopt_long().
cd4010b37349413db1e553e213e62e654ca28113Lennart Poettering
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringudev 097
cd4010b37349413db1e553e213e62e654ca28113Lennart Poettering========
cd4010b37349413db1e553e213e62e654ca28113Lennart PoetteringBugfixes and small improvements.
cd4010b37349413db1e553e213e62e654ca28113Lennart Poettering
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringudev 096
cd4010b37349413db1e553e213e62e654ca28113Lennart Poettering========
cd4010b37349413db1e553e213e62e654ca28113Lennart PoetteringFix path_id for recent kernels.
cd4010b37349413db1e553e213e62e654ca28113Lennart Poettering
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringudev 095
cd4010b37349413db1e553e213e62e654ca28113Lennart Poettering========
cd4010b37349413db1e553e213e62e654ca28113Lennart Poettering%e is finally gone.
cd4010b37349413db1e553e213e62e654ca28113Lennart Poettering
cd4010b37349413db1e553e213e62e654ca28113Lennart PoetteringAdded support for swapping network interface names, by temporarily
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringrenaming the device and wait for the target name to become free.
cd4010b37349413db1e553e213e62e654ca28113Lennart Poettering
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringudev 094
cd4010b37349413db1e553e213e62e654ca28113Lennart Poettering========
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan EngelhardtThe built-in MODALIAS key and substitution is removed.
cd4010b37349413db1e553e213e62e654ca28113Lennart Poettering
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringudev 093
cd4010b37349413db1e553e213e62e654ca28113Lennart Poettering========
cd4010b37349413db1e553e213e62e654ca28113Lennart PoetteringThe binary firmware helper is replaced by the usual simple
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringshell script. Udevsend is removed from the tree.
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan Engelhardt
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringudev 092
cd4010b37349413db1e553e213e62e654ca28113Lennart Poettering========
cd4010b37349413db1e553e213e62e654ca28113Lennart PoetteringBugfix release.
cd4010b37349413db1e553e213e62e654ca28113Lennart Poettering
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringudev 091
cd4010b37349413db1e553e213e62e654ca28113Lennart Poettering========
cd4010b37349413db1e553e213e62e654ca28113Lennart PoetteringSome more keys require the correct use of '==' and '=' depending
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringon the kind of operation beeing an assignment or a match. Rules
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringwith invalid operations are skipped and logged to syslog. Please
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringtest with udevtest if the parsing of your rules throws errors and
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringfix possibly broken rules.
cd4010b37349413db1e553e213e62e654ca28113Lennart Poettering
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringudev 090
cd4010b37349413db1e553e213e62e654ca28113Lennart Poettering========
cd4010b37349413db1e553e213e62e654ca28113Lennart PoetteringProvide "udevsettle" to wait for all current udev events to finish.
cd4010b37349413db1e553e213e62e654ca28113Lennart PoetteringIt also watches the current kernel netlink queue by comparing the
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringeven sequence number to make sure that there are no current pending
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringevents that have not already arrived in the daemon.
cd4010b37349413db1e553e213e62e654ca28113Lennart Poettering
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringudev 089
cd4010b37349413db1e553e213e62e654ca28113Lennart Poettering========
cd4010b37349413db1e553e213e62e654ca28113Lennart PoetteringFix rule to skip persistent rules for removable IDE devices, which
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringalso skipped optical IDE drives.
cd4010b37349413db1e553e213e62e654ca28113Lennart Poettering
cd4010b37349413db1e553e213e62e654ca28113Lennart PoetteringAll *_id program are installed in /lib/udev/ by default now.
cd4010b37349413db1e553e213e62e654ca28113Lennart Poettering
cd4010b37349413db1e553e213e62e654ca28113Lennart PoetteringNo binary is stripped anymore as this should be done in the
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringpackaging process and not at build time.
cd4010b37349413db1e553e213e62e654ca28113Lennart Poettering
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringlibvolume_id is provided as a shared library now and vol_id is
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringlinked against it. Also one of the next HAL versions will require
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringthis library, and the HAL build process will also require the
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringheader file to be installed. The copy of the same code in HAL will
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringbe removed to have only a single copy left on the system.
cd4010b37349413db1e553e213e62e654ca28113Lennart Poettering
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringudev 088
cd4010b37349413db1e553e213e62e654ca28113Lennart Poettering========
cd4010b37349413db1e553e213e62e654ca28113Lennart PoetteringAdd persistent links for SCSI tapes. The rules file is renamed
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringto 60-persistent-storage.rules.
cd4010b37349413db1e553e213e62e654ca28113Lennart Poettering
cd4010b37349413db1e553e213e62e654ca28113Lennart PoetteringCreate persistent path for usb devices. Can be used for all sorts
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringof devices that can't be distinguished by other properties like
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringmultiple identical keyboards and mice connected to the same box.
cd4010b37349413db1e553e213e62e654ca28113Lennart Poettering
cd4010b37349413db1e553e213e62e654ca28113Lennart PoetteringProvide "udevtrigger" program to request events on coldplug. The
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringshell script is much too slow with thousends of devices.
cd4010b37349413db1e553e213e62e654ca28113Lennart Poettering
cd4010b37349413db1e553e213e62e654ca28113Lennart Poetteringudev 087
cd4010b37349413db1e553e213e62e654ca28113Lennart Poettering========
cd4010b37349413db1e553e213e62e654ca28113Lennart PoetteringFix persistent disk rules to exclude removable IDE drives.
cd4010b37349413db1e553e213e62e654ca28113Lennart Poettering
cd4010b37349413db1e553e213e62e654ca28113Lennart PoetteringWarn if %e, $modalias or MODALIAS is used.
cd4010b37349413db1e553e213e62e654ca28113Lennart Poettering
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringudev 086
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poettering========
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart PoetteringFix queue export, which wasn't correct for subsequent add/remove
f3a165b05d117b9a9657076fed6b265eb40d5ba3Kay Sieversevents for the same device.
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poettering
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringudev 085
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poettering========
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart PoetteringFix cramfs detection on big endian.
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poettering
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart PoetteringMake WAIT_FOR_SYSFS usable in "normal" rules and silent if the whole
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringdevice goes away.
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poettering
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringudev 084
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poettering========
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart PoetteringIf BUS== and SYSFS{}== have been used in the same rule, the sysfs
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringattributes were only checked at the parent device that matched the
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringby BUS requested subsystem. Fix it to also look at the device we
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringreceived the event for.
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poettering
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart PoetteringBuild variable CROSS has changed to CROSS_COMPILE to match the kernel
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringbuild name.
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poettering
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringudev 083
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poettering========
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart PoetteringFix a bug where NAME="" would prevent RUN from beeing executed.
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poettering
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart PoetteringRUN="/bin/program" does not longer automatically add the subsystem
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringas the first parameter. This is from the days of /sbin/hotplug
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringwhich is dead now and it's just confusing to need to add a space at
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan Engelhardtthe end of the program name to prevent this.
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart PoetteringIf you use rules that need the subsystem as the first parameter,
f3a165b05d117b9a9657076fed6b265eb40d5ba3Kay Sieverslike the old "udev_run_hotlugd" and "udev_run_devd", add the subsystem
f3a165b05d117b9a9657076fed6b265eb40d5ba3Kay Sieversto the key like RUN+="/bin/program $env{SUBSYSTEM}".
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poettering
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringudev 082
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poettering========
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart PoetteringThe udev man page has moved to udev(7) as it does not describe a command
387abf80ad40e4a6c2f4725c8eff4d66bf110d1fLennart Poetteringanymore. The programs udev, udevstart and udevsend are no longer installed
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringby default and must be copied manually, if they should be installed or
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringincluded in a package.
f3a165b05d117b9a9657076fed6b265eb40d5ba3Kay Sievers
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart PoetteringFix a bug where "ignore_device" could run earlier collected RUN keys before
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringthe ignore rule was applied.
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poettering
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart PoetteringMore preparation for future sysfs changes. usb_id and scsi_id no longer
f3a165b05d117b9a9657076fed6b265eb40d5ba3Kay Sieversdepend on a magic order of devices in the /devices chain. Specific devices
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringshould be requested by their subsytem.
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poettering
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart PoetteringThis will always find the scsi parent device without depending on a specific
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringpath position:
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poettering dev = sysfs_device_get(devpath);
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poettering dev_usb = sysfs_device_get_parent_with_subsystem(dev, "scsi");
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poettering
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart PoetteringThe "device" link in the current sysfs layout will be automatically
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poettering_resolved_ as a parent and in the new sysfs layout it will just _be_ the
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringparent in the devpath. If a device is requested by it's symlink, like all
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringclass devices in the new sysfs layout will look like, it gets automatically
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringresolved and substituted with the real devpath and not the symlink path.
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poettering
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart PoetteringNote:
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart PoetteringA similar logic must be applied to _all_ sysfs users, including
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringscripts, that search along parent devices in sysfs. The explicit use of
387abf80ad40e4a6c2f4725c8eff4d66bf110d1fLennart Poetteringthe "device" link must be avoided. With the future sysfs layout all
387abf80ad40e4a6c2f4725c8eff4d66bf110d1fLennart PoetteringDEVPATH's will start with /devices/ and have a "subsystem" symlink poiting
387abf80ad40e4a6c2f4725c8eff4d66bf110d1fLennart Poetteringback to the "class" or the "bus". The layout of the parent devices in
387abf80ad40e4a6c2f4725c8eff4d66bf110d1fLennart Poettering/devices is not necessarily expected to be stable across kernel releases and
387abf80ad40e4a6c2f4725c8eff4d66bf110d1fLennart Poetteringsearching for parents by their subsystem should make sysfs users tolerant
387abf80ad40e4a6c2f4725c8eff4d66bf110d1fLennart Poetteringfor changed parent chains.
387abf80ad40e4a6c2f4725c8eff4d66bf110d1fLennart Poettering
04bf3c1a60d82791e0320381e9268f727708f776Kay Sieversudev 081
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poettering========
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart PoetteringPrepare udev to work with the experimental kernel patch, that moves
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poettering/sys/class devices to /sys/devices and /sys/block to /sys/class/block.
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poettering
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart PoetteringClarify BUS, ID, $id usage and fix $id behavior. This prepares for
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringmoving the class devices to /sys/devices.
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poettering
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart PoetteringThanks again to Marco for help finding a hopefully nice compromise
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringto make %b simpler and working again.
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poettering
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringudev 080
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poettering========
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart PoetteringComplete removal of libsysfs, replaced by simple helper functions
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringwhich are much simpler and a bit faster. The udev daemon operatesentirely
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringon event parameters and does not use sysfs for simple rules anymore.
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart PoetteringPlease report any new bugs/problems, that may be caused by this big
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringchange. They will be fixed immediately.
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poettering
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart PoetteringThe enumeration format character '%e' is deprecated and will be
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringremoved sometimes from a future udev version. It never worked correctly
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringoutside of udevstart, so we can't use it with the new parallel
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringcoldplug. A simple enumeration is as useless as the devfs naming
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringscheme, just get rid of both if you still use it.
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poettering
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart PoetteringMODALIAS and $modalias is not needed and will be removed from one of
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringthe next udev versions, replace it in all rules with ENV{MODALIAS} or
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poetteringthe sysfs "modalias" value.
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poettering
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart PoetteringThanks a lot to Marco for all his help on finding and fixing bugs.
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poettering
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poetteringudev 079
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poettering========
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart PoetteringLet scsi_id request libata drive serial numbers from page 0x80.
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poettering
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart PoetteringRenamed etc/udev/persistent.rules to persistent-disk.rules and
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poetteringadded /dev/disk/by-name/* for device mapper device names.
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poettering
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart PoetteringRemoved %e from the man page. It never worked reliably outside
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poetteringof udevstart and udevstart is no longer recommended to use.
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poettering
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poetteringudev 078
33b521be152f67cd722695ba9a2966eda5ee6765Maciej Wereski========
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart PoetteringSymlinks are now exported to the event environment. Hopefully it's no
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poetteringlonger needed to run udevinfo from an event process, like it was
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poetteringmentioned on the hotplug list:
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poettering UDEV [1134776873.702967] add@/block/sdb
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poettering ...
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poettering DEVNAME=/dev/sdb
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poettering DEVLINKS=/dev/disk/by-id/usb-IBM_Memory_Key_0218B301030027E8 /dev/disk/by-path/usb-0218B301030027E8:0:0:0
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poettering
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poetteringudev 077
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poettering========
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart PoetteringFix a problem if udevsend is used as the hotplug handler and tries to use
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poetteringsyslog, which causes a "vc" event loop. 2.6.15 will make udevsend obsolete
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poetteringand this kind of problems will hopefully go away soon.
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poettering
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poetteringudev 076
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poettering========
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart PoetteringAll built-in logic to work around bad sysfs timing is removed with this
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poetteringversion. The need to wait for sysfs files is almost fixed with a kernel
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poetteringversion that doesn't work with this udev version anyway. Until we fix
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poetteringthe timing of the "bus" link creation, the former integrated logic should
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poetteringbe emulated by a rule placed before all other rules:
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poettering ACTION=="add", DEVPATH=="/devices/*", ENV{PHYSDEVBUS}=="?*", WAIT_FOR_SYSFS="bus"
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poettering
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan EngelhardtThe option "udev_db" does no longer exist. All udev state will be in
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poettering/$udev_root/.udev/ now, there is no longer an option to set this
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poetteringto anything else.
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart PoetteringIf the init script or something else used this value, just depend on
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poetteringthis hardcoded path. But remember _all_content_ of this directory is
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poetteringstill private to udev and can change at any time.
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poettering
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart PoetteringDefault location for rule sripts and helper programs is now: /lib/udev/.
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart PoetteringEverything that is not useful on the commandline should go into this
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poetteringdirectory. Some of the helpers in the extras folder are installed there
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poetteringnow. The rules need to be changed, to find the helpers there.
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poettering
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart PoetteringAlso /lib/udev/devices is recommended as a directory where packages or
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poetteringthe user can place real device nodes, which get copied over to /dev at
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poetteringevery boot. This should replace the various solutions with custom config
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poetteringfiles.
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poettering
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart PoetteringUdevsend does no longer start the udev daemon. This must be done with
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poetteringthe init script that prepares /dev on tmpfs and creates the initial nodes,
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poetteringbefore starting the daemon.
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poettering
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poetteringudev 075
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poettering========
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart PoetteringSilent a too verbose error logging for the old hotplug.d/ dev.d/
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poetteringemulation.
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poettering
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart PoetteringThe copy of klibc is removed. A systemwide installed version of klibc
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poetteringshould be used to build a klibc udev now.
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poettering
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poetteringudev 074
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poettering========
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart PoetteringNAME="" will not create any nodes, but execute RUN keys. To completely
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poetteringignore an event the OPTION "ignore_device" should be used.
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poettering
28f5c779e5513ab1301ac103471009711b0961e0Kay SieversAfter removal of the reorder queue, events with a TIMEOUT can be executed
28f5c779e5513ab1301ac103471009711b0961e0Kay Sieverswithout any queuing now.
28f5c779e5513ab1301ac103471009711b0961e0Kay Sievers
28f5c779e5513ab1301ac103471009711b0961e0Kay Sieversudev 073
408f281bc7d65c86563f46e99e07efd1a1d9e03aLennart Poettering========
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart PoetteringFixed bug in udevd, if inotify is not available. We depend on netlink
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poetteringuevents now, kernels without that event source will not work with that
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poetteringversion of udev anymore.
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poettering
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poetteringudev 072
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poettering========
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart PoetteringThe rule parsing happens now in the daemon once at startup, all udev
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poetteringevent processes inherit the already parsed rules from the daemon.
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart PoetteringIt is shipped with SUSE10.0 and reduces heavily the system load at
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poetteringstartup. The option to save precompiled rules and let the udev process
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poetteringpick the them up is removed, as it's no longer needed.
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poettering
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart PoetteringKernel 2.6.15 will have symlinks at /class/input pointing to the real
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poetteringdevice. Libsysfs is changed to "translate" the requested link into the
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poetteringreal device path, as it would happen with the hotplug event. Otherwise
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poetteringdevice removal and the udev database will not work.
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poettering
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart PoetteringUsing 'make STRIPCMD=' will leave the binaries unstripped for debugging
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poetteringand packaging.
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poettering
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart PoetteringA few improvements for vol_id, the filesytem probing code.
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poettering
251cc8194228ac86c9a7a4c75a54a94cea2095c7Lennart Poetteringudev 071
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart Poettering========
4f0be680b5323e037314cfbd3dba34f03e637c8fLennart PoetteringFix a stupid typo in extras/run_directory for "make install".
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringscsi_id creates the temporary devnode now in /dev for usage with a
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringnon-writable /tmp directory.
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering
00aa832b948a27507c33e2157e46963852cffc85Lennart PoetteringThe uevent kernel socket buffer can carry app. 50.000 events now,
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringlet's see who can break this again. :)
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering
00aa832b948a27507c33e2157e46963852cffc85Lennart PoetteringThe upcoming kernel will have a new input driver core integration.
00aa832b948a27507c33e2157e46963852cffc85Lennart PoetteringSome class devices are now symlinks to the real device. libsysfs
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringneeds a fix for this to work correctly. Udevstart of older udev
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringversions will _not_ create these devices!
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringudev 070
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering========
00aa832b948a27507c33e2157e46963852cffc85Lennart PoetteringFix a 'install' target in the Makefile, that prevents EXTRAS from
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringbeeing installed.
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringudev 069
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering========
00aa832b948a27507c33e2157e46963852cffc85Lennart PoetteringA bunch of mostly trivial bugfixes. From now on no node name or
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringsymlink name can contain any character than plain whitelisted ascii
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringcharacters or validated utf8 byte-streams. This is needed for the
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering/dev/disk/by-label/* links, because we import untrusted data and
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringexport it to the filesystem.
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringudev 068
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering========
00aa832b948a27507c33e2157e46963852cffc85Lennart PoetteringMore bugfixes. If udevd was started from the kernel, we don't
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringhave stdin/stdout/stderr, which broke the forked tools in some
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringsituations.
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringudev 067
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering========
00aa832b948a27507c33e2157e46963852cffc85Lennart PoetteringBugfix. udevstart event ordering was broken for a long time.
00aa832b948a27507c33e2157e46963852cffc85Lennart PoetteringThe new run_program() uncovered it, because /dev/null was not
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringavailable while we try to run external programs.
00aa832b948a27507c33e2157e46963852cffc85Lennart PoetteringNow udevstart should create it before we run anything.
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringudev 066
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering========
00aa832b948a27507c33e2157e46963852cffc85Lennart PoetteringMinor bugfixes and some distro rules updates. If you don't have the
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringpersistent disk rules in /dev/disk/by-*/* on your distro, just
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringgrab it from here. :)
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringudev 065
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering========
00aa832b948a27507c33e2157e46963852cffc85Lennart PoetteringWe can use socket communication now to pass events from udev to
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringother programs:
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering RUN+="socket:/org/freedesktop/hal/udev_event"
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringwill pass the whole udev event to the HAL daemon without the need
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringfor a forked helper. (See ChangeLog for udevmonitor, as an example)
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringudev 064
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering========
00aa832b948a27507c33e2157e46963852cffc85Lennart PoetteringMostly bugfixes and see ChangeLog.
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering
00aa832b948a27507c33e2157e46963852cffc85Lennart PoetteringThe test for the existence of an environment value should be
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringswitched from:
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering ENV{KEY}=="*" to ENV{KEY}=="?*"
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringbecause "*" will not fail anymore, if the key does not exist or
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringis empty.
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringudev 063
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering========
00aa832b948a27507c33e2157e46963852cffc85Lennart PoetteringBugfixes and a few tweaks described in the ChangeLog.
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringudev 062
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering========
00aa832b948a27507c33e2157e46963852cffc85Lennart PoetteringMostly a Bugfix release.
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering
00aa832b948a27507c33e2157e46963852cffc85Lennart PoetteringAdded WAIT_FOR_SYSFS="<attribute>" to be able to fight against the sysfs
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringtiming with custom rules.
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringudev 061
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering========
00aa832b948a27507c33e2157e46963852cffc85Lennart PoetteringWe changed the internal rule storage format. Our large rule files took
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering2 MB of RAM, with the change we are down to 99kB.
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering
00aa832b948a27507c33e2157e46963852cffc85Lennart PoetteringIf the device-node has been created with default name and no symlink or
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringoptions are to remenber, it is not longer stored in the udevdb. HAL will
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringneed to be updated to work correctly with that change.
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering
1fda0ab5fc9cf7454c8da32941e433dc38ba9991Zbigniew Jędrzejewski-SzmekTo overrride optimization flags, OPTFLAGS may be used now.
1fda0ab5fc9cf7454c8da32941e433dc38ba9991Zbigniew Jędrzejewski-Szmek
1fda0ab5fc9cf7454c8da32941e433dc38ba9991Zbigniew Jędrzejewski-Szmekudev 060
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering========
00aa832b948a27507c33e2157e46963852cffc85Lennart PoetteringBugfix release.
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringudev 059
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering========
00aa832b948a27507c33e2157e46963852cffc85Lennart PoetteringMajor changes happened with this release. The goal is to take over the
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringcomplete kernel-event handling and provide a more efficient way to dispatch
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringkernel events. Replacing most of the current shell script logic and the
499b604b21c02ee64c8590a76d7900d64d7a5cb7Zbigniew Jędrzejewski-Szmekkernel forked helper with a netlink-daemon and a rule-based event handling.
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringo udevd listens to netlink events now. The first valid netlink event
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering will make udevd ignore any message from udevsend that contains a
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering SEQNUM, to avoid duplicate events. The forked events can be disabled
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering with:
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering echo "" > /proc/sys/kernel/hotplug
1fda0ab5fc9cf7454c8da32941e433dc38ba9991Zbigniew Jędrzejewski-Szmek For full support, the broken input-subsytem needs to be fixed, not to
1fda0ab5fc9cf7454c8da32941e433dc38ba9991Zbigniew Jędrzejewski-Szmek bypass the driver core.
1fda0ab5fc9cf7454c8da32941e433dc38ba9991Zbigniew Jędrzejewski-Szmek
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringo /etc/dev.d/ + /etc/hotplug.d/ directory multiplexing is completely
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering removed from udev itself and must be emulated by calling small
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering helper binaries provided in the extras folder:
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering make EXTRAS=extras/run_directory/
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering will build udev_run_devd and udev_run_hotplugd, which can be called
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering from a rule if needed:
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering RUN+="/sbin/udev_run_hotplugd"
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering The recommended way to handle this is to convert all the calls from
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering the directories to explicit udev rules and get completely rid of the
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering multiplexing. (To catch a ttyUSB event, you now no longer need to
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering fork and exit 300 tty script instances you are not interested in, it
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering is just one rule that matches exactly the device.)
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringo udev handles now _all_ events not just events for class and block
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering devices, this way it is possible to control the complete event
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering behavior with udev rules. Especially useful for rules like:
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering ACTION="add", DEVPATH="/devices/*", MODALIAS=="?*", RUN+="/sbin/modprobe $modalias"
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringo As used in the modalias rule, udev supports now textual
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering substitution placeholder along with the usual format chars. This
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering needs to be documented, for now it's only visible in udev_rules_parse.c.
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringo The rule keys support now more operations. This is documented in the
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering man page. It is possible to add values to list-keys like the SYMLINK
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering and RUN list with KEY+="value" and to clear the list by assigning KEY="".
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering Also "final"-assignments are supported by using KEY:="value", which will
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering prevent changing the key by any later rule.
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringo kernel 2.6.12 has the "detached_state" attribute removed from
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering sysfs, which was used to recognize sysfs population. We switched that
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering to wait for the "bus" link, which is only available in kernels after 2.6.11.
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering Running this udev version on older kernels may cause a short delay for
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering some events.
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering
00aa832b948a27507c33e2157e46963852cffc85Lennart Poetteringo To provide infrastructure for persistent device naming, the id programs:
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering scsi_id, vol_id (former udev_volume_id), and ata_id (new) are able now
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering to export the probed data in environment key format:
00aa832b948a27507c33e2157e46963852cffc85Lennart Poettering pim:~ # /sbin/ata_id --export /dev/hda
606c24e3bd41207c395f24a56bcfcad791e265a5Lennart Poettering ID_MODEL=HTS726060M9AT00
606c24e3bd41207c395f24a56bcfcad791e265a5Lennart Poettering ID_SERIAL=MRH401M4G6UM9B
606c24e3bd41207c395f24a56bcfcad791e265a5Lennart Poettering ID_REVISION=MH4OA6BA
606c24e3bd41207c395f24a56bcfcad791e265a5Lennart Poettering
606c24e3bd41207c395f24a56bcfcad791e265a5Lennart Poettering The following rules:
606c24e3bd41207c395f24a56bcfcad791e265a5Lennart Poettering KERNEL="hd*[!0-9]", IMPORT="/sbin/ata_id --export $tempnode"
606c24e3bd41207c395f24a56bcfcad791e265a5Lennart Poettering KERNEL="hd*[!0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_MODEL}_$env{ID_SERIAL}"
606c24e3bd41207c395f24a56bcfcad791e265a5Lennart Poettering
606c24e3bd41207c395f24a56bcfcad791e265a5Lennart Poettering Will create:
606c24e3bd41207c395f24a56bcfcad791e265a5Lennart Poettering kay@pim:~> tree /dev/disk
606c24e3bd41207c395f24a56bcfcad791e265a5Lennart Poettering /dev/disk
606c24e3bd41207c395f24a56bcfcad791e265a5Lennart Poettering |-- by-id
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering | |-- HTS726060M9AT00_MRH401M4G6UM9B -> ../../hda
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering | `-- IBM-Memory_Key -> ../../sda
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering |-- by-label
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering | |-- swap -> ../../hda1
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering | |-- date -> ../../sda1
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering | `-- home -> ../../hda3
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering `-- by-uuid
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering |-- 2E08712B0870F2E7 -> ../../hda3
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering |-- 9352cfef-7687-47bc-a2a3-34cf136f72e1 -> ../../hda1
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering |-- E845-7A89 -> ../../sda1
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering `-- b2a61681-3812-4f13-a4ff-920d70604299 -> ../../hda2
b82eed9af95668ab38cac33c7996e4d665f8709aLennart Poettering
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering The IMPORT= operation will import these keys in the environment and make
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering it available for later PROGRAM= and RUN= executed programs. The keys are
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering also stored in the udevdb and can be queried from there with one of the
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering next udev versions.
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poetteringo A few binaries are silently added to the repository, which can be used
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering to replay kernel events from initramfs instead of using coldplug. udevd
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering can be instructed now to queue-up events while the stored events from
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering initramfs are filled into the udevd-queue. This code is still under
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering development and there is no documentation now besides the code itself.
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering The additional binaries get compiled, but are not installed by default.
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poetteringo There is also a temporary fix for a performance problem where too many
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering events happen in parallel and every event needs to parse the rules.
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering udev can now read precompiled rules stored on disk. This is likely to be
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering replaced by a more elegant solution in a future udev version.
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poetteringudev 058
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering========
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart PoetteringWith kernel version 2.6.12, the sysfs file "detached_state" was removed.
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart PoetteringFix for libsysfs not to expect this file was added.
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poetteringudev 057
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering========
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart PoetteringAll rules are applied now, but only the first matching rule with a NAME-key
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poetteringwill be applied. All later rules with NAME-key are completely ignored. This
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poetteringway system supplied symlinks or permissions gets applied to user-defined
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poetteringnaming rules.
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart PoetteringNote:
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart PoetteringPlease check your rules setup, if you may need to add OPTIONS="last_rule"
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poetteringto some rules, to keep the old behavior.
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart PoetteringThe rules are read on "remove"-events too. That makes is possible to match
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poetteringwith keys that are available on remove (KERNEL, SUBSYSTEM, ID, ENV, ...) to
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poetteringinstruct udev to ignore an event (OPTIONS="ignore_device").
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart PoetteringThe new ACTION-key may be used to let a rule act only at a "remove"-event.
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart PoetteringThe new RUN-key supports rule-based execution of programs after device-node
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poetteringhandling. This is meant as a general replacement for the dev.d/-directories
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poetteringto give fine grained control over the execution of programs.
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart PoetteringThe %s{}-sysfs format char replacement values are searched at any of the
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poetteringdevices in the device chain now, not only at the class-device.
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart PoetteringWe support log priority levels now. The value udev_log in udev.conf is used
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poetteringto determine what is printed to syslog. This makes it possible to
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poetteringrun a version with compiled-in debug messages in a production environment
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poetteringwhich is sometimes needed to find a bug.
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart PoetteringIt is still possible to supress the inclusion of _any_ syslog usage with
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart PoetteringUSE_LOG=false to create the smallest possible binaries if needed.
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart PoetteringThe configured udev_log value can be overridden with the environment variable
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart PoetteringUDEV_LOG.
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poetteringudev 056
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering========
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart PoetteringPossible use of a system-wide klibc:
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering make USE_KLIBC=true KLCC=/usr/bin/klcc all
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poetteringwill link against an external klibc and our own version will be ignored.
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poetteringudev 055
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering========
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart PoetteringWe support an unlimited count of symlinks now.
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart PoetteringIf USE_STATIC=true is passed to a glibc build, we link statically and use
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poetteringa built-in userdb parser to resolve user and group names.
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart PoetteringThe PLACE= key is gone. It can be replaced by an ID= for a long time, because
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poetteringwe walk up the chain of physical devices to find a match.
2f3fcf85c5fa6c9c483b31823a0efdd28914c756Lennart Poettering
ef3b5246879094e29cc99c4d24cbfeb19b7da49bLennart PoetteringThe KEY="<value>" format supports '=', '==', '!=,' , '+=' now. This makes it
ef3b5246879094e29cc99c4d24cbfeb19b7da49bLennart Poetteringeasy to skip certain attribute matches without composing rules with weird
ef3b5246879094e29cc99c4d24cbfeb19b7da49bLennart Poetteringcharacter class negations like:
ef3b5246879094e29cc99c4d24cbfeb19b7da49bLennart Poettering KERNEL="[!s][!c][!d]*"
ef3b5246879094e29cc99c4d24cbfeb19b7da49bLennart Poetteringthis can now be replaced with:
ef3b5246879094e29cc99c4d24cbfeb19b7da49bLennart Poettering KERNEL!="scd*"
ef3b5246879094e29cc99c4d24cbfeb19b7da49bLennart PoetteringThe current simple '=' is still supported, and should work as it does today,
ef3b5246879094e29cc99c4d24cbfeb19b7da49bLennart Poetteringbut existing rules should be converted if possible, to be better readable.
ef3b5246879094e29cc99c4d24cbfeb19b7da49bLennart Poettering
ef3b5246879094e29cc99c4d24cbfeb19b7da49bLennart PoetteringWe have new ENV{}== key now, to match against a maximum of 5 environment
ef3b5246879094e29cc99c4d24cbfeb19b7da49bLennart Poetteringvariables.
ef3b5246879094e29cc99c4d24cbfeb19b7da49bLennart Poettering
ef3b5246879094e29cc99c4d24cbfeb19b7da49bLennart Poetteringudevstart is its own binary again, because we don't need co carry this araound
ef3b5246879094e29cc99c4d24cbfeb19b7da49bLennart Poetteringwith every forked event.
ef3b5246879094e29cc99c4d24cbfeb19b7da49bLennart Poettering