From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Zeuthen Date: Tue, 07 Sep 2004 11:19:34 +0000 Subject: Re: [patch] compatibility symlinks for udev Message-Id: <1094555975.15900.23.camel@localhost.localdomain> MIME-Version: 1 Content-Type: multipart/mixed; boundary="=-BSurpIkDdtHl9uokrHFy" List-Id: References: <1094481997.4727.14.camel@localhost.localdomain> In-Reply-To: <1094481997.4727.14.camel@localhost.localdomain> To: linux-hotplug@vger.kernel.org --=-BSurpIkDdtHl9uokrHFy Content-Type: text/plain Content-Transfer-Encoding: 7bit On Mon, 2004-09-06 at 17:45 +0200, Kay Sievers wrote: > On Mon, 2004-09-06 at 16:46 +0200, David Zeuthen wrote: > > Nice, I like it. It's a easy way to group device nodes of the same type, > but coming from different kernel subsystems. > That's a good way of putting it, yeah. > > Here's a patch against udev-030 that can help create compatibility > > symlinks like /dev/cdrom, /dev/cdrom1 etc. The patch introduces a new > > substitution type %C (for Compatibility) that can be used as follows > > I suggest using %e for enumeration here, cause "compatibility" can > easily be misunderstood. > Good point, I've changed that. > And we need a few lines added to the man page at udev.8.in :) > Done. I've also added an example. Also, Kay pointed out offlist that the rules can be written to not require a shell script; this actually works KERNEL="sr*", NAME="%k", SYMLINK="cdrom%e" KERNEL="scd*", NAME="%k", SYMLINK="cdrom%e" KERNEL="pcd*", NAME="%k", SYMLINK="cdrom%e" KERNEL="hd[a-z]", PROGRAM="/bin/cat /proc/ide/%k/media", RESULT="cdrom", NAME="\%k", SYMLINK="cdrom%e" KERNEL="fd[0-9]", NAME="%k", SYMLINK="floppy%e" KERNEL="hd[a-z]", PROGRAM="/bin/cat /proc/ide/%k/media", RESULT="floppy", NAME=\"%k", SYMLINK="floppy%e" New patch is attached. David --=-BSurpIkDdtHl9uokrHFy Content-Disposition: attachment; filename=udev-compat-symlinks-2.patch Content-Type: text/x-patch; name=udev-compat-symlinks-2.patch; charset=ISO-8859-1 Content-Transfer-Encoding: base64 LS0tIHVkZXYtMDMwLm9yaWcvbmFtZWRldi5jCTIwMDQtMDctMDkgMTk6NTk6MTAuMDAwMDAwMDAw ICswMjAwDQorKysgdWRldi0wMzAvbmFtZWRldi5jCTIwMDQtMDktMDcgMTI6NTA6MDkuNTk5Mzcy OTYwICswMjAwDQpAQCAtNDIsNiArNDIsNyBAQA0KICNpbmNsdWRlICJsb2dnaW5nLmgiDQogI2lu Y2x1ZGUgIm5hbWVkZXYuaCINCiAjaW5jbHVkZSAia2xpYmNfZml4dXBzLmgiDQorI2luY2x1ZGUg InVkZXZkYi5oIg0KIA0KIHN0YXRpYyBzdHJ1Y3Qgc3lzZnNfYXR0cmlidXRlICpmaW5kX3N5c2Zz X2F0dHJpYnV0ZShzdHJ1Y3Qgc3lzZnNfY2xhc3NfZGV2aWNlICpjbGFzc19kZXYsIHN0cnVjdCBz eXNmc19kZXZpY2UgKnN5c2ZzX2RldmljZSwgY2hhciAqYXR0cik7DQogDQpAQCAtMTc5LDYgKzE4 MCwzNyBAQCBzdGF0aWMgaW50IGdldF9mb3JtYXRfbGVuKGNoYXIgKipzdHIpDQogCXJldHVybiAt MTsNCiB9DQogDQorLyoqIEZpbmRzIHRoZSBsb3dlc3QgcG9zaXRpdmUgTiBzdWNoIHRoYXQgPG5h bWU+TiBpc24ndCBwcmVzZW50IGluIA0KKyAqICAkKHVkZXZyb290KSBlaXRoZXIgYXMgYSBmaWxl IG9yIGEgc3ltbGluay4NCisgKg0KKyAqICBAcGFyYW0gIG5hbWUgICAgICAgICAgICAgICAgTmFt ZSB0byBjaGVjayBmb3INCisgKiAgQHJldHVybiAgICAgICAgICAgICAgICAgICAgIDAgaWYgPG5h bWU+IGRpZG4ndCBleGlzdCBhbmQgTiBvdGhlcndpc2UuDQorICovDQorc3RhdGljIHVuc2lnbmVk IGludCBmaW5kX2ZyZWVfbnVtYmVyIChzdHJ1Y3QgdWRldmljZSAqdWRldiwgY2hhciAqbmFtZSkN Cit7DQorCWNoYXIgdGVtcFtOQU1FX1NJWkVdOw0KKwljaGFyIHBhdGhbTkFNRV9TSVpFXTsNCisJ c3RydWN0IHVkZXZpY2UgZGV2Ow0KKwlpbnQgcmVzdWx0Ow0KKw0KKwkvKiBoYXZlIHRvIHN3ZWVw IHRoZSBkYXRhYmFzZSBmb3IgZWFjaCBsb29rdXAgKi8NCisJcmVzdWx0ID0gMDsNCisJc3RybmNw eSh0ZW1wLCBuYW1lLCBzaXplb2YgKHRlbXApKTsNCisJd2hpbGUgKDEpIHsNCisJCWlmICh1ZGV2 ZGJfZ2V0X2Rldl9ieW5hbWUodGVtcCwgcGF0aCwgJmRldikgIT0gMCkNCisJCQlnb3RvIGZvdW5k Ow0KKwkJLyogc3ltbGluayBtaWdodCBiZSBzdGFsZSBpZiAkKHVkZXZyb290KSBpc24ndCBjbGVh bmVkOyBjaGVjaw0KKwkJICogb24gbWFqb3IvbWlub3IgdG8gc2VlIGlmIGl0J3MgdGhlIHNhbWUg ZGV2aWNlDQorCQkgKi8NCisJCWlmIChkZXYubWFqb3IgPT0gdWRldi0+bWFqb3IgJiYgZGV2Lm1p bm9yID09IHVkZXYtPm1pbm9yKQ0KKwkJCWdvdG8gZm91bmQ7DQorCQlzbnByaW50ZiAodGVtcCwg c2l6ZW9mKHRlbXApLCAiJXMlZCIsIG5hbWUsICsrcmVzdWx0KTsNCisJfQ0KKw0KK2ZvdW5kOg0K KwlyZXR1cm4gcmVzdWx0Ow0KK30NCisNCiBzdGF0aWMgdm9pZCBhcHBseV9mb3JtYXQoc3RydWN0 IHVkZXZpY2UgKnVkZXYsIGNoYXIgKnN0cmluZywgc2l6ZV90IG1heHNpemUsDQogCQkJIHN0cnVj dCBzeXNmc19jbGFzc19kZXZpY2UgKmNsYXNzX2RldiwNCiAJCQkgc3RydWN0IHN5c2ZzX2Rldmlj ZSAqc3lzZnNfZGV2aWNlKQ0KQEAgLTE5NSw2ICsyMjcsNyBAQCBzdGF0aWMgdm9pZCBhcHBseV9m b3JtYXQoc3RydWN0IHVkZXZpY2UgDQogCWNoYXIgKnJlc3Q7DQogCWludCBzbGVuOw0KIAlzdHJ1 Y3Qgc3lzZnNfYXR0cmlidXRlICp0bXBhdHRyOw0KKwl1bnNpZ25lZCBpbnQgbmV4dF9mcmVlX251 bWJlcjsNCiANCiAJcG9zID0gc3RyaW5nOw0KIAl3aGlsZSAoMSkgew0KQEAgLTI4NCw2ICszMTcs MTMgQEAgc3RhdGljIHZvaWQgYXBwbHlfZm9ybWF0KHN0cnVjdCB1ZGV2aWNlIA0KIAkJCXN0cmZp ZWxkY2F0bWF4KHN0cmluZywgIiUiLCBtYXhzaXplKTsNCiAJCQlwb3MrKzsNCiAJCQlicmVhazsN CisJCWNhc2UgJ2UnOg0KKwkJCW5leHRfZnJlZV9udW1iZXIgPSBmaW5kX2ZyZWVfbnVtYmVyKHVk ZXYsIHN0cmluZyk7DQorCQkJaWYgKG5leHRfZnJlZV9udW1iZXIgPiAwKSB7DQorCQkJCXNucHJp bnRmKHRlbXAyLCBzaXplb2YodGVtcDIpLCAiJWQiLCBuZXh0X2ZyZWVfbnVtYmVyKTsNCisJCQkJ c3RyZmllbGRjYXRtYXgoc3RyaW5nLCB0ZW1wMiwgbWF4c2l6ZSk7DQorCQkJfQ0KKwkJCWJyZWFr Ow0KIAkJZGVmYXVsdDoNCiAJCQlkYmcoInVua25vd24gc3Vic3RpdHV0aW9uIHR5cGUgJyUlJWMn IiwgYyk7DQogCQkJYnJlYWs7DQotLS0gdWRldi0wMzAub3JpZy91ZGV2LjguaW4JMjAwNC0wNy0w OSAxOTo1OToxMC4wMDAwMDAwMDAgKzAyMDANCisrKyB1ZGV2LTAzMC91ZGV2LjguaW4JMjAwNC0w OS0wNyAxMzoxMjo1OC42NjAyNDQwNzIgKzAyMDANCkBAIC0yNzIsNiArMjcyLDEzIEBAIGFsbCBy ZW1haW5pbmcgcGFydHMgb2YgdGhlIHJlc3VsdCBzdHJpbmcNCiAuQkkgJXN7IGZpbGVuYW1lIH0N CiBUaGUgY29udGVudCBvZiBhIHN5c2ZzIGF0dHJpYnV0ZS4NCiAuVFANCisuQiAlZQ0KK0lmIGEg ZGV2aWNlIG5vZGUgYWxyZWFkeSBleGlzdHMgd2l0aCB0aGUgbmFtZSwgdGhlIHNtYWxsZXN0IHBv c2l0aXZlDQorZGVjaW1hbCBpbnRlZ2VyIE4gaXMgc3Vic3RpdHV0ZWQgc3VjaCB0aGF0IHRoZSBy ZXN1bHRpbmcgbmFtZSBkb2Vzbid0DQorbWF0Y2ggYW4gZXhpc3RpbmcgZGV2aWNlIG5vZGUuIE90 aGVyd2lzZSBub3RoaW5nIGlzIHN1YnN0aXR1dGVkLiBUaGlzDQorY2FuIGJlIHVzZWQgdG8gY3Jl YXRlIGNvbXBhdGliaWxpdHkgc3ltbGlua3MgYW5kIGVudW1lcmF0ZSBkZXZpY2VzIG9mDQordGhl IHNhbWUgdHlwZSBvcmlnaW5hdGluZyBmcm9tIGRpZmZlcmVudCBrZXJuZWwgc3Vic3lzdGVtcy4N CisuVFANCiAuQiAlJQ0KIFRoZSAnJScgY2hhcmFjdGVyIGl0c2VsZi4NCiAuUA0KQEAgLTMwMiw2 ICszMDksMTQgQEAgS0VSTkVMPSJ0dHlVU0IxIiwgTkFNRT0icGRhIiwgU1lNTElOSz0icA0KIA0K ICMgbXVsdGlwbGUgVVNCIHdlYmNhbXMgd2l0aCBzeW1saW5rcyB0byBiZSBjYWxsZWQgd2ViY2Ft MCwgd2ViY2FtMSwgLi4uDQogQlVTPSJ1c2IiLCBTWVNGU3ttb2RlbH09IlhWMyIsIE5BTUU9InZp ZGVvJW4iLCBTWU1MSU5LPSJ3ZWJjYW0lbiINCisNCisjIGdyb3VwaW5nIG9mIG9wdGljYWwgZHJp dmVzIGZyb20gbXVsdGlwbGUga2VybmVsIHN1YnN5c3RlbXMNCitLRVJORUw9InNyKiIsIE5BTUU9 IiVrIiwgU1lNTElOSz0iY2Ryb20lZSINCitLRVJORUw9InNjZCoiLCBOQU1FPSIlayIsIFNZTUxJ Tks9ImNkcm9tJWUiDQorS0VSTkVMPSJwY2QqIiwgTkFNRT0iJWsiLCBTWU1MSU5LPSJjZHJvbSVl Ig0KK0tFUk5FTD0iaGRbYS16XSIsIFBST0dSQU09Ii9iaW4vY2F0IC9wcm9jL2lkZS8lay9tZWRp YSIsIFJFU1VMVD0iY2Ryb20iLA0KKyAgTkFNRT0iJWsiLCBTWU1MSU5LPSJjZHJvbSVlIg0KKw0K IC5maQ0KIC5QDQogVGhlIHBlcm1pc3Npb25zIGFuZCBvd25lcnNoaXAgb2YgdGhlIGNyZWF0ZWQg ZGV2aWNlIGZpbGUgaXMgcmVhZCBmcm9tDQo= --=-BSurpIkDdtHl9uokrHFy-- ------------------------------------------------------- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click _______________________________________________ Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net Linux-hotplug-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel