chiark / gitweb /
rules: Gentoo update
[elogind.git] / etc / udev / debian / permissions.rules
index bc97566b574ab2a544725f830e6a226c7c41ae7b..205b7332920bcb413bb6d3e3403462eccc865da7 100644 (file)
-# workaround needed to make udevd wait for the "bus" link
-ACTION=="add", DEVPATH=="/devices/*", ENV{PHYSDEVBUS}=="?*", \
-       WAIT_FOR_SYSFS="bus"
+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", 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"
-SUBSYSTEM=="block", SYSFS{removable}=="1",     GROUP="floppy"
+# the aacraid driver is broken and reports that disks removable (see #404927)
+SUBSYSTEM=="block", ATTRS{removable}=="1", \
+       DRIVERS!="aacraid",                     GROUP="floppy"
+# all block devices on these buses are "removable"
+SUBSYSTEM=="block", SUBSYSTEMS=="usb|ieee1394|mmc|pcmcia", GROUP="floppy"
 
 # IDE devices
-BUS=="ide", KERNEL=="hd[a-z]|pcd[0-9]*", ACTION=="add", \
-       IMPORT{program}="/sbin/cdrom_id --export $tempnode"
+KERNEL=="hd[a-z]|pcd[0-9]*",                   DRIVERS=="ide-cdrom|pcd", \
+       IMPORT{program}="cdrom_id --export $tempnode"
 ENV{ID_CDROM}=="?*",                           GROUP="cdrom"
-BUS=="ide", KERNEL=="ht[0-9]*",                        GROUP="tape"
-BUS=="ide", KERNEL=="nht[0-9]*",               GROUP="tape"
+KERNEL=="ht[0-9]*",                            GROUP="tape"
+KERNEL=="nht[0-9]*",                           GROUP="tape"
 
 # SCSI devices
-BUS=="scsi", SYSFS{type}=="1", GROUP="tape"
-BUS=="scsi", SYSFS{type}=="5", GROUP="cdrom"
-BUS=="scsi", SYSFS{type}=="6", GROUP="scanner"
+KERNEL=="sr[0-9]*", IMPORT{program}="cdrom_id --export $tempnode"
+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"
 
 # USB devices
-BUS=="usb", KERNEL=="legousbtower*", MODE="0666"
-BUS=="usb", KERNEL=="lp[0-9]*", GROUP="lp"
+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", ENV{DEVTYPE}=="usb_device",  GROUP="plugdev", \
+       ATTRS{idVendor}=="4102", ATTRS{idProduct}=="10[01][135789]"
 
 # serial devices
-SUBSYSTEM=="tty",      GROUP="dialout"
-SUBSYSTEM=="capi",     GROUP="dialout"
-SUBSYSTEM=="slamr",    GROUP="dialout"
+SUBSYSTEM=="tty",                              GROUP="dialout"
+SUBSYSTEM=="capi",                             GROUP="dialout"
+SUBSYSTEM=="slamr",                            GROUP="dialout"
+SUBSYSTEM=="zaptel",                           GROUP="dialout"
 
 # vc devices (all members of the tty subsystem)
-KERNEL=="ptmx",                MODE="0666", GROUP="root"
-KERNEL=="console",     MODE="0600", GROUP="root"
-KERNEL=="tty",         MODE="0666", GROUP="root"
-KERNEL=="tty[0-9]*",   GROUP="root"
-KERNEL=="pty*",                MODE="0666", GROUP="tty"
+KERNEL=="ptmx",                        MODE="0666",    GROUP="root"
+KERNEL=="console",             MODE="0600",    GROUP="root"
+KERNEL=="tty",                 MODE="0666",    GROUP="root"
+KERNEL=="tty[0-9]*",                           GROUP="root"
+KERNEL=="pty*",                        MODE="0666",    GROUP="tty"
 
 # video devices
-SUBSYSTEM=="video4linux", GROUP="video"
-SUBSYSTEM=="drm",      GROUP="video"
-SUBSYSTEM=="dvb",      GROUP="video"
-SUBSYSTEM=="em8300",   GROUP="video"
-SUBSYSTEM=="graphics", GROUP="video"
-SUBSYSTEM=="nvidia",   GROUP="video"
+SUBSYSTEM=="video4linux",                      GROUP="video"
+SUBSYSTEM=="drm",                              GROUP="video"
+SUBSYSTEM=="dvb",                              GROUP="video"
+SUBSYSTEM=="em8300",                           GROUP="video"
+SUBSYSTEM=="graphics",                         GROUP="video"
+SUBSYSTEM=="nvidia",                           GROUP="video"
 
 # misc devices
-KERNEL=="random",      MODE="0666"
-KERNEL=="urandom",     MODE="0666"
-KERNEL=="mem",         MODE="0640", GROUP="kmem"
-KERNEL=="kmem",                MODE="0640", GROUP="kmem"
-KERNEL=="port",                MODE="0640", GROUP="kmem"
-KERNEL=="full",                MODE="0666"
-KERNEL=="null",                MODE="0666"
-KERNEL=="zero",                MODE="0666"
-KERNEL=="inotify",     MODE="0666"
-KERNEL=="sgi_fetchop", MODE="0666"
-KERNEL=="sonypi",      MODE="0666"
-KERNEL=="agpgart",     GROUP="video"
-KERNEL=="nvram",       GROUP="nvram"
-KERNEL=="rtc",         GROUP="audio"
-KERNEL=="tpm*",                MODE="0600", OWNER="tss", GROUP="tss"
-KERNEL=="fuse",                GROUP="fuse"
-
-KERNEL=="cdemu[0-9]*", GROUP="cdrom"
-KERNEL=="pktcdvd[0-9]*", GROUP="cdrom"
-KERNEL=="pktcdvd",     MODE="0644"
-
-KERNEL=="uverbs*",     GROUP="rdma"
-KERNEL=="ucm*",                GROUP="rdma"
+KERNEL=="random",              MODE="0666"
+KERNEL=="urandom",             MODE="0666"
+KERNEL=="mem",                 MODE="0640",    GROUP="kmem"
+KERNEL=="kmem",                        MODE="0640",    GROUP="kmem"
+KERNEL=="port",                        MODE="0640",    GROUP="kmem"
+KERNEL=="full",                        MODE="0666"
+KERNEL=="null",                        MODE="0666"
+KERNEL=="zero",                        MODE="0666"
+KERNEL=="inotify",             MODE="0666"
+KERNEL=="sgi_fetchop",         MODE="0666"
+KERNEL=="sonypi",              MODE="0666"
+KERNEL=="agpgart",                             GROUP="video"
+KERNEL=="nvram",                               GROUP="nvram"
+KERNEL=="rtc|rtc[0-9]*",                       GROUP="audio"
+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=="cdemu[0-9]*",                         GROUP="cdrom"
+KERNEL=="pktcdvd[0-9]*",                       GROUP="cdrom"
+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"
-SUBSYSTEM=="ppdev",    GROUP="lp"
-KERNEL=="pt[0-9]*",    GROUP="tape"
-KERNEL=="pht[0-9]*",   GROUP="tape"
+SUBSYSTEM=="printer",                          GROUP="lp"
+SUBSYSTEM=="ppdev",                            GROUP="lp"
+KERNEL=="irlpt*",                              GROUP="lp"
+KERNEL=="pt[0-9]*",                            GROUP="tape"
+KERNEL=="pht[0-9]*",                           GROUP="tape"
 
 # sound devices
-SUBSYSTEM=="sound",    GROUP="audio"
+SUBSYSTEM=="sound",                            GROUP="audio"
 
 # ieee1394 devices       
-KERNEL=="raw1394",     GROUP="disk"
-KERNEL=="dv1394*",     GROUP="video"
-KERNEL=="video1394*",  GROUP="video"
+KERNEL=="raw1394",                             GROUP="disk"
+KERNEL=="dv1394*",                             GROUP="video"
+KERNEL=="video1394*",                          GROUP="video"
 
 # input devices
-KERNEL=="event[0-9]*", PROGRAM="/lib/udev/inputdev.sh %k", \
-                       RESULT=="inputdev", MODE="0664", GROUP="video"
-KERNEL=="js[0-9]*",    MODE="0664"
+KERNEL=="event[0-9]*", ATTRS{name}=="*dvb*|*DVB*|* IR *" \
+                               MODE="0664",    GROUP="video"
+KERNEL=="js[0-9]*",            MODE="0664"
+KERNEL=="lirc[0-9]*",                          GROUP="video"
 
 # AOE character devices
-SUBSYSTEM=="aoe",                      MODE="0220", GROUP="disk"
-SUBSYSTEM=="aoe", KERNEL=="err",       MODE="0440"
+SUBSYSTEM=="aoe",              MODE="0220",    GROUP="disk"
+SUBSYSTEM=="aoe", KERNEL=="err", MODE="0440"
+
+LABEL="permissions_end"