All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <greg@kroah.com>
To: Linus Torvalds <torvalds@osdl.org>,
	linux-hotplug-devel@lists.sourceforge.net
Cc: Andries Brouwer <aebr@win.tue.nl>,
	Daniel Jacobowitz <dan@debian.org>, Rob Love <rml@ximian.com>,
	rob@landley.net, Pascal Schmidt <der.eremit@email.de>,
	linux-kernel@vger.kernel.org
Subject: Silly udev script [was Re: udev and devfs - The final word]
Date: Tue, 06 Jan 2004 00:36:14 +0000	[thread overview]
Message-ID: <20040106003614.GA1043@kroah.com> (raw)
In-Reply-To: <Pine.LNX.4.58.0401050749490.21265@home.osdl.org>

On Mon, Jan 05, 2004 at 08:13:26AM -0800, Linus Torvalds wrote:
> 
> For example, if you wanted to, you could make udev do a cddb lookup on the
> CD-ROM, and use that as the pathname, so that when you insert your
> favorite audio disk, it will always show up in the same place, regardless 
> of whether you put it in the DVD slot or the CD-RW drive. 
> 
> [ Yeah, that sounds like a singularly silly thing to do, but it's a good 
>   example of something where there is no actual serial number, but you can 
>   "identify" it automatically through its contents, and name it stably 
>   according to that. ]

That was such a silly thing to do, here's a script that does it, along
with the udev rule to add to udev.rules for it.  It names your cdrom
Artist_Title, and creates a symlink called cdrom that points to it, just
to be a tiny bit sane :)

I had been saying for a long time that you could have udev make a query
across the network to get a device name, this provides the perfect
example of just that...

thanks,

greg k-h


#!/usr/bin/perl

# a horribly funny script that shows how flexible udev can really be
# This is to be executed by udev with the following rules:
# CALLOUT, BUS="ide", PROGRAM="name_cdrom.pl %M %m", ID="good*", NAME="%1c", SYMLINK="cdrom" 
# CALLOUT, BUS="scsi", PROGRAM="name_cdrom.pl %M %m", ID="good*", NAME="%1c", SYMLINK="cdrom" 
#
# The scsi rule catches USB cdroms and ide-scsi devices.
#

use CDDB_get qw( get_cddb );

my %config;

$dev_node = "/tmp/cd_foo";

# following variables just need to be declared if different from defaults
$config{CDDB_HOST}="freedb.freedb.org";        # set cddb host
$config{CDDB_PORT}ˆ80;                       # set cddb port
$config{CDDB_MODE}="cddb";			# set cddb mode: cddb or http
$config{CD_DEVICE}="$dev_node";			# set cd device

# No user interaction, this is a automated script!
$config{input}=0;

$major = $ARGV[0];
$minor = $ARGV[1];

# create our temp device node to read the cd info from
if (system("mknod $dev_node b $major $minor")) {
       die "bad mknod failed";
       }

# get it on
my %cd=get_cddb(\%config);

# remove the dev node we just created
unlink($dev_node);

# print out our cd name if we have found it
unless(defined $cd{title}) {
	print"bad unknown cdrom\n";
} else {
	print "good $cd{artist}_$cd{title}\n";
}


-------------------------------------------------------
This SF.net email is sponsored by: IBM Linux Tutorials.
Become an expert in LINUX or just sharpen your skills.  Sign up for IBM's
Free Linux Tutorials.  Learn everything from the bash shell to sys admin.
Click now! http://ads.osdn.com/?ad_id\x1278&alloc_id371&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

WARNING: multiple messages have this Message-ID (diff)
From: Greg KH <greg@kroah.com>
To: Linus Torvalds <torvalds@osdl.org>,
	linux-hotplug-devel@lists.sourceforge.net
Cc: Andries Brouwer <aebr@win.tue.nl>,
	Daniel Jacobowitz <dan@debian.org>, Rob Love <rml@ximian.com>,
	rob@landley.net, Pascal Schmidt <der.eremit@email.de>,
	linux-kernel@vger.kernel.org
Subject: Silly udev script [was Re: udev and devfs - The final word]
Date: Mon, 5 Jan 2004 16:36:14 -0800	[thread overview]
Message-ID: <20040106003614.GA1043@kroah.com> (raw)
In-Reply-To: <Pine.LNX.4.58.0401050749490.21265@home.osdl.org>

On Mon, Jan 05, 2004 at 08:13:26AM -0800, Linus Torvalds wrote:
> 
> For example, if you wanted to, you could make udev do a cddb lookup on the
> CD-ROM, and use that as the pathname, so that when you insert your
> favorite audio disk, it will always show up in the same place, regardless 
> of whether you put it in the DVD slot or the CD-RW drive. 
> 
> [ Yeah, that sounds like a singularly silly thing to do, but it's a good 
>   example of something where there is no actual serial number, but you can 
>   "identify" it automatically through its contents, and name it stably 
>   according to that. ]

That was such a silly thing to do, here's a script that does it, along
with the udev rule to add to udev.rules for it.  It names your cdrom
Artist_Title, and creates a symlink called cdrom that points to it, just
to be a tiny bit sane :)

I had been saying for a long time that you could have udev make a query
across the network to get a device name, this provides the perfect
example of just that...

thanks,

greg k-h


#!/usr/bin/perl

# a horribly funny script that shows how flexible udev can really be
# This is to be executed by udev with the following rules:
# CALLOUT, BUS="ide", PROGRAM="name_cdrom.pl %M %m", ID="good*", NAME="%1c", SYMLINK="cdrom" 
# CALLOUT, BUS="scsi", PROGRAM="name_cdrom.pl %M %m", ID="good*", NAME="%1c", SYMLINK="cdrom" 
#
# The scsi rule catches USB cdroms and ide-scsi devices.
#

use CDDB_get qw( get_cddb );

my %config;

$dev_node = "/tmp/cd_foo";

# following variables just need to be declared if different from defaults
$config{CDDB_HOST}="freedb.freedb.org";        # set cddb host
$config{CDDB_PORT}=8880;                       # set cddb port
$config{CDDB_MODE}="cddb";			# set cddb mode: cddb or http
$config{CD_DEVICE}="$dev_node";			# set cd device

# No user interaction, this is a automated script!
$config{input}=0;

$major = $ARGV[0];
$minor = $ARGV[1];

# create our temp device node to read the cd info from
if (system("mknod $dev_node b $major $minor")) {
       die "bad mknod failed";
       }

# get it on
my %cd=get_cddb(\%config);

# remove the dev node we just created
unlink($dev_node);

# print out our cd name if we have found it
unless(defined $cd{title}) {
	print"bad unknown cdrom\n";
} else {
	print "good $cd{artist}_$cd{title}\n";
}

  parent reply	other threads:[~2004-01-06  0:36 UTC|newest]

Thread overview: 140+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <18Cz7-7Ep-7@gated-at.bofh.it>
2003-12-31  3:05 ` udev and devfs - The final word Pascal Schmidt
2003-12-31 19:23   ` Greg KH
2003-12-31 20:19     ` Rob Love
2003-12-31 22:01       ` Nathan Conrad
2003-12-31 22:20         ` Rob Love
2003-12-31 21:45           ` Tommi Virtanen
2003-12-31 23:10             ` Rob Love
2003-12-31 21:52               ` Tommi Virtanen
2004-01-02  0:17                 ` Hollis Blanchard
2004-01-02  0:36                   ` viro
2004-01-03  6:04                   ` Greg KH
2003-12-31 22:55           ` viro
2003-12-31 23:05             ` Rob Love
2003-12-31 23:48             ` Andreas Dilger
2004-01-07 10:15             ` Olaf Hering
2004-01-07 11:18               ` viro
2004-01-07 13:00                 ` Olaf Hering
2004-01-07 13:26                   ` viro
2004-01-07 13:27                     ` Olaf Hering
2004-01-01  0:15       ` Andries Brouwer
2004-01-01  0:31         ` Rob Love
2004-01-01 12:34           ` Rob Landley
2004-01-01 15:22             ` Rob Love
2004-01-01 15:48               ` Andries Brouwer
2004-01-01 15:54                 ` Rob Love
2004-01-02 20:42                   ` Linus Torvalds
2004-01-03  3:00                     ` Andries Brouwer
2004-01-03  4:46                       ` Linus Torvalds
2004-01-03 13:10                         ` Andries Brouwer
2004-01-03 22:27                           ` Linus Torvalds
2004-01-03 23:08                             ` Andries Brouwer
2004-01-04  1:16                               ` Mark Mielke
2004-01-04  1:54                                 ` Valdis.Kletnieks
2004-01-04 18:44                                   ` Mark Mielke
2004-01-04  2:09                               ` Linus Torvalds
2004-01-04  2:49                                 ` Andries Brouwer
2004-01-04  3:04                                   ` Linus Torvalds
2004-01-04  4:36                                     ` Pentium 4 HT SMP Ananda Bhattacharya
2004-01-04  5:55                                       ` Martin J. Bligh
2004-01-04 13:21                                     ` udev and devfs - The final word Andries Brouwer
2004-01-04 21:05                                       ` Linus Torvalds
2004-01-04 22:01                                         ` Andries Brouwer
2004-01-04 22:37                                           ` viro
2004-01-05  1:02                                             ` Mark Mielke
2004-01-05  2:24                                               ` Valdis.Kletnieks
2004-01-05  2:29                                             ` Andries Brouwer
2004-01-05  3:42                                               ` viro
2004-01-04 22:37                                           ` Helge Hafting
2004-01-04 23:35                                           ` Valdis.Kletnieks
2004-01-05  1:43                                             ` Jeremy Maitin-Shepard
2004-01-05  1:47                                               ` st_dev:st_ino (was: Re: udev and devfs - The final word) Mark Mielke
2004-01-05  2:02                                                 ` st_dev:st_ino Jeremy Maitin-Shepard
2004-01-05  3:14                                                   ` st_dev:st_ino viro
2004-01-05  1:58                                               ` udev and devfs - The final word viro
2004-01-05  2:12                                                 ` Jeremy Maitin-Shepard
2004-01-05  2:52                                           ` Linus Torvalds
2004-01-05  3:06                                             ` David Lang
2004-01-05  3:48                                               ` Rob Landley
2004-01-05  4:52                                                 ` Trond Myklebust
2004-01-05  7:03                                                   ` [offtopic] " Rob Landley
2004-01-05 12:07                                                     ` Trond Myklebust
2004-01-05 15:13                                                 ` Mark Mielke
2004-01-05 16:36                                                   ` Andreas Schwab
2004-01-05 22:18                                                     ` Mark Mielke
2004-01-05  3:07                                             ` Daniel Jacobowitz
2004-01-05  3:33                                               ` Linus Torvalds
2004-01-05  3:50                                                 ` viro
2004-01-05  4:02                                                   ` Linus Torvalds
2004-01-05  4:38                                                     ` viro
2004-01-05  4:52                                                       ` Linus Torvalds
2004-01-05  6:11                                                         ` viro
2004-01-05  7:47                                                         ` Greg KH
2004-01-05 11:15                                                           ` Vojtech Pavlik
2004-01-05 20:11                                                             ` Theodore Ts'o
2004-01-05 21:06                                                               ` Vojtech Pavlik
2004-01-05 22:22                                                                 ` Theodore Ts'o
2004-01-06  0:14                                                                 ` Rob Landley
2004-01-06 17:28                                                                   ` [OT] " Disconnect
2004-01-11 22:12                                                         ` Ed L Cashin
2004-01-05  5:26                                                       ` Eric W. Biederman
2004-01-05  7:39                                                       ` Greg KH
2004-01-07  9:57                                                     ` Pavel Machek
2004-01-05 12:27                                                 ` Andries Brouwer
2004-01-05 16:13                                                   ` Linus Torvalds
2004-01-05 17:29                                                     ` Vojtech Pavlik
2004-01-05 17:33                                                       ` Linus Torvalds
2004-01-05 17:52                                                       ` Davide Libenzi
2004-01-05 18:03                                                         ` Linus Torvalds
2004-01-05 18:09                                                         ` Hugo Mills
2004-01-05 19:10                                                         ` Paul Rolland
2004-01-05 19:52                                                     ` Andries Brouwer
2004-01-05 20:38                                                       ` Linus Torvalds
2004-01-05 22:17                                                         ` Shawn
2004-01-05 22:25                                                           ` Mark Mielke
2004-01-05 23:05                                                             ` Shawn
2004-01-05 23:23                                                               ` Shawn
2004-01-06  0:43                                                               ` Greg KH
2004-01-06  0:53                                                                 ` Shawn
2004-01-05 23:13                                                         ` Andries Brouwer
2004-01-05 23:32                                                           ` Linus Torvalds
2004-01-06  0:59                                                             ` viro
2004-01-06  1:17                                                               ` Linus Torvalds
2004-01-06  4:28                                                                 ` viro
2004-01-06  5:07                                                                   ` Linus Torvalds
2004-01-06  1:06                                                             ` Andries Brouwer
2004-01-06 15:00                                                               ` Mark Mielke
2004-01-06  0:00                                                           ` Greg KH
2004-01-06  1:41                                                             ` Andries Brouwer
2004-01-07 17:14                                                               ` Greg KH
2004-01-06  0:31                                                           ` Rob Landley
2004-01-06  7:14                                                       ` Vojtech Pavlik
2004-01-06  0:36                                                     ` Greg KH [this message]
2004-01-06  0:36                                                       ` Silly udev script [was Re: udev and devfs - The final word] Greg KH
2004-01-06  4:02                                                       ` Kay Sievers
2004-01-10  1:04                                                       ` Greg KH
2004-01-05  7:44                                             ` udev and devfs - The final word James H. Cloos Jr.
2004-01-05  7:45                                               ` Nigel Cunningham
2004-01-05 11:01                                                 ` Robin Rosenberg
2004-01-05 12:39                                                   ` Nigel Cunningham
2004-01-05 14:31                                                     ` IRQ disabled on linux 2.6.1-rc1-mm1 Mainak Mandal _00007001_
2004-01-07 13:39                                                     ` udev and devfs - The final word Robin Rosenberg
2004-01-07 17:16                                                       ` Nigel Cunningham
2004-01-05  9:06                                               ` Valdis.Kletnieks
2004-01-05  4:15                                           ` Peter Chubb
2004-01-05  4:42                                             ` Linus Torvalds
2004-01-03 18:34                         ` Wrapping jiffies [was Re: udev and devfs - The final word] Pavel Machek
2004-01-01 19:43             ` udev and devfs - The final word Kai Henningsen
2004-01-02  7:26               ` Rob Landley
2004-01-04  8:57                 ` Greg KH
2004-01-04  9:43                   ` Rob Landley
2004-01-02  0:17             ` Maciej Zenczykowski
     [not found]               ` <20040102103104.GA28168@mark.mielke.cc>
2004-01-03  6:07                 ` Greg KH
2004-01-03  6:51                   ` Valdis.Kletnieks
2004-01-03 11:57                     ` Ian Kent
2004-01-03 22:08                     ` Greg KH
2004-01-07 10:23             ` Olaf Hering
2004-01-01 23:14           ` Rob
2004-01-02  3:53             ` Tyler Hall
2004-01-01 16:17     ` Pascal Schmidt
2004-01-01 20:03       ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040106003614.GA1043@kroah.com \
    --to=greg@kroah.com \
    --cc=aebr@win.tue.nl \
    --cc=dan@debian.org \
    --cc=der.eremit@email.de \
    --cc=linux-hotplug-devel@lists.sourceforge.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rml@ximian.com \
    --cc=rob@landley.net \
    --cc=torvalds@osdl.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.