mirror of
git://slackware.nl/current.git
synced 2025-01-08 05:24:13 +01:00
81 lines
2.4 KiB
Diff
81 lines
2.4 KiB
Diff
|
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
|
||
|
|