From 8a0dc204e902a47a5b251c6d4a29eddb8f4a634a Mon Sep 17 00:00:00 2001 From: "sschweizer@gmail.com" Date: Thu, 2 Dec 2004 22:23:21 -0800 Subject: [PATCH] [PATCH] Allow GROUP to have modifiers in it --- etc/udev/udev.rules.gentoo | 2 +- extras/ide-devfs.sh | 6 +++--- namedev.c | 5 +++++ 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/etc/udev/udev.rules.gentoo b/etc/udev/udev.rules.gentoo index 1809232e..997acb8a 100644 --- a/etc/udev/udev.rules.gentoo +++ b/etc/udev/udev.rules.gentoo @@ -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" diff --git a/extras/ide-devfs.sh b/extras/ide-devfs.sh index 4f202594..580a751a 100644 --- a/extras/ide-devfs.sh +++ b/extras/ide-devfs.sh @@ -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 diff --git a/namedev.c b/namedev.c index 69669709..dca405ce 100644 --- 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, -- 2.39.5