Skip to contentSkip to conversation

udev - switch callout part selector to {attribute}

PATCH Applied Kay Sievers 3 participants 3 messages Feb 17, 2004 – Feb 29, 2004

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 udev - switch callout part selector to {attribute}

Here we change the magic callout part number selector to the new atribute syntax. The syntax to select the second part of the callout string:

'%2c' is now '%c{2}'

I think it's more clear and we no longer misuse the length argument.

The old syntax is still supported, but we should remove it some time in the future.

thanks,
Kay

etc/udev/udev.rules.devfs +1 -1
diff -Nru a/etc/udev/udev.rules.devfs b/etc/udev/udev.rules.devfs
@@ -2,7 +2,7 @@
 # fields.  See the udev man page for a full description of them.
 
 # ide block devices
-BUS="ide", KERNEL="hd*", PROGRAM="/etc/udev/ide-devfs.sh %k %b %n", NAME="%k", SYMLINK="%1c %2c"
+BUS="ide", KERNEL="hd*", PROGRAM="/etc/udev/ide-devfs.sh %k %b %n", NAME="%k", SYMLINK="%c{1} %c{2}"
 
 # md block devices
 KERNEL="md[0-9]*", NAME="md/%n"
etc/udev/udev.rules.gentoo +1 -1
diff -Nru a/etc/udev/udev.rules.gentoo b/etc/udev/udev.rules.gentoo
@@ -57,7 +57,7 @@
 
 # devfs-names for ide-devices (uncomment only one)
 #  /dev/ide/.../{disc,cd} and /dev/{cdroms,discs}/* type names
-BUS="ide", PROGRAM="/etc/udev/scripts/ide-devfs.sh %k %b %n", RESULT="hd*", NAME="%1c", SYMLINK="%2c %3c"
+BUS="ide", PROGRAM="/etc/udev/scripts/ide-devfs.sh %k %b %n", RESULT="hd*", NAME="%c{1}", SYMLINK="%c{2} %c{3}"
  
 # fb devices
 KERNEL="fb[0-9]*", NAME="fb/%n", SYMLINK="%k"
extras/ide-devfs.sh +1 -1
diff -Nru a/extras/ide-devfs.sh b/extras/ide-devfs.sh
@@ -2,7 +2,7 @@
 
 # udev external PROGRAM script
 # return devfs-names for ide-devices
-# BUS="ide", KERNEL="hd*", PROGRAM="/etc/udev/ide-devfs.sh %k %b %n", NAME="%k", SYMLINK="%1c %2c"
+# BUS="ide", KERNEL="hd*", PROGRAM="/etc/udev/ide-devfs.sh %k %b %n", NAME="%k", SYMLINK="%c{1} %c{2}"
 
 HOST="${2%\.[0-9]}"
 TARGET="${2#[0-9]\.}"
extras/name_cdrom.pl +1 -1
diff -Nru a/extras/name_cdrom.pl b/extras/name_cdrom.pl
@@ -2,7 +2,7 @@
 
 # a horribly funny script that shows how flexible udev can really be
 # This is to be executed by udev with the following rules:
-# KERNEL="[hs]d[a-z]", PROGRAM="name_cdrom.pl %M %m", NAME="%1c", SYMLINK="cdrom"
+# KERNEL="[hs]d[a-z]", PROGRAM="name_cdrom.pl %M %m", NAME="%c{1}", SYMLINK="cdrom"
 
 use strict;
 use warnings;
namedev.c +8 -3
diff -Nru a/namedev.c b/namedev.c
@@ -219,6 +219,7 @@
 	char *pos3;
 	char *attr;
 	int num;
+	int i;
 	char c;
 	struct sysfs_attribute *tmpattr;
 
@@ -270,11 +271,15 @@
 		case 'c':
 			if (strlen(udev->program_result) == 0)
 				break;
-			if (num > 0) {
+			/* get part part of the result string */
+			i = num; /* num syntax is deprecated and will be removed  */
+			if (attr != NULL)
+				i = atoi(attr);
+			if (i > 0) {
 				strncpy(temp1, udev->program_result, sizeof(temp1));
 				pos2 = temp1;
-				while (num) {
-					num--;
+				while (i) {
+					i--;
 					pos3 = strsep(&pos2, " ");
 					if (pos3 == NULL) {
 						dbg("requested part of result string not found");
test/udev-test.pl +1 -11
diff -Nru a/test/udev-test.pl b/test/udev-test.pl
@@ -194,16 +194,6 @@
 EOF
 	},
 	{
-		desc     => "select sysfs attribute by SYSFS{vendor}",
-		subsys   => "block",
-		devpath  => "block/sda",
-		expected => "disk-IBM-ESXS-sda" ,
-		conf     => <<EOF
-BUS="scsi", SYSFS{vendor}="IBM-ESXS", NAME="disk-%s{vendor}-%k"
-KERNEL="ttyUSB0", NAME="visor"
-EOF
-	},
-	{
 		desc     => "sustitution of sysfs value (%s{file})",
 		subsys   => "block",
 		devpath  => "block/sda",
@@ -250,7 +240,7 @@
 		devpath  => "block/sda/sda3",
 		expected => "link1" ,
 		conf     => <<EOF
-BUS="scsi", PROGRAM="/bin/echo -n node link1 link2", RESULT="node *", NAME="%1c", SYMLINK="%2c %3c"
+BUS="scsi", PROGRAM="/bin/echo -n node link1 link2", RESULT="node *", NAME="%c{1}", SYMLINK="%c{2} %c{3}"
 EOF
 	},
 	{
Applied
#1 lore raw
Quoted 9 lines · Kay Sievers

Here we change the magic callout part number selector to the new atribute syntax. The syntax to select the second part of the callout string:

'%2c' is now '%c{2}'

I think it's more clear and we no longer misuse the length argument.

The old syntax is still supported, but we should remove it some time in the future.

I agree, give us a release or two to warn people about it :)

Applied, thanks.

greg k-h

-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id56&alloc_id438&op=click
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

#2 lore raw
In reply to Kay Sievers
Quoted 4 lines · Kay Sievers

Here we change the magic callout part number selector to the new atribute syntax. The syntax to select the second part of the callout string:

'%2c' is now '%c{2}'

This changed the format requirements of the config file. I think it is time to provide a simple version tag for the config files, similar to /etc/pam/* or /proc/slabinfo.

Signature · 14 lines
USB is for mice, FireWire is for men!

sUse lINUX ag, nÜRNBERG


-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id56&alloc_id438&op=click
_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel