summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--etc/udev/udev.rules46
-rw-r--r--etc/udev/udev.rules.devfs6
-rw-r--r--etc/udev/udev.rules.examples63
-rw-r--r--extras/run_directory/README17
-rw-r--r--extras/run_directory/RFC-dev.d (renamed from docs/RFC-dev.d)0
-rw-r--r--extras/run_directory/dev.d/default/pam_console.dev (renamed from etc/dev.d/default/pam_console.dev)0
-rw-r--r--extras/run_directory/dev.d/net/hotplug.dev (renamed from etc/dev.d/net/hotplug.dev)0
-rw-r--r--extras/run_directory/dev.d/snd/controlC0/alsa.dev (renamed from etc/dev.d/snd/controlC0/alsa.dev)0
8 files changed, 23 insertions, 109 deletions
diff --git a/etc/udev/udev.rules b/etc/udev/udev.rules
deleted file mode 100644
index bebf74802f..0000000000
--- a/etc/udev/udev.rules
+++ /dev/null
@@ -1,46 +0,0 @@
-# There are a number of modifiers that are allowed to be used in some of the
-# fields. See the udev man page for a full description of them.
-#
-# See the udev.rules.examples file for more examples of how to create rules
-#
-
-# if this is a ide cdrom, name it the default name, and create a symlink to cdrom
-BUS=="ide", KERNEL=="*[!0-9]", PROGRAM="/bin/cat /proc/ide/%k/media", RESULT="cdrom", NAME="%k", SYMLINK+="cdrom"
-
-# DRI devices always go into a subdirectory (as per the LSB spec)
-KERNEL=="card*", NAME="dri/card%n"
-
-# alsa devices
-KERNEL=="controlC[0-9]*", NAME="snd/%k"
-KERNEL=="hw[CD0-9]*", NAME="snd/%k"
-KERNEL=="pcm[CD0-9cp]*", NAME="snd/%k"
-KERNEL=="midiC[D0-9]*", NAME="snd/%k"
-KERNEL=="timer", NAME="snd/%k"
-KERNEL=="seq", NAME="snd/%k"
-
-# input devices
-KERNEL=="mice", NAME="input/%k"
-KERNEL=="mouse*", NAME="input/%k"
-KERNEL=="event*", NAME="input/%k"
-KERNEL=="js*", NAME="input/%k"
-KERNEL=="ts*", NAME="input/%k"
-
-# USB devices
-KERNEL=="hiddev*", NAME="usb/%k"
-KERNEL=="auer*", NAME="usb/%k"
-KERNEL=="legousbtower*", NAME="usb/%k"
-KERNEL=="dabusb*", NAME="usb/%k"
-BUS=="usb", KERNEL=="lp[0-9]*", NAME="usb/%k"
-
-# CAPI devices
-KERNEL=="capi", NAME="capi20", SYMLINK+="isdn/capi20"
-KERNEL=="capi*", NAME="capi/%n"
-
-# Network devices
-KERNEL=="tun", NAME="net/%k"
-
-# raw devices
-KERNEL=="raw[0-9]*", NAME="raw/%k"
-
-# emulate dev.d/
-RUN="/sbin/udev_run_devd"
diff --git a/etc/udev/udev.rules.devfs b/etc/udev/udev.rules.devfs
index 867f95029c..b7b2c4e12d 100644
--- a/etc/udev/udev.rules.devfs
+++ b/etc/udev/udev.rules.devfs
@@ -1,3 +1,9 @@
+# The use of these rules is not recommended or supported.
+# In a world where devices can come and go at any time, the devfs scheme
+# of simple device enumeration does not help _anything_. Just forget about
+# it. Use custom rules to name your device or look at the persistent device
+# naming scheme, which is implemented for disks and add your subsystem.
+
# There are a number of modifiers that are allowed to be used in some of the
# fields. See the udev man page for a full description of them.
diff --git a/etc/udev/udev.rules.examples b/etc/udev/udev.rules.examples
deleted file mode 100644
index 1c4527891a..0000000000
--- a/etc/udev/udev.rules.examples
+++ /dev/null
@@ -1,63 +0,0 @@
-# There are a number of modifiers that are allowed to be used in some of the
-# fields. See the udev man page for a full description of them.
-#
-#
-# These are some example rules that you could use to name your devices.
-#
-# If anyone has any other examples that they think should be in here for others
-# to use, please send them to greg@kroah.com
-#
-
-# Looking for scsi bus id 42:0:0:1
-BUS=="scsi", PROGRAM="/bin/echo -n test-%b", RESULT=="test-42:0:0:1", NAME="%c"
-
-# A usb camera.
-BUS=="usb", SYSFS{vendor}=="FUJIFILM", SYSFS{model}=="M100", NAME="camera%n"
-
-# USB Epson printer to be called lp_epson
-BUS=="usb", SYSFS_serial=="HXOLL0012202323480", NAME="lp_epson"
-
-# USB HP printer to be called lp_hp
-BUS=="usb", SYSFS{serial}=="W09090207101241330", NAME="lp_hp"
-
-# sound card with PCI bus id 00:0b.0 to be the first sound card
-BUS=="pci", ID=="00:0b.0", NAME="dsp"
-
-# sound card with PCI bus id 00:07.1 to be the second sound card
-BUS=="pci", ID=="00:07.1", NAME="dsp1"
-
-# ttyUSB1 should always be called visor
-KERNEL=="ttyUSB1", NAME="visor"
-KERNEL=="ttyUSB0", NAME="pl2303"
-
-# a devfs like way to name some tty devices
-KERNEL=="ttyS*", NAME="tts/%n"
-KERNEL=="tty*", NAME="vc/%n"
-
-# if this is a ide cdrom, name it the default name, and create a symlink to cdrom
-BUS=="ide", KERNEL=="*[!0-9]", PROGRAM="/bin/cat /proc/ide/%k/media", RESULT=="cdrom", NAME="%k", SYMLINK+="cdrom"
-
-# DRI devices always go into a subdirectory (as per the LSB spec)
-KERNEL=="card*", NAME="dri/card%n"
-
-# create all 15 partitions of a USB flash card reader
-BUS=="scsi", SYSFS{model}=="CF/MD", NAME{all_partitions}="compactflash"
-
-# alsa devices
-KERNEL=="controlC[0-9]*", NAME="snd/%k"
-KERNEL=="hw[CD0-9]*", NAME="snd/%k"
-KERNEL=="pcm[CD0-9cp]*", NAME="snd/%k"
-KERNEL=="midi[CD0-9]*", NAME="snd/%k"
-KERNEL=="timer", NAME="snd/%k"
-KERNEL=="seq", NAME="snd/%k"
-
-# input devices
-KERNEL=="mice", NAME="input/%k"
-KERNEL=="mouse*", NAME="input/%k"
-KERNEL=="event*", NAME="input/%k"
-KERNEL=="js*", NAME="input/%k"
-KERNEL=="ts*", NAME="input/%k"
-
-# emulate dev.d/
-RUN="/sbin/udev_run_devd"
-
diff --git a/extras/run_directory/README b/extras/run_directory/README
new file mode 100644
index 0000000000..022c66451c
--- /dev/null
+++ b/extras/run_directory/README
@@ -0,0 +1,17 @@
+Use these binaries only if you need backward compatibility with
+older udev versions. The use of /etc/dev.d/ is no longer recommended
+Use explicit udev rules with RUN keys to hook into the processing.
+
+ /etc/dev.d/ + /etc/hotplug.d/ directory multiplexing is completely
+ removed from udev itself and must be emulated by calling small
+ helper binaries provided by these helpers:
+ make EXTRAS=extras/run_directory/
+ will build udev_run_devd and udev_run_hotplugd, which can be called
+ from a rule if needed:
+ RUN+="/sbin/udev_run_hotplugd"
+ The recommended way to handle this is to convert all the calls from
+ the directories to explicit udev rules and get completely rid of the
+ multiplexing. (To catch a ttyUSB event, you now no longer need to
+ fork and exit 300 tty script instances you are not interested in, it
+ is just one rule that matches exactly the device.)
+
diff --git a/docs/RFC-dev.d b/extras/run_directory/RFC-dev.d
index 1aca1aa393..1aca1aa393 100644
--- a/docs/RFC-dev.d
+++ b/extras/run_directory/RFC-dev.d
diff --git a/etc/dev.d/default/pam_console.dev b/extras/run_directory/dev.d/default/pam_console.dev
index 4c69ea3576..4c69ea3576 100644
--- a/etc/dev.d/default/pam_console.dev
+++ b/extras/run_directory/dev.d/default/pam_console.dev
diff --git a/etc/dev.d/net/hotplug.dev b/extras/run_directory/dev.d/net/hotplug.dev
index e195b0f034..e195b0f034 100644
--- a/etc/dev.d/net/hotplug.dev
+++ b/extras/run_directory/dev.d/net/hotplug.dev
diff --git a/etc/dev.d/snd/controlC0/alsa.dev b/extras/run_directory/dev.d/snd/controlC0/alsa.dev
index 642dde4f36..642dde4f36 100644
--- a/etc/dev.d/snd/controlC0/alsa.dev
+++ b/extras/run_directory/dev.d/snd/controlC0/alsa.dev