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";
}
next prev parent reply other threads:[~2004-01-06 0:39 UTC|newest]
Thread overview: 137+ 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-05 7:44 ` 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome