chiark / gitweb /
rule-generator: cd - skip by-path links if we create by-id links
authorKay Sievers <kay.sievers@vrfy.org>
Thu, 14 May 2009 10:57:19 +0000 (12:57 +0200)
committerKay Sievers <kay.sievers@vrfy.org>
Thu, 14 May 2009 10:57:19 +0000 (12:57 +0200)
extras/rule_generator/75-cd-aliases-generator.rules
extras/rule_generator/write_cd_rules

index e357a6a8bd7d5b73508afe3892a2219771ee5805..e6da0101d6e29c05b88920446bec0600a66ea4e8 100644 (file)
@@ -1,6 +1,9 @@
 # these rules generate rules for the /dev/{cdrom,dvd,...} symlinks
 
 # 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"
+# the "path" of usb/ieee1394 devices changes frequently, use "id"
+ACTION=="add", SUBSYSTEM=="block", SUBSYSTEMS=="usb|ieee1394", ENV{ID_CDROM}=="?*", ENV{GENERATED}!="?*", \
+  PROGRAM="write_cd_rules by-id", SYMLINK+="%c", GOTO="persistent_cd_end"
 
 ACTION=="add", SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{GENERATED}!="?*", PROGRAM="write_cd_rules", SYMLINK+="%c"
 
 ACTION=="add", SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{GENERATED}!="?*", PROGRAM="write_cd_rules", SYMLINK+="%c"
+
+LABEL="persistent_cd_end"
index 398cd2737b2c6aac12fcbd74d83e5a050fd0350d..0d16fe6effaea9b744e3cd2397bdb7b49380064c 100644 (file)
@@ -97,7 +97,7 @@ choose_rules_file
 
 link_num=$(find_next_available 'cdrom[0-9]*')
 
 
 link_num=$(find_next_available 'cdrom[0-9]*')
 
-match="ENV{ID_CDROM}==\"?*\", $RULE"
+match="SUBSYSTEM==\"block\", ENV{ID_CDROM}==\"?*\", $RULE"
 
 comment="$ID_MODEL ($ID_PATH)"
 
 
 comment="$ID_MODEL ($ID_PATH)"
 
@@ -108,6 +108,7 @@ comment="$ID_MODEL ($ID_PATH)"
        write_rule "$match" "dvd$link_num"
 [ "$ID_CDROM_DVD_R" -o "$ID_CDROM_DVD_RW" -o "$ID_CDROM_DVD_RAM" ] && \
        write_rule "$match" "dvdrw$link_num"
        write_rule "$match" "dvd$link_num"
 [ "$ID_CDROM_DVD_R" -o "$ID_CDROM_DVD_RW" -o "$ID_CDROM_DVD_RAM" ] && \
        write_rule "$match" "dvdrw$link_num"
+echo >> $RULES_FILE
 
 unlock_rules_file
 
 
 unlock_rules_file