rpms/udev/devel udev-114+git-fcfeda.patch,NONE,1.1

Harald Hoyer (harald) fedora-extras-commits at redhat.com
Fri Aug 10 14:38:12 UTC 2007


Author: harald

Update of /cvs/pkgs/rpms/udev/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv31617

Added Files:
	udev-114+git-fcfeda.patch 
Log Message:
preview of rules unification

udev-114+git-fcfeda.patch:

--- NEW FILE udev-114+git-fcfeda.patch ---
diff --git a/etc/udev/debian/cd-aliases-generator.rules b/etc/udev/debian/cd-aliases-generator.rules
new file mode 100644
index 0000000..f655488
--- /dev/null
+++ b/etc/udev/debian/cd-aliases-generator.rules
@@ -0,0 +1,13 @@
+# These rules generate rules for the /dev/{cdrom,dvd,...} symlinks and
+# write them to /etc/udev/rules.d/z20_persistent-cd.rules.
+#
+# The default name for this file is z75_cd-aliases-generator.rules.
+
+ACTION=="add", SUBSYSTEM=="block", ENV{GENERATED}!="?*", ENV{ID_CDROM}=="?*", \
+	SUBSYSTEMS!="usb|ieee1394", \
+	PROGRAM="write_cd_rules", SYMLINK+="%c"
+
+ACTION=="add", SUBSYSTEM=="block", ENV{GENERATED}!="?*", ENV{ID_CDROM}=="?*", \
+	SUBSYSTEMS=="usb|ieee1394", \
+	PROGRAM="write_cd_rules by-id", SYMLINK+="%c"
+
diff --git a/etc/udev/debian/devfs.rules b/etc/udev/debian/devfs.rules
index 2e0caa1..56ed1a8 100644
--- a/etc/udev/debian/devfs.rules
+++ b/etc/udev/debian/devfs.rules
@@ -50,6 +50,7 @@ SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", \
 # usbfs-like devices
 SUBSYSTEM=="usb_device",	PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", ACTION=="add", \
 				NAME="%c"
+SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device",	NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}"
 
 # serial devices
 KERNEL=="ttyS[0-9]*",		NAME="tts/%n"
@@ -104,6 +105,7 @@ KERNEL=="umad*",		NAME="infiniband/%k"
 KERNEL=="issm*",		NAME="infiniband/%k"
 KERNEL=="uverbs*",		NAME="infiniband/%k"
 KERNEL=="ucm*",			NAME="infiniband/%k"
+KERNEL=="rdma_ucm",		NAME="infiniband/%k"
 
 # sound devices
 KERNEL=="controlC[0-9]*",	NAME="snd/%k"
diff --git a/etc/udev/debian/hotplug.rules b/etc/udev/debian/hotplug.rules
index 0b2fc57..662e997 100644
--- a/etc/udev/debian/hotplug.rules
+++ b/etc/udev/debian/hotplug.rules
@@ -7,16 +7,20 @@ ENV{DRIVER}=="?*", SUBSYSTEM!="input", GOTO="hotplug_driver_loaded"
 SUBSYSTEM=="platform", ENV{MODALIAS}=="i82365", GOTO="hotplug_driver_loaded"
 
 # load the drivers
-ENV{MODALIAS}=="?*",	RUN+="/sbin/modprobe --use-blacklist $env{MODALIAS}"
+ENV{MODALIAS}=="?*", \
+	RUN+="/sbin/modprobe --use-blacklist $env{MODALIAS}"
 SUBSYSTEM=="ide",	ENV{MODALIAS}!="?*",	RUN+="ide.agent"
 
-SUBSYSTEM=="pnp",	ENV{MODALIAS}!="?*",	RUN+="/bin/sh -c 'while read id; do /sbin/modprobe --use-blacklist pnp:d$$id; done < /sys$devpath/id'"
+SUBSYSTEM=="pnp",	ENV{MODALIAS}!="?*", \
+	RUN+="/bin/sh -c 'while read id; do /sbin/modprobe --use-blacklist pnp:d$$id; done < /sys$devpath/id'"
 
 SUBSYSTEM=="pcmcia_socket",			RUN+="/sbin/modprobe pcmcia"
 
 # rules for subsystems which lack proper hotplug support
 SUBSYSTEM=="i2o",				RUN+="/sbin/modprobe i2o_block"
 SUBSYSTEM=="mmc",				RUN+="/sbin/modprobe mmc_block"
+SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="SD",	RUN+="/sbin/modprobe tifm_sd"
+SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="MS",	RUN+="/sbin/modprobe tifm_ms"
 
 SUBSYSTEM=="scsi_device", ATTRS{type}=="0|7|14", RUN+="/sbin/modprobe sd_mod"
 SUBSYSTEM=="scsi_device", ATTRS{type}=="1",	RUN+="/sbin/modprobe osst", \
diff --git a/etc/udev/debian/hotplugd.rules b/etc/udev/debian/hotplugd.rules
deleted file mode 100644
index cd30fa4..0000000
--- a/etc/udev/debian/hotplugd.rules
+++ /dev/null
@@ -1,8 +0,0 @@
-# do not call hotplug.d and dev.d for "drivers" and "module" events
-SUBSYSTEM=="drivers",	OPTIONS="last_rule"
-SUBSYSTEM=="module",	OPTIONS="last_rule"
-
-# compatibility support for the obsolete hotplug.d and dev.d directories
-RUN+="udev_run_hotplugd $env{SUBSYSTEM}"
-RUN+="udev_run_devd $env{SUBSYSTEM}"
-
diff --git a/etc/udev/debian/permissions.rules b/etc/udev/debian/permissions.rules
index ac6c0be..205b733 100644
--- a/etc/udev/debian/permissions.rules
+++ b/etc/udev/debian/permissions.rules
@@ -3,12 +3,17 @@ ACTION!="add", GOTO="permissions_end"
 # workarounds needed to synchronize with sysfs
 # only needed for kernels < v2.6.18-rc1
 ENV{PHYSDEVPATH}!="?*", ENV{PHYSDEVBUS}=="?*",	WAIT_FOR_SYSFS="bus"
-SUBSYSTEM=="scsi",				WAIT_FOR_SYSFS="ioerr_cnt"
+SUBSYSTEM=="scsi", KERNEL=="[0-9]*:[0-9]*",	WAIT_FOR_SYSFS="ioerr_cnt"
 # only needed for kernels < 2.6.16
 SUBSYSTEM=="net",				WAIT_FOR_SYSFS="address"
 # only needed for kernels < 2.6.17
 SUBSYSTEM=="net", ENV{DRIVER}=="?*",		WAIT_FOR_SYSFS="device/driver"
 
+# devices needed to load the drivers providing them
+KERNEL=="tun",					OPTIONS+="ignore_remove"
+KERNEL=="ppp",					OPTIONS+="ignore_remove"
+KERNEL=="loop[0-9]*",				OPTIONS+="ignore_remove"
+
 # default permissions for block devices
 SUBSYSTEM=="block",				GROUP="disk"
 # the aacraid driver is broken and reports that disks removable (see #404927)
@@ -30,6 +35,7 @@ SUBSYSTEMS=="scsi", ATTRS{type}=="1",				GROUP="tape"
 SUBSYSTEMS=="scsi", ATTRS{type}=="3", ATTRS{vendor}=="HP",	GROUP="scanner"
 SUBSYSTEMS=="scsi", ATTRS{type}=="3", ATTRS{vendor}=="Epson",	GROUP="scanner"
 SUBSYSTEMS=="scsi", ATTRS{type}=="3", ATTRS{vendor}=="EPSON",	GROUP="scanner"
+SUBSYSTEMS=="scsi", ATTRS{type}=="4",				GROUP="cdrom"
 SUBSYSTEMS=="scsi", ATTRS{type}=="5",				GROUP="cdrom"
 SUBSYSTEMS=="scsi", ATTRS{type}=="6",				GROUP="scanner"
 SUBSYSTEMS=="scsi", ATTRS{type}=="8",				GROUP="tape"
@@ -39,10 +45,11 @@ KERNEL=="legousbtower*",	MODE="0666"
 KERNEL=="lp[0-9]*", SUBSYSTEMS=="usb",		GROUP="lp"
 
 # usbfs-like devices
-SUBSYSTEM=="usb_device",	MODE="0664"
+SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", \
+				MODE="0664"
 
 # iRiver music players
-SUBSYSTEM=="usb_device",			GROUP="plugdev", \
+SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device",	GROUP="plugdev", \
 	ATTRS{idVendor}=="4102", ATTRS{idProduct}=="10[01][135789]"
 
 # serial devices
@@ -85,7 +92,7 @@ KERNEL=="tpm*",			MODE="0600",	OWNER="tss", GROUP="tss"
 KERNEL=="fuse",					GROUP="fuse"
 KERNEL=="kqemu",		MODE="0666"
 KERNEL=="kvm",					GROUP="kvm"
-KERNEL=="tun",			MODE="0666"
+KERNEL=="tun",			MODE="0666",
 
 KERNEL=="cdemu[0-9]*",				GROUP="cdrom"
 KERNEL=="pktcdvd[0-9]*",			GROUP="cdrom"
@@ -93,6 +100,7 @@ KERNEL=="pktcdvd",		MODE="0644"
 
 KERNEL=="uverbs*",				GROUP="rdma"
 KERNEL=="ucm*",					GROUP="rdma"
+KERNEL=="rdma_ucm",				GROUP="rdma"
 
 # printers and parallel devices
 SUBSYSTEM=="printer",				GROUP="lp"
diff --git a/etc/udev/debian/persistent-input.rules b/etc/udev/debian/persistent-input.rules
index a9005e0..47c4ae9 100644
--- a/etc/udev/debian/persistent-input.rules
+++ b/etc/udev/debian/persistent-input.rules
@@ -4,7 +4,7 @@ ACTION!="add",				GOTO="persistent_input_end"
 KERNEL=="input[0-9]*",			GOTO="persistent_input_end"
 
 # usb devices
-SUBSYSTEMS=="usb",			IMPORT{program}="usb_id -x"
+SUBSYSTEMS=="usb",			IMPORT{program}="usb_id --export"
 SUBSYSTEMS=="usb", \
 	ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceProtocol}=="01", \
 					ENV{ID_CLASS}="kbd"
@@ -25,14 +25,14 @@ ATTRS{modalias}=="input:*-*a[068],*|input:*-*a*,[68],*m*", \
 ENV{ID_SERIAL}=="",			ENV{ID_SERIAL}="noserial"
 
 # by-id links, generic and for the event devices
-KERNEL=="mouse*", ENV{ID_BUS}=="?*", ENV{ID_CLASS}=="?*", \
+KERNEL=="mouse*|js*", ENV{ID_BUS}=="?*", ENV{ID_CLASS}=="?*", \
 	SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-$env{ID_CLASS}"
 KERNEL=="event*", ENV{ID_BUS}=="?*", ENV{ID_CLASS}=="?*", \
 	SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-event-$env{ID_CLASS}"
 
 # by-path links
 IMPORT{program}="path_id %p"
-KERNEL=="mouse*", ENV{ID_PATH}=="?*", \
+KERNEL=="mouse*|js*", ENV{ID_PATH}=="?*", \
 	SYMLINK+="input/by-path/$env{ID_PATH}-$env{ID_CLASS}"
 KERNEL=="event*", ENV{ID_PATH}=="?*", \
 	SYMLINK+="input/by-path/$env{ID_PATH}-event-$env{ID_CLASS}"
diff --git a/etc/udev/debian/persistent-net-generator.rules b/etc/udev/debian/persistent-net-generator.rules
new file mode 100644
index 0000000..6df00bf
--- /dev/null
+++ b/etc/udev/debian/persistent-net-generator.rules
@@ -0,0 +1,48 @@
+# These rules generate rules to keep network interface names unchanged
+# across reboots write them to /etc/udev/rules.d/z25_persistent-net.rules.
+#
+# The default name for this file is z45_persistent-net-generator.rules.
+
+ACTION!="add",				GOTO="persistent_net_generator_end"
+SUBSYSTEM!="net",			GOTO="persistent_net_generator_end"
+
+# ignore the interface if a name has already been set
+NAME=="?*",				GOTO="persistent_net_generator_end"
+
+# ignore Xen virtual interfaces
+SUBSYSTEMS=="xen",			GOTO="persistent_net_generator_end"
+
+# ignore UML virtual interfaces
+DRIVERS=="uml-netdev",			GOTO="persistent_net_generator_end"
+
+# ignore VMWare virtual interfaces
+ATTR{address}=="00:0c:29:*|00:50:56:*",	GOTO="persistent_net_generator_end"
+
+# ignore interfaces with random MAC addresses
+ATTR{address}=="?[2367abef]:*",		GOTO="persistent_net_generator_end"
+
+# ignore "secondary" raw interfaces of the madwifi driver
+KERNEL=="ath*", ATTRS{type}=="802",	GOTO="persistent_net_generator_end"
+
+# provide nice comments for the generated rules
+SUBSYSTEMS=="pci", \
+ ENV{COMMENT}="PCI device $attr{vendor}:$attr{device}"
+SUBSYSTEMS=="usb", \
+ ENV{COMMENT}="USB device $attr{idVendor}:$attr{idProduct}"
+SUBSYSTEMS=="ccwgroup", \
+ ENV{COMMENT}="S/390 device at $id",
+SUBSYSTEMS=="ieee1394", \
+ ENV{COMMENT}="Firewire device $attr{host_id}"
+ENV{COMMENT}=="", \
+ ENV{COMMENT}="Unknown $env{SUBSYSTEM} device ($env{DEVPATH})"
+ATTRS{driver}=="?*", \
+ ENV{COMMENT}="$env{COMMENT} ($attr{driver})"
+
+# ignore interfaces without a driver link like bridges and VLANs
+KERNEL=="eth*|ath*|wlan*|ra*|sta*|ctc*|lcs*|hsi*", DRIVERS=="?*",\
+	IMPORT{program}="write_net_rules $attr{address}"
+
+ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}"
+
+LABEL="persistent_net_generator_end"
+
diff --git a/etc/udev/debian/persistent.rules b/etc/udev/debian/persistent.rules
index c82a639..de2fa2a 100644
--- a/etc/udev/debian/persistent.rules
+++ b/etc/udev/debian/persistent.rules
@@ -1,17 +1,20 @@
 # This file contains the rules needed to create persistent device names.
 
 # we are only interested in add actions for block devices
-SUBSYSTEM!="block",			GOTO="no_volume_id"
-ACTION!="add",				GOTO="no_volume_id"
+ACTION!="add",				GOTO="persistent_storage_end"
+SUBSYSTEM!="block",			GOTO="persistent_storage_end"
 
 # and we can safely ignore these kinds of devices
-KERNEL=="ram*|loop*|fd*|nbd*|gnbd*|dm-*|md*", GOTO="no_volume_id"
+KERNEL=="ram*|loop*|fd*|nbd*|gnbd*|dm-*|md*", GOTO="persistent_storage_end"
 
 # skip removable ide devices, because open(2) on them causes an events loop
 KERNEL=="hd*[!0-9]",   ATTR{removable}=="1", DRIVERS=="ide-cs|ide-floppy", \
-	GOTO="no_volume_id"
+	GOTO="persistent_storage_end"
 KERNEL=="hd*[0-9]", ATTRS{removable}=="1", \
-	GOTO="no_volume_id"
+	GOTO="persistent_storage_end"
+
+# ignore partitions that span the entire disk
+ATTR{whole_disk}=="*",			GOTO="persistent_storage_end"
 
 # skip xen virtual hard disks
 DRIVERS=="vbd",				GOTO="no_hardware_id"
@@ -28,6 +31,8 @@ KERNEL=="sd*[!0-9]|sr*|st*|nst*",	ENV{ID_SERIAL}=="", \
 	IMPORT{program}="scsi_id -g -x -s $devpath -d $tempnode"
 KERNEL=="sd*[!0-9]|sr*|st*|nst*",	ENV{ID_SERIAL}=="", \
 	IMPORT{program}="scsi_id -g -x -a -s $devpath -d $tempnode"
+KERNEL=="cciss?c[0-9]d[0-9]",		ENV{ID_SERIAL}=="",
+	IMPORT{program}="scsi_id -g -x -n -s $devpath -d $tempnode"
 KERNEL=="sg*", ATTRS{type}=="8",	ENV{ID_SERIAL}=="", \
 	IMPORT{program}="scsi_id -g -x -s $devpath -d $tempnode"
 KERNEL=="sg*", ATTRS{type}=="8",	ENV{ID_SERIAL}=="", \
@@ -51,10 +56,10 @@ KERNEL=="hd*[!0-9]",			ENV{ID_SERIAL}=="?*", \
 	SYMLINK+="disk/by-id/ata-$env{ID_MODEL}_$env{ID_SERIAL}"
 KERNEL=="hd*[0-9]",			ENV{ID_SERIAL}=="?*", \
 	SYMLINK+="disk/by-id/ata-$env{ID_MODEL}_$env{ID_SERIAL}-part%n"
-KERNEL=="sd*[!0-9]|sr*",		ENV{ID_SERIAL_SHORT}=="?*", \
+KERNEL=="sd*[!0-9]|sr*|cciss?c[0-9]d[0-9]", ENV{ID_SERIAL_SHORT}=="?*", \
 	ENV{ID_VENDOR}=="ATA", \
 	SYMLINK+="disk/by-id/ata-$env{ID_MODEL}-$env{ID_SERIAL_SHORT}"
-KERNEL=="sd*[0-9]",			ENV{ID_SERIAL_SHORT}=="?*", \
+KERNEL=="sd*[0-9]|cciss*p[0-9]",	ENV{ID_SERIAL_SHORT}=="?*", \
 	ENV{ID_VENDOR}=="ATA", \
 	SYMLINK+="disk/by-id/ata-$env{ID_MODEL}-$env{ID_SERIAL_SHORT}-part%n"
 
@@ -81,22 +86,22 @@ KERNEL=="nst*",				ENV{ID_SERIAL}=="?*", \
 KERNEL=="sg*", ATTRS{type}=="8",	ENV{ID_SERIAL}=="?*", \
 	SYMLINK+="tape/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
 
-KERNEL=="*[!0-9]|sr*",			ENV{ID_PATH}=="?*", \
+KERNEL=="*[!0-9]|sr*|cciss?c[0-9]d[0-9]", ENV{ID_PATH}=="?*", \
 	SYMLINK+="disk/by-path/$env{ID_PATH}"
+KERNEL=="*[0-9]|cciss*p[0-9]",		ENV{ID_PATH}=="?*", \
+	SYMLINK+="disk/by-path/$env{ID_PATH}-part%n"
 KERNEL=="st*",				ENV{ID_PATH}=="?*", \
 	SYMLINK+="tape/by-path/$env{ID_PATH}"
-KERNEL=="sr*|st*",			GOTO="no_volume_id"
-KERNEL=="*[0-9]",			ENV{ID_PATH}=="?*", \
-	SYMLINK+="disk/by-path/$env{ID_PATH}-part%n"
+KERNEL=="sr*|st*",			GOTO="persistent_storage_end"
 
 # UUID and volume label
-KERNEL=="*[!0-9]", ATTR{removable}=="1", GOTO="no_volume_id"
+KERNEL=="hd*[!0-9]", ATTR{removable}=="1", GOTO="persistent_storage_end"
 IMPORT{program}="vol_id --export $tempnode"
-ENV{ID_FS_UUID}=="?*",		ENV{ID_FS_USAGE}=="filesystem|other|crypto", \
-	SYMLINK+="disk/by-uuid/$env{ID_FS_UUID}"
-ENV{ID_FS_LABEL_SAFE}=="?*",	ENV{ID_FS_USAGE}=="filesystem|other", \
-	SYMLINK+="disk/by-label/$env{ID_FS_LABEL_SAFE}"
+ENV{ID_FS_UUID_ENC}=="?*",	ENV{ID_FS_USAGE}=="filesystem|other|crypto", \
+	SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
+ENV{ID_FS_LABEL_ENC}=="?*",	ENV{ID_FS_USAGE}=="filesystem|other", \
+	SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
 
 # end of processing
-LABEL="no_volume_id"
+LABEL="persistent_storage_end"
 
diff --git a/etc/udev/debian/udev.rules b/etc/udev/debian/udev.rules
index 3f7b704..af16c17 100644
--- a/etc/udev/debian/udev.rules
+++ b/etc/udev/debian/udev.rules
@@ -35,6 +35,7 @@ SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", \
 # usbfs-like devices
 SUBSYSTEM=="usb_device",	PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", ACTION=="add", \
 				NAME="%c"
+SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device",	NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}"
 
 # serial devices
 KERNEL=="capi",			NAME="capi20", SYMLINK+="isdn/capi20"
@@ -62,6 +63,7 @@ KERNEL=="umad*",		NAME="infiniband/%k"
 KERNEL=="issm*",		NAME="infiniband/%k"
 KERNEL=="uverbs*",		NAME="infiniband/%k"
 KERNEL=="ucm*",			NAME="infiniband/%k"
+KERNEL=="rdma_ucm",		NAME="infiniband/%k"
 
 # ALSA devices
 KERNEL=="controlC[0-9]*",	NAME="snd/%k"
diff --git a/etc/udev/packages/40-alsa.rules b/etc/udev/packages/40-alsa.rules
new file mode 100644
index 0000000..d30a1da
--- /dev/null
+++ b/etc/udev/packages/40-alsa.rules
@@ -0,0 +1,11 @@
+# do not edit this file, it will be overwritten on update
+
+KERNEL=="controlC[0-9]*",	NAME="snd/%k"
+KERNEL=="hwC[D0-9]*",		NAME="snd/%k"
+KERNEL=="pcmC[D0-9cp]*",	NAME="snd/%k"
+KERNEL=="midiC[D0-9]*",		NAME="snd/%k"
+KERNEL=="timer",		NAME="snd/%k"
+KERNEL=="seq",			NAME="snd/%k"
+KERNEL=="mixer0",		SYMLINK+="mixer"
+KERNEL=="dsp0",			SYMLINK+="dsp"
+KERNEL=="audio0",		SYMLINK+="audio"
diff --git a/etc/udev/packages/40-pilot-links.rules b/etc/udev/packages/40-pilot-links.rules
new file mode 100644
index 0000000..1242fff
--- /dev/null
+++ b/etc/udev/packages/40-pilot-links.rules
@@ -0,0 +1,4 @@
+# do not edit this file, it will be overwritten on update
+
+KERNEL=="ttyUSB*", ATTRS{product}=="[Hh]andspring*Treo*|[Hh]andspring*Visor*|[Pp]alm*Handheld*", SYMLINK+="pilot"
+
diff --git a/etc/udev/packages/40-ppc.rules b/etc/udev/packages/40-ppc.rules
new file mode 100644
index 0000000..8b62d79
--- /dev/null
+++ b/etc/udev/packages/40-ppc.rules
@@ -0,0 +1,6 @@
+# do not edit this file, it will be overwritten on update
+
+KERNEL=="iseries/ibmsis*",	NAME="%k", GROUP="disk"
+KERNEL=="iseries/nvt*",		NAME="%k", GROUP="disk"
+KERNEL=="iseries/vt*",		NAME="%k", GROUP="disk"
+KERNEL=="iseries/vtty*",        GROUP="uucp"
diff --git a/etc/udev/packages/40-s390.rules b/etc/udev/packages/40-s390.rules
new file mode 100644
index 0000000..43035db
--- /dev/null
+++ b/etc/udev/packages/40-s390.rules
@@ -0,0 +1,4 @@
+# do not edit this file, it will be overwritten on update
+
+KERNEL=="z90crypt",		MODE="0666"
+
diff --git a/etc/udev/packages/40-zaptel.rules b/etc/udev/packages/40-zaptel.rules
new file mode 100644
index 0000000..4313a91
--- /dev/null
+++ b/etc/udev/packages/40-zaptel.rules
@@ -0,0 +1,8 @@
+# do not edit this file, it will be overwritten on update
+
+KERNEL=="zap[0-9]*",		NAME="zap/%n"
+KERNEL=="zapchannel",		NAME="zap/channel"
+KERNEL=="zapctl",		NAME="zap/ctl"
+KERNEL=="zappseudo",		NAME="zap/pseudo"
+KERNEL=="zaptimer",		NAME="zap/timer"
+
diff --git a/etc/udev/packages/64-device-mapper.rules b/etc/udev/packages/64-device-mapper.rules
new file mode 100644
index 0000000..8154ef3
--- /dev/null
+++ b/etc/udev/packages/64-device-mapper.rules
@@ -0,0 +1,4 @@
+# do not edit this file, it will be overwritten on update
+
+KERNEL=="device-mapper",	NAME="mapper/control"
+
diff --git a/etc/udev/rules.d/50-udev-default.rules b/etc/udev/rules.d/50-udev-default.rules
new file mode 100644
index 0000000..35ac99e
--- /dev/null
+++ b/etc/udev/rules.d/50-udev-default.rules
@@ -0,0 +1,104 @@
+# do not edit this file, it will be overwritten on update
+
+KERNEL=="pty[pqrstuvwxyzabcdef][0123456789abcdef]", GROUP="tty", MODE="0660", OPTIONS="last_rule"
+KERNEL=="tty[pqrstuvwxyzabcdef][0123456789abcdef]", GROUP="tty", MODE="0660", OPTIONS="last_rule"
+KERNEL=="ptmx",			GROUP="tty", MODE="0666", OPTIONS="last_rule"
+KERNEL=="tty",			GROUP="tty", MODE="0666", OPTIONS="last_rule"
+KERNEL=="tty[0-9]*",		GROUP="tty", MODE="0620", OPTIONS="last_rule"
+KERNEL=="vcs|vcs[0-9]*|vcsa|vcsa[0-9]*", GROUP="tty", OPTIONS="last_rule"
+KERNEL=="console",		MODE="0600", OPTIONS="last_rule"
+KERNEL=="tty0",			SYMLINK+="systty"
+
+# serial
+KERNEL=="tty[A-Z]*|pppox*|ircomm*|noz*", GROUP="uucp"
+KERNEL=="ppp",			MODE="0600", OPTIONS+="ignore_remove"
+KERNEL=="mwave",		NAME="modems/mwave", GROUP="uucp"
+KERNEL=="hvc*|hvsi*",		GROUP="uucp"
+KERNEL=="lirc0",		SYMLINK+="lirc"
+
+# mem
+KERNEL=="null|zero|random",	MODE="0666"
+KERNEL=="null",			SYMLINK+="XOR"
+KERNEL=="mem|kmem|port",	GROUP="kmem", MODE="0640"
+KERNEL=="nvram",		GROUP="kmem", MODE="0600"
+KERNEL=="ram0",			SYMLINK+="ramdisk"
+KERNEL=="ram1",			SYMLINK+="ram"
+KERNEL=="urandom",		MODE="0644"
+KERNEL=="full",			MODE="0666"
+
+# input
+KERNEL=="mouse*|mice|event*",	NAME="input/%k", MODE="0640"
+KERNEL=="ts[0-9]*|uinput",		NAME="input/%k", MODE="0600"
+KERNEL=="js[0-9]*",		NAME="input/%k", MODE="0644", SYMLINK+="%k"
+
+# video4linux
+KERNEL=="vbi0",			SYMLINK+="vbi"
+KERNEL=="radio0",		SYMLINK+="radio"
+KERNEL=="video0",		SYMLINK+="video"
+
+# graphics
+KERNEL=="agpgart",		MODE="0600"
+KERNEL=="card[0-9]*",		NAME="dri/%k", MODE="0666"
+KERNEL=="fb0",			SYMLINK+="fb"
+
+# DVB video
+SUBSYSTEM=="dvb", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter%%i/%%s $${K%%%%.*} $${K#*.}'", NAME="%c" 
+
+# Firewire
+KERNEL=="dv1394*",		SYMLINK+="dv1394/%n"
+KERNEL=="video1394*",		NAME="video1394/%n"
+
+# firmware class requests
+SUBSYSTEM=="firmware", ACTION=="add", RUN+="firmware.sh"
+
+# libusb device nodes
+SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", MODE="0644"
+
+# printer
+KERNEL=="parport[0-9]*",	GROUP="lp"
+SUBSYSTEM=="printer",		KERNEL=="lp*", GROUP="lp"
+SUBSYSTEM=="usb",		KERNEL=="lp*", NAME="usb/%k", SYMLINK+="usb%k", GROUP="lp"
+KERNEL=="lp[0-9]*",		GROUP="lp" SYMLINK+="par%n"
+KERNEL=="irlpt[0-9]*",		GROUP="lp"
+
+# block, tapes, block-releated
+SUBSYSTEM=="block", GROUP="disk", MODE="0640"
+SUBSYSTEM=="block", KERNEL=="sr[0-9]*", SYMLINK+="scd%n"
+SUBSYSTEM=="scsi", KERNEL=="[0-9]*:[0-9]*", ACTION=="add", ATTR{type}=="0|7|14", ATTR{timeout}="60"
+SUBSYSTEM=="scsi", KERNEL=="[0-9]*:[0-9]*", ACTION=="add", ATTR{type}=="1", ATTR{timeout}="900"
+KERNEL=="hd*", SUBSYSTEMS=="ide", ATTRS{media}=="floppy", OPTIONS+="all_partitions"
+KERNEL=="fd[0-9]",		GROUP="floppy"
+KERNEL=="fd[0-9]", ACTION=="add", ATTRS{cmos}=="?*", RUN+="create_floppy_devices -c -t $attr{cmos} -m %M -M 0640 -G floppy $root/%k"
+KERNEL=="sch[0-9]*",		GROUP="disk"
+KERNEL=="sg[0-9]*",		GROUP="disk", MODE="0640"
+KERNEL=="ht[0-9]*|nht[0-9]*",	GROUP="disk""
+KERNEL=="pg[0-9]*",		GROUP="disk"
+KERNEL=="pt[0-9]*|npt[0-9]*",	GROUP="disk"
+KERNEL=="qft[0-9]*|nqft[0-9]*|zqft[0-9]*|nzqft[0-9]*|rawqft[0-9]*|nrawqft[0-9]*", GROUP="disk"
+KERNEL=="rawctl",		NAME="raw/%k", GROUP="disk"
+SUBSYSTEM=="raw", KERNEL=="raw[0-9]*", NAME="raw/%k", GROUP="disk"
+KERNEL=="pktcdvd[0-9]*",	NAME="pktcdvd/%k"
+KERNEL=="pktcdvd",		NAME="pktcdvd/control"
+KERNEL=="qft0",			SYMLINK+="ftape"
+
+# network
+KERNEL=="tun",			NAME="net/%k", MODE="0666", OPTIONS+="ignore_remove"
+
+# CPU
+KERNEL=="cpu[0-9]*",		NAME="cpu/%n/cpuid"
+KERNEL=="msr[0-9]*",		NAME="cpu/%n/msr"
+KERNEL=="microcode",		NAME="cpu/microcode", MODE="0600"
+
+# miscellaneous
+KERNEL=="fuse",			MODE="0666"
+KERNEL=="rtc",			MODE="0644"
+KERNEL=="auer[0-9]*"		NAME="usb/%k"
+KERNEL=="hw_random",		NAME="hwrng", SYMLINK+="%k"
+KERNEL=="mmtimer",		MODE="0644"
+KERNEL=="rflash[0-9]*",		MODE="0400"
+KERNEL=="rrom[0-9]*",		MODE="0400"
+KERNEL=="sbpcd0",		SYMLINK+="sbpcd"
+KERNEL=="slram[0-9]*", 		SYMLINK+="xpram%n"
+KERNEL=="sxctl",		NAME="specialix_sxctl", SYMLINK+="%k"
+KERNEL=="rioctl",		NAME="specialix_rioctl", SYMLINK+="%k"
+
diff --git a/etc/udev/rules.d/80-drivers.rules b/etc/udev/rules.d/80-drivers.rules
new file mode 100644
index 0000000..c7ba54f
--- /dev/null
+++ b/etc/udev/rules.d/80-drivers.rules
@@ -0,0 +1,14 @@
+# do not edit this file, it will be overwritten on update
+
+ACTION!="add", GOTO="drivers_end"
+
+DRIVER!="?*", ENV{MODALIAS}=="?*", RUN{ignore_error}+="/sbin/modprobe $env{MODALIAS}"
+SUBSYSTEM=="pnp", DRIVER!="?*", ENV{MODALIAS}!="?*", \
+  RUN{ignore_error}+="/bin/sh -c '/sbin/modprobe -a $(while read id; do echo pnp:d$$id; done < /sys$devpath/id)'"
+SUBSYSTEM=="tifm", RUN+="/sbin/modprobe --all tifm_sd tifm_ms"
+SUBSYSTEM=="mmc", RUN+="/sbin/modprobe mmc_block"
+SUBSYSTEM=="ide", ATTR{media}=="tape", RUN+="/sbin/modprobe ide-scsi"
+SUBSYSTEM=="scsi_device", TEST!="[module/sg]", RUN+="/sbin/modprobe sg"
+
+LABEL="drivers_end"
+
diff --git a/etc/udev/suse/40-suse.rules b/etc/udev/suse/40-suse.rules
new file mode 100644
index 0000000..863da88
--- /dev/null
+++ b/etc/udev/suse/40-suse.rules
@@ -0,0 +1,14 @@
+# do not edit this file, it will be overwritten on update
+
+KERNEL=="pmu",			GROUP="video"
+KERNEL=="nvidia*|nvidiactl*",	GROUP="video"
+KERNEL=="nvidia*|nvidiactl*",	GROUP="video"
+KERNEL=="dv1394*|video1394*|raw1394*",	GROUP="video"
+KERNEL=="vttuner*",		GROUP="video"
+KERNEL=="vtx*|vbi*",		GROUP="video"
+KERNEL=="winradio*",		GROUP="video"
+SUBSYSTEM=="dvb",		GROUP="video"
+SUBSYSTEM=="graphics"		GROUP="video"
+SUBSYSTEM=="video4linux",	GROUP="video"
+KERNEL=="agpgart",		GROUP="video"
+
diff --git a/etc/udev/suse/50-udev-default.rules b/etc/udev/suse/50-udev-default.rules
deleted file mode 100644
index 4a3fe2c..0000000
--- a/etc/udev/suse/50-udev-default.rules
+++ /dev/null
@@ -1,126 +0,0 @@
-# do not edit this file, it will be overwritten on update
-
-# console
-KERNEL=="pty[pqrstuvwxyzabcdef][0123456789abcdef]", GROUP="tty", MODE="0666", OPTIONS="last_rule"
-KERNEL=="tty[pqrstuvwxyzabcdef][0123456789abcdef]", GROUP="tty", MODE="0666", OPTIONS="last_rule"
-KERNEL=="tty",			GROUP="tty", MODE="0666", OPTIONS="last_rule"
-KERNEL=="tty[0-9]*|vcs*",	GROUP="tty", MODE="0620", OPTIONS="last_rule"
-KERNEL=="ptmx",			GROUP="tty", MODE="0666", OPTIONS="last_rule"
-KERNEL=="console",		MODE="0600", OPTIONS="last_rule"
-
-# serial devices
-KERNEL=="tty[A-Z]*|pppox*|ircomm*|noz*", GROUP="uucp"
-KERNEL=="hvc*|hvsi*",		GROUP="uucp"
-KERNEL=="iseries/vtty*",	GROUP="uucp"
-KERNEL=="mwave",		NAME="modems/%k", GROUP="uucp"
-KERNEL=="ttyUSB*", ATTRS{product}=="[Pp]alm*Handheld*", SYMLINK+="pilot"
-KERNEL=="ttyUSB*", ATTRS{product}=="[Hh]andspring*Treo*|[Hh]andspring*Visor*", SYMLINK+="pilot"
-KERNEL=="ppp",			MODE="0600", OPTIONS+="ignore_remove"
-
-# video/graphics
-SUBSYSTEM=="video4linux",	GROUP="video"
-SUBSYSTEM=="graphics"		GROUP="video"
-KERNEL=="vtx*|vbi*",		GROUP="video"
-KERNEL=="winradio*",		GROUP="video"
-KERNEL=="vttuner*",		GROUP="video"
-KERNEL=="nvidia*|nvidiactl*",	GROUP="video"
-KERNEL=="video0",		SYMLINK+="video"
-KERNEL=="radio0",		SYMLINK+="radio"
-KERNEL=="vbi0",			SYMLINK+="vbi"
-KERNEL=="pmu",			GROUP="video"
-
-# dvb
-SUBSYSTEM=="dvb", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter%%i/%%s $${K%%%%.*} $${K#*.}'", NAME="%c", GROUP="video"
-
-# input devices
-KERNEL=="mouse*|mice|event*",	NAME="input/%k", MODE="0640"
-KERNEL=="js*",			NAME="input/%k", MODE="0644"
-KERNEL=="ts*|uinput",		NAME="input/%k", MODE="0600"
-KERNEL=="lirc0",		SYMLINK+="lirc"
-
-# printer
-SUBSYSTEM=="usb",		KERNEL=="lp*", NAME="usb/%k", SYMLINK+="usb%k", GROUP="lp"
-SUBSYSTEM=="printer",		KERNEL=="lp*", GROUP="lp"
-KERNEL=="irlpt*",		GROUP="lp"
-
-# cpu devices
-KERNEL=="cpu[0-9]*",		NAME="cpu/%n/cpuid"
-KERNEL=="msr[0-9]*",		NAME="cpu/%n/msr"
-KERNEL=="microcode",		NAME="cpu/microcode", MODE="0600"
-
-# IEEE1394 devices
-KERNEL=="raw1394*",		GROUP="video"
-KERNEL=="dv1394*",		SYMLINK+="dv1394/%n", GROUP="video"
-KERNEL=="video1394*",		SYMLINK+="video1394/%n", GROUP="video"
-
-KERNEL=="hw_random",		NAME="hwrng", SYMLINK+="%k"
-KERNEL=="rioctl",		NAME="specialix_rioctl", SYMLINK+="%k"
-KERNEL=="sxctl",		NAME="specialix_sxctl", SYMLINK+="%k"
-
-# network
-KERNEL=="tun",			NAME="net/%k", MODE="0666", OPTIONS+="ignore_remove"
-
-# misc devices
-KERNEL=="mem|kmem|port",	GROUP="kmem", MODE="0640"
-KERNEL=="nvram",		GROUP="kmem", MODE="0600"
-KERNEL=="null|zero|random",	MODE="0666"
-KERNEL=="full",			MODE="0622"
-KERNEL=="urandom",		MODE="0644"
-KERNEL=="rtc",			MODE="0600"
-KERNEL=="fuse",			MODE="0666"
-KERNEL=="sonypi",		MODE="0666"
-KERNEL=="agpgart",		MODE="0600", GROUP="video"
-KERNEL=="djs*",			MODE="0644"
-KERNEL=="sgi_*",		MODE="0666"
-KERNEL=="rrom*",		MODE="0400"
-KERNEL=="rflash*",		MODE="0400"
-KERNEL=="usbscanner*",		MODE="0644"
-KERNEL=="3270/ttycons*",	MODE="0600"
-KERNEL=="3270/tub*",		MODE="0666"
-KERNEL=="3270/tubcons*",	MODE="0600"
-KERNEL=="ica",			MODE="0666"
-KERNEL=="z90crypt",		MODE="0666"
-KERNEL=="mmtimer",		MODE="0644"
-KERNEL=="auer[0-9]*"		NAME="usb/%k"
-
-# packet writing interface
-KERNEL=="pktcdvd",		NAME="pktcdvd/control"
-KERNEL=="pktcdvd[0-9]*",	NAME="pktcdvd/%k"
-
-# additional floppy devices (no sysfs entries)
-KERNEL=="fd[0-9]*", ACTION=="add", ATTRS{cmos}=="?*", RUN+="create_floppy_devices -c -t $attr{cmos} -m %M -M 0640 -G disk $root/%k"
-
-# block devices
-SUBSYSTEM=="block", GROUP="disk", MODE="0640"
-SUBSYSTEM=="block", KERNEL=="sr[0-9]*", SYMLINK+="scd%n"
-
-# sd:		0 TYPE_DISK, 7 TYPE_MOD, 14 TYPE_RBC
-# sr:		4 TYPE_WORM, 5 TYPE_ROM
-# st/osst:	1 TYPE_TAPE
-SUBSYSTEM=="scsi", KERNEL=="[0-9]*:[0-9]*", ACTION=="add", ATTR{type}=="0|7|14", ATTR{timeout}="60"
-SUBSYSTEM=="scsi", KERNEL=="[0-9]*:[0-9]*", ACTION=="add", ATTR{type}=="1", ATTR{timeout}="900"
-KERNEL=="hd*", SUBSYSTEMS=="ide", ATTRS{media}=="floppy", OPTIONS+="all_partitions"
-
-# misc storage devices (non-block)
-KERNEL=="sg*",			GROUP="disk", MODE="0640"
-KERNEL=="st*|nst*",		GROUP="disk"
-KERNEL=="qft*|nqft*|zqft*|nzqft*|rawqft*|nrawqft", GROUP="disk"
-KERNEL=="ht*|nht*",		GROUP="disk"
-KERNEL=="pf*",			GROUP="disk"
-KERNEL=="sch*",			GROUP="disk"
-KERNEL=="pt*|npt*",		GROUP="disk"
-KERNEL=="pg*",			GROUP="disk"
-KERNEL=="evms/block_device*",	GROUP="disk"
-KERNEL=="rawctl*",		NAME="raw/%k", GROUP="disk"
-SUBSYSTEM=="raw", KERNEL=="raw[0-9]*", NAME="raw/%k", GROUP="disk"
-KERNEL=="osst*|nosst*",		NAME="%k", GROUP="disk"
-KERNEL=="iseries/vt*",		NAME="%k", GROUP="disk"
-KERNEL=="iseries/nvt*",		NAME="%k", GROUP="disk"
-KERNEL=="iseries/ibmsis*",	NAME="%k", GROUP="disk"
-
-# libusb device access
-SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", MODE="0644"
-
-# kernel firmware loader
-SUBSYSTEM=="firmware", ACTION=="add", RUN+="firmware.sh"
-
diff --git a/etc/udev/suse/80-drivers.rules b/etc/udev/suse/80-drivers.rules
deleted file mode 100644
index e7ae8dc..0000000
--- a/etc/udev/suse/80-drivers.rules
+++ /dev/null
@@ -1,15 +0,0 @@
-# do not edit this file, it will be overwritten on update
-
-ACTION!="add", GOTO="drivers_end"
-
-DRIVER!="?*", ENV{MODALIAS}=="?*", RUN{ignore_error}+="/sbin/modprobe $env{MODALIAS}"
-
-SUBSYSTEM=="pnp", DRIVER!="?*", ENV{MODALIAS}!="?*", RUN{ignore_error}+="/bin/sh -c 'while read id; do /sbin/modprobe pnp:d$$id; done < /sys$devpath/id'"
-
-SUBSYSTEM=="tifm", RUN+="/sbin/modprobe --all tifm_sd tifm_ms"
-SUBSYSTEM=="mmc", RUN+="/sbin/modprobe mmc_block"
-SUBSYSTEM=="ide", ATTR{media}=="tape", RUN+="/sbin/modprobe ide-scsi"
-SUBSYSTEM=="scsi_device", ATTRS{type}=="1", ATTR{vendor}=="On[sS]tream", RUN+="/sbin/modprobe osst"
-SUBSYSTEM=="scsi_device", TEST!="[module/sg]", RUN+="/sbin/modprobe sg"
-
-LABEL="drivers_end"
diff --git a/extras/rule_generator/75-cd-aliases-generator.rules b/extras/rule_generator/75-cd-aliases-generator.rules
index c3eb887..e357a6a 100644
--- a/extras/rule_generator/75-cd-aliases-generator.rules
+++ b/extras/rule_generator/75-cd-aliases-generator.rules
@@ -1,3 +1,6 @@
 # these rules generate rules for the /dev/{cdrom,dvd,...} symlinks
 
+# the path of removable devices changes frequently
+ACTION=="add", SUBSYSTEM=="block", SUBSYSTEMS=="usb|ieee1394", ENV{ID_CDROM}=="?*", ENV{GENERATED}!="?*", PROGRAM="write_cd_rules by-id", SYMLINK+="%c"
+
 ACTION=="add", SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{GENERATED}!="?*", PROGRAM="write_cd_rules", SYMLINK+="%c"
diff --git a/extras/rule_generator/write_cd_rules b/extras/rule_generator/write_cd_rules
index bd951c5..d74b201 100644
--- a/extras/rule_generator/write_cd_rules
+++ b/extras/rule_generator/write_cd_rules
@@ -16,7 +16,7 @@ RULES_FILE="/etc/udev/rules.d/70-persistent-cd.rules"
 . /lib/udev/rule_generator.functions
 
 find_next_available() {
-	raw_find_next_available "$(find_all_rules 'SYMLINK+=' $1)"
+	raw_find_next_available "$(find_all_rules 'SYMLINK+=' "$1")"
 }
 
 write_rule() {
@@ -53,15 +53,7 @@ fi
 if [ "$1" ]; then
 	METHOD="$1"
 else
-	case "$ID_BUS" in
-		usb|ieee1394)
-		METHOD='by-id'
-		;;
-
-		*)
-		METHOD='by-path'
-		;;
-	esac
+	METHOD='by-path'
 fi
 
 case "$METHOD" in




More information about the scm-commits mailing list