diff options
Diffstat (limited to 'source/a/udev/rule_generator.diff')
-rw-r--r-- | source/a/udev/rule_generator.diff | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/source/a/udev/rule_generator.diff b/source/a/udev/rule_generator.diff new file mode 100644 index 00000000..0ff218a6 --- /dev/null +++ b/source/a/udev/rule_generator.diff @@ -0,0 +1,80 @@ +diff -Naur udev-114/extras/rule_generator/write_cd_rules udev-114slk/extras/rule_generator/write_cd_rules +--- udev-114/extras/rule_generator/write_cd_rules 2007-08-05 09:08:47.000000000 -0300 ++++ udev-114slk/extras/rule_generator/write_cd_rules 2007-08-22 20:17:24.000000000 -0300 +@@ -3,7 +3,8 @@ + # This script is run if an optical drive lacks a rule for persistent naming. + # + # It adds symlinks for optical drives based on the device class determined +-# by cdrom_id and used ID_PATH to identify the device. ++# by cdrom_id and used ID_PATH or ID_SERIAL or ID_MODEL and ID_REVISION ++# to identify the device. + # + # (C) 2006 Marco d'Itri <md@Linux.IT> + # +@@ -97,18 +98,59 @@ + choose_rules_file + + link_num=$(find_next_available 'cdrom[0-9]*') ++[ "$link_num" = "" ] && link_num=0 + + match="ENV{ID_CDROM}==\"?*\", $RULE" + + comment="$ID_MODEL ($ID_PATH)" +- + write_rule "$match" "cdrom$link_num" "$comment" +-[ "$ID_CDROM_CD_R" -o "$ID_CDROM_CD_RW" ] && \ +- write_rule "$match" "cdrw$link_num" +-[ "$ID_CDROM_DVD" ] && \ +- 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" ++ if [ "$(find_all_rules 'SYMLINK+=' cdrom)" = "" ]; then ++ write_rule "$match" "cdrom" ++ fi ++ ++ if [ "$ID_CDROM_CD_R" ]; then ++ write_rule "$match" "cdr$link_num" ++ if [ "$(find_all_rules 'SYMLINK+=' cdr)" = "" ]; then ++ write_rule "$match" "cdr" ++ fi ++ ++ write_rule "$match" "cdwriter$link_num" ++ if [ "$(find_all_rules 'SYMLINK+=' cdwriter)" = "" ]; then ++ write_rule "$match" "cdwriter" ++ fi ++ ++ if [ "$ID_CDROM_CD_RW" ]; then ++ write_rule "$match" "cdrw$link_num" ++ if [ "$(find_all_rules 'SYMLINK+=' cdrw)" = "" ]; then ++ write_rule "$match" "cdrw" ++ fi ++ fi ++ ++ if [ "$(find_all_rules 'SYMLINK+=' writer)" = "" ]; then ++ write_rule "$match" "writer" ++ fi ++ fi ++ ++ if [ "$ID_CDROM_DVD" ]; then ++ write_rule "$match" "dvd$link_num" ++ if [ "$(find_all_rules 'SYMLINK+=' dvd)" = "" ]; then ++ write_rule "$match" "dvd" ++ fi ++ ++ if [ "$ID_CDROM_DVD_R" -o "$ID_CDROM_DVD_RW" -o "$ID_CDROM_DVD_RAM" ]; then ++ write_rule "$match" "dvdrw$link_num" ++ if [ "$(find_all_rules 'SYMLINK+=' dvdrw)" = "" ]; then ++ write_rule "$match" "dvdrw" ++ fi ++ ++ write_rule "$match" "dvdwriter$link_num" ++ if [ "$(find_all_rules 'SYMLINK+=' dvdwriter)" = "" ]; then ++ write_rule "$match" "dvdwriter" ++ fi ++ fi ++ fi ++ ++ + + unlock_rules_file + |