rpms/udev/devel udev-git-HEAD.patch, NONE, 1.1 udev.spec, 1.214, 1.215 udev-114+git-fcfeda.patch, 1.2, NONE udev-114-strg.patch, 1.1, NONE udev-rules.patch, 1.42, NONE
Harald Hoyer (harald)
fedora-extras-commits at redhat.com
Thu Aug 23 08:24:43 UTC 2007
Author: harald
Update of /cvs/pkgs/rpms/udev/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv1784
Modified Files:
udev.spec
Added Files:
udev-git-HEAD.patch
Removed Files:
udev-114+git-fcfeda.patch udev-114-strg.patch udev-rules.patch
Log Message:
- changed license tag
- changed to latest upstream rule ordering
udev-git-HEAD.patch:
--- NEW FILE udev-git-HEAD.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-ia64.rules b/etc/udev/packages/40-ia64.rules
new file mode 100644
index 0000000..5846f88
--- /dev/null
+++ b/etc/udev/packages/40-ia64.rules
@@ -0,0 +1,4 @@
+# do not edit this file, it will be overwritten on update
+
+KERNEL=="sgi_*", MODE="0666"
+
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/packages/64-md-raid.rules b/etc/udev/packages/64-md-raid.rules
new file mode 100644
index 0000000..02f27ee
--- /dev/null
+++ b/etc/udev/packages/64-md-raid.rules
@@ -0,0 +1,18 @@
+# do not edit this file, it will be overwritten on update
+
+SUBSYSTEM!="block", GOTO="md_end"
+KERNEL!="md[0-9]*", GOTO="md_end"
+ACTION!="add|change", GOTO="md_end"
+
+ATTR{md/array_state}=="|clear|inactive", GOTO="md_end"
+
+IMPORT{program}="/sbin/mdadm --detail --export $tempnode"
+ENV{MD_NAME}=="?*", SYMLINK+="disk/by-id/md-name-$env{MD_NAME}"
+ENV{MD_UUID}=="?*", SYMLINK+="disk/by-id/md-uuid-$env{MD_UUID}"
+
+IMPORT{program}="vol_id --export $tempnode"
+OPTIONS="link_priority=100"
+ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
+ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
+
+LABEL="md_end"
diff --git a/etc/udev/redhat/40-redhat.rules b/etc/udev/redhat/40-redhat.rules
new file mode 100644
index 0000000..30da7d3
--- /dev/null
+++ b/etc/udev/redhat/40-redhat.rules
@@ -0,0 +1,27 @@
+# do not edit this file, it will be overwritten on update
+
+KERNEL=="hd*[!0-9]", SUBSYSTEMS=="ide", ATTRS{media}=="floppy", SYMLINK+="floppy floppy-%k", OPTIONS+="ignore_remove"
+KERNEL=="hd*[0-9]", ATTRS{media}=="floppy", ATTRS{removable}=="1", SYMLINK+="floppy-%k", OPTIONS+="ignore_remove"
+
+KERNEL=="fw*", PROGRAM="fw_unit_symlinks.sh %k %n", SYMLINK+="$result"
+
+ACTION=="add", KERNEL=="sg[0-9]*", BUS=="scsi", ATTRS{type}=="[36]", SYMLINK+="scanner scanner-%k", MODE="0660"
+
+ACTION=="add", KERNEL=="sg[0-9]*", BUS=="scsi", ATTRS{type}=="8", SYMLINK+="changer changer-%k", MODE="0660", GROUP="disk"
+
+ACTION=="add", SUBSYSTEM=="usb_device", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", NAME="%c", MODE="0644"
+
+BUS=="usb", KERNEL=="sd*", ATTRS{bInterfaceClass}=="08", ATTRS{bInterfaceSubClass}=="04", GROUP="floppy", MODE="0660", SYMLINK+="floppy floppy-%k"
+
+KERNEL=="fd[0-9]*", SYMLINK+="floppy floppy-%k"
+
+ACTION=="add", SUBSYSTEM=="scsi_device", ATTRS{type}=="0|7|14", \
+ RUN+="/sbin/modprobe sd_mod"
+ACTION=="add", SUBSYSTEM=="scsi_device", ATTRS{type}=="[45]", \
+ RUN+="/sbin/modprobe sr_mod"
+
+KERNEL=="vcs", OWNER="vcsa", GROUP="tty"
+KERNEL=="vcs[0-9]*", OWNER="vcsa", GROUP="tty"
+KERNEL=="vcsa", OWNER="vcsa", GROUP="tty"
+KERNEL=="vcsa[0-9]*", OWNER="vcsa", GROUP="tty"
+KERNEL=="vcc/*", OWNER="vcsa", GROUP="tty"
diff --git a/etc/udev/redhat/50-udev.rules b/etc/udev/redhat/50-udev.rules
deleted file mode 100644
index 668785f..0000000
--- a/etc/udev/redhat/50-udev.rules
+++ /dev/null
@@ -1,322 +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.
-#
-# default is OWNER="root" GROUP="root", MODE="0600"
-#
-
-KERNEL=="*", OWNER="root", GROUP="root", MODE="0600"
-
-# all block devices
-SUBSYSTEM=="block", GROUP="disk", MODE="0640"
-KERNEL=="root", GROUP="disk", MODE="0640"
-
-# console devices
-KERNEL=="tty", NAME="%k", GROUP="tty", MODE="0666"
-KERNEL=="console", NAME="%k", MODE="0600"
-KERNEL=="tty[0-9]*", NAME="%k", GROUP="tty", MODE="0660"
-KERNEL=="vc/[0-9]*", NAME="%k", GROUP="tty", MODE="0660"
-
-# pty devices
-# Set this to 0660 if you only want users belonging to tty group
-# to be able to allocate PTYs
-KERNEL=="ptmx", NAME="%k", GROUP="tty", MODE="666"
-KERNEL=="pty[pqrstuvwxyzabcdef][0123456789abcdef]", NAME="%k", GROUP="tty", MODE="660"
-KERNEL=="tty[pqrstuvwxyzabcdef][0123456789abcdef]", NAME="%k", GROUP="tty", MODE="660"
-KERNEL=="pty/m*", NAME="%k", GROUP="tty", MODE="0660"
-
-# serial+dialup devices
-KERNEL=="ippp*", NAME="%k", MODE="0660"
-KERNEL=="isdn*", NAME="%k", MODE="0660"
-KERNEL=="isdnctrl*", NAME="%k", MODE="0660"
-KERNEL=="capi", NAME="capi20", GROUP="uucp", MODE="0660"
-KERNEL=="capi*", NAME="capi/%n", GROUP="uucp", MODE="0660"
-KERNEL=="dcbri*", NAME="%k", MODE="0660"
-KERNEL=="ircomm*", NAME="%k", GROUP="uucp", MODE="0660"
-KERNEL=="tts/[0-9]*", NAME="%k", GROUP="uucp", MODE="0660"
-KERNEL=="tts/USB[0-9]*", NAME="%k", GROUP="uucp", MODE="0660"
-KERNEL=="tty[A-Z]*", NAME="%k", GROUP="uucp", MODE="0660"
-KERNEL=="pppox*", NAME="%k", GROUP="uucp", MODE="0660"
-KERNEL=="ircomm*", NAME="%k", GROUP="uucp", MODE="0660"
-KERNEL=="modems/mwave*", NAME="%k", GROUP="uucp", MODE="0660"
-KERNEL=="hvc*", NAME="%k", GROUP="uucp", MODE="0660"
-KERNEL=="hvsi*", NAME="%k", GROUP="uucp", MODE="0660"
-KERNEL=="iseries/vtty*", NAME="%k", GROUP="uucp", MODE="0660"
-
-# vc devices
-KERNEL=="vcs", NAME="%k", OWNER="vcsa", GROUP="tty"
-KERNEL=="vcs[0-9]*", NAME="%k", OWNER="vcsa", GROUP="tty"
-KERNEL=="vcsa", NAME="%k", OWNER="vcsa", GROUP="tty"
-KERNEL=="vcsa[0-9]*", NAME="%k", OWNER="vcsa", GROUP="tty"
-KERNEL=="vcc/*", NAME="%k", OWNER="vcsa", GROUP="tty"
-
-# memory devices
-KERNEL=="random", MODE="0666"
-KERNEL=="urandom", MODE="0444"
-KERNEL=="mem", GROUP="kmem", MODE="0640"
-KERNEL=="kmem", GROUP="kmem", MODE="0640"
-KERNEL=="port", GROUP="kmem", MODE="0640"
-KERNEL=="full", MODE="0666"
-KERNEL=="null", MODE="0666"
-KERNEL=="zero", MODE="0666"
-# 183 = /dev/hwrng Generic random number generator
-KERNEL=="hw_random", NAME="hwrng", SYMLINK+="%k"
-
-# misc devices
-KERNEL=="nvram", MODE="0660"
-KERNEL=="rtc", MODE="0644"
-
-# floppy devices
-KERNEL=="fd[01]*", GROUP="floppy", MODE="0660"
-
-# fix floppy devices
-KERNEL=="nvram", ACTION=="add", RUN+="load_floppy_module.sh"
-
-KERNEL=="fd[0-9]*", ACTION=="add", ATTRS{cmos}=="*", \
- RUN+="create_floppy_devices -c -t $attr{cmos} -m %M /dev/%k"
-
-KERNEL=="fd[0-9]*", ACTION=="remove", RUN+="/bin/sh -c 'rm -f /dev/%k*'"
-
-BUS=="usb", KERNEL=="sd*", ATTRS{bInterfaceClass}=="08", \
- ATTRS{bInterfaceSubClass}=="04", GROUP="floppy", MODE="0660", \
- SYMLINK+="floppy floppy-%k"
-
-# audio devices
-KERNEL=="dsp*", MODE="0660"
-KERNEL=="audio*", MODE="0660"
-KERNEL=="midi*", MODE="0660"
-KERNEL=="mixer*", MODE="0660"
-KERNEL=="sequencer*", MODE="0660"
-KERNEL=="sound/*", MODE="0660"
-KERNEL=="snd/*", MODE="0660"
-KERNEL=="beep", MODE="0660"
-KERNEL=="admm*", MODE="0660"
-KERNEL=="adsp*", MODE="0660"
-KERNEL=="aload*", MODE="0660"
-KERNEL=="amidi*", MODE="0660"
-KERNEL=="dmfm*", MODE="0660"
-KERNEL=="dmmidi*", MODE="0660"
-KERNEL=="sndstat", MODE="0660"
-
-# lp devices
-KERNEL=="lp*", GROUP="lp", MODE="0660"
-KERNEL=="parport*", GROUP="lp", MODE="0660"
-KERNEL=="irlpt*", GROUP="lp", MODE="0660"
-KERNEL=="usblp*", GROUP="lp", MODE="0660"
-KERNEL=="usb/lp*", GROUP="lp", MODE="0660"
-
-# tape devices
-SUBSYSTEM=="ide", ATTRS{media}=="tape", ACTION=="add", \
- RUN+="/sbin/modprobe ide-scsi idescsi_nocd=1"
-KERNEL=="ht*", GROUP="disk", MODE="0660"
-KERNEL=="nht*", GROUP="disk", MODE="0660"
-KERNEL=="pt[0-9]*", GROUP="disk", MODE="0660"
-KERNEL=="npt*", GROUP="disk", MODE="0660"
-KERNEL=="st*", GROUP="disk", MODE="0660"
-KERNEL=="nst*", GROUP="disk", MODE="0660"
-KERNEL=="osst*", GROUP="disk", MODE="0660"
-KERNEL=="nosst*", GROUP="disk", MODE="0660"
-
-# diskonkey devices
-KERNEL=="diskonkey*", GROUP="disk", MODE="0640"
-
-# rem_ide devices
-KERNEL=="microdrive*", GROUP="disk", MODE="0640"
-
-# kbd devices
-KERNEL=="kbd", MODE="0644"
-
-# joystick devices
-KERNEL=="js[0-9]*", MODE="0644"
-KERNEL=="djs[0-9]*", MODE="0644"
-
-# v4l devices
-KERNEL=="video*", MODE="0660"
-KERNEL=="radio*", MODE="0660"
-KERNEL=="winradio*", MODE="0660"
-KERNEL=="vtx*", MODE="0660"
-KERNEL=="vbi*", MODE="0660"
-KERNEL=="video/*", MODE="0660"
-KERNEL=="vttuner", MODE="0660"
-KERNEL=="v4l/*", MODE="0660"
-
-# input devices
-KERNEL=="input/*", MODE="0660"
-
-# gpm devices
-KERNEL=="gpmctl", MODE="0700"
-
-# dri devices
-KERNEL=="nvidia*", MODE="0660"
-KERNEL=="3dfx*", MODE="0660"
-KERNEL=="card[0-9]*", NAME="dri/%k", MODE="0666"
-
-# usb devices
-KERNEL=="usb/dabusb*", MODE="0660"
-KERNEL=="usb/mdc800*", MODE="0660"
-KERNEL=="usb/rio500", MODE="0660"
-
-# s390 devices
-KERNEL=="z90crypt", MODE="0666"
-KERNEL=="slram[0-9]*", SYMLINK+="xpram%n"
-
-# DVB
-KERNEL=="dvb", MODE="0660"
-SUBSYSTEM=="dvb", \
- PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter%%i/%%s $${K%%%%.*} $${K#*.}'", \
- NAME="%c", MODE="0660"
-
-KERNEL=="dm-[0-9]*", ACTION=="add", OPTIONS+="ignore_device"
-
-# 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", SYMLINK+="%k"
-KERNEL=="ts*", NAME="input/%k"
-KERNEL=="uinput", NAME="input/%k"
-
-# IEEE1394 (firewire) devices (must be before raw devices below)
-KERNEL=="raw1394", NAME="%k"
-KERNEL=="dv1394*", NAME="dv1394/%n"
-KERNEL=="video1394*", NAME="video1394/%n"
-
-KERNEL=="fw*", PROGRAM="fw_unit_symlinks.sh %k %n", SYMLINK+="$result"
-
-KERNEL=="raw[0-9]*", NAME="raw/%k"
-
-KERNEL=="lp[0-9]*", SYMLINK+="par%n"
-BUS=="usb", KERNEL=="lp[0-9]*", NAME="usb/%k"
-
-KERNEL=="microcode", NAME="cpu/%k"
-KERNEL=="msr[0-9]*", NAME="cpu/%n/msr"
-KERNEL=="cpu[0-9]*", NAME="cpu/%n/cpuid"
-
-KERNEL=="ram1", SYMLINK+="ram"
-KERNEL=="video0", SYMLINK+="video"
-KERNEL=="radio0", SYMLINK+="radio"
-KERNEL=="audio0", SYMLINK+="audio"
-KERNEL=="dsp0", SYMLINK+="dsp"
-KERNEL=="fb0", SYMLINK+="fb"
-KERNEL=="qft0", SYMLINK+="ftape"
-KERNEL=="isdnctrl0", SYMLINK+="isdnctrl"
-KERNEL=="mixer0", SYMLINK+="mixer"
-KERNEL=="ram0", SYMLINK+="ramdisk"
-KERNEL=="sbpcd0", SYMLINK+="sbpcd"
-KERNEL=="radio0", SYMLINK+="radio"
-KERNEL=="tty0", SYMLINK+="systty"
-KERNEL=="vbi0", SYMLINK+="vbi"
-KERNEL=="null", SYMLINK+="XOR"
-
-KERNEL=="tun", NAME="net/%k", MODE="0666"
-
-KERNEL=="device-mapper", NAME="mapper/control"
-
-# old compat symlinks with enumeration
-KERNEL=="sr[0-9]*", SYMLINK+="cdrom cdrom-%k"
-KERNEL=="scd[0-9]*", SYMLINK+="cdrom cdrom-%k"
-KERNEL=="pcd[0-9]*", SYMLINK+="cdrom cdrom-%k"
-KERNEL=="fd[0-9]*", SYMLINK+="floppy floppy-%k"
-KERNEL=="nst[0-9]", BUS=="scsi", SYMLINK+="tape tape-%k", MODE="0660"
-KERNEL=="nosst[0-9]", BUS=="scsi", SYMLINK+="tape tape-%k", MODE="0660"
-
-# Section for zaptel device
-KERNEL=="zapctl", NAME="zap/ctl"
-KERNEL=="zaptimer", NAME="zap/timer"
-KERNEL=="zapchannel", NAME="zap/channel"
-KERNEL=="zappseudo", NAME="zap/pseudo"
-KERNEL=="zap[0-9]*", NAME="zap/%n"
-
-KERNEL=="pktcdvd", NAME="%k/control"
-
-KERNEL=="hd*[!0-9]", ATTR{removable}=="1", \
- ATTR{media}=="floppy", \
- SYMLINK+="floppy floppy-%k", OPTIONS+="ignore_remove, all_partitions"
-
-KERNEL=="hd*[0-9]", ATTRS{media}=="floppy", ATTRS{removable}=="1", \
- SYMLINK+="floppy-%k"
-
-KERNEL=="hd[a-z]", BUS=="ide", ATTRS{removable}=="1", ATTRS{media}=="cdrom", \
- SYMLINK+="cdrom cdrom-%k"
-
-KERNEL=="hd[a-z]", BUS=="ide", ATTRS{removable}=="1", \
- PROGRAM=="check-cdrom.sh %k DVD", SYMLINK+="dvd dvd-%k"
-KERNEL=="sr[0-9]*", BUS=="scsi", PROGRAM=="check-cdrom.sh %k DVD", \
- SYMLINK+="dvd dvd-%k"
-
-KERNEL=="hd[a-z]", BUS=="ide", ATTRS{removable}=="1", \
- PROGRAM=="check-cdrom.sh %k CD-R", \
- SYMLINK+="cdwriter cdwriter-%k cdrw cdrw-%k"
-
-KERNEL=="sr[0-9]*", BUS=="scsi", PROGRAM=="check-cdrom.sh %k CD-R", \
- SYMLINK+="cdwriter cdwriter-%k cdrw cdrw-%k"
-
-KERNEL=="hd[a-z]", BUS=="ide", ATTRS{removable}=="1", \
- PROGRAM="check-cdrom.sh %k DVD-R", \
- SYMLINK+="dvdwriter dvdwriter-%k dvdrw dvdrw-%k"
-
-KERNEL=="sr[0-9]*", BUS=="scsi", PROGRAM=="check-cdrom.sh %k DVD-R", \
- SYMLINK+="dvdwriter dvdwriter-%k dvdrw dvdrw-%k"
-
-# rename sr* to scd*
-KERNEL=="sr[0-9]*", BUS=="scsi", NAME="scd%n"
-KERNEL=="hd*[0-9]", BUS=="ide", ATTRS{removable}=="1", \
- OPTIONS+="ignore_remove"
-
-SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", \
- NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", MODE="0644"
-
-ACTION=="add", SUBSYSTEM=="usb_device", \
- PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", \
- NAME="%c", MODE="0644"
-
-ACTION=="add", SUBSYSTEM=="usb_endpoint", \
- ATTR{bEndpointAddress}=="?*", ATTRS{devnum}=="?*", ATTRS{busnum}=="?*", \
- NAME="bus/usb/$attr{busnum}/$attr{devnum}_ep/$attr{bEndpointAddress}", \
- MODE="0644", SYMLINK+="%k"
-
-# sd: 0 TYPE_DISK, 7 TYPE_MOD, 14 TYPE_RBC
-# sr: 4 TYPE_WORM, 5 TYPE_ROM
-# st/osst: 1 TYPE_TAPE
-# sg: 8 changer, [36] scanner
-ACTION=="add", SUBSYSTEM=="scsi" , ATTRS{type}=="0|7|14", \
- RUN+="/bin/sh -c 'echo 60 > /sys$$DEVPATH/timeout'"
-ACTION=="add", SUBSYSTEM=="scsi" , ATTRS{type}=="1", \
- RUN+="/bin/sh -c 'echo 900 > /sys$$DEVPATH/timeout'"
-
-
-ACTION=="add", SUBSYSTEM=="scsi_device" RUN+="/sbin/modprobe sg"
-ACTION=="add", SUBSYSTEM=="scsi_device", ATTRS{type}=="0|7|14", \
- RUN+="/sbin/modprobe sd_mod"
-ACTION=="add", SUBSYSTEM=="scsi_device", ATTRS{type}=="[45]", \
- RUN+="/sbin/modprobe sr_mod"
-
-ACTION=="add", KERNEL=="sg[0-9]*", BUS=="scsi", ATTRS{type}=="[36]", \
- SYMLINK+="scanner scanner-%k", MODE="0660"
-
-ACTION=="add", KERNEL=="sg[0-9]*", BUS=="scsi", ATTRS{type}=="8", \
- SYMLINK+="changer changer-%k", MODE="0660", GROUP="disk"
-
-ACTION=="add", SUBSYSTEM=="scsi_device", ATTRS{type}=="1", \
- ATTRS{vendor}=="On[sS]tream", \
- ATTRS{model}!="ADR*", RUN+="/sbin/modprobe osst"
-ACTION=="add", SUBSYSTEM=="scsi_device", ATTRS{type}=="1", \
- ATTRS{vendor}=="On[sS]tream", \
- ATTRS{model}=="ADR*", RUN+="/sbin/modprobe st"
-ACTION=="add", SUBSYSTEM=="scsi_device", ATTRS{type}=="1", \
- ATTRS{vendor}!="On[sS]tream", \
- RUN+="/sbin/modprobe st"
-
-# mmc block devices
-ACTION=="add", SUBSYSTEM=="mmc", RUN+="/sbin/modprobe mmc_block"
-
-
-RUN+="socket:/org/kernel/udev/monitor"
-
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/60-persistent-storage.rules b/etc/udev/rules.d/60-persistent-storage.rules
index a49321c..62cdad6 100644
--- a/etc/udev/rules.d/60-persistent-storage.rules
+++ b/etc/udev/rules.d/60-persistent-storage.rules
@@ -59,7 +59,7 @@ KERNEL=="sr*|st*", GOTO="persistent_storage_end"
KERNEL=="hd*[!0-9]", ATTR{removable}=="1", GOTO="persistent_storage_end"
# by-label/by-uuid (filesystem properties)
-IMPORT{program}="vol_id --export $tempnode"
+ENV{DEVTYPE}=="partition", IMPORT{program}="vol_id --export $tempnode"
ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
diff --git a/etc/udev/rules.d/80-drivers.rules b/etc/udev/rules.d/80-drivers.rules
new file mode 100644
index 0000000..e71f135
--- /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/64-md-raid.rules b/etc/udev/suse/64-md-raid.rules
deleted file mode 100644
index 02f27ee..0000000
--- a/etc/udev/suse/64-md-raid.rules
+++ /dev/null
@@ -1,18 +0,0 @@
-# do not edit this file, it will be overwritten on update
-
-SUBSYSTEM!="block", GOTO="md_end"
-KERNEL!="md[0-9]*", GOTO="md_end"
-ACTION!="add|change", GOTO="md_end"
-
-ATTR{md/array_state}=="|clear|inactive", GOTO="md_end"
-
-IMPORT{program}="/sbin/mdadm --detail --export $tempnode"
-ENV{MD_NAME}=="?*", SYMLINK+="disk/by-id/md-name-$env{MD_NAME}"
-ENV{MD_UUID}=="?*", SYMLINK+="disk/by-id/md-uuid-$env{MD_UUID}"
-
-IMPORT{program}="vol_id --export $tempnode"
-OPTIONS="link_priority=100"
-ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
-ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
-
-LABEL="md_end"
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
Index: udev.spec
===================================================================
RCS file: /cvs/pkgs/rpms/udev/devel/udev.spec,v
retrieving revision 1.214
retrieving revision 1.215
diff -u -r1.214 -r1.215
--- udev.spec 13 Aug 2007 08:39:12 -0000 1.214
+++ udev.spec 23 Aug 2007 08:24:09 -0000 1.215
@@ -7,7 +7,7 @@
Name: udev
Version: 114
Release: 2%{?dist}
-License: GPL
+License: GPLv2
Group: System Environment/Base
Provides: udev-persistent = %{version}-%{release}
Obsoletes: udev-persistent < 0:030-5
@@ -18,9 +18,7 @@
Source3: udev-post.init
Source4: fw_unit_symlinks.sh
-Patch1: udev-rules.patch
-Patch2: udev-114+git-fcfeda.patch
-Patch3: udev-114-strg.patch
+Patch1: udev-git-HEAD.patch
Patch7: udev-089-nopie.patch
Patch9: udev-091-lib64.patch
@@ -70,9 +68,7 @@
%prep
%setup -q
-%patch1 -p1 -b .rhrules
-%patch2 -p1 -b .git
-%patch3 -p1 -b .strg
+%patch1 -p1 -b .git
%patch7 -p1 -b .nopie
%patch9 -p1 -b .lib64
@@ -190,12 +186,12 @@
for i in \
etc/udev/redhat/*.rules \
etc/udev/rules.d/*.rules \
- etc/udev/suse/64-device-mapper.rules \
- etc/udev/suse/64-md-raid.rules \
+ etc/udev/packages/40-ia64.rules \
etc/udev/packages/40-alsa.rules \
etc/udev/packages/40-ppc.rules \
etc/udev/packages/40-s390.rules \
etc/udev/packages/40-zaptel.rules \
+ etc/udev/packages/64-md-raid.rules \
etc/udev/packages/64-device-mapper.rules \
; do
install -m 0644 "$i" "$RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d/${i##*/}"
@@ -353,6 +349,10 @@
%{_libdir}/pkgconfig/libvolume_id.pc
%changelog
+* Thu Aug 23 2007 Harald Hoyer <harald at redhat.com> - 114-3
+- changed license tag
+- changed to latest upstream rule ordering
+
* Mon Aug 13 2007 Harald Hoyer <harald at redhat.com> - 114-2
- fixed isapnp rule (bug #251815)
- fix for nikon cameras (bug #251401)
--- udev-114+git-fcfeda.patch DELETED ---
--- udev-114-strg.patch DELETED ---
--- udev-rules.patch DELETED ---
More information about the fedora-extras-commits
mailing list