!greg 1058558666 bk-3.0.2-rc5: check -acv -f - = 0
!greg 1058558680 bk-3.0.2-rc5: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1058564625 bk-3.0.2-rc5: check -c - = 0
!greg 1058564625 bk-3.0.2-rc5: commit -dqY/tmp/cmt2565 -f/tmp/cfiles2565 = 0
!greg 1058564908 bk-3.0.2-rc5: check -c - = 0
!greg 1058564908 bk-3.0.2-rc5: commit -dqY/tmp/cmt2668 -f/tmp/cfiles2668 = 0
!greg 1058564929 bk-3.0.2-rc5: check -c - = 0
!greg 1058564929 bk-3.0.2-rc5: commit -dqY/tmp/cmt2749 -f/tmp/cfiles2749 = 0
!greg 1058564979 bk-3.0.2-rc5: check -c - = 0
!greg 1058564979 bk-3.0.2-rc5: commit -dqY/tmp/cmt2813 -f/tmp/cfiles2813 = 0
!greg 1058564989 bk-3.0.2-rc5: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=9492
!greg 1058566645 bk-3.0.2-rc5: push gregkh@kernel.bkbits.net:udev = 0 rmts=20030410104007-07:00|kroah.com|/home/greg/src/udev/udev|greg|dHtr xfered=9492
!greg 1058573081 bk-3.0.2-rc5: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1060027735 bk-3.0.2-rc5: check -acv -- - = 0
!greg 1060027736 bk-3.0.2-rc5: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=30625
!greg 1060028419 bk-3.0.2-rc5: check -c - = 0
!greg 1060028419 bk-3.0.2-rc5: commit -dqY/tmp/cmt4088 -f/tmp/cfiles4088 = 0
!min.guo/greg 1060028938 bk-3.0.2-rc5: commit -y[PATCH] remove mknod callout = 1
!greg 1060028962 bk-3.0.2-rc5: check -c - = 0
!greg 1060028962 bk-3.0.2-rc5: commit -dqY/tmp/cmt4673 -f/tmp/cfiles4673 = 0
!greg 1060028972 bk-3.0.2-rc5: check -acv -f - = 0
!greg 1060029021 bk-3.0.2-rc5: check -acvf - = 0
!min.guo/greg 1060029219 bk-3.0.2-rc5: commit -y[PATCH] remove mknod callout = 1
!greg 1060029573 bk-3.0.2-rc5: check -c - = 0
!greg 1060029573 bk-3.0.2-rc5: commit -dqY/tmp/cmt4834 -f/tmp/cfiles4834 = 0
!greg 1060029579 bk-3.0.2-rc5: check -acvf - = 0
!greg 1060030790 bk-3.0.2-rc5: check -c - = 0
!greg 1060030790 bk-3.0.2-rc5: commit -dqY/tmp/cmt5461 -f/tmp/cfiles5461 = 0
!greg 1060031615 bk-3.0.2-rc5: check -c - = 0
!greg 1060031615 bk-3.0.2-rc5: commit -dqY/tmp/cmt5704 -f/tmp/cfiles5704 = 0
!lethal/greg 1060042201 bk-3.0.2-rc5: check -c - = 0
!lethal/greg 1060042201 bk-3.0.2-rc5: commit -y[PATCH] udev/libsysfs cross compile fixes

I noticed that libsysfs doesn't inherently grab cross compilation arguments
that are set in the top-level Makefile, so I've come up with the following
patch to fix this. With the patch, I can succesfully cross compile for other
architectures (such as sh) by doing 'make ARCH=sh CROSS=sh-linux-' in the
top-level directory.
 = 0
!lethal/greg 1060042627 bk-3.0.2-rc5: check -c - = 0
!lethal/greg 1060042627 bk-3.0.2-rc5: commit -y[PATCH] udev spec file

Here's a relatively rudimentary patch that addes udev.spec. With this, you can
rpm -ta the tarball and generate rpms. I've also attached the ones I build on
my RH 7.3 host incase they are of interest to you.
 = 0
!greg 1060042726 bk-3.0.2-rc5: check -c - = 0
!greg 1060042726 bk-3.0.2-rc5: commit -dqY/tmp/cmt8522 -f/tmp/cfiles8522 = 0
!greg 1060042735 bk-3.0.2-rc5: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=9650
!greg 1060042744 bk-3.0.2-rc5: push gregkh@kernel.bkbits.net/udev = 1 xfered=0
!greg 1060042755 bk-3.0.2-rc5: push gregkh@kernel.bkbits.net:udev = 0 rmts=20030410104007-07:00|kroah.com|/home/greg/src/udev/udev|greg|dHtr xfered=11835
!greg 1060043219 bk-3.0.2-rc5: check -c - = 0
!greg 1060043219 bk-3.0.2-rc5: commit -dqY/tmp/cmt8762 -f/tmp/cfiles8762 = 0
!greg 1060043230 bk-3.0.2-rc5: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1060043233 bk-3.0.2-rc5: push gregkh@kernel.bkbits.net:udev = 0 rmts=20030410104007-07:00|kroah.com|/home/greg/src/udev/udev|greg|dHtr xfered=145088
!dsteklof/greg 1060124243 bk-3.0.2-rc5: check -c - = 0
!dsteklof/greg 1060124244 bk-3.0.2-rc5: commit -y[PATCH] udevdb prototype

Here's an "idea" of what I had in mind for udevdb. Let me preface the
code with a few remarks:

1) I was expecting to write this udevdb for udev to keep track of
devices. I was planning an external package that depends upon udev
to provide an external API to the udevdb database. The calls for the
interface would be read only access. Not sure how you want to do
packaging, if having a separate package is ok or having it included
in udev.

2) I created it as it is because udev isn't a daemon. So, the open
database call doesn't take any parameters. My plan was to create a
udevdb_init function that took arguments for initializing the db
to start, where you could specify in memory only or a file location.
This can all be filled in.

3) I hacked the Makefile to get it to work. Not sure how you'd want
that in the future.

4) This assumes TDB has been installed elsewhere, you would need to
edit your Makefile and point it to the header and library locations.
How do you want to do TDB in udev? Do you want to just reference it
and make udev dependent on that package being installed. Or should
we do what samba does and include a limited tdb version in udev?

5) Again, I hacked udev into your existing code. In the future, I'd
probably make a function around the filling out the udevice before
calling the store command. Didn't know if you wanted to change
your add device function to use struct udevice rather than having
everything separate.

6) Not sure what we should include in the udevice structure that's stored
by udev. I made a stab at a first shot - we can add and remove of course,
this was a first pass. I've come to realize - with you including libsysfs
in udev, the "external" interface that references udevdb could make
use of getting information from through libsysfs from sysfs and doesn't
need to be in udevdb.

7) I could write a namedevdb for namedev's device management if you
wanted.
 = 0
!greg 1060124610 bk-3.0.2-rc5: check -c - = 0
!greg 1060124610 bk-3.0.2-rc5: commit -dqY/tmp/cmt517 -f/tmp/cfiles517 = 0
!greg 1060124623 bk-3.0.2-rc5: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=20883
!greg 1060124689 bk-3.0.2-rc5: push gregkh@kernel.bkbits.net/udev = 1 xfered=0
!greg 1060124699 bk-3.0.2-rc5: push gregkh@kernel.bkbits.net:udev = 0 rmts=20030410104007-07:00|kroah.com|/home/greg/src/udev/udev|greg|dHtr xfered=20883
!greg 1060126182 bk-3.0.2-rc5: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!lethal/greg 1060633688 bk-3.0.2-rc5: check -c - = 0
!lethal/greg 1060633688 bk-3.0.2-rc5: commit -y[PATCH] Fix TDB cross compilation

The merge of tdb ended up breaking the ability to cross compile again, here's
a bk patch that yanks CC out of the tdb Makefile, and in turn falls back on
the exported CC value from the top-level Makefile which correctly sets it
based off of the CROSS value.
 = 0
!greg 1060633707 bk-3.0.2-rc5: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=1343
!greg 1060633739 bk-3.0.2-rc5: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20030410104007-07:00|kroah.com|/home/greg/src/udev/udev|greg|dHtr xfered=1343
!greg 1064433343 bk-3.0.2: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1064433349 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!olh/greg 1064433377 bk-3.0.2: check -c - = 0
!olh/greg 1064433377 bk-3.0.2: commit -y[PATCH] print udev pid

makes debugging easier.
 = 0
!greg 1064433402 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=1258
!greg 1064433408 bk-3.0.2: push gregkh@kernel.bkbits.net:udev = 0 rmts=20030410104007-07:00|kroah.com|/home/greg/src/udev/udev|greg|dHtr xfered=1258
!greg 1066165086 bk-3.0.2: check -acv -- - = 0
!greg 1066165086 bk-3.0.2: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=25559
!greg 1066165275 bk-3.0.2: pull gregkh@kernel.bkbits.net:/udev = 1 xfered=0
!greg 1066165335 bk-3.0.2: pull gregkh@kernel.bkbits.net:udev = 0 rmts=20030410104007-07:00|kroah.com|/home/greg/src/udev/udev|greg|dHtr xfered=0
!greg 1066170018 bk-3.0.2: check -c - = 0
!greg 1066170018 bk-3.0.2: commit -dqY/tmp/cmt27576 -f/tmp/cfiles27576 = 0
!dsteklof/greg 1066170053 bk-3.0.2: check -c - = 0
!dsteklof/greg 1066170053 bk-3.0.2: commit -y[PATCH] udevdb patch

This patch:

1) removes the three database files for just one udevdb.tdb file.
2) adds udevdb_init() and udevdb_exit() functions
3) initializes database now in main() in udev.c.

Please look it over.
 = 0
!greg 1066170088 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=5199
!greg 1066170283 bk-3.0.2: push gregkh@kernel.bkbits.net:udev = 0 rmts=20030410104007-07:00|kroah.com|/home/greg/src/udev/udev|greg|dHtr xfered=5199
!patmans/greg 1066170737 bk-3.0.2: check -c - = 0
!patmans/greg 1066170737 bk-3.0.2: commit -y[PATCH] add callout config type to udev

This patch adds a callout config type to udev, so external programs can be
called to get serial numbers or id's that are not available as a sysfs
attribute.
 = 0
!greg 1066170772 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=6023
!greg 1066170838 bk-3.0.2: push gregkh@kernel.bkbits.net:udev = 0 rmts=20030410104007-07:00|kroah.com|/home/greg/src/udev/udev|greg|dHtr xfered=6023
!greg 1066171862 bk-3.0.2: check -acv -- - = 0
!greg 1066171862 bk-3.0.2: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=26757
!greg 1066171942 bk-3.0.2: push gregkh@kernel.bkbits.net:udev = 0 rmts=20030410104007-07:00|kroah.com|/home/greg/src/udev/udev|greg|dHtr xfered=63529
!greg 1066254401 bk-3.0.2: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1066258213 bk-3.0.2: check -c - = 0
!greg 1066258213 bk-3.0.2: commit -dqY/tmp/cmt10533 -f/tmp/cfiles10533 = 0
!greg 1066258250 bk-3.0.2: check -c - = 0
!greg 1066258250 bk-3.0.2: commit -dqY/tmp/cmt10653 -f/tmp/cfiles10653 = 0
!greg 1066258271 bk-3.0.2: check -c - = 0
!greg 1066258272 bk-3.0.2: commit -dqY/tmp/cmt10694 -f/tmp/cfiles10694 = 0
!greg 1066258287 bk-3.0.2: check -c - = 0
!greg 1066258287 bk-3.0.2: commit -dqY/tmp/cmt10738 -f/tmp/cfiles10738 = 0
!greg 1066258861 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=10676
!greg 1066258885 bk-3.0.2: push gregkh@kernel.bkbits.net:udev = 0 rmts=20030410104007-07:00|kroah.com|/home/greg/src/udev/udev|greg|dHtr xfered=10676
!greg 1066263870 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1066345785 bk-3.0.2: check -acv -- - = 0
!greg 1066345785 bk-3.0.2: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=33008
!greg 1066346344 bk-3.0.2: check -c - = 0
!greg 1066346344 bk-3.0.2: commit -dqY/tmp/cmt24732 -f/tmp/cfiles24732 = 0
!greg 1066346957 bk-3.0.2: check -c - = 0
!greg 1066346957 bk-3.0.2: commit -dqY/tmp/cmt25008 -f/tmp/cfiles25008 = 0
!greg 1066346975 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=2958
!greg 1066347062 bk-3.0.2: push gregkh@kernel.bkbits.net:udev = 0 rmts=20030410104007-07:00|kroah.com|/home/greg/src/udev/udev|greg|dHtr xfered=2958
!greg 1066347854 bk-3.0.2: check -c - = 0
!greg 1066347854 bk-3.0.2: commit -dqY/tmp/cmt25412 -f/tmp/cfiles25412 = 0
!greg 1066351159 bk-3.0.2: check -c - = 0
!greg 1066351159 bk-3.0.2: commit -dqY/tmp/cmt25784 -f/tmp/cfiles25784 = 0
!greg 1066351169 bk-3.0.2: check -c - = 0
!greg 1066351169 bk-3.0.2: commit -dqY/tmp/cmt25822 -f/tmp/cfiles25822 = 0
!greg 1066351187 bk-3.0.2: check -c - = 0
!greg 1066351187 bk-3.0.2: commit -dqY/tmp/cmt25854 -f/tmp/cfiles25854 = 0
!greg 1066351202 bk-3.0.2: check -c - = 0
!greg 1066351202 bk-3.0.2: commit -dqY/tmp/cmt25887 -f/tmp/cfiles25887 = 0
!greg 1066351226 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=9103
!greg 1066351567 bk-3.0.2: push gregkh@kernel.bkbits.net:udev = 0 rmts=20030410104007-07:00|kroah.com|/home/greg/src/udev/udev|greg|dHtr xfered=9103
!greg 1066351938 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1066351947 bk-3.0.2: push gregkh@kernel.bkbits.net:udev = 0 rmts=20030410104007-07:00|kroah.com|/home/greg/src/udev/udev|greg|dHtr xfered=0
!greg 1066352668 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1066406953 bk-3.0.2: check -acv -- - = 0
!greg 1066406953 bk-3.0.2: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=38888
!greg 1066413895 bk-3.0.2: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1066415167 bk-3.0.2: check -c - = 0
!greg 1066415167 bk-3.0.2: commit -dqY/tmp/cmt10801 -f/tmp/cfiles10801 = 0
!greg 1066415336 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=1338
!greg 1066415360 bk-3.0.2: push gregkh@kernel.bkbits.net:udev = 0 rmts=20030410104007-07:00|kroah.com|/home/greg/src/udev/udev|greg|dHtr xfered=1338
!greg 1066429937 bk-3.0.2: check -c - = 0
!greg 1066429937 bk-3.0.2: commit -dqY/tmp/cmt4409 -f/tmp/cfiles4409 = 0
!greg 1066429962 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=6660
!greg 1066430008 bk-3.0.2: check -c - = 0
!greg 1066430008 bk-3.0.2: commit -dqY/tmp/cmt4494 -f/tmp/cfiles4494 = 0
!rml/greg 1066430059 bk-3.0.2: check -c - = 0
!rml/greg 1066430059 bk-3.0.2: commit -y[PATCH] udev spec file bits

Some spec file changes.  Primarily, this makes the thing build without a
build root if so desired (i.e. build right out of /usr/src/redhat and
the standard file system).  It should still build from a build root,
too.

Also:

	- Add some Prereqs
	- Pass RPM_OPT_FLAGS to make so we build with the RPM build
	  policy (i.e., optimizations, architecture, etc.)
	- Specify the exact files in %files to make sure we install
	  everything properly and avoid a warning
 = 0
!greg 1066430366 bk-3.0.2: check -c - = 0
!greg 1066430366 bk-3.0.2: commit -dqY/tmp/cmt5441 -f/tmp/cfiles5441 = 0
!greg 1066431247 bk-3.0.2: check -c - = 0
!greg 1066431247 bk-3.0.2: commit -dqY/tmp/cmt5877 -f/tmp/cfiles5877 = 0
!rml/greg 1066431254 bk-3.0.2: check -c - = 0
!rml/greg 1066431254 bk-3.0.2: commit -y[PATCH] udev: cool test scripts

This patch changes test.tty and test.block to add/remove each tty and
block device, respectively, on the system.  Great way to
populate/unpopulate udev rapidly.

Its just a simple for loop over the sysfs entries.
 = 0
!greg 1066432273 bk-3.0.2: check -c - = 0
!greg 1066432273 bk-3.0.2: commit -dqY/tmp/cmt6841 -f/tmp/cfiles6841 = 0
!greg 1066432324 bk-3.0.2: check -avf = 1
!greg 1066432329 bk-3.0.2: check -avf - = 0
!rml/greg 1066432336 bk-3.0.2: check -c - = 0
!rml/greg 1066432336 bk-3.0.2: commit -y[PATCH] udev spec file symlink support

> Hm, I would also like to add the /etc/hotplug.d/default/udev.hotplug
> symlink, but rpm doesn't seem to like symlinks in the %files section.
> Anyone know how to do this properly?

The problem is that the symlink is left dangling to an absolute location
in the build root, which won't exist on the installer's system.  RPM 4.0
and on catches this.

Attached patch fixes it up and makes it work.
 = 0
!greg 1066432389 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=9185
!greg 1066432598 bk-3.0.2: push gregkh@kernel.bkbits.net:udev = 0 rmts=20030410104007-07:00|kroah.com|/home/greg/src/udev/udev|greg|dHtr xfered=15570
!rml/greg 1066436284 bk-3.0.2: check -c - = 0
!rml/greg 1066436284 bk-3.0.2: commit -y[PATCH] udev: cool test scripts again

> But the test.block script doesn't catch any partitions on the block
> devices :)

Never happy!

        [19:07:52]root@phantasy:~/src/udev/udev# ./test.block
        [19:13:37]root@phantasy:~/src/udev/udev# ls /udev/hd*
        ls: /udev/hd*: No such file or directory
        [19:13:42]root@phantasy:~/src/udev/udev# ./test.block
        [19:13:53]root@phantasy:~/src/udev/udev# ls /udev/hd*
        /udev/hda   /udev/hda2  /udev/hda4  /udev/hda6  /udev/hdd
        /udev/hda1  /udev/hda3  /udev/hda5  /udev/hdc

test.block now recurses /sys/block, looking for partitions.  Should add
all drives and all partitions.
 = 0
!greg 1066436373 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=1903
!greg 1066436385 bk-3.0.2: push gregkh@kernel.bkbits.net:udev = 0 rmts=20030410104007-07:00|kroah.com|/home/greg/src/udev/udev|greg|dHtr xfered=1903
!greg 1066437657 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1066668825 bk-3.0.2: check -acv -- - = 0
!greg 1066668825 bk-3.0.2: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=61607
!greg 1066669103 bk-3.0.2: check -c - = 0
!greg 1066669103 bk-3.0.2: commit -dqY/tmp/cmt21018 -f/tmp/cfiles21018 = 0
!greg 1066671024 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=1777
!greg 1066678122 bk-3.0.2: check -c - = 0
!greg 1066678122 bk-3.0.2: commit -dqY/tmp/cmt23160 -f/tmp/cfiles23160 = 0
!greg 1066678141 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=4003
!greg 1066678154 bk-3.0.2: push gregkh@kernel.bkbits.net:udev = 0 rmts=20030410104007-07:00|kroah.com|/home/greg/src/udev/udev|greg|dHtr xfered=5505
!greg 1066678284 bk-3.0.2: check -c - = 0
!greg 1066678284 bk-3.0.2: commit -dqY/tmp/cmt23241 -f/tmp/cfiles23241 = 0
!greg 1066680195 bk-3.0.2: check -c - = 0
!greg 1066680195 bk-3.0.2: commit -dqY/tmp/cmt26293 -f/tmp/cfiles26293 = 0
!greg 1066680208 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=2995
!greg 1066680262 bk-3.0.2: push gregkh@kernel.bkbits.net:udev = 0 rmts=20030410104007-07:00|kroah.com|/home/greg/src/udev/udev|greg|dHtr xfered=2995
!greg 1066686346 bk-3.0.2: check -c - = 0
!greg 1066686346 bk-3.0.2: commit -dqY/tmp/cmt30235 -f/tmp/cfiles30235 = 0
!greg 1066686524 bk-3.0.2: check -c - = 0
!greg 1066686524 bk-3.0.2: commit -dqY/tmp/cmt30444 -f/tmp/cfiles30444 = 0
!greg 1066686550 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=8997
!greg 1066686560 bk-3.0.2: push gregkh@kernel.bkbits.net:udev = 0 rmts=20030410104007-07:00|kroah.com|/home/greg/src/udev/udev|greg|dHtr xfered=8997
!greg 1066686666 bk-3.0.2: push gregkh@kernel.bkbits.net:udev = 0 rmts=20030410104007-07:00|kroah.com|/home/greg/src/udev/udev|greg|dHtr xfered=0
!greg 1066687319 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1066689081 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!lkml001/greg 1066689234 bk-3.0.2: check -c - = 0
!lkml001/greg 1066689234 bk-3.0.2: commit -y[PATCH] man file update

changes:
o CALLOUT method included
o required keys for every match method listed
o keywords changed to uppercase in EXAMPLE
 = 0
!greg 1066689246 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=2099
!greg 1066689274 bk-3.0.2: push gregkh@kernel.bkbits.net:udev = 0 rmts=20030410104007-07:00|kroah.com|/home/greg/src/udev/udev|greg|dHtr xfered=2099
!dsteklof/greg 1066695554 bk-3.0.2: check -c - = 0
!dsteklof/greg 1066695554 bk-3.0.2: commit -y[PATCH] new version of libsysfs patch

Here's the patch applying the latest libsysfs.
	- adds the latest libsysfs code to udev
		* new code includes dlist implementation, a generic linked list
			implementation. Needed our own because LGPL
		* rearranged structures
		* provided more functions for accessing directory and attributes
	- gets rid of ->directory->path references in namedev.c
	- replaces sysfs_get_value_from_attributes with sysfs_get_classdev_attr
 = 0
!greg 1066696431 bk-3.0.2: push -n = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1066696533 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=87990
!greg 1066696825 bk-3.0.2: push gregkh@kernel.bkbits.net:udev = 0 rmts=20030410104007-07:00|kroah.com|/home/greg/src/udev/udev|greg|dHtr xfered=87990
!greg 1066752525 bk-3.0.2: check -c - = 0
!greg 1066752525 bk-3.0.2: commit -dqY/tmp/cmt7544 -f/tmp/cfiles7544 = 0
!greg 1066752592 bk-3.0.2: check -c - = 0
!greg 1066752592 bk-3.0.2: commit -dqY/tmp/cmt7610 -f/tmp/cfiles7610 = 0
!greg 1066752640 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=3647
!greg 1066752817 bk-3.0.2: push gregkh@kernel.bkbits.net: = 1 xfered=0
!greg 1066752909 bk-3.0.2: push gregkh@kernel.bkbits.net:udev = 0 rmts=20030410104007-07:00|kroah.com|/home/greg/src/udev/udev|greg|dHtr xfered=3647
!greg 1066763949 bk-3.0.2: check -c - = 0
!greg 1066763949 bk-3.0.2: commit -dqY/tmp/cmt9438 -f/tmp/cfiles9438 = 0
!greg 1066763992 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=8608
!greg 1066764003 bk-3.0.2: check -c - = 0
!greg 1066764003 bk-3.0.2: commit -dqY/tmp/cmt9697 -f/tmp/cfiles9697 = 0
!greg 1066764015 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=1544
!greg 1066764024 bk-3.0.2: push gregkh@kernel.bkbits.net:udev = 0 rmts=20030410104007-07:00|kroah.com|/home/greg/src/udev/udev|greg|dHtr xfered=9877
!greg 1066767242 bk-3.0.2: push gregkh@kernel.bkbits.net:udev = 0 rmts=20030410104007-07:00|kroah.com|/home/greg/src/udev/udev|greg|dHtr xfered=0
!greg 1066768853 bk-3.0.2: check -c - = 0
!greg 1066768853 bk-3.0.2: commit -dqY/tmp/cmt10310 -f/tmp/cfiles10310 = 0
!greg 1066768895 bk-3.0.2: check -c - = 0
!greg 1066768895 bk-3.0.2: commit -dqY/tmp/cmt10355 -f/tmp/cfiles10355 = 0
!rml/greg 1066769119 bk-3.0.2: check -c - = 0
!rml/greg 1066769119 bk-3.0.2: commit -y[PATCH] udev: another canidate for static

Another one of those "trivial patches so everything must be good"

sleep_for_dev() isn't exported or defined in a header, so it can be
marked 'static'
 = 0
!kay/greg 1066769160 bk-3.0.2: check -c - = 0
!kay/greg 1066769160 bk-3.0.2: commit -y[PATCH] man page update

here a new patch for the man page:
o namdev.permissions added
o corrected a few typos
o corrected text for config line format.
  owner, group mode are only in namedev.permissions
  (don't know what i was dreaming, while i wrote this :))
 = 0
!greg 1066769270 bk-3.0.2: check -c - = 0
!greg 1066769270 bk-3.0.2: commit -dqY/tmp/cmt10907 -f/tmp/cfiles10907 = 0
!kay/greg 1066769291 bk-3.0.2: check -c - = 0
!kay/greg 1066769291 bk-3.0.2: commit -y[PATCH] namedev.c comments + debug patch

and a patch for namdev.c comments + debug
o correct 'device device'
o correct permission file to config file
 = 0
!greg 1066769334 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=8355
!greg 1066769345 bk-3.0.2: push gregkh@kernel.bkbits.net:udev = 0 rmts=20030410104007-07:00|kroah.com|/home/greg/src/udev/udev|greg|dHtr xfered=8355
!greg 1066769538 bk-3.0.2: push gregkh@kernel.bkbits.net:udev = 0 rmts=20030410104007-07:00|kroah.com|/home/greg/src/udev/udev|greg|dHtr xfered=0
!greg 1066769544 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1066769744 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1066770483 bk-3.0.2: check -c - = 0
!greg 1066770483 bk-3.0.2: commit -dqY/tmp/cmt11663 -f/tmp/cfiles11663 = 0
!greg 1066770497 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=5616
!greg 1066770564 bk-3.0.2: push gregkh@kernel.bkbits.net:udev = 0 rmts=20030410104007-07:00|kroah.com|/home/greg/src/udev/udev|greg|dHtr xfered=5616
!greg 1066771712 bk-3.0.2: check -c - = 0
!greg 1066771712 bk-3.0.2: commit -dqY/tmp/cmt12323 -f/tmp/cfiles12323 = 0
!greg 1066781560 bk-3.0.2: check -c - = 0
!greg 1066781560 bk-3.0.2: commit -dqY/tmp/cmt13302 -f/tmp/cfiles13302 = 0
!greg 1066781699 bk-3.0.2: check -c - = 0
!greg 1066781699 bk-3.0.2: commit -dqY/tmp/cmt13355 -f/tmp/cfiles13355 = 0
!greg 1066781720 bk-3.0.2: check -c - = 0
!greg 1066781720 bk-3.0.2: commit -dqY/tmp/cmt13617 -f/tmp/cfiles13617 = 0
!greg 1066781751 bk-3.0.2: check -acv -- - = 0
!greg 1066781751 bk-3.0.2: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=67495
!greg 1066782383 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=68697
!greg 1066782401 bk-3.0.2: push gregkh@kernel.bkbits.net = 1 xfered=0
!greg 1066782406 bk-3.0.2: push gregkh@kernel.bkbits.net: = 1 xfered=0
!greg 1066782413 bk-3.0.2: push gregkh@kernel.bkbits.net:udev = 0 rmts=20030410104007-07:00|kroah.com|/home/greg/src/udev/udev|greg|dHtr xfered=69525
!greg 1066782822 bk-3.0.2: check -acv -- - = 0
!greg 1066782822 bk-3.0.2: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=67550
!greg 1066783261 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1066783271 bk-3.0.2: push gregkh@kernel.bkbits.net:udev = 0 rmts=20030410104007-07:00|kroah.com|/home/greg/src/udev/udev|greg|dHtr xfered=1222
!greg 1067034964 bk-3.0.2: check -acv -- - = 0
!greg 1067034964 bk-3.0.2: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=142161
!lethal/greg 1067035037 bk-3.0.2: check -c - = 0
!lethal/greg 1067035037 bk-3.0.2: commit -y[PATCH] Fixup path for kernel includes when building with klibc.

Fixup path for kernel includes when building with klibc.

klibc expects the symlink klibc/linux to point to a relatively up
to date tree, use -Iklibc/linux/include to make linux/ and asm/
includes resolve properly, as these won't exist in the regular
klibc/klibc/include location.
 = 0
!greg 1067037651 bk-3.0.2: check -c - = 0
!greg 1067037651 bk-3.0.2: commit -dqY/tmp/cmt16297 -f/tmp/cfiles16297 = 0
!greg 1067037678 bk-3.0.2: check -c - = 0
!greg 1067037678 bk-3.0.2: commit -dqY/tmp/cmt16329 -f/tmp/cfiles16329 = 0
!greg 1067037703 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=5167
!greg 1067037897 bk-3.0.2: push gregkh@kernel.bkbits.net:udev = 0 rmts=20030410104007-07:00|kroah.com|/home/greg/src/udev/udev|greg|dHtr xfered=5167
!rml/greg 1067465664 bk-3.0.2: check -c - = 0
!rml/greg 1067465664 bk-3.0.2: commit -dqY/tmp/cmt29776 -f/tmp/cfiles29776 = 0
!greg 1067465698 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=3444
!greg 1067466383 bk-3.0.2: check -c - = 0
!greg 1067466383 bk-3.0.2: commit -dqY/tmp/cmt31575 -f/tmp/cfiles31575 = 0
!olh/greg 1067466395 bk-3.0.2: check -c - = 0
!olh/greg 1067466395 bk-3.0.2: commit -y[PATCH] DESTDIR for udev = 0
!greg 1067466422 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=3682
!greg 1067475556 bk-3.0.2: check -c - = 0
!greg 1067475556 bk-3.0.2: commit -dqY/tmp/cmt21639 -f/tmp/cfiles21639 = 0
!greg 1067475612 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=1053
!greg 1070301508 bk-3.0.2: check -acv -- - = 0
!greg 1070301509 bk-3.0.2: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=250845
!greg 1070322489 bk-3.0.2: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!patmans/greg 1070322609 bk-3.0.2: check -c - = 0
!patmans/greg 1070322609 bk-3.0.2: commit -y[PATCH] fix udev parallel builds with klibc

I can't build udev with make -j9. Here's a patch to fix it.
 = 0
!greg 1070322675 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=1296
!christophe.varoqui/greg 1070324192 bk-3.0.2: check -c - = 0
!christophe.varoqui/greg 1070324192 bk-3.0.2: commit -y[PATCH] udev-007/extras/multipath update

here is a clean-up patch :

* removes sg_err.[ch] deps
* makes sure the core code play nice with klibc
* port the sysfs calls to dlist helpers
* links against udev's sysfs (need libsysfs.a & dlist.a)
* finally define DM_TARGET as "multipath" as Joe posted the code today
  (not tested yet)
* push version forward (do you want it in sync with udev version?)

libdevmapper doesn't play well with klibc, so I wasn't able to produce a
static binary yet. Help needed here ... as I don't want to fall back to
merge libdevmapper code in the core.

It compiles here and doesn't segfault.
 = 0
!greg 1070324223 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=5473
!greg 1070324284 bk-3.0.2: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=6494
!arnd/greg 1070324806 bk-3.0.2: check -c - = 0
!arnd/greg 1070324806 bk-3.0.2: commit -y[PATCH] Build failure - missing linux/limits.h include?

On Tuesday 25 November 2003 00:12, Chris Larson wrote:
> udev fails to compile here unless I'm doing a KLIBC build. The reason
> appears to be that the normal limits.h in the gcc inc dir doesn't pull
> in linux/limits.h, whereas the limits.h out in the klibc include dirs
> does. I'd think it'd be best to add a #include <linux/limits.h> to
> udev.h directly, since it uses PATH_MAX.

No, don't include kernel headers directly if you can avoid it.
The problem you are referring to seems to be with old tool chains,
I have the same symptom with my s390 gcc-2.95/glibc-2.1.3.
Including <sys/param.h> instead of <limits.h> seems to fix it.
 = 0
!kergoth/greg 1070325582 bk-3.0.2: check -c - = 0
!kergoth/greg 1070325582 bk-3.0.2: commit -y[PATCH] Allow override of CFLAGS/LDFLAGS

As it is generally a good idea to allow the user to override CFLAGS and
LDFLAGS (automake based systems manage this with AM_CFLAGS vs CFLAGS),
here's a patch that does so.  The key is to keep options that are
required to build, along with include and link paths relative to the
source dir seperate from those that should be overridable (warning
flags, debug flags, optimizations, include/lib paths outside the source
tree).  Rather than adding another couple variables, I made use of the
GNU make 'override' directive.
 = 0
!greg 1070325778 bk-3.0.2: check -acv -f - = 0
!greg 1070325873 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=1774
!olh/greg 1070325888 bk-3.0.2: check -c - = 0
!olh/greg 1070325888 bk-3.0.2: commit -y[PATCH] ARCH detection for ppc

I'm not sure why ppc is converted to powerpc, it breaks at least $(ARCH)
in klibc.

gcc -dumpmachine
powerpc-suse-linux
 = 0
!greg 1070325963 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=1235
!greg 1070325966 bk-3.0.2: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=2734
!greg 1070326072 bk-3.0.2: commit -dF -Y/home/greg/tmp/bk_commit_Y6U6KL = 0
!dsteklof/greg 1070326081 bk-3.0.2: check -c - = 0
!dsteklof/greg 1070326081 bk-3.0.2: commit -y[PATCH] another patch for path problem

The quick patch I sent you yesterday fixes it in one location, but
there are other points in the library that calls sysfs_get_mnt_path. We
need to address all the areas in the library where paths are used. The
following patch is a band-aid until we can get a proper path management
in the library.
 = 0
!mort/greg 1070326776 bk-3.0.2: check -c - = 0
!mort/greg 1070326776 bk-3.0.2: commit -y[PATCH] Add -nodefaultlibs while compiling against klibc

This patch adds -nodefaultlibs to LDFLAGS when compiling udev against
klibc.  This fixes the warning that I was getting when using $(LD)=gcc
in the versions after Makefile.klibc disappeared.  The problem was that
it was still including a "-lc" in the call to the linker.
 = 0
!greg 1070327696 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=8347
!greg 1070327766 bk-3.0.2: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=8347
!greg 1070328755 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1070328763 bk-3.0.2: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=0
!greg 1070387119 bk-3.0.2: check -c - = 0
!greg 1070387119 bk-3.0.2: commit -dqY/tmp/cmt7393 -f/tmp/cfiles7393 = 0
!kay.sievers/greg 1070387546 bk-3.0.2: check -c - = 0
!kay.sievers/greg 1070387546 bk-3.0.2: commit -y[PATCH] catch replace device by wildcard

  catch device name by wildcard to support a whole class of devices
  by just one config line like:
  REPLACE, KERNEL="tty*", NAME="vc/%n"
 = 0
!greg 1070387700 bk-3.0.2: check -c - = 0
!greg 1070387700 bk-3.0.2: commit -dqY/tmp/cmt12471 -f/tmp/cfiles12471 = 0
!greg 1070387734 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=4044
!greg 1070388477 bk-3.0.2: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=4044
!greg 1070389101 bk-3.0.2: check -c - = 0
!greg 1070389101 bk-3.0.2: commit -dqY/tmp/cmt13302 -f/tmp/cfiles13302 = 0
!greg 1070390310 bk-3.0.2: check -c - = 0
!greg 1070390310 bk-3.0.2: commit -dqY/tmp/cmt16199 -f/tmp/cfiles16199 = 0
!greg 1070390357 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=16918
!greg 1070390423 bk-3.0.2: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=16918
!greg 1070390489 bk-3.0.2: check -c - = 0
!greg 1070390489 bk-3.0.2: commit -dqY/tmp/cmt16519 -f/tmp/cfiles16519 = 0
!greg 1070390518 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=1132
!greg 1070390536 bk-3.0.2: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=1132
!greg 1070413726 bk-3.0.2: check -c - = 0
!greg 1070413726 bk-3.0.2: commit -dqY/tmp/cmt24939 -f/tmp/cfiles24939 = 0
!greg 1070413745 bk-3.0.2: check -c - = 0
!greg 1070413745 bk-3.0.2: commit -dqY/tmp/cmt25076 -f/tmp/cfiles25076 = 0
!greg 1070413788 bk-3.0.2: check -c - = 0
!greg 1070413788 bk-3.0.2: commit -dqY/tmp/cmt25138 -f/tmp/cfiles25138 = 0
!greg 1070413822 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=25545
!greg 1070413932 bk-3.0.2: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=25545
!greg 1070470828 bk-3.0.2: check -acv -- - = 0
!greg 1070470828 bk-3.0.2: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=282690
!greg 1070473049 bk-3.0.2: check -c - = 0
!greg 1070473049 bk-3.0.2: commit -dqY/tmp/cmt28096 -f/tmp/cfiles28096 = 0
!greg 1070473262 bk-3.0.2: check -c - = 0
!greg 1070473262 bk-3.0.2: commit -dqY/tmp/cmt28484 -f/tmp/cfiles28484 = 0
!greg 1070473851 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=2173
!greg 1070473855 bk-3.0.2: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=2173
!greg 1070476249 bk-3.0.2: check -c - = 0
!greg 1070476249 bk-3.0.2: commit -dqY/tmp/cmt32332 -f/tmp/cfiles32332 = 0
!greg 1070476277 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=1079
!greg 1070476280 bk-3.0.2: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=1079
!greg 1070476438 bk-3.0.2: check -c - = 0
!greg 1070476438 bk-3.0.2: commit -dqY/tmp/cmt32394 -f/tmp/cfiles32394 = 0
!greg 1070476466 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=6407
!greg 1070476501 bk-3.0.2: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=6407
!greg 1070479562 bk-3.0.2: check -c - = 0
!greg 1070479562 bk-3.0.2: commit -dqY/tmp/cmt405 -f/tmp/cfiles405 = 0
!greg 1070479644 bk-3.0.2: check -c - = 0
!greg 1070479644 bk-3.0.2: commit -dqY/tmp/cmt479 -f/tmp/cfiles479 = 0
!greg 1070479671 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=2595
!greg 1070479762 bk-3.0.2: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=2595
!greg 1070483632 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1070560465 bk-3.0.2: check -acv -- - = 0
!greg 1070560465 bk-3.0.2: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=227811
!greg 1070561840 bk-3.0.2: check -acv -- - = 0
!greg 1070561840 bk-3.0.2: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=243824
!greg 1070565670 bk-3.0.2: check -c - = 0
!greg 1070565670 bk-3.0.2: commit -dqY/tmp/cmt9940 -f/tmp/cfiles9940 = 0
!kay.sievers/greg 1070565687 bk-3.0.2: check -c - = 0
!kay.sievers/greg 1070565687 bk-3.0.2: commit -y[PATCH] a bug in linefeed removal

While I was adding pattern match to the LABEL method i hit a bug.
We modify a string returned from libsysfs, so with every iteration is is
truncated by one char:

Dec  4 02:27:16 pim udev[23307]: do_label: dev->bus='scsi' sysfs_device->bus='scsi'
Dec  4 02:27:16 pim udev[23307]: do_label: look for device attribute 'vendor'
Dec  4 02:27:16 pim udev[23307]: do_label: xxx 'IBM-ESXS '
Dec  4 02:27:16 pim udev[23307]: do_label: compare attribute 'vendor' value 'IBM-ESX' with '?IBM-ESXS'
Dec  4 02:27:16 pim udev[23307]: do_label: dev->bus='scsi' sysfs_device->bus='scsi'
Dec  4 02:27:16 pim udev[23307]: do_label: look for device attribute 'vendor'
Dec  4 02:27:16 pim udev[23307]: do_label: xxx 'IBM-ESX'
Dec  4 02:27:16 pim udev[23307]: do_label: compare attribute 'vendor' value 'IBM-ES' with 'IBM-ESXS?'
Dec  4 02:27:16 pim udev[23307]: do_label: dev->bus='scsi' sysfs_device->bus='scsi'
Dec  4 02:27:16 pim udev[23307]: do_label: look for device attribute 'vendor'
Dec  4 02:27:16 pim udev[23307]: do_label: xxx 'IBM-ES'
Dec  4 02:27:16 pim udev[23307]: do_label: compare attribute 'vendor' value 'IBM-E' with 'IBM-ES??'
Dec  4 02:27:16 pim udev[23307]: do_label: dev->bus='scsi' sysfs_device->bus='scsi'
Dec  4 02:27:16 pim udev[23307]: do_label: look for device attribute 'vendor'
Dec  4 02:27:16 pim udev[23307]: do_label: xxx 'IBM-E'
Dec  4 02:27:16 pim udev[23307]: do_label: compare attribute 'vendor' value 'IBM-' with 'IBM-ESXSS'

I changed the behavior to remove only the line feed.

03-bug-in-linefeed-removal.diff
  remove only the line feed from string not every last char
 = 0
!kay.sievers/greg 1070565691 bk-3.0.2: check -c - = 0
!kay.sievers/greg 1070565692 bk-3.0.2: commit -y[PATCH] pattern match for label method

  switch LABEL search to pattern match
  add a test for pattern match in LABEL
  remove useless rule from udev.rules
 = 0
!greg 1070565751 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=6487
!kay.sievers/greg 1070565773 bk-3.0.2: check -c - = 0
!kay.sievers/greg 1070565773 bk-3.0.2: commit -y[PATCH] man page beauty

I've never seen any project where the documentation is in sync with the
code at this early stage. Nice! So here is the patch to make it extra perfect :)

  remove random indent to be consistent
  style is "shell style"
  s/wildcard/pattern/
  mention negation char in character class
 = 0
!greg 1070565851 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=1921
!greg 1070565887 bk-3.0.2: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=13078
!greg 1070905686 bk-3.0.2: check -acv -- - = 0
!greg 1070905686 bk-3.0.2: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=332731
!greg 1070906488 bk-3.0.2: check -c - = 0
!greg 1070906488 bk-3.0.2: commit -dqY/tmp/cmt7326 -f/tmp/cfiles7326 = 0
!greg 1070906516 bk-3.0.2: check -c - = 0
!greg 1070906516 bk-3.0.2: commit -dqY/tmp/cmt7356 -f/tmp/cfiles7356 = 0
!greg 1070906932 bk-3.0.2: check -c - = 0
!greg 1070906932 bk-3.0.2: commit -dqY/tmp/cmt7422 -f/tmp/cfiles7422 = 0
!greg 1070906969 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=6835
!kay.sievers/greg 1071016243 bk-3.0.2: check -c - = 0
!kay.sievers/greg 1071016243 bk-3.0.2: commit -y[PATCH] cleanup man & remove symlink comment

  remove "want symlinks" text from udev-add.c
  mention SYMLINK in man page
  man page format cleanup
  man page example for SYMLINK
 = 0
!greg 1071016254 bk-3.0.2: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1071016290 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=3282
!greg 1071016622 bk-3.0.2: check -c - = 0
!greg 1071016622 bk-3.0.2: commit -dqY/tmp/cmt20194 -f/tmp/cfiles20194 = 0
!kay.sievers/greg 1071017220 bk-3.0.2: check -c - = 0
!kay.sievers/greg 1071017220 bk-3.0.2: commit -y[PATCH] allow multiple symlinks

Here is a patch to allow the creation of multiple symlinks.
The names must be separated by a space character.


REPLACE, KERNEL="ttyUSB0", NAME="visor", SYMLINK="first-%n second-%n third-%n"

results in:

Dec  9 05:28:51 pim udev[12019]: create_node: mknod(udev-root/visor, 020666, 188, 0)
Dec  9 05:28:51 pim udev[12019]: create_node: symlink 'udev-root/first-0' to node 'visor' requested
Dec  9 05:28:51 pim udev[12019]: create_node: symlink(./visor, udev-root/first-0)
Dec  9 05:28:51 pim udev[12019]: create_node: symlink 'udev-root/second-0' to node 'visor' requested
Dec  9 05:28:51 pim udev[12019]: create_node: symlink(./visor, udev-root/second-0)
Dec  9 05:28:51 pim udev[12019]: create_node: symlink 'udev-root/third-0' to node 'visor' requested
Dec  9 05:28:51 pim udev[12019]: create_node: symlink(./visor, udev-root/third-0)
 = 0
!greg 1071017291 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=6753
!christophe.varoqui/greg 1071017425 bk-3.0.2: check -c - = 0
!christophe.varoqui/greg 1071017425 bk-3.0.2: commit -y[PATCH] more extras/multipath updates

* update the Makefiles to autodetect libgcc.a & gcc includes
"ulibc-style". Factorisation of udevdirs & others niceties
* drop a hint about absent /dev/sd? on failed open() for poor Debian
users who don't imagine their favorite distro with only 16 preconfigured
SCSI device nodes :)
 = 0
!christophe.varoqui/greg 1071017524 bk-3.0.2: check -c - = 0
!christophe.varoqui/greg 1071017524 bk-3.0.2: commit -y[PATCH] and more extras/multipath updates

* configure the multipath target with round-robin path selector and
conservative default for a start : yes it makes this release the first
really useful one.
* temporarily disable map creation for single path device due to current
restrictive defaults in the kernel target. Sistina should work it out.
* correct the strncmp logic in blacklist function.

Tested on StorageWorks with 2.6.0-test10-udm1 :

xa-s03:~# ./multipath -v
60001fe1000bdad0000903507109004b (1 0 1 1) /dev/sda op:1 /dev/sda
[HSG80           ]
60001fe1000bdad000090371312100bf (1 0 1 2) /dev/sdb op:1 /dev/sdb
[HSG80           ]
60001fe1000bdad000090371312100c2 (1 0 1 3) /dev/sdc op:1 /dev/sdc
[HSG80           ]
60001fe1000bdad00009037131210067 (1 0 2 1) /dev/sdd op:1 /dev/sdd
[HSG80           ]
60001fe1000bdad000090371312100b3 (1 0 2 2) /dev/sde op:1 /dev/sde
[HSG80           ]
60001fe1000bdad00009035071090024 (1 0 2 3) /dev/sdf op:1 /dev/sdf
[HSG80           ]
600508b4000156d700012000000b0000 (1 0 3 1) /dev/sdg op:1 /dev/sdg
[HSV110 (C)COMPAQ]
600508b4000156c30001200000210000 (1 0 3 2) /dev/sdh op:1 /dev/sdh
[HSV110 (C)COMPAQ]
600508b4000156d700012000000b0000 (1 0 6 1) /dev/sdi op:1 /dev/sdi
[HSV110 (C)COMPAQ]
600508b4000156c30001200000210000 (1 0 6 2) /dev/sdj op:1 /dev/sdj
[HSV110 (C)COMPAQ]

60001fe1000bdad0000903507109004b
 \_(1 0 1 1) /dev/sda op:1 /dev/sda [HSG80           ]
60001fe1000bdad000090371312100bf
 \_(1 0 1 2) /dev/sdb op:1 /dev/sdb [HSG80           ]
60001fe1000bdad000090371312100c2
 \_(1 0 1 3) /dev/sdc op:1 /dev/sdc [HSG80           ]
60001fe1000bdad00009037131210067
 \_(1 0 2 1) /dev/sdd op:1 /dev/sdd [HSG80           ]
60001fe1000bdad000090371312100b3
 \_(1 0 2 2) /dev/sde op:1 /dev/sde [HSG80           ]
60001fe1000bdad00009035071090024
 \_(1 0 2 3) /dev/sdf op:1 /dev/sdf [HSG80           ]
600508b4000156d700012000000b0000
 \_(1 0 3 1) /dev/sdg op:1 /dev/sdg [HSV110 (C)COMPAQ]
 \_(1 0 6 1) /dev/sdi op:1 /dev/sdi [HSV110 (C)COMPAQ]
600508b4000156c30001200000210000
 \_(1 0 3 2) /dev/sdh op:1 /dev/sdh [HSV110 (C)COMPAQ]
 \_(1 0 6 2) /dev/sdj op:1 /dev/sdj [HSV110 (C)COMPAQ]

N|600508b4000156d700012000000b0000 : 0 4194304 multipath 2 2 10
round-robin 2 /dev/sdg 10 2 1 2 /dev/sdi 10 2 1 2
N|600508b4000156c30001200000210000 : 0 20971520 multipath 2 2 10
round-robin 2 /dev/sdh 10 2 1 2 /dev/sdj 10 2 1 2
xa-s03:~# dmsetup ls
600508b4000156c30001200000210000        (254, 1)
600508b4000156d700012000000b0000        (254, 0)
xa-s03:~# ll /dev/mapper/
total 0
brw-------    1 root     root     254,   1 Dec  9 22:57
600508b4000156c30001200000210000
brw-------    1 root     root     254,   0 Dec  9 22:57
600508b4000156d700012000000b0000
crw-------    1 root     root      10,  63 Jul 25 22:48 control
xa-s03:~# dd if=/dev/mapper/600508b4000156c30001200000210000
of=/dev/null bs=1M count=500
500+0 records in
500+0 records out
524288000 bytes transferred in 5.662530 seconds (92589003 bytes/sec)

gee, that pretty fast :)
 = 0
!greg 1071018123 bk-3.0.2: check -c - = 0
!greg 1071018123 bk-3.0.2: commit -dqY/tmp/cmt21819 -f/tmp/cfiles21819 = 0
!greg 1071018330 bk-3.0.2: check -c - = 0
!greg 1071018330 bk-3.0.2: commit -dqY/tmp/cmt21859 -f/tmp/cfiles21859 = 0
!greg 1071018637 bk-3.0.2: check -c - = 0
!greg 1071018637 bk-3.0.2: commit -dqY/tmp/cmt21909 -f/tmp/cfiles21909 = 0
!greg 1071018864 bk-3.0.2: check -c - = 0
!greg 1071018864 bk-3.0.2: commit -dqY/tmp/cmt21939 -f/tmp/cfiles21939 = 0
!greg 1071019598 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=15362
!greg 1071019963 bk-3.0.2: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=24766
!greg 1071019969 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1071022145 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1071087862 bk-3.0.2: check -acv -- - = 0
!greg 1071087862 bk-3.0.2: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=259699
!greg 1071094515 bk-3.0.2: check -acv -- - = 0
!greg 1071094515 bk-3.0.2: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=289672
!greg 1071168230 bk-3.0.2: check -acv -- - = 0
!greg 1071168230 bk-3.0.2: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=264363
!greg 1071525202 bk-3.0.2: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!dsteklof/greg 1071525208 bk-3.0.2: check -c - = 0
!dsteklof/greg 1071525208 bk-3.0.2: commit -y[PATCH] pre-libsysfs-0.4.0 patch

I am sending you a pre-release patch. It's everything that's in our
current CVS tree. It adds the functionality you've been looking for. Please
play with this before checking it into your tree, I'd like to know if
it's ok with you or if you find problems. I have tested this out with
test.all and the perl regression test. Let me know what you think.

Still need to do more testing for our work and add some more functions
related to the changes.

I've gone into namedev.c and udev-add.c to make the necessary changes
in line with the library. I have not gone and edited any of the "extras".


Changes:

1) Libsysfs object structures work more as handles now, their included
directories or devices are labeled private. If you need attributes
from a sysfs_class_device, call the available function and don't access
the directory directly. Same holds true for a sysfs_class_device
sysfs_device. Do not access the link directly but call the function
sysfs_get_classdev_device() instead. We only populate entries upon
request, makes things faster and uses less memory.

2) Added sysfs_get_classdev_parent() as requested.

3) Changed getpagesize to sysconf.

4) Added sysfs_refresh_attributes function for refreshing views of
attribute lists. We still need to add refresh for links and subdirs. All
udev needs to do is keep calling sysfs_get_classdev_attr() and that will
internally call the refresh routine.
 = 0
!greg 1071525300 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=41965
!greg 1071525323 bk-3.0.2: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=41965
!eike-hotplug/greg 1071526950 bk-3.0.2: check -c - = 0
!eike-hotplug/greg 1071526950 bk-3.0.2: commit -y[PATCH] add init.d/udev to the spec file

add /etc/init.d/udev to the SPEC-File and this way to the RPM
 = 0
!eike-hotplug/greg 1071526954 bk-3.0.2: check -c - = 0
!eike-hotplug/greg 1071526954 bk-3.0.2: commit -y[PATCH] add init.d/udev to "make install"

adds /etc/init.d/udev to "make install"
 = 0
!greg 1071527103 bk-3.0.2: check -c - = 0
!greg 1071527103 bk-3.0.2: commit -dqY/tmp/cmt14260 -f/tmp/cfiles14260 = 0
!greg 1071527349 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=3236
!kay.sievers/greg 1071527898 bk-3.0.2: check -c - = 0
!kay.sievers/greg 1071527898 bk-3.0.2: commit -y[PATCH] remove '\n' from end of callout return

  remove possible newline at end of callout output,
  for easier matching with ID=
 = 0
!kay.sievers/greg 1071528852 bk-3.0.2: check -c - = 0
!kay.sievers/greg 1071528852 bk-3.0.2: commit -y[PATCH] get part of callout return string

Try this patch if you like, to get special parts of the callout output.
This beast works now:
CALLOUT, BUS="scsi", PROGRAM="/bin/echo -n node link1 link2", ID="node *", NAME="%1c", SYMLINK="%2c %3c"

The callout returned string is separated by spaces and is
addressed by the "len" value of the 'c' format char.
Since we support symlinks, this my be useful for other uses of callout too.

  introduce 'len number' for format chars
  the first use is 'c'-the callout return to select a part of the output string like:
  CALLOUT, BUS="scsi", PROGRAM="/bin/echo -n node link1 link2", ID="node *", NAME="%1c", SYMLINK="%2c %3c"
  (note: first part is requested by len=1, len=0 will return the whole string)
  add a test to udev-test.pl

--liOOAslEiF7prFVr
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline; filename="02-get-part-of-callout-return-string.diff"
 = 0
!greg 1071528867 bk-3.0.2: check -acv -f - = 0
!kay.sievers/greg 1071528878 bk-3.0.2: check -c - = 0
!kay.sievers/greg 1071528878 bk-3.0.2: commit -y[PATCH] get part of callout return string

Try this patch if you like, to get special parts of the callout output.
This beast works now:
CALLOUT, BUS="scsi", PROGRAM="/bin/echo -n node link1 link2", ID="node *", NAME="%1c", SYMLINK="%2c %3c"

The callout returned string is separated by spaces and is
addressed by the "len" value of the 'c' format char.
Since we support symlinks, this my be useful for other uses of callout too.

  introduce 'len number' for format chars
  the first use is 'c'-the callout return to select a part of the output string like:
  CALLOUT, BUS="scsi", PROGRAM="/bin/echo -n node link1 link2", ID="node *", NAME="%1c", SYMLINK="%2c %3c"
  (note: first part is requested by len=1, len=0 will return the whole string)
  add a test to udev-test.pl
 = 0
!christophe.varoqui/greg 1071530751 bk-3.0.2: check -c - = 0
!christophe.varoqui/greg 1071530751 bk-3.0.2: commit -y[PATCH] more extras/multipath changes

* Make the HW-specific get_unique_id switch pretty
* Prepare to field-test by whitelisting all known fibre array, try to
fetch WWID from the standard EVPD 0x83 off 8 for everyone ... we will
learn from feedback :)

Could you drop a note with the udev-009 release-notes asking for testing
this WWID fetching thing ?
 = 0
!greg 1071530784 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=7311
!greg 1071533598 bk-3.0.2: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=10272
!greg 1071597481 bk-3.0.2: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!rml/greg 1071617415 bk-3.0.2: check -c - = 0
!rml/greg 1071617415 bk-3.0.2: commit -y[PATCH] install initscript in udev rpm

Attached patch installs the initscript via 'make install' and adds it to
the RPM package.  The RPM script then runs chkconfig(8) to setup the
initscript to run at the appropriate runlevels.
 = 0
!rml/greg 1071617476 bk-3.0.2: check -c - = 0
!rml/greg 1071617476 bk-3.0.2: commit -y[PATCH] remove udev from runlevels on uninstall

I guess we should run 'chkconfig --del udev' on removal to clear out the
now-stale udev entries, if any.
 = 0
!greg 1071617512 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=2878
!kay.sievers/greg 1071617779 bk-3.0.2: check -c - = 0
!kay.sievers/greg 1071617779 bk-3.0.2: commit -y[PATCH] don't rely on field order in namedev_parse

  o change the parsing to get a key from the rule and sort it
    into our list of known keys instead of expecting a special order
  o the key to match a sysfs file must be prependend by 'SYSFS_' now
    to match with the new parsing.
    (The config must be changed, but it's a bit more descriptive too.)
  o put names of fields in define's, like the name of the methods
  o update all tests and the man page
 = 0
!greg 1071617984 bk-3.0.2: check -c - = 0
!greg 1071617984 bk-3.0.2: commit -dqY/tmp/cmt30562 -f/tmp/cfiles30562 = 0
!greg 1071618017 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=10808
!olh/greg 1071618119 bk-3.0.2: check -c - = 0
!olh/greg 1071618119 bk-3.0.2: commit -y[PATCH] dump latest klibc into the udev build tree

KLIBC is used as an internal makefile variable, it expands to either
true or false right now. udev should use something else than KLIBC to
allow build against the latest and greatest klibc version.
 = 0
!greg 1071618401 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=2201
!greg 1071619463 bk-3.0.2: check -c - = 0
!greg 1071619463 bk-3.0.2: commit -dqY/tmp/cmt1548 -f/tmp/cfiles1548 = 0
!greg 1071619490 bk-3.0.2: check -c - = 0
!greg 1071619490 bk-3.0.2: commit -dqY/tmp/cmt1586 -f/tmp/cfiles1586 = 0
!greg 1071619778 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=2349
!greg 1071620575 bk-3.0.2: check -c - = 0
!greg 1071620575 bk-3.0.2: commit -dqY/tmp/cmt5257 -f/tmp/cfiles5257 = 0
!greg 1071620608 bk-3.0.2: check -c - = 0
!greg 1071620608 bk-3.0.2: commit -dqY/tmp/cmt5460 -f/tmp/cfiles5460 = 0
!greg 1071620651 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=27285
!greg 1071620791 bk-3.0.2: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=44344
!greg 1071621059 bk-3.0.2: check -c - = 0
!greg 1071621059 bk-3.0.2: commit -dqY/tmp/cmt6071 -f/tmp/cfiles6071 = 0
!greg 1071621099 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=4582
!greg 1071621201 bk-3.0.2: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=4582
!greg 1071622672 bk-3.0.2: check -c - = 0
!greg 1071622672 bk-3.0.2: commit -dqY/tmp/cmt6516 -f/tmp/cfiles6516 = 0
!kay.sievers/greg 1071622681 bk-3.0.2: check -c - = 0
!kay.sievers/greg 1071622681 bk-3.0.2: commit -y[PATCH] trivial cleanup parser changes

  o use defines in debug strings
  o replace my 'xxx' debug :)
  o shorten line in man page example to not to exceed 80 chars when printed
 = 0
!greg 1071622746 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=3515
!greg 1071622774 bk-3.0.2: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=3515
!greg 1071623096 bk-3.0.2: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=0
!greg 1071700325 bk-3.0.2: check -acv -- - = 0
!greg 1071700325 bk-3.0.2: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=305972
!greg 1071700499 bk-3.0.2: check -acv -- - = 0
!greg 1071700499 bk-3.0.2: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=278565
!greg 1071700933 bk-3.0.2: check -acv -- - = 0
!greg 1071700933 bk-3.0.2: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=278299
!greg 1071700983 bk-3.0.2: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1071857319 bk-3.0.2: check -c - = 0
!greg 1071857320 bk-3.0.2: commit -dqY/tmp/cmt4087 -f/tmp/cfiles4087 = 0
!kay.sievers/greg 1071858541 bk-3.0.2: check -c - = 0
!kay.sievers/greg 1071858541 bk-3.0.2: commit -y[PATCH] udev-remove.c cleanups

I've moved the malloc out of the udevdb into udev-remove to free the
struct after use and not to allocate a different struct in the case the
device is not in the data base. I seems a bit easier to read.
 = 0
!kay.sievers/greg 1071858545 bk-3.0.2: check -c - = 0
!kay.sievers/greg 1071858545 bk-3.0.2: commit -y[PATCH] don't overwrite old config on install

Here is a patch for the Makefile to look for a already
installed config and not to overwrite it.
 = 0
!dsteklof/greg 1071858550 bk-3.0.2: check -c - = 0
!dsteklof/greg 1071858550 bk-3.0.2: commit -y[PATCH] libsysfs 0.4.0 patch

Ananth released sysfsutils 0.4.0 last night, I'm sure you saw the email.
Here's a patch with the latest changes from the pre-patch I already
gave you. It includes sysfs_get_device_parent(), which you said you
needed. I've run your test scripts and I've built scsi_id. Please
play around with this and check it out.

There are quite a few changes. Please do not access
structure pointers, like sysfs_device's parent, directly like
dev->parent. Please use the "get" function to retrieve. The functions
load things on demand and refresh views under the covers.
 = 0
!greg 1071858658 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=20681
!greg 1071859201 bk-3.0.2: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=20681
!greg 1071882306 bk-3.0.2: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=0
!greg 1071882313 bk-3.0.2: check -c - = 0
!greg 1071882313 bk-3.0.2: commit -dqY/tmp/cmt14409 -f/tmp/cfiles14409 = 0
!greg 1071882374 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=5890
!greg 1072120028 bk-3.0.2: check -c - = 0
!greg 1072120028 bk-3.0.2: commit -dqY/tmp/cmt13842 -f/tmp/cfiles13842 = 0
!greg 1072120073 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=1972
!kay.sievers/greg 1072120227 bk-3.0.2: check -c - = 0
!kay.sievers/greg 1072120227 bk-3.0.2: commit -y[PATCH] trivial make fixes

One patch to let bk ignore the created udev.conf.
The second to depend on the .h files.
 = 0
!kay.sievers/greg 1072120399 bk-3.0.2: check -c - = 0
!kay.sievers/greg 1072120399 bk-3.0.2: commit -y[PATCH] introduce format char 'k' for kernel-name

Attached is a patch that introduces the format char 'k' to be replaced with
the kernel name. I like to have it in a callout script.

I've moved the build_kernel_name() back to namedev_name_device() since
we don't expect it growing cause of 'sdaj' :)
 = 0
!kay.sievers/greg 1072120579 bk-3.0.2: check -c - = 0
!kay.sievers/greg 1072120579 bk-3.0.2: commit -y[PATCH] add any valid device = 0
!greg 1072121055 bk-3.0.2: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=11784
!greg 1072121062 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=11784
!greg 1072125206 bk-3.0.2: check -c - = 0
!greg 1072125207 bk-3.0.2: commit -dqY/tmp/cmt15205 -f/tmp/cfiles15205 = 0
!greg 1072125279 bk-3.0.2: check -acv -f - = 0
!kay.sievers/greg 1072125292 bk-3.0.2: check -c - = 0
!kay.sievers/greg 1072125293 bk-3.0.2: commit -y[PATCH] experimental CALLOUT script for devfs ide node creation with cd, disc, part

Here is a experimental CALLOUT script for udev to create devfs nodes
for IDE-devices. Not that I need these, I just wanted to see if it works :)

The script is really stupid, no error handling, nothing more than
absolutely needed. The rule uses the 'k' format char of the previous
patch. The %D is not used, so the user can have disc or disk :)

this single line:
  CALLOUT, BUS="ide", PROGRAM="/etc/udev/ide-devfs.sh %k %b %n", ID="hd*", NAME="%1c", SYMLINK="%2c"

creates the following on my machine with two hard disks, one DVD and a PCMCIA-compact-flash inserted:
  /udev
  |-- hda
  |-- hda1
  |-- hda2
  |-- hda4
  |-- hdb
  |-- hdb1
  |-- hdc
  |-- hde
  |-- hde1
  `-- ide
      |-- host0
      |   |-- bus0
      |   |   |-- target0
      |   |   |   `-- lun0
      |   |   |       |-- disc -> ../../../../../hda
      |   |   |       |-- part1 -> ../../../../../hda1
      |   |   |       |-- part2 -> ../../../../../hda2
      |   |   |       `-- part4 -> ../../../../../hda4
      |   |   `-- target1
      |   |       `-- lun0
      |   |           |-- disc -> ../../../../../hdb
      |   |           `-- part1 -> ../../../../../hdb1
      |   `-- bus1
      |       `-- target0
      |           `-- lun0
      |               `-- cd -> ../../../../../hdc
      `-- host2
          `-- bus0
              `-- target0
                  `-- lun0
                      |-- disc -> ../../../../../hde
                      `-- part1 -> ../../../../../hde1
 = 0
!christophe.varoqui/greg 1072126162 bk-3.0.2: check -c - = 0
!christophe.varoqui/greg 1072126162 bk-3.0.2: commit -y[PATCH] extras multipath update

An important one, against stock udev-009 :

 2003-12-20 multipath-010
        * big ChangeLog update
        * start to give a little control over target params :
          introduce cmdline arg -i to control polling interval
        * cope with hotplug-style calling convention :
          ie "multipath scsi $DEVPATH" ... to avoid messing with
          online maps not concerned by an event
        * example hotplug agent to drop in /etc/hotplug.d/scsi
        * revert the run & resched patch : unless someone proves me
          wrong, this was overdesigned
        * move commented out functions in unused.c
        * update multipath target params to "udm[23] style"
        * mp target now supports nr_path == 1, so do we
        * add gratuitous free()
        * push version forward
 = 0
!christophe.varoqui/greg 1072126188 bk-3.0.2: check -c - = 0
!christophe.varoqui/greg 1072126188 bk-3.0.2: commit -y[PATCH] extras multipath update

 incremental to 20031220,

 2003-12-22 multipath-010
        * don't print .sg_dev if equal to .dev (2.6) in print_path()
        * since the kernel code handles defective paths, remove all
          code to cope with them :
                * move do_tur() to unused.c
                * remove .state from path struct
                * remove .state settings & conditionals
        * add a cmdline switch to force maps to failover mode,
          ie 1 path per priority group
        * add default policies to the whitelist array (spread io ==
          MULTIBUS / io forced to 1 path == FAILOVER)
        * move get_disk_size() call out of add_map() to coalesce()
        * comment tricky coalesce() fn
        * bogus unsused.c file renamed to unused.c
 = 0
!christophe.varoqui/greg 1072126321 bk-3.0.2: check -c - = 0
!christophe.varoqui/greg 1072126321 bk-3.0.2: commit -y[PATCH] extras multipath update

 incremental to 20031222,

 2003-12-22 multipath-010
        * introduce dm-simplecmd for RESUME & SUSPEND requests
        * split add_map() in setup_map() & dm-addmap()
        * setup_map() correctly submits "SUSPEND-RELOAD-RESUME or CREATE"
          sequences instead of the bogus "RELOAD or CREATE"
 = 0
!christophe.varoqui/greg 1072126435 bk-3.0.2: check -c - = 0
!christophe.varoqui/greg 1072126435 bk-3.0.2: commit -y[PATCH] extras multipath update

 incremental to 20031222-2,

 2003-12-22 multipath-010
        * tweak the install target in Makefile
        * stop passing fds as argument : this change enable a strict
          segregation of ugly 2.4 code
        * sysfs version of get_lun_strings()
        * be careful about the return of get_unique_id() since errors
          formerly caught up by if(open()) in the caller fn are now returned
          by get_unique_id()
        * send get_serial() in unused.c
 = 0
!greg 1072126469 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=34173
!ananth/greg 1072126491 bk-3.0.2: check -c - = 0
!ananth/greg 1072126491 bk-3.0.2: commit -y[PATCH] change pgsize

In udev-009 and previous releases, for klibc compatibility, the pgsize var
in sysfs_read_attribute() (file sysfs_dir.c under libsysfs) is handcoded
to 0x4000.

Should it not be 4096 bytes (0x1000 in hex) instead of 0x4000 (16k bytes)?
 = 0
!greg 1072126531 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=1393
!greg 1072126715 bk-3.0.2: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=35291
!greg 1072127265 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1072132294 bk-3.0.2: check -c - = 0
!greg 1072132295 bk-3.0.2: commit -dqY/tmp/cmt26773 -f/tmp/cfiles26773 = 0
!greg 1072132326 bk-3.0.2: check -c - = 0
!greg 1072132326 bk-3.0.2: commit -dqY/tmp/cmt26964 -f/tmp/cfiles26964 = 0
!greg 1072132570 bk-3.0.2: check -c - = 0
!greg 1072132570 bk-3.0.2: commit -dqY/tmp/cmt27067 -f/tmp/cfiles27067 = 0
!greg 1072132819 bk-3.0.2: check -c - = 0
!greg 1072132819 bk-3.0.2: commit -dqY/tmp/cmt27147 -f/tmp/cfiles27147 = 0
!greg 1072132854 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=10196
!greg 1072132857 bk-3.0.2: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=10196
!greg 1072133089 bk-3.0.2: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=0
!greg 1072133143 bk-3.0.2: check -c - = 0
!greg 1072133143 bk-3.0.2: commit -dqY/tmp/cmt27494 -f/tmp/cfiles27494 = 0
!greg 1072133151 bk-3.0.2: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=1033
!greg 1072133175 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=1033
!kay.sievers/greg 1072133278 bk-3.0.2: check -c - = 0
!kay.sievers/greg 1072133278 bk-3.0.2: commit -y[PATCH] small cleanup udev-remove.c

Here is a small cleanup. It replaces the malloc in udev-remove.c
with a struct, like we do in udev-add.c
 = 0
!greg 1072133828 bk-3.0.2: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=1543
!greg 1072133853 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=1543
!kay.sievers/greg 1072135851 bk-3.0.2: check -c - = 0
!kay.sievers/greg 1072135851 bk-3.0.2: commit -y[PATCH] fix udev-test.pl

Here is a small fix for udev-test.pl, to print the METHOD also
for the "whitespace config" tests.

  TEST: Handle comment lines in config file (and replace kernel name)
  method '' for 'class/tty/ttyUSB0' expecting node 'visor'
  add: ok    remove: ok
 = 0
!greg 1072135887 bk-3.0.2: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=1402
!greg 1072135981 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=1402
!greg 1072139462 bk-3.0.2: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=0
!greg 1072139465 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1072139609 bk-3.0.2: check -c - = 0
!greg 1072139609 bk-3.0.2: commit -dqY/tmp/cmt28564 -f/tmp/cfiles28564 = 0
!greg 1072139745 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=3915
!greg 1072139823 bk-3.0.2: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=3915
!greg 1072141080 bk-3.0.2: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=0
!greg 1072141087 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1072143357 bk-3.0.2: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1072823091 bk-3.0.4: check -acv -- - = 0
!greg 1072823091 bk-3.0.4: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=394271
!kay.sievers/greg 1072823112 bk-3.0.4: check -c - = 0
!kay.sievers/greg 1072823112 bk-3.0.4: commit -y[PATCH] depend on all .h files

Let the build depend on all header files.
 = 0
!kay.sievers/greg 1072823497 bk-3.0.4: check -c - = 0
!kay.sievers/greg 1072823497 bk-3.0.4: commit -y[PATCH] make udev user callable to query the database

Here is a slightly better version that prints the usage if a unknown option is given:
  kay@pim:~/src/udev.kay$ ./udev -x
  ./udev: invalid option -- x
  Usage: [-qrVh]
    -q arg     query database
    -r         print udev root
    -V         print udev version
    -h         print this help text


> Here is a patch that makes it possible to call udev with options on the command line.
> Valid options are for now:
>
> -V for the udev version:
>     kay@pim:~/src/udev.kay$ ./udev -V
>     udev, version 011_bk
>
> -r for the udev root:
>     kay@pim:~/src/udev.kay$ ./udev -r
>     /udev/
>
> -q to query the database with the sysfs path for the name of the node:
>     kay@pim:~/src/udev.kay$ ./udev -q /class/video4linux/video0
>     test/video/webcam0
 = 0
!greg 1072823580 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=5944
!christophe.varoqui/greg 1072823777 bk-3.0.4: check -c - = 0
!christophe.varoqui/greg 1072823777 bk-3.0.4: commit -y[PATCH] extras multipath update

2003-12-29 multipath-012
        * refresh doc
        * add the uninstall target in Makefile
        * /sbin/multipath, not /root/multipath in hotplug agent
 = 0
!christophe.varoqui/greg 1072823977 bk-3.0.4: check -c - = 0
!christophe.varoqui/greg 1072823977 bk-3.0.4: commit -y[PATCH] extras multipath update

incremental to 0.0.12-1,

* check hotplug event refers to a block device; if not exit early
 = 0
!greg 1072824013 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=6306
!greg 1072824257 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=11975
!greg 1072830301 bk-3.0.4: check -c - = 0
!greg 1072830301 bk-3.0.4: commit -dqY/tmp/cmt21562 -f/tmp/cfiles21562 = 0
!greg 1072830339 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=10596
!greg 1072830485 bk-3.0.4: check -c - = 0
!greg 1072830485 bk-3.0.4: commit -dqY/tmp/cmt21608 -f/tmp/cfiles21608 = 0
!greg 1072830671 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=1291
!rml/greg 1072830889 bk-3.0.4: check -c - = 0
!rml/greg 1072830889 bk-3.0.4: commit -y[PATCH] udev spec file update

More udev spec file updates.  This one from David Zeuthen.

Attached patch, against udev-011, makes sure we pass USE_DBUS and also
makes sure we install the D-BUS policy file, if the %{dbus} option is
set.
 = 0
!kay.sievers/greg 1072830891 bk-3.0.4: check -c - = 0
!kay.sievers/greg 1072830891 bk-3.0.4: commit -y[PATCH] mention user callable udev + options in man page

As usual, here is the corresponding man page update and
a small text correction.
 = 0
!greg 1072830960 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=4035
!greg 1072831055 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=15276
!greg 1072831074 bk-3.0.4: push gregkh@kernel.bkbits.net:udev = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=49209
!greg 1072835073 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1072896488 bk-3.0.4: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1072897864 bk-3.0.4: check -c - = 0
!greg 1072897864 bk-3.0.4: commit -dqY/tmp/cmt27077 -f/tmp/cfiles27077 = 0
!greg 1072897906 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=1315
!greg 1072902495 bk-3.0.4: check -c - = 0
!greg 1072902495 bk-3.0.4: commit -dqY/tmp/cmt7935 -f/tmp/cfiles7935 = 0
!greg 1072902902 bk-3.0.4: check -c - = 0
!greg 1072902902 bk-3.0.4: commit -dqY/tmp/cmt8321 -f/tmp/cfiles8321 = 0
!greg 1072903094 bk-3.0.4: check -c - = 0
!greg 1072903094 bk-3.0.4: commit -dqY/tmp/cmt8386 -f/tmp/cfiles8386 = 0
!greg 1072904023 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=15736
!greg 1072905574 bk-3.0.4: check -acv -- - = 0
!greg 1072905574 bk-3.0.4: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=311962
!greg 1072905755 bk-3.0.4: check -c - = 0
!greg 1072905755 bk-3.0.4: commit -dqY/tmp/cmt11844 -f/tmp/cfiles11844 = 0
!greg 1072907219 bk-3.0.4: check -c - = 0
!greg 1072907219 bk-3.0.4: commit -dqY/tmp/cmt11948 -f/tmp/cfiles11948 = 0
!greg 1072907257 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=5210
!greg 1072907324 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=5496
!greg 1072907340 bk-3.0.4: push gregkh@kernel.bkbits.net:udev = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=5496
!greg 1073675750 bk-3.0.4: check -acv -- - = 0
!greg 1073675750 bk-3.0.4: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=384803
!christophe/greg 1073696073 bk-3.0.4: check -c - = 0
!christophe/greg 1073696073 bk-3.0.4: commit -y[PATCH] small cleanup

This one is nothing important, just add some quotes to be more consistent
with the rest and make sure that the return value is positive (since the
error return values are negative). Hmm?
 = 0
!christophe/greg 1073696128 bk-3.0.4: check -c - = 0
!christophe/greg 1073696128 bk-3.0.4: commit -y[PATCH] add IGNORE rule type

On Wed, Dec 31, 2003 at 11:24:53AM -0800, Greg KH wrote:

> > There should be a possibility to tell udev not to create a device node.
> >
> > device-mapper: Usually set up by libdevmapper (or EVMS tools) which
> > creates the device node on its own under /dev/mapper/<name>.
> >
> > With udev a second device is created named /dev/dm-<minor> which is not
> > really needed.
>
> Good point.  Ok, I'll agree with you.  Care to make up a patch for this
> kind of feature?

Yes, I can try.

There was no way to tell not to do anything so I created one. Errors
are signalled via negative return values, so I thought that a positive,
non-zero one could mean to ignore the device. I don't like it but
perhaps you have a better solution.
 = 0
!greg 1073696315 bk-3.0.4: check -c - = 0
!greg 1073696315 bk-3.0.4: commit -dqY/tmp/cmt11189 -f/tmp/cfiles11189 = 0
!greg 1073696350 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=10519
!tiggi/greg 1073696395 bk-3.0.4: check -c - = 0
!tiggi/greg 1073696395 bk-3.0.4: commit -y[PATCH] udev 012 old gcc fixup

Hello,
without this patch:
wolf@duel:/tmp/ud/udev-012>gcc -v
Reading specs from /usr/lib/gcc-lib/i386-slackware-linux/2.95.3/specs
gcc version 2.95.3 20010315 (release)
cannot compile udev.
 = 0
!greg 1073696564 bk-3.0.4: check -c - = 0
!greg 1073696564 bk-3.0.4: commit -dqY/tmp/cmt11498 -f/tmp/cfiles11498 = 0
!kay.sievers/greg 1073696653 bk-3.0.4: check -c - = 0
!kay.sievers/greg 1073696653 bk-3.0.4: commit -y[PATCH] fix Silly udev script

Hey, this is funny.
I couldn't resist to give it a try and we need a few changes:

  - it's %2c otherwise nearly all my CD's are "good", but sure I also have bad ones :)
  - remove the node first, cause get_cddb() dies and leaves the old one there
  - remove spaces in name, cause this is our separator

/udev/
|-- The_Cure-The_Peel_Sessions
|-- cdrom -> ./The_Cure-The_Peel_Sessions
|-- hda
|-- hda1
|-- hda2
|-- hda4
 = 0
!greg 1073696690 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=6445
!kay.sievers/greg 1073696738 bk-3.0.4: check -c - = 0
!kay.sievers/greg 1073696739 bk-3.0.4: commit -y[PATCH] udev - exec status fix for klibc

Here is a patch to remove the ifdef's and fix klibc instead.
 = 0
!greg 1073697031 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=1862
!kay.sievers/greg 1073697050 bk-3.0.4: check -c - = 0
!kay.sievers/greg 1073697050 bk-3.0.4: commit -y[PATCH] udev - make exec_callout() reusable

Here is a patch that switches exec_callout() to be reusable.
I want it to be callable in a different context.
 = 0
!greg 1073697111 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=19317
!greg 1073697127 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=27082
!greg 1073697161 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=1547
!greg 1073697274 bk-3.0.4: check -c - = 0
!greg 1073697274 bk-3.0.4: commit -dqY/tmp/cmt15206 -f/tmp/cfiles15206 = 0
!greg 1073697309 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=1231
!greg 1073697347 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=1231
!greg 1073697353 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=1231
!eike-hotplug/greg 1073697597 bk-3.0.4: check -c - = 0
!eike-hotplug/greg 1073697597 bk-3.0.4: commit -y[PATCH] LSB init script and other stuff

I had too much time during the holidays, so I played a bit with udev. The
changes are like last time mostly on the init stuff. I'm sending you this as
a great diff which is just for comments.

What it does:
-fix a typo in Makefile
-use only one "grep -v" instead of many
-don't include BK-Files into release (shrinks the stuff to 30%!)
-add a new init script which is LSB compliant
-add some flags to choose which one to use
-use /etc/udev/udev.conf in Redhat init script as the source for the udev
directory. If this is not done then the init script may create a directory
which udev itself isn't using (I changed /udev to /Udev to avoid collisions
with /usr and ran into this)
-first check for sysfs_dir before creating udev_root (maybe someone else has
already fixed this, I saw this discussion on lkml)
 = 0
!greg 1073697631 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=8874
!greg 1073697770 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1073698260 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=8874
!greg 1073698270 bk-3.0.4: push gregkh@kernel.bkbits.net/udev = 1 xfered=0
!greg 1073698277 bk-3.0.4: push gregkh@kernel.bkbits.net:udev = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=8874
!greg 1073698839 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1073698852 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=0
!greg 1073939545 bk-3.0.4: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!kay.sievers/greg 1073942211 bk-3.0.4: check -c - = 0
!kay.sievers/greg 1073942211 bk-3.0.4: commit -y[PATCH] udev - Makefile error

--ikeVEW9yuYc//A+q
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

I get the following error on install:

pim:/home/kay/src/udev.test# make install
sed -e "s:@udevdir@:/udev:" < etc/udev/udev.conf.in > etc/udev/udev.conf
/usr/bin/install -c -d /etc/udev/
/usr/bin/install -c -d /udev
/usr/bin/install -c -d /etc/hotplug.d/default
/usr/bin/install -c -D udev /sbin/udev
/bin/sh: -c: line 2: syntax error: unexpected end of file
make: *** [install] Error 2


thanks,
Kay

--ikeVEW9yuYc//A+q
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline; filename="03-Makefile.diff"

===== Makefile 1.73 vs edited =====
 = 0
!greg 1073942229 bk-3.0.4: check -acv -f - = 0
!kay.sievers/greg 1073942242 bk-3.0.4: check -c - = 0
!kay.sievers/greg 1073942242 bk-3.0.4: commit -y[PATCH] udev - Makefile error

I get the following error on install:

pim:/home/kay/src/udev.test# make install
sed -e "s:@udevdir@:/udev:" < etc/udev/udev.conf.in > etc/udev/udev.conf
/usr/bin/install -c -d /etc/udev/
/usr/bin/install -c -d /udev
/usr/bin/install -c -d /etc/hotplug.d/default
/usr/bin/install -c -D udev /sbin/udev
/bin/sh: -c: line 2: syntax error: unexpected end of file
make: *** [install] Error 2
 = 0
!kay.sievers/greg 1073942337 bk-3.0.4: check -c - = 0
!kay.sievers/greg 1073942337 bk-3.0.4: commit -y[PATCH] udev - advanced user query options

This patch improves the user options for udev.
It is possible now to query for the name, the symlinks or owner/group.
If asked for the name of the node we are able to prepend the udev_root
with the -r option.

SAMPLE:

  kay@pim:~/src/udev.test$ ./udev -V
  udev, version 012_bk

  kay@pim:~/src/udev.test$ ./udev -h
  Usage: [-qrVh]
    -q <name>  query database for the specified value
    -p <path>  device path used for query
    -r         print udev root
    -V         print udev version
    -h         print this help text

  kay@pim:~/src/udev.test$ ./udev -r
  /udev/

  kay@pim:~/src/udev.test$ ./udev -q name -p /class/video4linux/video0
  video/webcam0

  kay@pim:~/src/udev.test$ ./udev -q symlink -p /class/video4linux/video0
  camera0 kamera0

  kay@pim:~/src/udev.test$ ./udev -q owner -p /class/video4linux/video0
  501

  kay@pim:~/src/udev.test$ ./udev -r -q name -p /class/video4linux/video0
  /udev/video/webcam0
 = 0
!greg 1073942495 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=5330
!kay.sievers/greg 1073943545 bk-3.0.4: check -c - = 0
!kay.sievers/greg 1073943545 bk-3.0.4: commit = 0
!greg 1073948923 bk-3.0.4: check -c - = 0
!greg 1073948923 bk-3.0.4: commit -dqY/tmp/cmt26123 -f/tmp/cfiles26123 = 0
!greg 1073948942 bk-3.0.4: check -c - = 0
!greg 1073948942 bk-3.0.4: commit -dqY/tmp/cmt26155 -f/tmp/cfiles26155 = 0
!greg 1073948960 bk-3.0.4: check -c - = 0
!greg 1073948960 bk-3.0.4: commit -dqY/tmp/cmt26193 -f/tmp/cfiles26193 = 0
!greg 1073949190 bk-3.0.4: check -c - = 0
!greg 1073949190 bk-3.0.4: commit -dqY/tmp/cmt26282 -f/tmp/cfiles26282 = 0
!greg 1073949733 bk-3.0.4: check -c - = 0
!greg 1073949733 bk-3.0.4: commit -dqY/tmp/cmt26369 -f/tmp/cfiles26369 = 0
!greg 1073949772 bk-3.0.4: check -c - = 0
!greg 1073949772 bk-3.0.4: commit -dqY/tmp/cmt26398 -f/tmp/cfiles26398 = 0
!elkropac/greg 1073950197 bk-3.0.4: check -c - = 0
!elkropac/greg 1073950197 bk-3.0.4: commit -y[PATCH] fix udev directory for Debian init script

there is also patch on debian init.d file, it uses variable $udev_dir
also when creating and removing symlinks
 = 0
!greg 1073950548 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=35371
!greg 1073950558 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=40426
!greg 1073950884 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=40426
!greg 1073951130 bk-3.0.4: check -c - = 0
!greg 1073951130 bk-3.0.4: commit -dqY/tmp/cmt31360 -f/tmp/cfiles31360 = 0
!greg 1073951141 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=2208
!greg 1073951146 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=2208
!greg 1073951187 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=2208
!kay.sievers/greg 1073953256 bk-3.0.4: check -c - = 0
!kay.sievers/greg 1073953256 bk-3.0.4: commit -y[PATCH] more advanced user query options

Here is the '-h' and a '-d' to dump the whole database:

  kay@pim:~/src/udev.kay$ ./udev -d
  P: /block/hdb/hdb1
  N: hdb1
  S:
  O:
  G:

  P: /class/video4linux/video0
  N: video/webcam0
  S: camera0 kamera0
  O: 500
  G: 500

  P: /block/hdc
  N: hdc
  S:
  O:
  G:
 = 0
!kay.sievers/greg 1073953260 bk-3.0.4: check -c - = 0
!kay.sievers/greg 1073953261 bk-3.0.4: commit -y[PATCH] udev - simple debug tweak

change the empty debug string:
  Jan 13 00:55:42 pim udev[2849]: namedev_name_device: found matching rule, 'video*' becomes ''

to something useful:
  Jan 13 01:00:23 pim udev[3234]: namedev_name_device: found matching rule, 'video*' becomes 'video/webcam%n'
 = 0
!greg 1073954958 bk-3.0.4: push -n = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1073954971 bk-3.0.4: check -acv -f - = 0
!greg 1073955078 bk-3.0.4: check -acv -f - = 0
!kay.sievers/greg 1073955104 bk-3.0.4: check -c - = 0
!kay.sievers/greg 1073955104 bk-3.0.4: commit -y[PATCH] udev - simple debug tweak

change the empty debug string:
  Jan 13 00:55:42 pim udev[2849]: namedev_name_device: found matching rule, 'video*' becomes ''

to something useful:
  Jan 13 01:00:23 pim udev[3234]: namedev_name_device: found matching rule, 'video*' becomes 'video/webcam%n'
 = 0
!kay.sievers/greg 1073955679 bk-3.0.4: check -c - = 0
!kay.sievers/greg 1073955679 bk-3.0.4: commit -y[PATCH] more advanced user query options

Here is the '-h' and a '-d' to dump the whole database:

  kay@pim:~/src/udev.kay$ ./udev -d
  P: /block/hdb/hdb1
  N: hdb1
  S:
  O:
  G:

  P: /class/video4linux/video0
  N: video/webcam0
  S: camera0 kamera0
  O: 500
  G: 500

  P: /block/hdc
  N: hdc
  S:
  O:
  G:
 = 0
!greg 1073955776 bk-3.0.4: check -c - = 0
!greg 1073955776 bk-3.0.4: commit -dqY/tmp/cmt10180 -f/tmp/cfiles10180 = 0
!greg 1073955921 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=6270
!greg 1073955942 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=6270
!greg 1073955951 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=6270
!kay.sievers/greg 1073957732 bk-3.0.4: check -c - = 0
!kay.sievers/greg 1073957732 bk-3.0.4: commit -y[PATCH] update documentation for new config file format

Here is the man page update after my udev-weekend :)


===== udev.8 1.29 vs edited =====
 = 0
!greg 1073957746 bk-3.0.4: check -acv -f - = 0
!kay.sievers/greg 1073957755 bk-3.0.4: check -c - = 0
!kay.sievers/greg 1073957755 bk-3.0.4: commit -y[PATCH] update documentation for new config file format

Here is the man page update after my udev-weekend :)
 = 0
!greg 1073957816 bk-3.0.4: check -c - = 0
!greg 1073957816 bk-3.0.4: commit -dqY/tmp/cmt10591 -f/tmp/cfiles10591 = 0
!greg 1073957828 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=4395
!greg 1073957846 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=4395
!greg 1073958040 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1073958585 bk-3.0.4: check -c - = 0
!greg 1073958585 bk-3.0.4: commit -dqY/tmp/cmt10954 -f/tmp/cfiles10954 = 0
!greg 1073958618 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=5957
!greg 1073958619 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=5957
!greg 1073958627 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=1837
!greg 1073959104 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!kay.sievers/greg 1074018677 bk-3.0.4: check -c - = 0
!kay.sievers/greg 1074018678 bk-3.0.4: commit -y[PATCH] udev - CALLOUT is PROGRAM now

replace CALLOUT by PROGRAM and fix old rule format
 = 0
!kay.sievers/greg 1074018680 bk-3.0.4: check -c - = 0
!kay.sievers/greg 1074018680 bk-3.0.4: commit -y[PATCH] udev - more CALLOUT is PROGRAM now

On Tue, Jan 13, 2004 at 02:45:17AM +0100, Kay Sievers wrote:
> replace CALLOUT by PROGRAM and fix old rule format

One is missing.
 = 0
!kay.sievers/greg 1074018873 bk-3.0.4: check -c - = 0
!kay.sievers/greg 1074018873 bk-3.0.4: commit -y[PATCH] udev - introduce format escape char

This patch adds a '%' to the format char list, so that a external
program may called with a non expanded '%' like:

  PROGRAM="/bin/date +%%s"

Olaf Hering asked for the feature.
A tricky test is also added :)
 = 0
!kay.sievers/greg 1074018878 bk-3.0.4: check -c - = 0
!kay.sievers/greg 1074018878 bk-3.0.4: commit -y[PATCH] udev - small script optimization

Optimize the scripts reflecting the now more powerful rule logic,
cause we can combine all known fields now in any order:

  The ide-devfs.sh is only executed if the kernel name matches with 'hd*':

    BUS="ide", KERNEL="hd*", PROGRAM="/etc/udev/ide-devfs.sh %k %b %n", NAME="%k", SYMLINK="%1c %2c"

  The name_cdrom.pl is only executed for ide and scsi devices, but not for a partition.
  It exits with nonzero to skip the rule if the CD is not found:

    KERNEL="[hs]d[a-z]", PROGRAM="name_cdrom.pl %M %m", NAME="%1c", SYMLINK="cdrom"
 = 0
!greg 1074019637 bk-3.0.4: commit -dF -Y/home/greg/tmp/bk_commit_kKtDbQ = 0
!kay.sievers/greg 1074019713 bk-3.0.4: check -c - = 0
!kay.sievers/greg 1074019714 bk-3.0.4: commit -y[PATCH] fix klibc with printf() and gcc

On Mon, Jan 12, 2004 at 05:04:45PM -0800, Greg KH wrote:
> Very nice, applied.  But I did have to make one small change to get the
> code to build properly with klibc:
>
> > +static void print_record(char *path, struct udevice *dev)
> > +{
> > +	printf("P: %s\n", path);
> > +	printf("N: %s\n", dev->name);
> > +	printf("S: %s\n", dev->symlink);
> > +	printf("O: %s\n", dev->owner);
> > +	printf("G: %s\n", dev->group);
> > +	printf("\n");
> > +}
>
> Turns out that gcc likes to convert single character printf() calls to
> putchar() which is only defined in klibc as a macro :(

Just for information. This seems to fix the gcc with klibc :)
 = 0
!greg 1074023303 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=13650
!greg 1074023342 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=13650
!greg 1074043957 bk-3.0.4: check -acv -- - = 0
!greg 1074043958 bk-3.0.4: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=374807
!greg 1074043991 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=0
!greg 1074044000 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=0
!greg 1074104192 bk-3.0.4: check -c - = 0
!greg 1074104192 bk-3.0.4: commit -dqY/tmp/cmt16106 -f/tmp/cfiles16106 = 0
!greg 1074104237 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=1508
!kay.sievers/greg 1074104292 bk-3.0.4: check -c - = 0
!kay.sievers/greg 1074104292 bk-3.0.4: commit -y[PATCH] udev - mention format string escape char in man page

If we want to pass any '%' down to a program, you need to ecape it by '%%',
otherwise we try to expand it with our own format char list.
 = 0
!greg 1074104314 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=2520
!greg 1074104373 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=2520
!greg 1074104404 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=1287
!greg 1074116316 bk-3.0.4: check -c - = 0
!greg 1074116316 bk-3.0.4: commit -dqY/tmp/cmt6603 -f/tmp/cfiles6603 = 0
!ananthmg/greg 1074118898 bk-3.0.4: check -c - = 0
!ananthmg/greg 1074118898 bk-3.0.4: commit -y[PATCH] libsysfs update for refresh + namedev.c changes

Please find inlined a patch which contains updates to libsysfs
(pre-release) for refresh and also changes to namedev.c to take
advantage of it.
 = 0
!greg 1074120824 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=24695
!greg 1074120828 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=24695
!greg 1074120831 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=24695
!greg 1074120924 bk-3.0.4: check -c - = 0
!greg 1074120924 bk-3.0.4: commit -dqY/tmp/cmt12975 -f/tmp/cfiles12975 = 0
!greg 1074120966 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=1079
!greg 1074120969 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=1079
!greg 1074120972 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=1079
!greg 1074121009 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1074121012 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=0
!greg 1074121014 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=0
!greg 1074201501 bk-3.0.4: check -c - = 0
!greg 1074201501 bk-3.0.4: commit -dqY/tmp/cmt18836 -f/tmp/cfiles18836 = 0
!greg 1074201577 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=1632
!greg 1074201582 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=1632
!greg 1074201592 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=1632
!greg 1074202979 bk-3.0.4: check -c - = 0
!greg 1074202979 bk-3.0.4: commit -dqY/tmp/cmt19116 -f/tmp/cfiles19116 = 0
!greg 1074203027 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=2999
!greg 1074203030 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=2999
!greg 1074203033 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=2999
!flamingice/greg 1074203393 bk-3.0.4: check -c - = 0
!flamingice/greg 1074203393 bk-3.0.4: commit -y[PATCH] minor patch for devfs rules

I've attached a patch that adds a few rules to udev.rules.devfs, making it
look a little more like devfs on my system. (I have the sysfs patches from
2.6.1-rc1-mm2) I added rules for oss, misc, floppy, and input devices. The
oss rules look like trouble with a wildcard at the end of each name, but I'm
not sure how I can make it any better.

Devfs has a bunch of other devices in the floppy directory for floppies
formatted in unusual ways, but I don't see them in udev. Not that I ever used
them, since they're usually automatically detected.
 = 0
!kay.sievers/greg 1074203600 bk-3.0.4: check -c - = 0
!kay.sievers/greg 1074203600 bk-3.0.4: commit -y[PATCH] add udev logging to info log

On Thu, Jan 15, 2004 at 05:14:16AM +0100, Kay Sievers wrote:
> On Wed, Jan 14, 2004 at 01:10:43PM -0800, Greg KH wrote:
> > On Wed, Jan 14, 2004 at 02:34:26PM -0600, Clay Haapala wrote:
> > > On Wed, 14 Jan 2004, Chris Friesen spake thusly:
> > > >
> > > > Maybe for ones with a matching rule, you could print something like:
> > > >
> > > >
> > > Is the act of printing/syslogging a rule in an of itself?
> >
> > No, as currently the only way stuff ends up in the syslog is if
> > DEBUG=true is used on the build line.
> >
> > But it's sounding like we might want to change that... :)
>
> How about this in the syslog after connect/disconnect?
>
>   Jan 15 05:07:45 pim udev[28007]: configured rule in '/etc/udev/udev.rules' at line 17 applied, 'video*' becomes 'video/webcam%n'
>   Jan 15 05:07:45 pim udev[28007]: creating device node '/udev/video/webcam0'
>   Jan 15 05:07:47 pim udev[28015]: removing device node '/udev/video/webcam0'

Here is a slightly better version. I've created a logging.h file and
moved the debug macros from udev.h in there.

If you type:

  'make'            - you will get a binary that prints one or two lines to syslog
                      if a device node is created or deleted

  'make LOG=false'  - you get a binary that prints asolutely nothing

  'make DEBUG=true' - the same as today, it will print all debug lines
 = 0
!greg 1074204058 bk-3.0.4: check -c - = 0
!greg 1074204058 bk-3.0.4: commit -dqY/tmp/cmt20252 -f/tmp/cfiles20252 = 0
!greg 1074204112 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=17630
!greg 1074204122 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=17630
!greg 1074206517 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=17630
!greg 1074206521 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=0
!greg 1074206524 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=0
!hannal/greg 1074212576 bk-3.0.4: check -c - = 0
!hannal/greg 1074212576 bk-3.0.4: commit -y[PATCH] small cut n paste error fix = 0
!greg 1074212616 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=1161
!greg 1074212619 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=1161
!greg 1074212626 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=1161
!kay.sievers/greg 1074290320 bk-3.0.4: check -c - = 0
!kay.sievers/greg 1074290320 bk-3.0.4: commit -y[PATCH] udev - reverse user query options

Here we get the ability to query with the name of the node instead of
the device path. It uses a linear search over the whole database.

  kay@pim:~/src/udev.kay$ ./udev -q path -n video/webcam0
  /class/video4linux/video0
 = 0
!greg 1074290589 bk-3.0.4: check -acv -f - = 0
!patmans/greg 1074290630 bk-3.0.4: check -c - = 0
!patmans/greg 1074290630 bk-3.0.4: commit -y[PATCH] update udev scsi_id to scsi_id 0.3 = 0
!greg 1074290680 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=12027
!greg 1074290687 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=12027
!greg 1074290696 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=12027
!greg 1074303754 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1074303757 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=0
!greg 1074303759 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=0
!kay.sievers/greg 1074541168 bk-3.0.4: check -c - = 0
!kay.sievers/greg 1074541168 bk-3.0.4: commit -y[PATCH] udev - kill %D from udev-test.pl

Kill the two tests with %D.
 = 0
!kay.sievers/greg 1074541232 bk-3.0.4: check -c - = 0
!kay.sievers/greg 1074541232 bk-3.0.4: commit -y[PATCH] udev - reverse user query options

Here we get the ability to query with the name of the node instead of
the device path. It uses a linear search over the whole database.

  kay@pim:~/src/udev.kay$ ./udev -q path -n video/webcam0
  /class/video4linux/video0


New version, with better function return codes for error handling.
 = 0
!hannal/greg 1074541362 bk-3.0.4: check -c - = 0
!hannal/greg 1074541362 bk-3.0.4: commit -y[PATCH] set default owner/group in db.

This patch fixes a bug where the udev database stored empty strings
for Owner and Group if they were default. This patch stores the default
value into the database if not set otherwise. See example output:


crw-------    1 root     root       4,  65 Jan 16 11:13 ttyS1

P: /class/tty/ttyS1
N: ttyS1
S:
O: root
G: root

This is a bit of a hack. However, until udev supports setting the
o/g values they will be root/root anyway so the database might as
well reflect the truth instead of empty strings.
 = 0
!kay.sievers/greg 1074541464 bk-3.0.4: check -c - = 0
!kay.sievers/greg 1074541464 bk-3.0.4: commit -y[PATCH] set default owner/group in db - update

I've edited the man page today, so this is alreay included :)

Also a few more trivials:
  o added the defaults to udev.conf.in
  o removed class_dev from get_default_mode(), to match with Hanna's
  o changed size of mode_str to MODE_SIZE
  o changed a few char compares from from 0x00 to '\0'
 = 0
!kay.sievers/greg 1074541586 bk-3.0.4: check -c - = 0
!kay.sievers/greg 1074541587 bk-3.0.4: commit -y[PATCH] udev - program to query all device attributes to build a rule

On Sun, Jan 18, 2004 at 07:30:50AM +0100, Kay Sievers wrote:
> Hi,
> here is a small program to query all attributes of a device and
> print these in the udev key format. It may help to get the keys to
> define a rule.

Fixed a typo - the sysfs_device is right now.

USB FLash Reader:
    kay@pim:~/src/udev.kay$ extras/udevinfo/udevinfo /sys/block/sda/sda1

    device '/sys/block/sda/sda1' has major:minor 8:1

    looking at class device '/sys/block/sda/sda1':
      SYSFS_dev="8:1"
      SYSFS_start="32"
      SYSFS_size="160"
      SYSFS_stat="       0        0        0        0"

    follow class device's "device" link '/sys/block/sda':
      BUS="scsi"
      ID="57:0:0:0"
      SYSFS_detach_state="0"
      SYSFS_type="0"
      SYSFS_device_blocked="0"
      SYSFS_queue_depth="1"
      SYSFS_scsi_level="3"
      SYSFS_vendor="SMSC    "
      SYSFS_model="USB 2 HS-CF"
      SYSFS_rev="1.25"
      SYSFS_online="1"
 = 0
!greg 1074542061 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=22322
!greg 1074542067 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=22322
!greg 1074542080 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=22322
!greg 1074544874 bk-3.0.4: check -c - = 0
!greg 1074544874 bk-3.0.4: commit -dqY/tmp/cmt10252 -f/tmp/cfiles10252 = 0
!greg 1074544914 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=1492
!greg 1074544917 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=1492
!greg 1074544920 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=1492
!greg 1074805445 bk-3.0.4: check -acv -- - = 0
!greg 1074805445 bk-3.0.4: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=450588
!greg 1074805455 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1074805459 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=0
!greg 1074805462 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=0
!greg 1074805494 bk-3.0.4: check -c - = 0
!greg 1074805494 bk-3.0.4: commit -dqY/tmp/cmt4455 -f/tmp/cfiles4455 = 0
!greg 1074805541 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=1509
!greg 1074805545 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=1509
!greg 1074805548 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=1509
!greg 1074817273 bk-3.0.4: check -c - = 0
!greg 1074817273 bk-3.0.4: commit -dqY/tmp/cmt10364 -f/tmp/cfiles10364 = 0
!greg 1074817337 bk-3.0.4: check -c - = 0
!greg 1074817337 bk-3.0.4: commit -dqY/tmp/cmt10410 -f/tmp/cfiles10410 = 0
!greg 1074817378 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=6210
!greg 1074817382 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=6210
!greg 1074817386 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=6210
!kay.sievers/greg 1074817737 bk-3.0.4: check -c - = 0
!kay.sievers/greg 1074817737 bk-3.0.4: commit -y[PATCH] spilt udev into pieces

On Thu, Jan 22, 2004 at 01:27:45AM +0100, Kay Sievers wrote:
> On Wed, Jan 21, 2004 at 02:38:25PM +0100, Kay Sievers wrote:
> > On Thu, Jan 15, 2004 at 01:45:10PM -0800, Greg KH wrote:
> > > On Thu, Jan 15, 2004 at 10:36:25PM +0800, Ling, Xiaofeng wrote:
> > > > Hi, Greg
> > > >    I wrote a simple implementation for the two pieces
> > > > of send and receive hotplug event,
> > > > use a message queue and a list for the out of order
> > > >  hotplug event. It also has a timeout timer of 3 seconds.
> > > >  They are now separate program. the file nseq is the test script.
> > > >  Could you have a look to see wether it is feasible?
> > > > If so, I'll continue to merge with udev.
> > >
> > > Yes, very nice start.  Please continue on.
> > >
> > > One minor comment, please stick with the kernel coding style when you
> > > are writing new code for udev.
> >
> > I took the code from Xiaofeng, cleaned the whitespace, renamed some bits,
> > tweaked the debugging, added the udev exec and created a patch for the current tree.
> >
> > It seems functional now, by simply executing our current udev (dirty hack).
> > It reorders the incoming events and if one is missing it delays the
> > execution of the following ones up to a maximum of 10 seconds.
> >
> > Test script is included, but you can't mix hotplug sequence numbers and
> > test script numbers, it will result in waiting for the missing numbers :)
>
> Hey, nobody want's to play with me?
> So here I'm chatting with myself :)
>
> This is the next version with signal handling for resetting the expected
> signal number. I changed the behaviour of the timeout to skip all
> missing events at once and to proceed with the next event in the queue.
>
> So it's now possible to use the test script at any time, cause it resets
> the daemon, if real hotplug event coming in later all missing nimbers will
> be skipped after a timeout of 10 seconds and the queued events are applied.

Here is the next updated updated version to apply to the lastet udev.
I've added infrastructure for getting the state of the IPC queue in the
sender and set the program to exec by the daemon. Also the magic key id
is replaced by the usual key generation by path/nr.

It looks promising, I use it on my machine and my 4in1 USB-flash-reader
connect/disconnect emits the events "randomly" but udevd is able to
reorder it and calls our normal udev in the right order.
 = 0
!greg 1074818009 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=17566
!greg 1074818012 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=17566
!greg 1074818015 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=17566
!greg 1074822640 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1074822643 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=0
!greg 1074822645 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=0
!greg 1074822666 bk-3.0.4: check -c - = 0
!greg 1074822666 bk-3.0.4: commit -dqY/tmp/cmt15670 -f/tmp/cfiles15670 = 0
!greg 1074822704 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=1685
!greg 1074822709 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=1685
!greg 1074822717 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=1685
!greg 1074893084 bk-3.0.4: check -acv -- - = 0
!greg 1074893084 bk-3.0.4: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=371391
!kay.sievers/greg 1074893117 bk-3.0.4: check -c - = 0
!kay.sievers/greg 1074893117 bk-3.0.4: commit -y[PATCH] udev - next round of udev event order daemon

Here is the next round of udevd/udevsend:

udevsend - If the IPC message we send is not catched by a receiver we fork
           the udevd daemon to process this and the following events

udevd    - We reorder the events we receive and execute our current udev for
           every event. If one or more events are missing, we wait
           10 seconds and then go ahead in the queue.
           If the queue is empty and we don't receive any event for the next
           30 seconds, the daemon exits.
           The next incoming event will fork the daemon again.

config   - The path's to the executable are specified in udevd.h
           Now they are pointing to the current directory only.


I don't like daemons hiding secrets (and mem leaks :)) inside,
so I want to try this model. It should be enough logic to get all possible
hotplug events executed in the right order.

If no event, then no daemon! So everybody should be happy :)


Here we see:
  1. the daemon fork,
  2. the udev work,
  3. the 10 sec timeout and the skipped events,
  4. the udev work,
     ...,
  5. and the 30 sec timeout and exit.

EVENTS:
  pim:/home/kay/src/udev.kay# test/udevd_test.sh
  pim:/home/kay/src/udev.kay# SEQNUM=15 ./udevsend block
  pim:/home/kay/src/udev.kay# SEQNUM=16 ./udevsend block
  pim:/home/kay/src/udev.kay# SEQNUM=17 ./udevsend block
  pim:/home/kay/src/udev.kay# SEQNUM=18 ./udevsend block
  pim:/home/kay/src/udev.kay# SEQNUM=20 ./udevsend block
  pim:/home/kay/src/udev.kay# SEQNUM=21 ./udevsend block


LOG:
  Jan 23 15:35:35 pim udev[11795]: message is still in the ipc queue, starting daemon...
  Jan 23 15:35:35 pim udev[11799]: configured rule in '/etc/udev/udev.rules' at line 19 applied, 'sda' becomes '%k-flash'
  Jan 23 15:35:35 pim udev[11799]: creating device node '/udev/sda-flash'
  Jan 23 15:35:35 pim udev[11800]: creating device node '/udev/sdb'
  Jan 23 15:35:35 pim udev[11804]: creating device node '/udev/sdc'
  Jan 23 15:35:35 pim udev[11805]: removing device node '/udev/sda-flash'
  Jan 23 15:35:35 pim udev[11808]: removing device node '/udev/sdb'
  Jan 23 15:35:35 pim udev[11809]: removing device node '/udev/sdc'
  Jan 23 15:35:45 pim udev[11797]: timeout reached, skip events 7 - 7
  Jan 23 15:35:45 pim udev[11811]: creating device node '/udev/sdb'
  Jan 23 15:35:45 pim udev[11812]: creating device node '/udev/sdc'
  Jan 23 15:36:01 pim udev[11797]: timeout reached, skip events 10 - 14
  Jan 23 15:36:01 pim udev[11814]: creating device node '/udev/sdc'
  Jan 23 15:36:04 pim udev[11816]: creating device node '/udev/sdc'
  Jan 23 15:36:12 pim udev[11818]: creating device node '/udev/sdc'
  Jan 23 15:36:16 pim udev[11820]: creating device node '/udev/sdc'
  Jan 23 15:36:38 pim udev[11797]: timeout reached, skip events 19 - 19
  Jan 23 15:36:38 pim udev[11823]: creating device node '/udev/sdc'
  Jan 23 15:36:38 pim udev[11824]: creating device node '/udev/sdc'
  Jan 23 15:37:08 pim udev[11797]: we have nothing to do, so daemon exits...
 = 0
!greg 1074894217 bk-3.0.4: check -c - = 0
!greg 1074894218 bk-3.0.4: commit -dqY/tmp/cmt8509 -f/tmp/cfiles8509 = 0
!greg 1074896724 bk-3.0.4: check -c - = 0
!greg 1074896724 bk-3.0.4: commit -dqY/tmp/cmt9502 -f/tmp/cfiles9502 = 0
!greg 1074896779 bk-3.0.4: check -c - = 0
!greg 1074896779 bk-3.0.4: commit -dqY/tmp/cmt9530 -f/tmp/cfiles9530 = 0
!greg 1074896820 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=14315
!greg 1074896823 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=14315
!greg 1074896829 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=14315
!greg 1074897094 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1074897097 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=0
!greg 1074897100 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=0
!mbuesch/greg 1074898495 bk-3.0.4: check -c - = 0
!mbuesch/greg 1074898495 bk-3.0.4: commit -y[PATCH] LFS init script update = 0
!greg 1074898532 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=2092
!greg 1074898536 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=2092
!greg 1074898539 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=2092
!greg 1074907323 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1074907326 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=0
!greg 1074907331 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=0
!greg 1075140025 bk-3.0.4: pull = 0 parent=greg@bucket:/home/greg/src/udev xfered=0
!greg 1075140653 bk-3.0.4: check -c - = 0
!greg 1075140653 bk-3.0.4: commit -dqY/tmp/cmt12905 -f/tmp/cfiles12905 = 0
!kay.sievers/greg 1075141173 bk-3.0.4: check -c - = 0
!kay.sievers/greg 1075141173 bk-3.0.4: commit -y[PATCH] udevd - cleanup and better timeout handling

Here is the next revision for udevd:
  o Small cleanups all over the place.
  o Swich to the usual linked list format "list.h".
  o Better timeout handling.
      We store a timestamp in in every queued event, so we don't wait longer
      than the timeout specified, if the hole in the list is not shrinking.
  o ignore udevd target if klibc is used
 = 0
!kay.sievers/greg 1075141212 bk-3.0.4: check -c - = 0
!kay.sievers/greg 1075141212 bk-3.0.4: commit -y[PATCH] udevinfo - now a real program :)

I want to make udevinfo the standard query interface, so all the user
features of the main udev are copied in here. It is now capable to:

  o query the database for a given value
  o dump the whole database
  o extract all possible device attributes for a sysfs_device


In addition to the known options of udev it supports the query for the
mode of the device node, and it includes the mode in the database dump:

  udevinfo -d
  P: /class/video4linux/video0
  N: video/webcam0
  M: 0666
  S: camera0 kamera0
  O: 500
  G: 500


It is also a bit more friendly with the pathnames specified for devices or nodes.
We remove the absolute path or add it if neccessary:

  udevinfo -q mode -n video/webcam0
  udevinfo -q mode -n /udev/video/webcam0
  0666

  udevinfo -q mode -p /sys/class/video4linux/video0
  udevinfo -q mode -p /class/video4linux/video0
  udevinfo -q mode -p class/video4linux/video0
  0666
 = 0
!greg 1075141260 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=17521
!greg 1075141267 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=17521
!greg 1075141288 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=17521
!greg 1075143265 bk-3.0.4: check -a - = 0
!greg 1075143337 bk-3.0.4: check -c - = 0
!greg 1075143337 bk-3.0.4: commit -dqY/tmp/cmt22884 -f/tmp/cfiles22884 = 0
!greg 1075143376 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=4238
!greg 1075143379 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=4238
!greg 1075143382 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=4238
!greg 1075144872 bk-3.0.4: check -c - = 0
!greg 1075144872 bk-3.0.4: commit -dqY/tmp/cmt29968 -f/tmp/cfiles29968 = 0
!greg 1075144918 bk-3.0.4: check -c - = 0
!greg 1075144918 bk-3.0.4: commit -dqY/tmp/cmt30006 -f/tmp/cfiles30006 = 0
!greg 1075144951 bk-3.0.4: check -c - = 0
!greg 1075144951 bk-3.0.4: commit -dqY/tmp/cmt30074 -f/tmp/cfiles30074 = 0
!greg 1075144991 bk-3.0.4: check -c - = 0
!greg 1075144991 bk-3.0.4: commit -dqY/tmp/cmt30201 -f/tmp/cfiles30201 = 0
!greg 1075145035 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=6860
!greg 1075145038 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=6860
!greg 1075145041 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=6860
!greg 1075145521 bk-3.0.4: check -c - = 0
!greg 1075145521 bk-3.0.4: commit -dqY/tmp/cmt30530 -f/tmp/cfiles30530 = 0
!greg 1075145577 bk-3.0.4: check -c - = 0
!greg 1075145577 bk-3.0.4: commit -dqY/tmp/cmt30570 -f/tmp/cfiles30570 = 0
!greg 1075145612 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=2171
!greg 1075145615 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=2171
!greg 1075145618 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=2171
!greg 1075146060 bk-3.0.4: check -c - = 0
!greg 1075146060 bk-3.0.4: commit -dqY/tmp/cmt1177 -f/tmp/cfiles1177 = 0
!greg 1075146979 bk-3.0.4: check -c - = 0
!greg 1075146979 bk-3.0.4: commit -dqY/tmp/cmt4683 -f/tmp/cfiles4683 = 0
!greg 1075147003 bk-3.0.4: check -c - = 0
!greg 1075147003 bk-3.0.4: commit -dqY/tmp/cmt4735 -f/tmp/cfiles4735 = 0
!greg 1075147019 bk-3.0.4: check -c - = 0
!greg 1075147019 bk-3.0.4: commit -dqY/tmp/cmt4779 -f/tmp/cfiles4779 = 0
!greg 1075147057 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=14060
!greg 1075147060 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=14060
!greg 1075147063 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=14060
!greg 1075147466 bk-3.0.4: check -c - = 0
!greg 1075147466 bk-3.0.4: commit -dqY/tmp/cmt5322 -f/tmp/cfiles5322 = 0
!greg 1075147501 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=1116
!greg 1075147504 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=1116
!greg 1075147507 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=1116
!greg 1075148230 bk-3.0.4: check -c - = 0
!greg 1075148230 bk-3.0.4: commit -dqY/tmp/cmt14746 -f/tmp/cfiles14746 = 0
!greg 1075148371 bk-3.0.4: push = 0 parent=greg@bucket:/home/greg/src/udev xfered=16985
!greg 1075148374 bk-3.0.4: push gregkh@kernel.bkbits.net:udev/ = 0 rmts=20031229154934-08:00|kernel.bkbits.net|/home/gregkh/udev|gregkh|ebgK xfered=16985
!greg 1075148378 bk-3.0.4: push bk://linuxusb@bkbits.net/udev = 0 rmts=20031112234106-08:00|hostme.bitkeeper.com|/repos/l/linuxusb/udev|linuxusb.adm|LZYw xfered=16985
!greg 1075148635 bk-3.0.4: check -c - = 0
!greg 1075148636 bk-3.0.4: commit -dqY/tmp/cmt18048 -f/tmp/cfiles18048 = 0
