NEWS revision 8fac66c9d4045215d061ad73c3916937370c7c8e
c904f64d84db8c4eebedf210ba10893f19ba05edLennart PoetteringThe configure options have changed because another library needs to be
f957632b960a0a42999b38ded7089fa602b41745Kay Sieversinstalled in a different location. Instead of exec_prefix and udev_prefix,
f957632b960a0a42999b38ded7089fa602b41745Kay Sieverslibdir, rootlibdir and libexecdir are used. The Details are explained in
f957632b960a0a42999b38ded7089fa602b41745Kay Sieversthe README file.
9a36607584bbd1d78775353e022a51794b4e27b1Lennart PoetteringEvent processes now get re-used after they handled an event. This reduces
9a36607584bbd1d78775353e022a51794b4e27b1Lennart Poetteringthe number of forks and the pressure on the CPU significantly, because
a40593a0d0d740efa387e35411e1e456a6c5aba7Lennart Poetteringcloned event processes no longer cause page faults in the main daemon.
20ffc4c4a9226b0e45cc02ad9c0108981626c0bbKay SieversAfter the events have settled, a few worker processes stay around for
7bcd865d386d96caac83cb1c589fdb8f9ce3b081Zbigniew Jędrzejewski-Szmekfuture events, all others get cleaned up.
7bcd865d386d96caac83cb1c589fdb8f9ce3b081Zbigniew Jędrzejewski-SzmekTo be able to use signalfd(), udev depends on kernel version 2.6.25 now.
2f8d077ece024b985f2501dc8c904c2d29967acbKay SieversAlso inotify support is mandatory now to run udev.
2d19f95caef8668aeb5c05a18b39c6b79f710856Kay SieversThe format of the queue exported by the udev damon has changed. There is
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poetteringno longer a /dev/.udev/queue/ directory. The current event queue can be
2f8d077ece024b985f2501dc8c904c2d29967acbKay Sieversaccessed with udevadm settle and libudedv.
81d112a8f0522a09fcfe317f420363a2b728137cLennart PoetteringLibudev does not have the unstable API header anymore. From now on,
81d112a8f0522a09fcfe317f420363a2b728137cLennart Poetteringincompatible changes will be handled by bumping the library major version.
2d19f95caef8668aeb5c05a18b39c6b79f710856Kay SieversTo build udev from the git tree gtk-doc is needed now. The tarballs will
a4cc3e5ccc0a3033d764a9eb3ae5ee90db560682Lennart Poetteringbuild without it and contain the pre-built documentation. An online copy
a4cc3e5ccc0a3033d764a9eb3ae5ee90db560682Lennart Poetteringis available here:
a4cc3e5ccc0a3033d764a9eb3ae5ee90db560682Lennart Poettering http://www.kernel.org/pub/linux/utils/kernel/hotplug/libudev/
a4cc3e5ccc0a3033d764a9eb3ae5ee90db560682Lennart PoetteringThe tools from the udev-extras repository have been merged into the main
7e2c2bcf1285d124c9c656ff46cafa4db0a987c9Lennart Poetteringudev repository. Some of the extras have larger external dependencies, and
f0c15f288513aa4da012db7497a4aec3f7763ebbLennart Poetteringthey can be disabled with the configure switch --disable-extras.
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringThe program vol_id and the library libvolume_id are removed from the
95b4be171988fc2ea33377b1b4450e5d410add7bLennart Poetteringrepository. Libvolume_id is merged with libblkid from the util-linux-ng
81d112a8f0522a09fcfe317f420363a2b728137cLennart Poetteringpackage. Persistent disk links for label and uuid depend on the
81d112a8f0522a09fcfe317f420363a2b728137cLennart Poetteringutil-linux-ng version (2.15) of blkid now. Older versions of blkid
81d112a8f0522a09fcfe317f420363a2b728137cLennart Poetteringcan not be used with udev.
eb124a97fb72d076014253b1acde69d428f15ecfLennart PoetteringLibudev allows to subscribe to udev events. To prevent unwanted messages
990ffbe5cffe7f11a8d3ab2258a85fc52b97bf60Lennart Poetteringto be delivered, and waking up the subscribing process, a filter can be
dd359de89b1fbabf6f4eb5003d2b5a806b6185c1Lennart Poetteringinstalled, to drop messages inside a kernel socket filter. The filters
dd359de89b1fbabf6f4eb5003d2b5a806b6185c1Lennart Poetteringmatch on the <subsytem>:<devtype> properties of the device.
dd359de89b1fbabf6f4eb5003d2b5a806b6185c1Lennart Poettering This is part of the ongoing effort to replace HAL, and switch current
eb124a97fb72d076014253b1acde69d428f15ecfLennart Poetteringusers over to directly use libudev.
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poettering Libudev is still marked as experimental, and its interface might
54c31a79f72ff57ac8eba089acacc4ab482b745dLennart Poetteringeventually change if needed, but no major changes of the currently exported
54c31a79f72ff57ac8eba089acacc4ab482b745dLennart Poetteringinterface are expected anymore, and a first stable release should happen
54c31a79f72ff57ac8eba089acacc4ab482b745dLennart PoetteringA too old kernel (2.6.21) or a kernel with CONFIG_SYSFS_DEPRECATED
826872b61e4857dfffe63ba84e2b005623baecd6Lennart Poetteringis not supported since while and udevd will log an error message at
1495115aa483301bc7704488c58efa4e47f9ef6aKay Sieversstartup. It should still be able to boot-up, but advanced rules and system
1495115aa483301bc7704488c58efa4e47f9ef6aKay Sieversservices which depend on the information not available in the old sysfs
eb124a97fb72d076014253b1acde69d428f15ecfLennart Poetteringformat will fail to work correctly.
3679d1126bae52e02f6cd60fca196f616b9e660dLennart PoetteringDVB device naming is supplied by the kernel now. In case older kernels
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poetteringneed to be supported, the old shell script should be added to a compat
3679d1126bae52e02f6cd60fca196f616b9e660dLennart PoetteringThe processed udev events get send back to the netlink socket. Libudev
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poetteringprovides access to these events. This is work-in-progress, to replace
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poetteringthe DeviceKit daemon functionality directly with libudev. There are
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poetteringupcoming kernel changes to allow non-root users to subcribe to these
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poettering"udevadm settle" now optionally accepts a range of events to wait for,
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poetteringinstead of waiting for "all" events.
3679d1126bae52e02f6cd60fca196f616b9e660dLennart PoetteringThe installed watch for block device metadata changes is now removed
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poetteringduring event hadling, because some (broken) tools may be called from udev
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poetteringrules and (wrongly) open the device with write access. After the finished
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poetteringevent handling the watch is restored.
3679d1126bae52e02f6cd60fca196f616b9e660dLennart PoetteringDevice nodes can be watched for changes with inotify with OPTIONS="watch".
3679d1126bae52e02f6cd60fca196f616b9e660dLennart PoetteringIf closed after being opened for writing, a "change" uevent will occur.
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poettering/dev/disk/by-{label,uuid}/* symlinks will be automatically updated.
cbb7712189527f9f483321607e44c4ead3dd11b8Lennart PoetteringThe udevadm test command has no longer a --force option, nodes and symlinks
cbb7712189527f9f483321607e44c4ead3dd11b8Lennart Poetteringare always updated with a test run now.
dd359de89b1fbabf6f4eb5003d2b5a806b6185c1Lennart PoetteringThe udevd daemon can be started with --resolve-names=never to avoid all user
d01a73b6396f57792113c1b5df6e8492fc703e5eLennart Poetteringand group lookups (e.g. in cut-down systems) or --resolve-names=late to
d01a73b6396f57792113c1b5df6e8492fc703e5eLennart Poetteringlookup user and groups every time events are handled.
f8aeee1f1fe432924b355f48f01f09c9a552ed97Lennart PoetteringWe are currently merging the Ubuntu rules in the udev default rules,
f8aeee1f1fe432924b355f48f01f09c9a552ed97Lennart Poetteringand get one step closer to provide a common Linux /dev setup, regarding
f8aeee1f1fe432924b355f48f01f09c9a552ed97Lennart Poetteringdevice names, symlinks, and default device permissions. On udev startup,
f8aeee1f1fe432924b355f48f01f09c9a552ed97Lennart Poetteringwe now expect the following groups to be resolvable to their ids with
f8aeee1f1fe432924b355f48f01f09c9a552ed97Lennart Poetteringglibc's getgrnam():
81d112a8f0522a09fcfe317f420363a2b728137cLennart Poettering disk, cdrom, floppy, tape, audio, video, lp, tty, dialout, kmem.
490b7e47093d491a2bdb1084fe92b796f4e07eefLennart PoetteringLDAP setups need to make sure, that these groups are always resolvable at
81d112a8f0522a09fcfe317f420363a2b728137cLennart Poetteringbootup, with only the rootfs mounted, and without network access available.
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringSome systems may need to add some new, currently not used groups, or need
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringto add some users to new groups, but the cost of this change is minimal,
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringcompared to the pain the current, rather random, differences between the
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringvarious distributions cause for upstream projects and third-party vendors.
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringIn general, "normal" users who log into a machine should never be a member
e41814846c19a48f4490169d82e359e005c4db45Lennart Poetteringof any such group, but the device-access should be managed by dynamic ACLs,
c0fe5db522b52f27e030655ce2c03e05cbbc1558Kay Sieverswhich get added and removed for the specific users on login/logout and
e9fd44b728ff1fc0d1f24fccb87a767f6865df27Lennart Poetteringsession activity/inactivity. These groups are only provided for custom setups,
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringand mainly system services, to allow proper privilege separation.
e9fd44b728ff1fc0d1f24fccb87a767f6865df27Lennart PoetteringA video-streaming daemon uid would be a member of "audio" and "video", to get
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringaccess to the sound and video devices, but no "normal" user should ever belong
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringto the "audio" group, because he could listen to the built-in microphone with
3040728b6691ea2e9df3a2060e2d49a792bbaedaLennart Poetteringany ssh-session established from the other side of the world.
8ed206517c2be381324ac5832bf34cc14024270eLennart Poettering/dev/serial/by-{id,path}/ now contains links for ttyUSB devices,
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringwhich do not depend on the kernel device name. As usual, unique
e6c6e7afffa80ad74efdb1ddfa815294624f1608Lennart Poetteringdevices - only a single one per product connected, or a real
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringUSB serial number in the device - are always found with the same
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringname in the by-id/ directory.
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringCompletely identical devices may overwrite their names in by-id/
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringand can only be found reliably in the by-path/ directory. Devices
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringspecified by by-path/ must not change their connection, like the
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringUSB port number they are plugged in, to keep their name.
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringTo support some advanced features, Linux 2.6.22 is the oldest supported
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringversion now. The kernel config with enabled SYSFS_DEPRECATED is no longer
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringsupported. Older kernels should still work, and devices nodes should be
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringreliably created, but some rules and libudev will not work correctly because
eb124a97fb72d076014253b1acde69d428f15ecfLennart Poetteringthe old kernels do not provide the expected information or interfaces.
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringFix for a possible segfault while swapping network interface names in udev
e673ad0415d89c322e5b1a121e411f1b1d8075c0Lennart Poetteringversions 131-134.
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringThe group "video" is part of the default rules now.
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringBugfix for kernels using SYSFS_DEPRECATED* option and finding parent
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringblock devices in some cases. No common distro uses this option anymore,
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringand we do not get enough testing for this and recent udev versions. If
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringthis option is not needed to run some old distro with a new kernel,
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringit should be disabled in the kernel config.
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringBugfix for the $links substitution variable, which may crash if no links
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringare created. This should not happen in usual setups because we always
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringcreate /dev/{block,char}/ links.
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringThe strings of the parsed rules, which are kept in memory, no longer
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringcontain duplicate entries, or duplicate tails of strings. This, and the
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringnew rules parsing/matching code reduces the total in-memory size of
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringa huge distro rule sets to 0.08 MB, compared to the 1.2MB of udev
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringThe export of DEVTYPE=disk/partition got removed from the default
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringrules. This value is available from the kernel. The pnp shell script
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringmodprobe hack is removed from the default rules. ACPI devices have _proper_
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringmodalias support and take care of the same functionality.
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringInstallations which support old kernels, but install current default
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringudev rules may want to add that to the compat rules file.
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringLibvolume_id now always probes for all known filesystems, and does not
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringstop at the first match. Some filesystems are marked as "exclusive probe",
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringand if any other filesytem type matches at the same time, libvolume_id
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringwill, by default, not return any probing result. This is intended to prevent
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringmis-detection with conflicting left-over signatures found from earlier
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringfile system formats. That way, we no longer depend on the probe-order
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringin case of multiple competing signatures. In some setups the kernel allows
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringto mount a volume with just the old filesystem signature still in place.
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringThis may damage the new filesystem and cause data-loss, just by mounting
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringit. Because volume_id can not decide which one the correct signature is,
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringthe wrong signatures need to be removed manually from the volume, or the
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringvolume needs to be reformatted, to enable filesystem detection and possible
eb124a97fb72d076014253b1acde69d428f15ecfLennart PoetteringFix segfault if compiled without optimization and dbg() does not get
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringcompiled out and uses variables which are not available.
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringBugfixes. (And maybe new bugs. :))
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringThe rule matching engine got converted from a rule list to a token
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringarray which reduced the in-memory rules representation of a full
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringfeatured distros with thousends of udev rules from 1.2MB to 0.12 MB.
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringLimits like 5 ENV and ATTR matches, and one single instance for most
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringother keys per rule are gone.
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringThe NAME assignment is no longer special cased. If later rules assign
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringa NAME value again, the former value will be overwritten. As usual
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringfor most other keys, the NAME value can be protected by doing a final
8b04b925e587ff56568c62ff5ad3f2ea2b34ca7aLennart Poetteringassignment with NAME:="<value>".
7361c3b4e1e28a7eb4354a3da354b22e79782141Lennart PoetteringAll udev code now uses libudev, which is also exported. The library
e673ad0415d89c322e5b1a121e411f1b1d8075c0Lennart Poetteringis still under development, marked as experimental, and its interface
e673ad0415d89c322e5b1a121e411f1b1d8075c0Lennart Poetteringmay change as long as the DeviceKit integration is not finished.
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringMany thanks to Alan Jenkins for his continuous help, and finding and
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringoptimizing some of the computing expensive parts.
eb124a97fb72d076014253b1acde69d428f15ecfLennart PoetteringKernel devices and device nodes are connected now by reverse indizes in
d2e83c23f5f0cdd3b6ec05c5c40209708721e704Kay Sievers/sys and /dev. A device number retrieved by a stat() or similar, the
d2e83c23f5f0cdd3b6ec05c5c40209708721e704Kay Sieverskernel device directory can be found by looking up:
d2e83c23f5f0cdd3b6ec05c5c40209708721e704Kay Sievers /sys/dev/{block,char}/<maj>:<min>
d2e83c23f5f0cdd3b6ec05c5c40209708721e704Kay Sieversand the device node of the same device by looking up:
f6113d42d015ad9f3a9e702a09eb8006511a4424Kay Sievers /dev/{block,char}/<maj>:<min>
d2e83c23f5f0cdd3b6ec05c5c40209708721e704Kay SieversFix recently introduced bug, which caused a compilation without large
c55b1b59b837dfd924b704d457ed77c55f8bfeabLennart Poetteringfile support, where vol_id does not recognize raid signatures at the end
6c1703cc35b3a5f93ad3cc813fea10cb9a636102Kay SieversFirewire disks now create both, by-id/scsi-* and by-id/ieee-* links.
08f9588885c5d65694b324846b0ed19211d2c178Lennart PoetteringSeems some kernel versions prevent the creation of the ieee-* links,
59704f3e937c664f7324bfbb08483c358dfbc4c6Lennart Poetteringso people used the scsi-* link which disappeared now.
59704f3e937c664f7324bfbb08483c358dfbc4c6Lennart PoetteringMore libudev work. Almost all udevadm functionality comes from libudev
e707c49485b8f4f2ec040d3da232d39153e650b9Lennart Poetteringudevadm trigger has a new option --type, which allows to trigger events
e707c49485b8f4f2ec040d3da232d39153e650b9Lennart Poetteringfor "devices", for "subsystems", or "failed" devices. The old option
7f8732835295fce29479b1afc9e8ee801852db09Lennart Poettering--retry-failed" still works, but is no longer mentioned in the man page.
a19554ed92a7460b4e709cc40c558cde827ab85bLennart PoetteringThe udevadm info --device-id-of-file= output has changed to use
a19554ed92a7460b4e709cc40c558cde827ab85bLennart Poetteringthe obvious format. Possible current users should use the --export
1cb88f2c61f590083847d65cd5a518e834da87d3Lennart Poetteringoption which is not affected.
1cb88f2c61f590083847d65cd5a518e834da87d3Lennart PoetteringThe old udev commands symlinks to udevadm are not installed, if
1cb88f2c61f590083847d65cd5a518e834da87d3Lennart Poetteringthese symlinks are used, a warning is printed.
6d0274f11547a0f11200bb82bf598a5a253e12cfLennart PoetteringOptical drive's media is no longer probed for raid signatures,
a7a3f28be404875eff20443a0fa8088bcc4c18dfLennart Poetteringreading the end of the device causes some devices to malfunction.
a7a3f28be404875eff20443a0fa8088bcc4c18dfLennart PoetteringAlso the offset of the last session found is used now to probe
9b27910bb0c23e5225fc1177176e4f9bf9bf787bLennart Poetteringfor the filesystem.
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringThe volume_id library got a major version number update to 1,
08f9588885c5d65694b324846b0ed19211d2c178Lennart Poetteringsome deprecated functions are removed.
7d8197d1f25c1291855bb6cffc705444978c6d8dKay SieversA shared library "libudev" gets installed now to provide access
7d8197d1f25c1291855bb6cffc705444978c6d8dKay Sieversto udev device information. DeviceKit, the successor of HAL, will
7d8197d1f25c1291855bb6cffc705444978c6d8dKay Sieversneed this library to access the udev database and search sysfs for
7d8197d1f25c1291855bb6cffc705444978c6d8dKay SieversThe library is currently in an experimental state, also the API is
7d8197d1f25c1291855bb6cffc705444978c6d8dKay Sieversexpected to change, as long as the DeviceKit integration is not
71ef24d09573874c0f7bc323c07c3aec2a458707Lennart PoetteringWe use ./configure now. See INSTALL for details. Current
1b89884ba31cbe98f159ce2c7d6fac5f6a57698fLennart Poettering "/usr" - prefix for man pages, include files
1b89884ba31cbe98f159ce2c7d6fac5f6a57698fLennart Poettering --exec-prefix=
1920e37ef9fec04a1fd882f66bfa7a9a5b91c536Lennart Poettering "" - the root filesystem, prefix for libs and binaries
1920e37ef9fec04a1fd882f66bfa7a9a5b91c536Lennart Poettering --with-libdir-name=
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering "lib" - directory name for libraries, not a path name
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering multilib 64bit systems may use "lib64" instead of "lib"
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering --enable-debug
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering compile-in verbose debug messages
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering --disable-logging
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poettering disable all logging and compile-out all log strings
eb124a97fb72d076014253b1acde69d428f15ecfLennart Poettering --with-selinux
eb124a97fb72d076014253b1acde69d428f15ecfLennart Poettering link against SELInux libraries, to set the expected context
eb124a97fb72d076014253b1acde69d428f15ecfLennart Poettering for created files
eb124a97fb72d076014253b1acde69d428f15ecfLennart PoetteringIn the default rules, the group "disk" gets permissions 0660 instead
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poetteringof 0640. One small step closer to unify distro rules. Some day, all
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poetteringdistros hopefully end up with the same set of rules.
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringNo symlinks to udevadm are installed anymore, if they are still needed,
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringthey should be provided by the package.
f801968466fed39d50d410b30ac828c26722cc95Lennart PoetteringDefault udev rules, which are not supposed to be edited by the user, should
de34a42bcad31f0648ac0f249801310e0dbf83f9Lennart Poetteringbe placed in /lib/udev/rules.d/ now, to make it clear that they are private to
de34a42bcad31f0648ac0f249801310e0dbf83f9Lennart Poetteringthe udev package and will be replaced with an update. Udev will pick up rule
41f9172f427bdbb8221c64029f78364b8dd4e527Lennart Poettering /lib/udev/rules.d/ - default installed rules
424a19f8a2061c6b058283228734010b2fa24db4Lennart Poettering /etc/udev/rules.d/ - user rules + on-the-fly generated rules
424a19f8a2061c6b058283228734010b2fa24db4Lennart Poettering /dev/.udev/rules.d/ - temporary non-persistent rules created after bootup
424a19f8a2061c6b058283228734010b2fa24db4Lennart PoetteringIt does not matter in which directory a rule file lives, all files are sorted
a1cccad1fe88ddd6943e18af97cf7f466296970fLennart Poetteringin lexical order.
8556879e0d14925ce897875c6c264368e2d048c2Lennart PoetteringTo help creating /dev/root, we have now:
d05c556b6b2a680ec8b51ecbbc99a9ab14c28eedZbigniew Jędrzejewski-Szmek $ udevadm info --export --export-prefix="ROOT_" --device-id-of-file=/
8556879e0d14925ce897875c6c264368e2d048c2Lennart PoetteringIn case the current --device-id-of-file is already used, please switch to
4a30847b9d71e0381948d68279c8f775b9de7850Lennart Poetteringthe --export format version, it saves the output parsing and the old
4a30847b9d71e0381948d68279c8f775b9de7850Lennart Poetteringformat will be changed to use ':' as a separator, like the format in the
5e8b28838e493b59628322b69580097ef7dd9384Lennart Poetteringsysfs 'dev' file.
88f89a9b6d25dfcb89691727c8cdaf01f4090b72Lennart PoetteringFix cdrom_id to properly recognize blank media.
7560fffcd2531786b9c1ca657667a43e90331326Lennart PoetteringTape drive id-data is queried from /dev/bsg/* instead of the tape
7560fffcd2531786b9c1ca657667a43e90331326Lennart Poetteringnodes. This avoids rewinding tapes on open().
68f160039eb78fe122cfe0d4c49695ae91f6f0d1Lennart PoetteringThe symlinks udevcontrol and udevtrigger are no longer installed by
edca2e2348b314e2d892fe6f8ae276fdc223f014Thomas Hindoe Paaboel AndersenThe scsi_id program does not depend on sysfs anymore. It can speak
68f160039eb78fe122cfe0d4c49695ae91f6f0d1Lennart PoetteringSGv4 now, so /dev/bsg/* device nodes can be used, to query SCSI device
0790b9fed42eefc4e22dbbe2337cba9713b7848cLennart Poetteringdata, which should solve some old problems with tape devices, where
5aea932fd54db835b77709ddeba30732648aae53Lennart Poetteringwe better do not open all tape device nodes to identify the device.
8230e26dc954a40d8c9dbc8ddd9376117021f9d2Lennart PoetteringThe cdrom_id program is replaced by an advanced version, which can
8230e26dc954a40d8c9dbc8ddd9376117021f9d2Lennart Poetteringdetect most common device types, and also properties of the inserted
4d9909c93e9c58789c71b34555a1908307c6849eLennart Poetteringmedia. This is part of moving some basic functionality from HAL into
4d9909c93e9c58789c71b34555a1908307c6849eLennart Poetteringudev (and the kernel).
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringThe last WAIT_FOR_SYSFS rule is removed from the default rules.
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringThe symlinks to udevadm for the debugging tools: udevmonitor and
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringudevtest are no longer created.
c66d36e5b5ae81f3c5297d6dacadc13c88c530f6Lennart PoetteringThe symlinks to the udevadm man page for the old tool names are
c649f72baed31c54c8384c3ca1d203fab6e98d08David Straussno longer created.
be0aa78406c73a6625308dc0672b5ff27ec6f9a8Lennart PoetteringAbstract namespace sockets paths in RUN+="socket:@<path>" rules,
be0aa78406c73a6625308dc0672b5ff27ec6f9a8Lennart Poetteringshould be prefixed with '@' to indicate that the path is not a
f1a8e221ecacea23883df57951e291a910463948Lennart PoetteringUdevstart is removed from the tree, it did not get installed for
7b63bde1ed0d4f30c799c9b4737fa926465929f9Lennart Poetteringa long time now, and is long replaced by trigger and settle.
d3a3f22267a7dac426b07a7ed0baa1632f5daf04Kay SieversAll udev tools are merged into a single binary called udevadm.
d3a3f22267a7dac426b07a7ed0baa1632f5daf04Kay SieversThe old names of the tools are built-in commands in udevadm now.
d3a3f22267a7dac426b07a7ed0baa1632f5daf04Kay SieversSymlinks to udevadm, with the names of the old tools, provide
d3a3f22267a7dac426b07a7ed0baa1632f5daf04Kay Sieversthe same functionality as the standalone tools. There is also
d3a3f22267a7dac426b07a7ed0baa1632f5daf04Kay Sieversonly a single udevadm.8 man page left for all tools.
d3a3f22267a7dac426b07a7ed0baa1632f5daf04Kay SieversTools like mkinitramfs should be checked, if they need to include
d3a3f22267a7dac426b07a7ed0baa1632f5daf04Kay Sieversudevadm in the list of files.
abd55b16547d0bb0ed1c31e72e16838f0f59f48bKay SieversThe etc/udev/rules.d/ directory now contains a default set of basic
abd55b16547d0bb0ed1c31e72e16838f0f59f48bKay Sieversudev rules. This initial version is the result of a rules file merge
abd55b16547d0bb0ed1c31e72e16838f0f59f48bKay Sieversof Fedora and openSUSE. For these both distros only a few specific
abd55b16547d0bb0ed1c31e72e16838f0f59f48bKay Sieversrules are left in their own file, named after the distro. Rules which
abd55b16547d0bb0ed1c31e72e16838f0f59f48bKay Sieversare optionally installed, because they are only valid for a specific
abd55b16547d0bb0ed1c31e72e16838f0f59f48bKay Sieversarchitecture, or rules for subsystems which are not always used are
169c4f65131fbc7bcb51e7d5487a715cdcd0e0ebLennart PoetteringDynamic rules can be created in /dev/.udev/rules.d/ to trigger
bd08f2422491169e92dc0899d5ba848fcae4c15cLennart Poetteringactions by dynamically created rules.
fb0864e7b9c6d26269ccea6ec5c0fd921c029781Lennart PoetteringSYMLINK=="<value>" matches agains the entries in the list of
fb0864e7b9c6d26269ccea6ec5c0fd921c029781Lennart Poetteringcurrently defined symlinks. The links are not created in the
9586cdfab6a2638078702b7fea7e16b3a71899e2Lennart Poetteringfilesystem at that point in time, but the values can be matched.
7f110ff9b8828b477e87de7b28c708cf69a3d008Lennart PoetteringRUN{ignore_error}+="<program>" will ignore any exit code from the
7f110ff9b8828b477e87de7b28c708cf69a3d008Lennart Poetteringprogram and not record as a failed event.
53ed2eeb2e709a6c0d152d7bdf2d9a4b9f997a16Lennart PoetteringFinal merge of patches/features from the Ubuntu package.
87a8baa35d6d65ac3b58ae8e26e338e67f8ae8edLennart PoetteringControl characters in filesystem label strings are no longer silenty
87a8baa35d6d65ac3b58ae8e26e338e67f8ae8edLennart Poetteringremoved, but hex-encoded, to be able to uniquely identify the device
87a8baa35d6d65ac3b58ae8e26e338e67f8ae8edLennart Poetteringby its symlink in /dev/disk/by-label/.
5ba081b0fb02380cee4c2ff5bc7e05f869eb8415Lennart PoetteringIf libvolume_id is used by mount(8), LABEL= will work as expected,
5ba081b0fb02380cee4c2ff5bc7e05f869eb8415Lennart Poetteringif slashes or other characters are used in the label string.
4cbd9ecf45f64c3a9acc99d473fbf3be3687ae24Lennart PoetteringTo test the existence of a file, TEST=="<file>" and TEST!="<file>"
65c0cf7108ae3537a357c74b4586a783baba82f9Lennart Poetteringcan be specified now. The TEST key accepts an optional mode mask
65c0cf7108ae3537a357c74b4586a783baba82f9Lennart PoetteringTEST{0100}=="<is executable file>".
f957632b960a0a42999b38ded7089fa602b41745Kay SieversScsi_id now supports a mode without expecting scsi-specific sysfs
f957632b960a0a42999b38ded7089fa602b41745Kay Sieversentries to allow the extraction of cciss-device persistent properties.
14e639ae7a1dbf156273ce697d30fbc6c6594209Lennart PoetteringIn the future, we may see uuid's which are just simple character
ff01d048b4c1455241c894cf7982662c9d28fd34Lennart Poetteringstrings (see the DDF Raid Specification). For that reason vol_id now
ff01d048b4c1455241c894cf7982662c9d28fd34Lennart Poetteringexports ID_FS_UUID_SAFE, just like ID_FS_LABEL_SAFE. For things like
d3c7d7dd77b2b72315164b672462825cef6c0f9aKay Sieversthe creation of symlinks, the *_SAFE values ensure, that no control
72b9ed828bd22f3ddd74b6853c183eebf006d6d8Lennart Poetteringor whitespace characters are used in the filename.
1d6702e8d3877c0bebf3ac817dc45ff72f5ecfa9Lennart PoetteringPossible users of libvolume_id, please use the volume_id_get_* functions.
1d6702e8d3877c0bebf3ac817dc45ff72f5ecfa9Lennart PoetteringThe public struct will go away in a future release of the library.
a4c279f87451186b8beb1b8cc21c7cad561ecf4bLennart PoetteringRemoval of useless extras/eventrecorder.sh.
88a07670cfa974a605c7c7b520b8a3135fce37f9Lennart PoetteringThe directory multiplexer for dev.d/ and hotplug.d are finally removed
88a07670cfa974a605c7c7b520b8a3135fce37f9Lennart Poetteringfrom the udev package.
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringSymlinks can have priorities now, the priority is assigned to the device
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringand specified with OPTIONS="link_priority=100". Devices with higher
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart Poetteringpriorities overwrite the symlinks of devices with lower priorities.
b44be3ecf6326c27aa2c6c6d1fe34e22e22592a0Lennart PoetteringIf the device that currently owns the link, goes away, the symlink
b23de6af893c11da4286bc416455cd0926d1532eLennart Poetteringwill be removed, and recreated, pointing to the next device with the
21bdae12e11ae20460715475d8a0c991f15464acLennart Poetteringhighest actual priority. This should make /dev/disk/by-{label,uuid,id}
21bdae12e11ae20460715475d8a0c991f15464acLennart Poetteringmore reliable, if multiple devices contain the same metadata and overwrite
9534ce54858c67363b841cdbdc315140437bfdb4Lennart Poetteringthese symlinks.
68c7d001f4117f0c3d0a4582e32cbb03ae5fac57Lennart PoetteringThe dasd_id program is removed from the udev tree, and dasdinfo, with the
796b06c21b62d13c9021e2fbd9c58a5c6edb2764Kay Sieversneeded rules, are part of the s390-tools now.
68c7d001f4117f0c3d0a4582e32cbb03ae5fac57Lennart PoetteringPlease add KERNEL=="[0-9]*:[0-9]*" to the scsi wait-for-sysfs rule,
7a2a0b907b5cc60f5d9a871997d7d6e7f62bf4d8Lennart Poetteringwe may get the scsi sysfs mess fixed some day, and this will only catch
253ee27a0c7a410d27d490bb79ea97caed6a2b68Lennart Poetteringthe devices we are looking for.
5d0fcd7c8d29340ac9425c309e8ac436a9af699cLennart PoetteringUSB serial numbers for storage devices have the target:lun now appended,
8bbabc447b1d913bd21faf97c7b17d20d315d2b4Lennart Poetteringto make it possibble to distinguish broken multi-lun devices with all
f530371f1f85a070d7d0fb5112146a43533ae00bLennart Poetteringthe same SCSI identifiers.
a19554ed92a7460b4e709cc40c558cde827ab85bLennart PoetteringNote: The extra "run_directory" which searches and executes stuff in
a73d88fa024b5668ed7dde681e99547d41e6a864Lennart Poettering/etc/hotplug.d/ and /etc/dev.d/ is long deprecated, and will be removed
a74a8793b04de9886b4f6987b9cb86fa02c73520Lennart Poetteringwith the next release. Make sure, that you don't use it anymore, or
3040728b6691ea2e9df3a2060e2d49a792bbaedaLennart Poetteringprovides your own implementation of that inefficient stuff.
3679d1126bae52e02f6cd60fca196f616b9e660dLennart PoetteringWe are tired of reports about a "slow udev", because these directories
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poetteringcontain stuff, that runs with _every_ event, instead of using rules,
3679d1126bae52e02f6cd60fca196f616b9e660dLennart Poetteringthat run programs only for the matching events.
260abb780a135e4cae8c10715c7e85675efc345aLennart PoetteringDRIVER== will match only for devices that actually have a real
2791a8f8dc8764a9247cdba3562bd4c04010f144Lennart Poetteringdriver. DRIVERS== must be used, if parent devices should be
a8f11321c209830a35edd0357e8def5d4437d854Lennart Poetteringincluded in the match.