~dannf/ubuntu/saucy/udisks/lp1235051

« back to all changes in this revision

Viewing changes to .pc/14-test-for-pci-db.patch/data/80-udisks.rules

  • Committer: Package Import Robot
  • Author(s): Michael Biebl
  • Date: 2013-07-21 17:20:28 UTC
  • mfrom: (36.1.1 sid)
  • Revision ID: package-import@ubuntu.com-20130721172028-qamjltxysk0isml3
Tags: 1.0.4-8
debian/patches/14-test-for-pci-db.patch: In newer versions of udev, pci-db
has been replaced by the hwdb builtin. Instead of removing the pci-db
import, we test if the helper exists before running it to be compatible
with both old and new udev.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Do not edit this file, it will be overwritten on updates
 
2
#
 
3
 
 
4
# import names for PCI storage controllers
 
5
#
 
6
SUBSYSTEM=="pci", ACTION=="add|change", ENV{ID_MODEL_FROM_DATABASE}=="", ATTR{class}=="0x01*", IMPORT{program}="pci-db %p"
 
7
 
 
8
# Set eSATA port type for known eSATA CardBus adapters - first we want to ensure
 
9
# the device is on a cardbus controller (upper PCI device) - then we check
 
10
# vid/pid (lower PCI device)
 
11
#
 
12
SUBSYSTEM=="scsi_host", ATTRS{class}=="0x060700", GOTO="ata_port_cardbus"
 
13
GOTO="ata_port_cardbus_end"
 
14
LABEL="ata_port_cardbus"
 
15
# Mass storage controller: Silicon Image, Inc. SiI 3512 [SATALink/SATARaid] Serial ATA Controller (rev 01)
 
16
#
 
17
SUBSYSTEMS=="pci", ATTRS{vendor}=="0x1095", ATTRS{device}=="0x3512", ENV{UDISKS_ATA_PORT_CONNECTOR_TYPE}="ata_sata_external"
 
18
LABEL="ata_port_cardbus_end"
 
19
 
 
20
# probe SAS expanders
 
21
#
 
22
# (hmm, this might be racy, we might not have the BSG device just yet - if
 
23
#  this is the case we can trigger a 'change' on the sas_expander device
 
24
#  when the bsg device appears)
 
25
#
 
26
SUBSYSTEM=="sas_expander", ACTION=="add|change", IMPORT{program}="udisks-probe-sas-expander /sys/%p"
 
27
 
 
28
##############################################################################################################
 
29
 
 
30
# from here on, we only care about block devices
 
31
ACTION!="add|change", GOTO="udisks_end"
 
32
SUBSYSTEM!="block", GOTO="udisks_end"
 
33
KERNEL=="ram*", GOTO="udisks_end"
 
34
 
 
35
# Mark devices that shouldn't be automounted / autoassembled etc.
 
36
#
 
37
# Deny all, then punch holes for what looks like physical drives
 
38
# (TODO: this heuristic might need some work)
 
39
#
 
40
 
 
41
ENV{UDISKS_PRESENTATION_NOPOLICY}="1"
 
42
KERNEL=="sd*|hd*|sr*|mmcblk*|mspblk*", ENV{UDISKS_PRESENTATION_NOPOLICY}="0"
 
43
 
 
44
##############################################################################################################
 
45
 
 
46
# we only care about change events on device-mapper
 
47
# devices - never touch the device on add events
 
48
KERNEL=="dm-*", ACTION!="change", GOTO="udisks_end"
 
49
 
 
50
# honor the flag that device-mapper sets if the device should be ignored
 
51
ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", GOTO="udisks_end"
 
52
ENV{DM_UDEV_DISABLE_DISK_RULES_FLAG}=="1", GOTO="udisks_end"
 
53
 
 
54
# import UDISKS_DM_* and UDISKS_LVM2_* properties - the long-term plan is to make the lvm2 and
 
55
# device-mapper packages provide this information
 
56
#
 
57
KERNEL=="dm-*", IMPORT{program}="udisks-dm-export %M %m"
 
58
 
 
59
# Make udevd synthesize a 'change' uevent when last opener of a rw-fd closes the fd - this
 
60
# should be part of the device-mapper rules
 
61
KERNEL=="dm-*", OPTIONS+="watch"
 
62
 
 
63
##############################################################################################################
 
64
# Probe LVM2 Physical Volumes - this will eventually be part of the LVM2 package
 
65
 
 
66
ENV{ID_FS_TYPE}=="LVM2_member", TEST=="/lib/udev/udisks-lvm-pv-export", IMPORT{program}="udisks-lvm-pv-export $env{ID_FS_UUID}"
 
67
 
 
68
##############################################################################################################
 
69
 
 
70
# Probe for partition tables; this really should be part of udev / util-linux-ng
 
71
#
 
72
 
 
73
# skip rules for inappropriate block devices
 
74
KERNEL=="fd*|mtd*|nbd*|gnbd*|btibm*", GOTO="probe_parttable_end"
 
75
 
 
76
# never access non-cdrom removable ide devices, the drivers are causing event loops on open()
 
77
KERNEL=="hd*[!0-9]", ATTR{removable}=="1", SUBSYSTEMS=="ide", ATTRS{media}=="disk|floppy", GOTO="probe_parttable_end"
 
78
KERNEL=="hd*[0-9]", ATTR{removable}=="1", GOTO="probe_parttable_end"
 
79
 
 
80
# don't scan for partition tables on empty discs
 
81
KERNEL=="sr*", ENV{ID_CDROM_MEDIA}!="?*", GOTO="probe_parttable_end"
 
82
 
 
83
# skip non-data discs (see https://bugzilla.kernel.org/show_bug.cgi?id=15757 for the udev bits)
 
84
KERNEL=="sr*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="", GOTO="probe_parttable_end"
 
85
 
 
86
# scan for partition tables both on whole-disk and partitions
 
87
#
 
88
IMPORT{program}="udisks-part-id $tempnode"
 
89
 
 
90
LABEL="probe_parttable_end"
 
91
 
 
92
##############################################################################################################
 
93
 
 
94
# pick up data from MD components; this REALLY should be done by rules installed
 
95
# by mdadm or the kernel package
 
96
#
 
97
ENV{ID_FS_TYPE}!="linux_raid_member", GOTO="md_end"
 
98
 
 
99
# avoid probing if it has already been done earlier
 
100
#
 
101
ENV{MD_LEVEL}!="", GOTO="md_end"
 
102
TEST=="/sbin/mdadm", IMPORT{program}="/sbin/mdadm --examine --export $tempnode"
 
103
 
 
104
LABEL="md_end"
 
105
 
 
106
##############################################################################################################
 
107
 
 
108
# Check if a disk is ATA SMART capable
 
109
#
 
110
 
 
111
# USB ATA enclosures with a SAT layer
 
112
KERNEL=="sd*[!0-9]", ATTR{removable}=="0", ENV{ID_BUS}=="usb", ENV{DEVTYPE}=="disk", IMPORT{program}="udisks-probe-ata-smart $tempnode"
 
113
 
 
114
# ATA disks driven by libata
 
115
KERNEL=="sd*[!0-9]", ATTR{removable}=="0", ENV{ID_BUS}=="ata", ENV{DEVTYPE}=="disk", IMPORT{program}="udisks-probe-ata-smart $tempnode"
 
116
 
 
117
# ATA disks connected via SAS (not driven by libata)
 
118
KERNEL=="sd*[!0-9]", ATTR{removable}=="0", ENV{ID_BUS}=="scsi", ENV{DEVTYPE}=="disk", ENV{ID_VENDOR}=="ATA", IMPORT{program}="udisks-probe-ata-smart $tempnode"
 
119
 
 
120
 
 
121
# Example rule for tagging a device with a specific media type. Where and
 
122
# how to store this database needs some thought.
 
123
#
 
124
SUBSYSTEMS=="usb", ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0248", ENV{ID_INSTANCE}=="0:0", ENV{ID_DRIVE_FLASH_CF}="1"
 
125
SUBSYSTEMS=="usb", ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0248", ENV{ID_INSTANCE}=="0:1", ENV{ID_DRIVE_FLASH_MS}="1"
 
126
SUBSYSTEMS=="usb", ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0248", ENV{ID_INSTANCE}=="0:2", ENV{ID_DRIVE_FLASH_SM}="1"
 
127
SUBSYSTEMS=="usb", ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0248", ENV{ID_INSTANCE}=="0:3", ENV{ID_DRIVE_FLASH_SD}="1"
 
128
 
 
129
SUBSYSTEMS=="usb", ATTRS{idVendor}=="05e3", ATTRS{idProduct}=="070e", ENV{ID_INSTANCE}=="0:0", ENV{ID_DRIVE_FLASH_CF}="1"
 
130
SUBSYSTEMS=="usb", ATTRS{idVendor}=="05e3", ATTRS{idProduct}=="070e", ENV{ID_INSTANCE}=="0:1", ENV{ID_DRIVE_FLASH_SM}="1"
 
131
SUBSYSTEMS=="usb", ATTRS{idVendor}=="05e3", ATTRS{idProduct}=="070e", ENV{ID_INSTANCE}=="0:2", ENV{ID_DRIVE_FLASH_SD}="1"
 
132
SUBSYSTEMS=="usb", ATTRS{idVendor}=="05e3", ATTRS{idProduct}=="070e", ENV{ID_INSTANCE}=="0:3", ENV{ID_DRIVE_FLASH_MS}="1"
 
133
 
 
134
# APPLE SD Card Reader (MacbookPro5,4)
 
135
#
 
136
SUBSYSTEMS=="usb", ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="8403", ENV{ID_DRIVE_FLASH_SD}="1"
 
137
 
 
138
# Realtek card readers
 
139
DRIVERS=="rts_pstor", ENV{ID_DRIVE_FLASH_SD}="1"
 
140
DRIVERS=="rts_bpp", ENV{ID_DRIVE_FLASH_SD}="1"
 
141
 
 
142
# Common theme
 
143
#
 
144
SUBSYSTEMS=="usb", ENV{ID_MODEL}=="*SD_Reader*", ENV{ID_DRIVE_FLASH_SD}="1"
 
145
SUBSYSTEMS=="usb", ENV{ID_MODEL}=="*Reader*SD*", ENV{ID_DRIVE_FLASH_SD}="1"
 
146
SUBSYSTEMS=="usb", ENV{ID_MODEL}=="*CF_Reader*", ENV{ID_DRIVE_FLASH_CF}="1"
 
147
SUBSYSTEMS=="usb", ENV{ID_MODEL}=="*SM_Reader*", ENV{ID_DRIVE_FLASH_SM}="1"
 
148
SUBSYSTEMS=="usb", ENV{ID_MODEL}=="*MS_Reader*", ENV{ID_DRIVE_FLASH_MS}="1"
 
149
 
 
150
# TODO: figure out if the drive supports SD and SDHC and what the current
 
151
# kind of media is - right now we just assume SD
 
152
KERNEL=="mmcblk[0-9]", SUBSYSTEMS=="mmc", ENV{DEVTYPE}=="disk", ENV{ID_DRIVE_FLASH_SD}="1", ENV{ID_DRIVE_MEDIA_FLASH_SD}="1"
 
153
KERNEL=="mspblk[0-9]", SUBSYSTEMS=="memstick", ENV{DEVTYPE}=="disk", ENV{ID_DRIVE_FLASH_MS}="1", ENV{ID_DRIVE_MEDIA_FLASH_MS}="1"
 
154
 
 
155
##############################################################################################################
 
156
 
 
157
# If previous rules did not set an icon, provide a default one for media players
 
158
 
 
159
ENV{UDISKS_PRESENTATION_ICON_NAME}=="?*", GOTO="udisks_media_player_end"
 
160
 
 
161
ENV{ID_MEDIA_PLAYER}=="?*", ENV{UDISKS_PRESENTATION_ICON_NAME}="multimedia-player"
 
162
ENV{ID_MEDIA_PLAYER}=="apple-ipod", ENV{UDISKS_PRESENTATION_ICON_NAME}="multimedia-player-ipod"
 
163
 
 
164
# Apple iPod Video
 
165
#
 
166
SUBSYSTEMS=="usb", ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="1209", ENV{UDISKS_PRESENTATION_ICON_NAME}="multimedia-player-ipod-white"
 
167
 
 
168
LABEL="udisks_media_player_end"
 
169
 
 
170
##############################################################################################################
 
171
 
 
172
# PC floppy drives
 
173
#
 
174
KERNEL=="fd*", ENV{ID_DRIVE_FLOPPY}="1"
 
175
 
 
176
# USB floppy drives
 
177
#
 
178
SUBSYSTEMS=="usb", ATTRS{bInterfaceClass}=="08", ATTRS{bInterfaceSubClass}=="04", ENV{ID_DRIVE_FLOPPY}="1"
 
179
 
 
180
# ATA Zip drives
 
181
#
 
182
ENV{ID_VENDOR}=="*IOMEGA*", ENV{ID_MODEL}=="*ZIP*", ENV{ID_DRIVE_FLOPPY_ZIP}="1"
 
183
 
 
184
##############################################################################################################
 
185
 
 
186
# Partitions which desktops should not display
 
187
#
 
188
 
 
189
# Apple Bootstrap partitions
 
190
ENV{UDISKS_PARTITION_SCHEME}=="apm", ENV{UDISKS_PARTITION_TYPE}=="Apple_Bootstrap", ENV{UDISKS_PRESENTATION_HIDE}="1"
 
191
 
 
192
# special MBR partition types (EFI, hidden, etc.)
 
193
# see http://www.win.tue.nl/~aeb/partitions/partition_types-1.html
 
194
ENV{UDISKS_PARTITION_SCHEME}=="mbr", \
 
195
  ENV{UDISKS_PARTITION_TYPE}=="0x00|0x11|0x12|0x14|0x16|0x17|0x1b|0x1c|0x1e|0x27|0x3d|0x84|0x8d|0x90|0x91|0x92|0x93|0x97|0x98|0x9a|0x9b|0xbb|0xc2|0xc3|0xdd|0xef", \
 
196
  ENV{UDISKS_PRESENTATION_HIDE}="1"
 
197
 
 
198
# special GUID-identified partition types
 
199
# see http://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_type_GUIDs
 
200
ENV{UDISKS_PARTITION_SCHEME}=="gpt", \
 
201
  ENV{UDISKS_PARTITION_TYPE}=="C12A7328-F81F-11D2-BA4B-00A0C93EC93B|21686148-6449-6E6F-744E-656564454649", \
 
202
  ENV{UDISKS_PRESENTATION_HIDE}="1"
 
203
 
 
204
# APM recovery/tool partitions which are useless on Linux
 
205
ENV{UDISKS_PARTITION_SCHEME}=="apm", \
 
206
  ENV{ID_CDROM}=="?*", ENV{ID_FS_TYPE}=="udf", ENV{ID_FS_LABEL}=="WD_SmartWare", \
 
207
  ENV{UDISKS_PRESENTATION_HIDE}="1"
 
208
 
 
209
# recovery partitions (taken from old hal rules)
 
210
ENV{ID_FS_TYPE}=="ntfs|vfat", \
 
211
  ENV{ID_FS_LABEL}=="RECOVERY|HP_RECOVERY|Recovery Partition|DellUtility|DellRestore|IBM_SERVICE|SERVICEV001|SERVICEV002|SYSTEM RESERVED", \
 
212
  ENV{UDISKS_PRESENTATION_HIDE}="1"
 
213
 
 
214
# read-only non-Linux software installer partitions
 
215
ENV{ID_VENDOR}=="Sony", ENV{ID_MODEL}=="PRS*Launcher", ENV{UDISKS_PRESENTATION_HIDE}="1"
 
216
 
 
217
##############################################################################################################
 
218
 
 
219
 
 
220
LABEL="udisks_end"