chiark / gitweb /
[PATCH] Allow GROUP to have modifiers in it
authorsschweizer@gmail.com <sschweizer@gmail.com>
Fri, 3 Dec 2004 06:23:21 +0000 (22:23 -0800)
committerGreg KH <gregkh@suse.de>
Wed, 27 Apr 2005 05:43:36 +0000 (22:43 -0700)
etc/udev/udev.rules.gentoo
extras/ide-devfs.sh
namedev.c

index 1809232..997acb8 100644 (file)
@@ -19,7 +19,7 @@ BUS="scsi", KERNEL="scd[a-z]", PROGRAM="/etc/udev/scripts/cdsymlinks.sh %k", SYM
 
 # devfs-names for ide-devices (uncomment only one)
 #  /dev/ide/.../{disc,cd} and /dev/{cdroms,discs}/* type names
-BUS="ide", KERNEL="hd*", PROGRAM="/etc/udev/scripts/ide-devfs.sh %k %b %n", NAME="%k", SYMLINK="%c{1} %c{2}"
+BUS="ide", KERNEL="hd*", PROGRAM="/etc/udev/scripts/ide-devfs.sh %k %b %n", NAME="%k", SYMLINK="%c{1} %c{2}", GROUP="%c{3}"
 
 # dri devices
 KERNEL="card*",                NAME="dri/card%n"
index 4f20259..580a751 100644 (file)
@@ -36,11 +36,11 @@ get_dev_number() {
 if [ -z "$3" ] && [ -f /proc/ide/${1}/media ]; then
        MEDIA=`cat /proc/ide/${1}/media`
        if [ "${MEDIA}" = "cdrom" ]; then
-               echo ide/host${HOST}/bus${BUS}/target${TARGET}/lun0/cd cdroms/cdrom`get_dev_number $1 cdrom`
+               echo ide/host${HOST}/bus${BUS}/target${TARGET}/lun0/cd cdroms/cdrom`get_dev_number $1 cdrom` ${MEDIA}
        elif [ "${MEDIA}" = "floppy" ]; then
-               echo ide/host${HOST}/bus${BUS}/target${TARGET}/lun0/disc floppies/floppy`get_dev_number $1 floppy`/disc
+               echo ide/host${HOST}/bus${BUS}/target${TARGET}/lun0/disc floppies/floppy`get_dev_number $1 floppy`/disc ${MEDIA}
        elif [ "${MEDIA}" = "disk" ]; then
-               echo ide/host${HOST}/bus${BUS}/target${TARGET}/lun0/disc discs/disc`get_dev_number $1 disk`/disc
+               echo ide/host${HOST}/bus${BUS}/target${TARGET}/lun0/disc discs/disc`get_dev_number $1 disk`/disc ${MEDIA}
        fi
 else
        echo ide/host${HOST}/bus${BUS}/target${TARGET}/lun0/part$3 discs/disc`get_dev_number $1 disk`/part$3
index 6966970..dca405c 100644 (file)
--- a/namedev.c
+++ b/namedev.c
@@ -809,6 +809,11 @@ found:
        udev->partitions = dev->partitions;
        udev->ignore_remove = dev->ignore_remove;
 
+       if (dev->group[0] != '\0') {
+               strfieldcpy(udev->group, dev->group);
+               apply_format(udev, udev->group, sizeof(udev->group), class_dev, sysfs_device);  
+       }
+
        /* get permissions given in rule */
        set_empty_perms(udev, dev->mode,
                              dev->owner,