X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=extras%2Frule_generator%2Fwrite_cd_rules;h=0d16fe6effaea9b744e3cd2397bdb7b49380064c;hb=2a0c6867cb0c8120cc1b8f48b755abb2a405fef7;hp=bd951c51464615aef62bbf0654576d1b6247ba42;hpb=491a6a71ff685373422621f4b67f550806072d17;p=elogind.git diff --git a/extras/rule_generator/write_cd_rules b/extras/rule_generator/write_cd_rules index bd951c514..0d16fe6ef 100644 --- a/extras/rule_generator/write_cd_rules +++ b/extras/rule_generator/write_cd_rules @@ -11,12 +11,19 @@ # under the terms of the GNU General Public License as published by the # Free Software Foundation version 2 of the License. +# debug, if UDEV_LOG= +if [ -n "$UDEV_LOG" ]; then + if [ "$UDEV_LOG" -ge 7 ]; then + set -x + fi +fi + 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() { @@ -28,10 +35,10 @@ write_rule() { if [ "$PRINT_HEADER" ]; then PRINT_HEADER= echo "# This file was automatically generated by the $0" - echo "# program, probably run by the cd-aliases-generator.rules rules file." + echo "# program, run by the cd-aliases-generator.rules rules file." echo "#" - echo "# You can modify it, as long as you keep each rule on a single line" - echo "# and set the \$GENERATED variable." + echo "# You can modify it, as long as you keep each rule on a single" + echo "# line, and set the \$GENERATED variable." echo "" fi @@ -53,15 +60,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 @@ -98,7 +97,7 @@ choose_rules_file 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)" @@ -109,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" +echo >> $RULES_FILE unlock_rules_file