ChangeSet@1.676, 2004-03-12 10:18:58-08:00, kay.sievers@vrfy.org
  [PATCH] udev-test.pl cleanup
  
  Here is a small name change, so all expected values are named exp_*

ChangeSet@1.675, 2004-03-12 10:00:39-08:00, greg@kroah.com
  add big major tests to udev-test.pl

ChangeSet@1.674, 2004-03-12 09:39:59-08:00, greg@kroah.com
  add a test for a minor over 255

ChangeSet@1.673, 2004-03-12 09:27:44-08:00, greg@kroah.com
  udev-test.pl: print out major:minor and perm test "ok" if is ok.

ChangeSet@1.672, 2004-03-12 09:19:50-08:00, greg@kroah.com
  make perm and major:minor test errors be reported properly.

ChangeSet@1.671, 2004-03-12 09:13:59-08:00, kay.sievers@vrfy.org
  [PATCH] add dev node test to udev-test.pl
  
  > Nice, that's a good start.  Now we need to check the major:minor values
  > too somehow...
  
  I better do it immediately, before you put it in the empty TODO :)
  
  Patch is a bit big, cause spaces are changed to tabs to get
  space for the longer names.

ChangeSet@1.670, 2004-03-12 08:43:31-08:00, greg@kroah.com
  remove extra ; in namedev_parse.c
  
  Thanks to Olaf Hering <olh@suse.de> for pointing this out.

ChangeSet@1.669, 2004-03-11 17:06:55-08:00, olh@suse.de
  [PATCH] udev* segfaults with new klibc
  
  current klibc uses regparm on i386. This leads to nice segfaults in all
  udev apps. Using the content of the just included MCONFIG file fixes it.

ChangeSet@1.668, 2004-03-11 16:58:38-08:00, ken@cgi101.com
  [PATCH] fix a type in docs/libsysfs.txt
  
  Mary Edie Merideth noticed this typo. I think this is what it was supposed
  to be. Judging by the pattern.

ChangeSet@1.667, 2004-03-11 16:58:33-08:00, kay.sievers@vrfy.org
  [PATCH] add permission tests
  
  > Any chance on being able to add a test for this kind of stuff to the
  > udev-test.pl script?
  
  Sure, not brilliant but seems to work :)
  Only numeric id's are supported so far.

ChangeSet@1.666, 2004-03-11 16:57:36-08:00, ananth@in.ibm.com
  [PATCH] more Libsysfs updates
  
  On Thu, Mar 11, 2004 at 02:36:23PM +0100, Kay Sievers wrote:
  > On Thu, 2004-03-11 at 15:02, Ananth N Mavinakayanahalli wrote:
  > > On Thu, Mar 11, 2004 at 02:04:36PM +0100, Kay Sievers wrote:
  > > > On Thu, Mar 11, 2004 at 11:53:50AM +0500, Ananth N Mavinakayanahalli wrote:
  > > >
  > > > > +#define safestrcpy(to, from)	strncpy(to, from, sizeof(to)-1)
  > > > > +#define safestrcat(to, from)	strncat(to, from, sizeof(to) - strlen(to)-1)
  > > >
  > > > These strings are not terminated with '\0' if from is longer than
  > > > the sizeof to.
  > >
  > > Did not do it on purpose as the "to" elements are either calloc'd or memset to
  > > '0' explicitly in the library. Thats the reason I mentioned "scaled down" :)
  >
  > Ahh, sounds good.
  >
  > > > > +#define safestrncpy(to, from, maxsize) \
  > > > > +do { \
  > > > > +	to[maxsize-1] = '\0'; \
  > > > > +	strncpy(to, from, maxsize-1); \
  > > > > +} while (0)
  > > > > +
  > > > > +#define safestrncat(to, from, maxsize) \
  > > > > +do { \
  > > > > +	to[maxsize-1] = '\0'; \
  > > > > +	strncat(to, from, maxsize - strlen(to)-1); \
  > > > > +} while (0)
  > > >
  > > > We all expect a similar behavior like strncat/strncpy according to the
  > > > names, but these macros are limiting by the target size and do not limit
  > > > the count of chars copied.
  > > > This is confusing I think and suggest using a different name like
  > > > 'safestrcopymax()' or something.
  > >
  > > Good point.. will make the change
  >
  > Nice. I've had these *n* names too and I forgot about the logic and only
  > 10 days later I introduced a ugly bug cause I can't limit the count of
  > copied chars :)
  
  Inlined is the patch for this... applies on the earlier _BIG_ patch.

ChangeSet@1.665, 2004-03-11 16:57:30-08:00, ananth@in.ibm.com
  [PATCH] Libsysfs updates
  
  Please find attached a _BIG_ patch to update udev's libsysfs. Patch applies
  on udev-021 and contains:
  
  1. Updates to get udev's libsysfs to the latest (to be released) level.
  2. Changes for C++ compatibility (use "char" and not "unsigned char"
  	unless absolutely necessary).
  3. More importantly, take care of buffer overflows. Libsysfs now uses a
          scaled down version of Kay's "safe" macros.
  
  Tested using a usb-storage device.
  
  I will send you a doc update shortly.

ChangeSet@1.664, 2004-03-10 17:39:53-08:00, kay.sievers@vrfy.org
  [PATCH] "symlink only" test
  
  Here is a test for the "symlink only" rule.
  
  Any reason to do the apply_format() inside the loop?
  I've changed it.

ChangeSet@1.663, 2004-03-10 17:37:18-08:00, kay.sievers@vrfy.org
  [PATCH] callout part selector tweak
  
  Martin Schwenke <martin@meltin.net> asked for this feature and posted a
  patch:
  
   The following patch almost let's me have the following configuration:
  
    PROGRAM="/sbin/aliaser %b %k %n %M %m", RESULT="?*", NAME="%c{1}", SYMLINK="%c{2+}"
  
   allowing me to specify an arbitrary number of symlinks by saying
   "giveme the second and later words"."
  
  
  Here is the actual version with tests and a few words in the man page.

ChangeSet@1.662, 2004-03-10 17:36:12-08:00, kay.sievers@vrfy.org
  [PATCH] cleanup callout fork
  
  Here I change the callout fork logic.
  The current cersion is unable to read a pipe which is not flushed at once,
  Now we read until it's closed.
  
  The maximum argument count is calculated by the strlen now. We have 100
  chars for our result buffer so we can't have more than 50 parameters.
  So it's much more clear what will happen now and not some magic boundary
  where we use shell behind it.
  
  Parameter can be combined to one by using apostrophes.
  
  this on works now:
    BUS="scsi", PROGRAM="/bin/sh -c 'echo foo3 foo4 foo5 foo6 foo7 foo8 foo9 | sed  s/foo9/bar9/'", KERNEL="sda3", NAME="%c{7}"
  
  Two new test are also added.

ChangeSet@1.661, 2004-03-10 14:40:39-08:00, greg@kroah.com
  Added multipath-tools 0.1.1 release

ChangeSet@1.660, 2004-03-10 14:38:58-08:00, greg@kroah.com
  deleted current extras/multipath directory

ChangeSet@1.659, 2004-03-10 14:35:37-08:00, kay.sievers@vrfy.org
  [PATCH] allow to specify node permissions in the rule
  
  This allows to set the permissions along with the rule.
  
  This is not a general replacement for the permissions config, but it
  may be easier sometimes for the user to specify the permissions along
  with the rule, cause the permissions config file wants the final node
  name to match, which seems sometimes a bit difficult to guess, if
  format % chars are used in the NAME field.
  
  Any value not given in the rule is still be read from the permissions
  file or set to the default. This one will also work:
  
    BUS="usb", KERNEL="video*", NAME="my-%k", OWNER="$local"
  
  A few words to man page are also added and add_perm_dev() is moved into
  namedev_parse.c where it belongs to.

ChangeSet@1.658, 2004-03-09 11:55:17-08:00, ken@cgi101.com
  [PATCH] Added line to udev.permissions.redhat
  
  Added this line to have xterms provide a prompt.

ChangeSet@1.657, 2004-03-09 11:50:30-08:00, kay.sievers@vrfy.org
  [PATCH] man page beauty
  
  Thanks to Christian Gierke, he sent me a beauty patch for our man pages.
  Some typos are fixed and a few word are clarified.

ChangeSet@1.656, 2004-03-09 11:50:22-08:00, kay.sievers@vrfy.org
  [PATCH] put symlink only rules to the man page
  
  Here we mention the "symlink only - add it to another rule" feature
  to the man page. Andrey, does this describe what you have implemented :)

ChangeSet@1.655, 2004-03-09 11:50:15-08:00, kay.sievers@vrfy.org
  [PATCH] rename strn*() macros to strmax
  
  Hey, I wrote the strn*() macros just 10 days ago and yesterday this trap
  caught me with the %c{x} bug.
  The names are misleading cause we all expect that the from field is limited by
  the size argument, but we actually limit the overall size of the destination
  string to prevent a overflow.
  
  Here we rename all strn*() macros to str*max(). That should be
  more self-explanatory.

ChangeSet@1.654, 2004-03-04 11:10:02-08:00, md@Linux.IT
  [PATCH] udevstart fixes
  
  udevstart_no_retval: currently udevstart will always return rc=22
  because of the error handling code. I completely removed it because it
  is not used, and returning a generic error to the init script is not
  much useful anyway.

ChangeSet@1.653, 2004-03-04 10:59:18-08:00, ken@cgi101.com
  [PATCH] Include more examples in the docs area for gentoo and redhat
  
  Here's a patch that puts the udev.rules and udev.permissions files in the
  docs dir. This should help people out who install with just the rpm.

ChangeSet@1.652, 2004-03-04 10:59:13-08:00, kay.sievers@vrfy.org
  [PATCH] conditional remove of trailing sysfs whitespace
  
  Hey, it may never happen, that one wants to distinguish attributes by
  trailing spaces, but we should not lose the control over it, just for
  being lazy :)
  
  Here we remove the trailing spaces of the sysfs attribute only if the
  configured value to match doesn't have any trailing spaces by itself.
  So if you put a attribute in a rule with spaces at the end, the sysfs
  attribute _must_ match exactly.
  
  Is that cool for everyone?
  
  As usual, 2 tests are added for it with a artificial sysfs file and
  a few words to the man page.

ChangeSet@1.651, 2004-03-04 10:58:02-08:00, kay.sievers@vrfy.org
  [PATCH] clarify udevinfo text
  
  Make udevinfo attribute printing note so clear,
  that's nearly impossible to misunderstand it in the future.

ChangeSet@1.650, 2004-03-04 10:55:34-08:00, kay.sievers@vrfy.org
  [PATCH] better fix for NAME="foo-%c{N}" gets a truncated name
  
  On Wed, Mar 03, 2004 at 04:56:34PM -0800, Greg KH wrote:
  > On Wed, Mar 03, 2004 at 03:57:04PM -0800, Patrick Mansfield wrote:
  > >
  > > Here is a patch for some new tests.
  >
  > Applied, thanks.
  
  Here is a small improvement, which looks much better.
  
  Hey Pat, thanks a lot for finding the recent bug, hope this one will
  not break it again :)

ChangeSet@1.649, 2004-03-03 17:17:08-08:00, hannal@us.ibm.com
  [PATCH] Small fix to remove extra "will" in man page
  
    remove extraneous word.

ChangeSet@1.648, 2004-03-03 16:57:29-08:00, kay.sievers@vrfy.org
  [PATCH] overall trivial trivial cleanup
  
  Here I try to make the style a bit more consistant in the different
  files, so that new patches just copy the 'right' one :)
  
  Some "magic" numbers are replaced and udevtest.c is catched up with udev.

ChangeSet@1.647, 2004-03-03 16:55:22-08:00, patmans@us.ibm.com
  [PATCH] add tests for NAME="foo-%c{N}"
  
  Here is a patch for some new tests.

ChangeSet@1.646, 2004-03-03 16:54:13-08:00, kay.sievers@vrfy.org
  [PATCH] fix NAME="foo-%c{N}" gets a truncated name
  
  On Wed, Mar 03, 2004 at 02:43:34PM -0800, Patrick Mansfield wrote:
  > Here is a fix and a new test for the problem Atul hit, where if we have a
  > NAME based on a result of the form:
  >
  > 	NAME="foo-%c{7}"
  >
  > udev truncates the name. Without any prefix (the foo- in this example),
  > the rule was working OK.
  
  Here is a fix for the fix :)
  
  Sorry, I broke it yesterday.

ChangeSet@1.645, 2004-03-03 16:52:05-08:00, greg@kroah.com
  021_bk mark

ChangeSet@1.644, 2004-03-03 16:51:28-08:00, greg@kroah.com
  fix the build for older versions of gcc

ChangeSet@1.643, 2004-03-03 10:16:35-08:00, kay.sievers@vrfy.org
  [PATCH] cleanup mult field string handling
  
  Here I try to cleanup our various multifield iteration over the strings.
  Inspired by our nice list.h we now have a macro to iterate over the string
  and process the parts of it:
  It makes the code more readable and we don't change the string while we
  process it like the former strsep() does.
  
  Example:
  
    foreach_strpart(dev->symlink, " ", pos, len) {
    	if (strncmp(&dev->symlink[pos], find_name, len) != 0)
    		continue;
  
    	...
    }
  
  For the callout part selector %c{2} we separate now not only by space but
  also newline and return characters, cause some programs may give multiline
  values back. A possible RESULT match must contain wildcards for these
  characters.
  
  Also a bug in the recent udevinfo symlink query feature is fixed.

ChangeSet@1.642, 2004-03-02 16:01:22-08:00, greg@kroah.com
  021 release
  TAG: v021

ChangeSet@1.641, 2004-03-02 15:51:50-08:00, greg@kroah.com
  fix udev.spec to find udevinfo now that it has moved to /usr/bin

ChangeSet@1.640, 2004-03-02 15:49:08-08:00, kay.sievers@vrfy.org
  [PATCH] install udevinfo in /usr/bin
  
  Here we rename the former tiny $(HELPER) to $(INFO)
  cause it's no longer only a helper :)
  And install it in /usr/bin instead of /sbin cause any user
  may want to call it and we don't need it on startup.

ChangeSet@1.639, 2004-03-02 15:49:04-08:00, kay.sievers@vrfy.org
  [PATCH] blacklist pcmcia_socket
  
  Is this something for the blacklist?
  
  /sys/class/pcmcia_socket/
  |-- pcmcia_socket0
  |   |-- device -> ../../../devices/pci0000:00/0000:00:1e.0/0000:02:00.0
  |   `-- driver -> ../../../bus/pci/drivers/yenta_cardbus
  `-- pcmcia_socket1
      |-- device -> ../../../devices/pci0000:00/0000:00:1e.0/0000:02:00.1
          `-- driver -> ../../../bus/pci/drivers/yenta_cardbus

ChangeSet@1.638, 2004-03-02 15:47:22-08:00, greg@kroah.com
  Fix another problem with Makefile installing initscript

ChangeSet@1.637, 2004-03-02 15:33:52-08:00, greg@kroah.com
  fix the Makefile to install the init script into the proper directory
  
  grrr...robert...

ChangeSet@1.636, 2004-03-02 14:54:00-08:00, greg@kroah.com
  make spec file turn off selinux support by default.

ChangeSet@1.635, 2004-03-02 14:51:13-08:00, greg@kroah.com
  020 release
  TAG: v020

ChangeSet@1.634, 2004-03-02 14:46:24-08:00, greg@kroah.com
  update the TODO list as we already have a devfs config file.

ChangeSet@1.633, 2004-03-02 14:45:22-08:00, greg@kroah.com
  make start_udev use udevstart binary

ChangeSet@1.632, 2004-03-02 14:43:00-08:00, kay.sievers@vrfy.org
  [PATCH] man page udevstart

ChangeSet@1.631, 2004-03-02 14:34:40-08:00, greg@kroah.com
  install udevstart

ChangeSet@1.630, 2004-03-02 14:15:20-08:00, kay.sievers@vrfy.org
  [PATCH] cleanup udevstart
  
  I just wanted to terminate the snprintf() strings, cause I can see a
  overflow with closed eyes after all the audit :)
  
  But then I changed a bit more to bring it in line with the style of the
  other files. I replaced the exec_udev() function with the one from
  udevd, cause we don't need to read the stdout from udev.
  
  Please have a look if it still works for you too and not
  only for usernames with 3 characters :)

ChangeSet@1.629, 2004-03-02 12:27:53-08:00, rml@ximian.com
  [PATCH] automatically install correct initscript
  
  On Mon, 2004-03-01 at 20:08, Robert Love wrote:
  
  > Ack, I did not even see that!  Thanks.
  >
  > Let's rip that out, and always use the new built-in logic to determine
  > what initscript to install.
  
  Hm, looks like we do not need the %{lsb} and USE_LSB logic at all,
  anymore.
  
  Here is the patch, updated, removing both completely.

ChangeSet@1.628, 2004-03-02 12:27:12-08:00, kay.sievers@vrfy.org
  [PATCH] bugfix for local user
  
  While moving the local user logic in it's own function I missed to
  change the "secure" string macro. We copy only the first 3 bytes
  of the username. Guess why I didn't notice it :)

ChangeSet@1.627, 2004-03-02 12:24:26-08:00, greg@kroah.com
  Remove Debian permission files as the Debian maintainer doesn't seem to want to share :(

ChangeSet@1.626, 2004-03-02 12:23:36-08:00, greg@kroah.com
  update the Gentoo rules files.

ChangeSet@1.625, 2004-03-02 12:21:03-08:00, greg@kroah.com
  Add Red Hat rules and permissions files
  
  Taken from udev-018-2.src.rpm from Fedora Devel.

ChangeSet@1.624, 2004-03-01 17:31:03-08:00, greg@kroah.com
  add udevstart to the ignore list.

ChangeSet@1.623, 2004-03-01 17:30:38-08:00, greg@kroah.com
  add udevstart program based on a old patch from Harald Hoyer <harald@redhat.com>
  
  This can be used instead of the start_udev script for systems
  that do not have a shell, or some other problem...

ChangeSet@1.622, 2004-03-01 16:21:27-08:00, kay.sievers@vrfy.org
  [PATCH] - unlink bugfix
  
  Fix for recent unlink patch.

ChangeSet@1.621, 2004-03-01 16:09:27-08:00, kay.sievers@vrfy.org
  [PATCH] TODO update
  
  I promise, that I will not take every item you put in the TODO list :)

ChangeSet@1.620, 2004-03-01 16:08:28-08:00, kay.sievers@vrfy.org
  [PATCH] clarify udevinfo device walk
  
  It seems that the long attribute list can confuse the user.
  Se here we print a few words on top the attributes.

ChangeSet@1.619, 2004-03-01 15:47:59-08:00, kay.sievers@vrfy.org
  [PATCH] udevinfo symlink reverse query
  
  Thanks to Olaf Hering <olh@suse.de> for this patch. It's possible now to
  feed the -n option of udevinfo with a symlink.
  
  I've also added a 'all' attribute, but no more text, it's all in the
  included man page :)

ChangeSet@1.618, 2004-03-01 15:31:06-08:00, greg@kroah.com
  unlink the file before we try to create it.
  
  Based on the patch in the Gentoo repo.

ChangeSet@1.617, 2004-03-01 15:17:59-08:00, kay.sievers@vrfy.org
  [PATCH] fix stroul endptr use
  
  The endptr is never NULL, so here we hopefully do the right thing.

ChangeSet@1.616, 2004-03-01 15:16:39-08:00, rml@ximian.com
  [PATCH] update documetation for $local
  
  On Mon, 2004-03-01 at 17:44, Greg KH wrote:
  > Hm, that should be Robert's job actually, he should do something for
  > real...  :)
  
  Hey, I wrote the nifty local user detection snippet - but, I owe Kay, so
  here is an updated man page.

ChangeSet@1.615, 2004-03-01 15:08:47-08:00, christophe.varoqui@free.fr
  [PATCH] multipath update

ChangeSet@1.614, 2004-03-01 14:42:30-08:00, kay.sievers@vrfy.org
  [PATCH] add $local user spport for permissions

ChangeSet@1.613, 2004-03-01 14:38:44-08:00, kay.sievers@vrfy.org
  [PATCH] udev - man page update
  
  Here is a small change to the udev man page:
  
    - clarify the use of the NAME{all_partitions} syntax
      and add a example to udev.rules.example
    - mention the empty NAME field to ignore the device
    - prepare a SYMLINK field for the addition of Andrey's
      "multiple symlinks" documentation :)

ChangeSet@1.612, 2004-03-01 14:34:12-08:00, md@Linux.IT
  [PATCH] no error on enoent
  
  no_error_on_enoent: do not exit with an error and delete all files
  when a device or directory does not exist.

ChangeSet@1.611, 2004-03-01 14:34:10-08:00, md@Linux.IT
  [PATCH] escape dashes in man pages
  
  man-dashes.diff: escape dashes in man pages, helps with UTF-8 locales
  (by Philipp Matthias Hahn).

ChangeSet@1.610, 2004-03-01 14:34:08-08:00, md@Linux.IT
  [PATCH] remove usage of expr in ide-devfs.sh
  
  fix_expr: remove usage of expr in ide-devfs.sh, because it may be in
  /usr/bin and not available at early boot time.

ChangeSet@1.609, 2004-03-01 14:28:51-08:00, kay.sievers@vrfy.org
  [PATCH] udev - fix debug info for multiple rule file config
  
  On Sat, Feb 28, 2004 at 09:56:32PM +0100, Kay Sievers wrote:
  > Andrey pointed out that we don't print the right filename in the debug
  > output. Here is a fix for that. It applies on top of Andrey's symlink
  > patch, cause we are touching the same part of the code.
  
  The copy/paste devil catched me :)
  Here is a fixed one.

ChangeSet@1.608, 2004-03-01 14:28:27-08:00, greg@kroah.com
  Merge greg@bucket:/home/greg/src/udev into kroah.com:/home/greg/src/udev

ChangeSet@1.606.1.2, 2004-03-01 14:23:39-08:00, arvidjaar@mail.ru
  [PATCH] Add symlink only rules support

ChangeSet@1.606.1.1, 2004-03-01 14:23:35-08:00, kay.sievers@vrfy.org
  [PATCH] udev - kill udevd on install
  
  We want to kill udevd after installing a new version, cause the event
  contains a magic with the version number of udev.

ChangeSet@1.607, 2004-02-27 22:53:25-08:00, kay.sievers@vrfy.org
  [PATCH] udev - activate formt length attribute
  
  We carried the the old callout part selector syntax for two releases
  now after it was replaced by the new %c{1} syntax. So here we remove
  the old syntax and use the code to possibly specify the maximum count
  of chars to insert into the string. It will work with all of our format
  chars.
  I don't know if somebody will use it, but the code is already there :)
  
  's%3s{vendor}' returns "IBM" now, instead of "IBM-ESXS".
  
  Also added is a test for it and a few words in the man page.

ChangeSet@1.606, 2004-02-27 17:59:44-08:00, greg@kroah.com
  019_bk mark

ChangeSet@1.605, 2004-02-27 17:59:02-08:00, kay.sievers@vrfy.org
  [PATCH] udev - safer sprintf() use
  
  Here is for now my last patch to the string handling for a rather
  theorethical case, where the node is very very very long. :)
  
  We have accordant to strfieldcat(to, from) now a strintcat(to, i) macro,
  which appends the ascii representation of a integer to a string in a
  safe way.

ChangeSet@1.604, 2004-02-27 17:11:20-08:00, greg@kroah.com
  018 release
  TAG: v019

ChangeSet@1.603, 2004-02-27 17:00:36-08:00, patmans@us.ibm.com
  [PATCH] update udev scsi_id to scsi_id 0.4
  
  This patch syncs the scsi_id in the udev tree to version 0.4.

ChangeSet@1.602, 2004-02-27 16:55:25-08:00, greg@kroah.com
  add new TODO item about local user permissions.

ChangeSet@1.601, 2004-02-27 16:54:52-08:00, kay.sievers@vrfy.org
  [PATCH] TODO update
  
  On Thu, Feb 12, 2004 at 05:26:37PM -0800, Greg KH wrote:
  > On Fri, Feb 13, 2004 at 12:45:38AM +0100, Kay Sievers wrote:
  > >
  > > Here a few questions about my favorite file in the tree :)
  > > - better permission handling
  > >
  > > What is missing here?
  >
  > I don't know for sure.  Just a vague feeling that the way we currently
  > handle permissions is pretty lousy.  Anyone else feel this way too?
  
  Seems that nobody cares and perhaps the recent klibc permission changes
  and the multiple file config directory are enough to kill these lines? :)

ChangeSet@1.600, 2004-02-27 16:54:49-08:00, kay.sievers@vrfy.org
  [PATCH] udev - correct relative symlink
  
  Here we remove the useless leading "./" of the linktargets.
  Thanks to Olaf Hering <olh@suse.de>, who asked why we do this :)
  
  We have now:
  
    /udev
    |-- camera0 -> video0
    |-- kamera0 -> video0
    `-- video0

ChangeSet@1.599, 2004-02-27 16:52:20-08:00, greg@kroah.com
  Add initial SELinux support for udev
  
  Based on a patch from Daniel J Walsh <dwalsh@redhat.com>

ChangeSet@1.598, 2004-02-27 16:30:24-08:00, greg@kroah.com
  fix build for very old versions of make.
  
  Should get rid of some more error reports of libsysfs header issues.

ChangeSet@1.597, 2004-02-26 13:29:49-08:00, greg@kroah.com
  remove limit of the number of args passed to PROGRAM
  
  If we go over our internal limit of 7, then we call out to /bin/sh
  otherwise we handle it ourself without relying on a shell.

ChangeSet@1.596, 2004-02-26 11:40:40-08:00, kay.sievers@vrfy.org
  [PATCH] udev - safer string handling - part four
  
  Mainly a cleanup of the earlier patches with a few missing pieces
  and some cosmetical changes.
  
  I've moved the udev_init_config() to very early init, otherwise we
  don't get any logging for the processing of the input. What would I
  do without gdb :)
  
  Greg, it's the 7th patch in your box to apply. I will stop now and
  wait for you :)

ChangeSet@1.595, 2004-02-26 11:40:32-08:00, kay.sievers@vrfy.org
  [PATCH] udev - safer string handling - part three
  
  Here we truncate our input strings from the environment to our
  defined limit. It's a bit theroretical but better check for it.
  
  It cleans up some magic length definitions and removes the code
  duplication in udev, udevtest and udevsend.
  
  udevd needs to be killed after installation, cause the message size
  is changed with this patch.
  Should we do this with the 'make install', like we do with the '.udevdb'?

ChangeSet@1.594, 2004-02-26 11:40:22-08:00, kay.sievers@vrfy.org
  [PATCH] udev - safer string handling - part two
  
  As promised, here is the next round. We provide in addition to the
  already used macros:
  
    strfieldcpy(to, from)
    strfieldcat(to, from)
  
  the corresponding friends, if the size of the target is not known and
  must be provided by the caller:
  
    strnfieldcpy(to, from, maxsize)
    strnfieldcat(to, from, maxsize)
  
  and switch nearly all possibly unsafe users of strcat(), strncat(),
  strcpy() and strncpy() to these safer macros.
  
  The last known remaining issue seems the use of sprintf() and
  snprintf(). I will take on it later today or tomorrow.

ChangeSet@1.593, 2004-02-26 11:39:33-08:00, kay.sievers@vrfy.org
  [PATCH] udev - man page update
  
  Hey it's not longer the "goal" to provide a dynamic dev directory,
  we have just arrived. So I  change it to more self-confident words :)
  
  I've also added the completly missing environment variables to the
  man pages.
  
  To stop the misuse of the PROGRAM= call paramenters, we better mention
  its limitations.

ChangeSet@1.592, 2004-02-26 11:37:47-08:00, kay.sievers@vrfy.org
  [PATCH] udev - safer string handling all over the place
  
  On Tue, Feb 24, 2004 at 11:50:52PM +0100, Kay Sievers wrote:
  > Here is the first step towards a safer string handling.
  > More will follow, but for now only the easy ones :)
  >
  > Thanks to all who pointed this out. strncat() isn't a nice function. We
  > all should remember that the destination string is not terminated if the
  > given lenght is shorter than the strlen of the source string.
  >
  > And shame on the various implementers of strfieldcat() I found in the
  > unapplied patches on this list, it's not really better than strncpy()
  > and hides the real problem.
  
  Hmm, bk didn't checked in one file, maybe I edited it again as root.
  Nevermind, here is the more complete version.

ChangeSet@1.591, 2004-02-26 11:35:38-08:00, kay.sievers@vrfy.org
  [PATCH] manpage update
  
  Nice, here is the corresponding man update which also removes the
  mention of the limitation of getgrname() and friends with klibc.

ChangeSet@1.590, 2004-02-23 11:31:19-08:00, arvidjaar@mail.ru
  [PATCH] do not remove real .udev.tdb during RPM build

ChangeSet@1.589, 2004-02-23 11:31:14-08:00, kay.sievers@vrfy.org
  [PATCH] udev - allow all files in a directory as the config
  
  I was on the train for 5 hours today and the TODO is almost empty :)
  So, at least four people wanted this feature, then here is a actual
  working patch.
  
  We may specify now in udev.conf:
  
    udev_rules="/etc/udev/"
  
  and udev will scan the whole directory for files ending with *.rules,
  sort it in lexical order and create our rule list from all of the files.
  A plain given file will still work and the same applies to the *.permissions.
  
  I sort the files in our usual linked list, cause klibc has no scandir().

ChangeSet@1.588, 2004-02-23 11:29:32-08:00, kay.sievers@vrfy.org
  [PATCH] udev - simple klibc textual uid/gid handling
  
  Here we get a very dumb getpwnam() and getgrnam() for klibc to
  stop the confusion of not handling textual id's if klibc is used.
  
  If used with  initrd we just need to copy the /etc/passwd and /etc/group
  file and all should work well.

ChangeSet@1.587, 2004-02-23 11:07:25-08:00, greg@kroah.com
  force udev to include the internal version of libsysfs and never the external one.
  
  Should fix some more build bugs...

ChangeSet@1.586, 2004-02-23 11:06:49-08:00, greg@kroah.com
  fix up libsysfs header file usage to fix bug reports from users that have sysfsutils installed already.

ChangeSet@1.585, 2004-02-19 17:33:49-08:00, greg@kroah.com
  remove udevtest on 'make clean'

ChangeSet@1.584, 2004-02-19 17:10:29-08:00, greg@kroah.com
  018_bk mark

ChangeSet@1.583, 2004-02-19 17:06:41-08:00, greg@kroah.com
  remove udevd priority TODO item, as it's not needed at all.
  
  We want to be started by keventd, as that runs at a very fast priority.

ChangeSet@1.582, 2004-02-19 10:35:19-08:00, greg@kroah.com
  v018 release
  TAG: v018

ChangeSet@1.581, 2004-02-19 10:21:51-08:00, greg@kroah.com
  added some scsi_id files to the bk ignore file.

ChangeSet@1.580, 2004-02-19 10:20:33-08:00, greg@kroah.com
  added scsi_id and some more documentation to the udev.spec file.

ChangeSet@1.579, 2004-02-19 10:00:38-08:00, greg@kroah.com
  update udev.rules.gentoo with new config file format.

ChangeSet@1.578, 2004-02-19 09:55:17-08:00, greg@kroah.com
  Update the Gentoo udev.rules and udev.permissions files
  
  These are very good devfs-like rules for others to use if they want to.

ChangeSet@1.577, 2004-02-19 09:54:48-08:00, greg@kroah.com
  Create a udev.rules.examples file to hold odd udev.rules
  
  These are for examples only, not for everyone to use as they cause too
  many problems for different people when they are in the main udev.rules
  file.

ChangeSet@1.576, 2004-02-19 09:45:37-08:00, ext.devoteam.varoqui@sncf.fr
  [PATCH] [PATCH] symlink dm-[0-9]* rule

ChangeSet@1.575, 2004-02-19 09:43:43-08:00, greg@kroah.com
  add udevd priority issue to the TODO list.

ChangeSet@1.574, 2004-02-18 15:59:54-08:00, greg@kroah.com
  more HOWTO cleanups.

ChangeSet@1.573, 2004-02-18 15:54:01-08:00, greg@kroah.com
  add HOWTO detailing how to use udev to manage /dev

ChangeSet@1.572, 2004-02-17 16:04:58-08:00, kay.sievers@vrfy.org
  [PATCH] udev - TODO update
  
  Make TODO really small :)

ChangeSet@1.571, 2004-02-17 15:59:06-08:00, patmans@us.ibm.com
  [PATCH] udev use new libsysfs header file location
  
  Use the new location of libsysfs header files.

ChangeSet@1.570, 2004-02-17 15:56:59-08:00, greg@kroah.com
  mv libsysfs/libsysfs.h to libsysfs/sysfs/libsysfs.h to make it easier to use.

ChangeSet@1.569, 2004-02-17 13:35:56-08:00, greg@kroah.com
  add start_udev init script.

ChangeSet@1.568, 2004-02-17 12:59:26-08:00, greg@kroah.com
  add support for UDEV_NO_SLEEP env variable so Gentoo people will be happy.
  
  Actually, I'm happy to, startup time is much smaller...

ChangeSet@1.567, 2004-02-17 11:31:33-08:00, greg@kroah.com
  start up udevd ourselves in the init script to give it some good priorities.

ChangeSet@1.566, 2004-02-17 11:07:56-08:00, ext.devoteam.varoqui@sncf.fr
  [PATCH] update extras/multipath
  
  patch follows :
  
          * remove the restrictive -f flag.
            Introduce a more generic "-m iopolicy" one.
          * remove useless "int with_sysfs" in env struct

ChangeSet@1.565, 2004-02-17 11:02:44-08:00, john-hotplug@fjellstad.org
  [PATCH] init.d debian patch
  
  I dualboot between 2.4.x and 2.6.x right now, and although I
  want udev to start up when 2.6 is booting, I don't want it to try when
  2.4.x is booting.
  
  This is a small patch to not start up udev if sysfs is not
  mounted.

ChangeSet@1.564, 2004-02-17 11:02:39-08:00, kay.sievers@vrfy.org
  [PATCH] udev - add %s{filename} to man page
  
  Add the new %s{filename} to the udev man page.
  And add the automatic start of udevd to the udevd man page.

ChangeSet@1.563, 2004-02-17 10:34:23-08:00, greg@kroah.com
  update the red hat init script to handle nodes that are not present
  
  Thanks to Gentoo for the list of these files.

ChangeSet@1.562, 2004-02-17 10:17:50-08:00, kay.sievers@vrfy.org
  [PATCH] udev - udevd/udevsend man page
  
  Here is the missing man page for udevd/udevsend.

ChangeSet@1.561, 2004-02-16 17:31:42-08:00, greg@kroah.com
  add a "old style" SYSFS_attribute test to udev-test.pl

ChangeSet@1.560, 2004-02-16 17:29:03-08:00, kay.sievers@vrfy.org
  [PATCH] udev - switch callout part selector to {attribute}
  
  Here we change the magic callout part number selector to the new
  atribute syntax. The syntax to select the second part of the callout string:
  
   '%2c' is now '%c{2}'
  
  I think it's more clear and we no longer misuse the length argument.
  
  The old syntax is still supported, but we should remove it some
  time in the future.

ChangeSet@1.559, 2004-02-16 17:27:01-08:00, kay.sievers@vrfy.org
  [PATCH] udev - switch SYSFS_file to SYSFS{file}
  
  Here we switch the configs and man pages to the new attribute syntax.
  Also the 'partition trick' is mentioned in udev.8
  
  I think it's more clear visible now, that inside the brackets are user
  supplied values used and not some magic keys handled:
  
    'SYSFS_dev' is now 'SYSFS{dev}'
  
  The old syntax is still supported.

ChangeSet@1.558, 2004-02-16 14:31:32-08:00, greg@kroah.com
  Have udevsend report more info in debug mode.

ChangeSet@1.557, 2004-02-16 14:31:15-08:00, greg@kroah.com
  Have udevd report it's version in debug mode.

ChangeSet@1.556, 2004-02-16 14:00:38-08:00, patmans@us.ibm.com
  [PATCH] udev add some ID tests
  
  Patch against current udev bk to add a few ID rule tests.

ChangeSet@1.555, 2004-02-16 13:58:25-08:00, greg@kroah.com
  fix up bug created for udevtest in previous partition creation patch.

ChangeSet@1.554, 2004-02-16 13:44:28-08:00, kay.sievers@vrfy.org
  [PATCH] udev - create all partitions of blockdevice
  
  Here is the first try to create all partitons of a blockdevice, since
  removable media devices may need to acces the expected partition to
  revalidate the media.
  
  It uses the attribute syntax introduced with the last %s{file} patch.
  I'm using this with my multi-slot-flash-card-reader:
  
    SYSFS{model}="USB Storage-SMC ", NAME{all_partitions}="smartmedia"
    SYSFS{model}="USB Storage-CFC ", NAME{all_partitions}="compactflash"
    SYSFS{model}="USB Storage-MSC ", NAME{all_partitions}="memorystick"
    SYSFS{model}="USB Storage-MMC ", NAME{all_partitions}="multimedia"
  
  and I get:
  
    tree /udev/
    /udev/
    |-- memorystick
    |-- memorystick1
    |-- memorystick10
    |-- memorystick11
    |-- memorystick12
    |-- memorystick13
    |-- memorystick14
    |-- memorystick15
    |-- memorystick2
    |-- memorystick3
    |-- memorystick4
    |-- memorystick5
    |-- memorystick6
    |-- memorystick7
    |-- memorystick8
    |-- memorystick9
    |-- multimedia
    |-- multimedia1
    |-- multimedia10
    |-- multimedia11
    |-- multimedia12
    |-- multimedia13
    |-- multimedia14
    |-- multimedia15
    |-- multimedia2
    |-- multimedia3
    |-- multimedia4
    |-- multimedia5
    |-- multimedia6
    |-- multimedia7
    |-- multimedia8
    |-- multimedia9
    ...
  
  
  If needed, we can make the number of partions to create
  adjustable with the attribute?

ChangeSet@1.553, 2004-02-16 13:39:40-08:00, kay.sievers@vrfy.org
  [PATCH] allow SYSFS{file}
  
  On Sun, Feb 15, 2004 at 03:36:00AM +0100, Kay Sievers wrote:
  >
  > Since we have %s{file} it may be nice to allow SYSFS{file}.
  > This patch allows:
  >
  >   BUS="usb", SYSFS{idProduct}="a511", NAME="video%n"
  >
  > compared to the current:
  >
  >   BUS="usb", SYSFS_idProduct="a511", NAME="video%n"
  >
  > The curent syntax is still supported.
  > Looks a bit nicer and less hackish, I think.
  
  Better patch with infrastructure to easily implement KEY{attribute}
  for every other key. The first user is the SYSFS{file} key.
  Both versions, brackets or underscore is supported for the attribute.

ChangeSet@1.552, 2004-02-16 13:36:34-08:00, kay.sievers@vrfy.org
  [PATCH] Adding '%s' format specifier to NAME and SYMLINK
  
  On Thu, Feb 12, 2004 at 05:34:57PM -0800, Greg KH wrote:
  > On Tue, Feb 10, 2004 at 09:14:20AM +0100, Hannes Reinecke wrote:
  > > Hi all,
  > >
  > > this patch makes the format for NAME and SYMLINK a bit more flexible:
  > > I've added a new format specifier '%s{<SYSFS_var>}', which allows for
  > > the value of any sysfs entry found for this device to be inserted.
  > > Example (for our S/390 fcp adapter):
  > >
  > > BUS="ccw", SYSFS_devtype="1732/03", NAME="%k" \
  > > SYMLINK="zfcp-%s{hba_id}-%s{wwpn}:%s{fcp_lun}"
  > >
  > > I know this could also be done with an external program, but having this
  > > incorporated into udev makes life easier, especially if run from
  > > initramfs. Plus it makes the rules easier to follow, as the result is
  > > directly visible and need not to be looked up in some external program.
  > >
  > > Comments etc. welcome.
  >
  > Oops, sorry I missed this for the 017 release.  I'll look at it tomorrow
  > and get back to you.  At first glance it looks like a good thing.
  >
  > Oh, you forgot to update the documentation, that's important to do if
  > you want this change to make it in :)
  
  I took a part of the code and made a version that uses already implemented
  attribute finding logic.
  
  The parsing of the format length '%3x' and the '%x{attribute}' is a fuction now,
  maybe there are more possible users in the future.
  
  I've also added the test to udev-test.pl.

ChangeSet@1.551, 2004-02-16 10:37:59-08:00, greg@kroah.com
  update the udev.spec to add udevtest and make some more Red Hat suggested changes.

ChangeSet@1.550, 2004-02-16 10:32:20-08:00, greg@kroah.com
  add ability to install udevtest to Makefile

ChangeSet@1.549, 2004-02-16 10:27:46-08:00, greg@kroah.com
  017_bk mark

ChangeSet@1.548, 2004-02-16 10:25:01-08:00, greg@kroah.com
  Add another test to udev-test.pl and fix a bug when only running 1 test.

ChangeSet@1.547, 2004-02-16 10:19:48-08:00, greg@kroah.com
  Fix bug where we did not use the "converted" kernel name if we had no rule.
  
  This fixes the bug with names that have a ! in them and no rule to match.

ChangeSet@1.546, 2004-02-12 17:01:07-08:00, greg@kroah.com
  v017 release
  TAG: v017

ChangeSet@1.545, 2004-02-12 16:53:10-08:00, christophe.varoqui@free.fr
  [PATCH] more udev-016/extras/multipath
  
  incremental to udev-016/extras/multipath-0.0.16.3,
  
          * add a GROUP_BY_SERIAL flag. This should be useful for
            controlers that activate their spare paths on simple IO
            submition with a penalty. The StorageWorks HW defaults to
            this mode, even if the MULTIBUS mode is OK.
          * remove unused sg_err.c
          * big restructuring : split devinfo.c from main.c. Export :
                  * void basename (char *, char *);
                  * int get_serial (int, char *);
                  * int get_lun_strings (char *, char *, char *, char *);
                  * int get_evpd_wwid(char *, char *);
                  * long get_disk_size (char *);
            Now we see clearly what is expected from an external package
            like scsi_id.
          * stop passing struct env as param

ChangeSet@1.544, 2004-02-12 16:48:36-08:00, christophe.varoqui@free.fr
  [PATCH] more udev-016/extras/multipath
  
  > Hello,
  >
  > incremental to udev-016/extras/multipath,
  >
  > * don't rely on the linux symlink in the udev/klibc dir since
  >   udev build doesn't use it anymore. This corrects build breakage
  > * remove make_dm_node fn & call. Rely on udev for this.
  >
  > The first patch is to be applied.
  > The second is conditioned by udev dealing correctly with devmap names.
  >
  > For this I can suggest a CALLOUT rule like this :
  > KERNEL="dm-[0-9]*", PROGRAM="/tmp/name_devmap %M %m", NAME="%k",
  > SYMLINK="%c"
  >
  > With name_devmap like :
  > #!/bin/sh
  > /usr/sbin/dmsetup ls|/bin/grep "$1, $2"|/usr/bin/awk '{print $1}'
  >
  
  ok I coded the suggested tool.
  it works with the following rule :
  KERNEL="dm-[0-9]*", PROGRAM="/sbin/devmap_name %M %m", NAME="%k", SYMLINK="%c"
  
  I don't know if it's right to keep this tools packaged with multipath because
  it's widely more general.
  
  Maybe Joe should merge it in the device-mapper package or provide the
  functionnality through dmsetup ?

ChangeSet@1.543, 2004-02-12 16:35:30-08:00, greg@kroah.com
  add udev_log to the documentation.

ChangeSet@1.542, 2004-02-12 15:43:31-08:00, greg@kroah.com
  fix offsetof() define in klibc.

ChangeSet@1.541, 2004-02-12 15:40:56-08:00, greg@kroah.com
  add some .spec file changes from Red Hat.

ChangeSet@1.540, 2004-02-12 15:30:11-08:00, greg@kroah.com
  update the init.d udev script based on a patch from Red Hat.

ChangeSet@1.539, 2004-02-12 15:20:50-08:00, greg@kroah.com
  remove the .udev.tdb when installing or uninstalling to be safe.

ChangeSet@1.538, 2004-02-12 15:08:22-08:00, greg@kroah.com
  remove the database at startup.

ChangeSet@1.537, 2004-02-12 14:51:44-08:00, kay.sievers@vrfy.org
  [PATCH] udev - keep private data out of the database?
  
  Shouldn't we keep the temporary strings out of the database,
  or is this information useful for something?
  
  It cuts the length of the data from 628 to 275 bytes.

ChangeSet@1.536, 2004-02-12 14:42:14-08:00, greg@kroah.com
  fix bug in permission handling.

ChangeSet@1.535, 2004-02-12 14:41:55-08:00, greg@kroah.com
  update klibc to version .107

ChangeSet@1.534, 2004-02-12 12:20:08-08:00, greg@kroah.com
  update the bitkeeper ignore file list.

ChangeSet@1.533, 2004-02-12 12:19:21-08:00, greg@kroah.com
  add udevtest program to build
  
  Also fix up some other dependancy issues in the Makefile.
  Thanks to Olaf Hering <olh@suse.de> for pointing them out.

ChangeSet@1.532, 2004-02-12 11:48:07-08:00, greg@kroah.com
  fix problem where usb devices can be either the main device or the interface
  
  This fixes the bug of a long delay for mouse devices

ChangeSet@1.531, 2004-02-12 10:57:06-08:00, greg@kroah.com
  more logging.h cleanups to be a bit more flexible.

ChangeSet@1.530, 2004-02-11 17:29:40-08:00, greg@kroah.com
  stop using mode_t as different libcs define it in different ways :(

ChangeSet@1.529, 2004-02-11 17:25:28-08:00, patmans@us.ibm.com
  [PATCH] udev add wild card compare for ID
  
  Allow wild card comparison of the ID.
  
  Using strcmp_pattern here also means we on longer match partial values,
  for example, a scsi rule like this won't match anymore:
  
  	BUS="scsi", ID=":0", NAME="sdfoo-short-bus_id-1"
  
  But this now works:
  
  	BUS="scsi", ID="*:0", NAME="sdfoo-bus_id-wild-card-1"

ChangeSet@1.528, 2004-02-11 17:24:54-08:00, patmans@us.ibm.com
  [PATCH] udev kill extra bus_id compares in match_id
  
  Kill the extra bus_id check in match_id. This is wrong, especially since
  we check for rule matches with the parent devices on a given devices path.
  
  For example, given a device path of:
  
  	/sys/devices/pci0000:01/0000:01:0c.0/host5/5:0:2:0
  
  With this patch, the following rule will no longer match:
  
  	BUS="scsi", ID="host5", NAME="sd-bus_id-host5"

ChangeSet@1.527, 2004-02-11 17:23:59-08:00, kay.sievers@vrfy.org
  [PATCH] better credential patch
  
  Here is a small improvement. We check for the type of message we receive
  and udevsend seems not to need all the credential setup stuff, the
  kernel will fill it for us.
  
  udevd now refuses to start as non root, cause it doesn't make any sense.

ChangeSet@1.526, 2004-02-11 17:14:48-08:00, greg@kroah.com
  remove some more KLIBC fixups that are no longer needed.

ChangeSet@1.525, 2004-02-11 16:49:52-08:00, greg@kroah.com
  let udev-test.pl run an individual test if you ask it to.
  
  just put the test number on the command line:
  	udev-test.pl 3
  will run test number 3
  
  If no test number is specified, all of the tests will be run, just like before.

ChangeSet@1.524, 2004-02-11 15:49:04-08:00, greg@kroah.com
  Handle the '!' character that some block devices have.

ChangeSet@1.523, 2004-02-11 15:34:21-08:00, greg@kroah.com
  add a block device with a ! in the name, and a test for this.

ChangeSet@1.522, 2004-02-11 15:23:17-08:00, greg@kroah.com
  fix up 'make release' to use bk to build the export tree.

ChangeSet@1.521, 2004-02-11 14:32:11-08:00, kay.sievers@vrfy.org
  [PATCH] udevd - client access authorization
  
  Here is the badly needed client authorization for udevd.
  Since we switched to abstract namespace sockets, we are unable to
  control the access of the socket by file permissions.
  
  So here we send a ancillary credential message with every datagram,
  to be able to verify the uid of the sender. The sender can't fake the
  credentials, cause the kernel doesn't allow it for non root users.
  
  udevd is still working with klibc here :)

ChangeSet@1.520, 2004-02-11 14:29:15-08:00, kay.sievers@vrfy.org
  [PATCH] compile udevd with klibc
  
  On Mon, Feb 09, 2004 at 05:41:15AM +0100, Kay Sievers wrote:
  > It seems that today was just another udev-sunday for me :)
  >
  > Here is a working patch to compile udevd with klibc.
  >
  > It's sweet the static binary takes 6 kbytes and it runs
  > with only 80 kbytes virtual memory.
  >
  > I changed a few peaces and added a siginterrupt.c file to klibc.
  > We may check with hpa to get the changes upstream?
  
  So here is the next try :)
  hpa, for good reason, didn't like my changes to klibc.
  He will dump signal() completely from klibc instead, so here we switch to
  sigaction() and keep udevd working with klibc.

ChangeSet@1.519, 2004-02-11 14:28:51-08:00, kay.sievers@vrfy.org
  [PATCH] udev - fix "ignore method"
  
  On Sun, Feb 08, 2004 at 04:36:01PM +0100, Kay Sievers wrote:
  > We don't handle NAME="" the right way. Thanks to Emil None <emil71se@yahoo.com>
  > for pointing this out. Here is a fix for it and a trivial style cleanup.
  
  Changed the ignore dbg() to info().

ChangeSet@1.518, 2004-02-11 14:28:47-08:00, kay.sievers@vrfy.org
  [PATCH] udev - fix cdrom symlink rule
  
  We only need to look at the device, not at the partitions.

ChangeSet@1.517, 2004-02-11 14:10:26-08:00, greg@kroah.com
  fix log option code so that it actually works for all udev programs.
  
  Also introduce boolean type for config file to use.

ChangeSet@1.516, 2004-02-11 11:42:51-08:00, azarah@nosferatu.za.org
  [PATCH] make logging a config option
  
  Once again, patch to make logging a config option.
  
  Reason for this (since you asked for it):
   - In our setup it is easy (although still annoying) .. just edit the
     ebuild, add logging support (or remove it) and rebuild.  For say a
     binary distro, having the logging is useful for debugging some
     times, but its more a once of, or rare thing, as you do not add or
     change config files every day.  Sure, we can have logging by
     default, but many do not want ~300 lines of extra debugging in their
     logs is not pleasant, and they will complain.  Rebuilding the
     package for that binary package (given the users it is targeted to)
     is usually not within most users grasp.

ChangeSet@1.515, 2004-02-11 10:34:28-08:00, greg@kroah.com
  finish syncing up with klibc

ChangeSet@1.514, 2004-02-11 10:27:55-08:00, greg@kroah.com
  [PATCH] sync with latest version of klibc (0.107)

ChangeSet@1.513, 2004-02-06 14:21:15-08:00, kay.sievers@vrfy.org
  [PATCH] convert udevsend/udevd to DGRAM and single-threaded
  
  On Fri, Feb 06, 2004 at 01:08:24AM -0500, Chris Friesen wrote:
  >
  > Kay, you said "unless we can get rid of _all_ the threads or at least
  > getting faster, I don't want to change it."
  >
  > Well how about we get rid of all the threads, *and* we get faster?
  
  Yes, we are twice as fast now on my box :)
  
  
  > This patch applies to current bk trees, and does the following:
  >
  > 1) Switch to DGRAM sockets rather than STREAM.  This simplifies things
  > as mentioned in the previous message.
  >
  > 2) Invalid sequence numbers are mapped to -1 rather than zero, since
  > zero is a valid sequence number (I think).  Also, this allows for real
  > speed tests using scripts starting at a zero sequence number, since that
  > is what the initial expected sequence number is.
  >
  > 3) Get rid of all threading.  This is the biggie.  Some highlights:
  > 	a) timeout using setitimer() and SIGALRM
  > 	b) async child death notification via SIGCHLD
  > 	c) these two signal handlers do nothing but raise volatile flags,
  > 	all the
  > work is done in the main loop
  > 	d) locking no longer required
  
  
  I cleaned up the rest of the comments, the whitespace and a few names to match
  the whole thing. Please recheck it. Test script is switched to work on subsystem
  'test' to let udev ignore it.

ChangeSet@1.512, 2004-02-05 17:04:28-08:00, kay.sievers@vrfy.org
  [PATCH] udevd - kill the lockfile

ChangeSet@1.511, 2004-02-05 16:14:51-08:00, christophe.varoqui@free.fr
  [PATCH] update extras/multipath
  
  incremental to udev-016/extras/multipath,
  
  * don't rely on the linux symlink in the udev/klibc dir since
    udev build doesn't use it anymore. This corrects build breakage
  * remove make_dm_node fn & call. Rely on udev for this.
  
  The first patch is to be applied.
  The second is conditioned by udev dealing correctly with devmap names.
  
  For this I can suggest a CALLOUT rule like this :
  KERNEL=3D"dm-[0-9]*", PROGRAM=3D"/tmp/name_devmap %M %m", NAME=3D"%k", SY=
  MLINK=3D"%c"
  
  With name_devmap like :
  #!/bin/sh
  /usr/sbin/dmsetup ls|/bin/grep "$1, $2"|/usr/bin/awk '{print $1}'

ChangeSet@1.510, 2004-02-05 16:11:24-08:00, kay.sievers@vrfy.org
  [PATCH] udevd - fix socket path length
  
  It seems that the guys are no longer differ about the right size of the
  socket address :)
  
  The kernel simply takes all bytes until the specified length as the name,
  so the real length should be enough.

ChangeSet@1.509, 2004-02-04 17:35:15-08:00, kay.sievers@vrfy.org
  [PATCH] udevd - switch socket path to abstract namespace
  
  As Chris Friesen <chris_friesen@sympatico.ca> suggested, here we switch
  the unix domains socket path to abstract namespace and get rid of the
  socket file in the filesystem.
  
  Hey, this was new to me today. So here a few words:
    Linux supports a abstract namespace for sockets. We don't need a
    physical file on the filesystem but only a unique string magically
    starting with the '\0' character.
  
    strace with real file:
      connect(3, {sa_family=AF_UNIX, path="/udev/.udevd.sock"}, 110)
  
    strace with abstract namespace:
      connect(3, {sa_family=AF_UNIX, path=@udevd}, 110)

ChangeSet@1.508, 2004-02-04 17:35:08-08:00, kay.sievers@vrfy.org
  [PATCH] udevd - allow to bypass sequence number
  
  This patch allows udevsend to be called by the user and not only by the
  kernel with its SEQNUM. If no SEQNUM is given, we move the event straight
  to the exec queue and don't look if something is missing.
  
  I don't know if this is really needed, but some people seem trying to
  send events trough udevd instead of calling udev directly with their
  scripts and confuse the reorder logic with that.
  
  So at least, we may remove this source of confusion and udevsend is much
  much faster back than udev itself and it will also block concurrent events
  for the same devpath.

ChangeSet@1.507, 2004-02-03 16:56:10-08:00, greg@kroah.com
  016_bk mark

ChangeSet@1.506, 2004-02-03 16:55:24-08:00, kay.sievers@vrfy.org
  [PATCH] include used function
  
  This includes the missing header for the use of getpid in logging.h.

ChangeSet@1.505, 2004-02-03 14:45:49-08:00, greg@kroah.com
  fix up Makefile dependancies for udev_version.h

ChangeSet@1.504, 2004-02-03 10:23:13-08:00, greg@kroah.com
  v016 release
  TAG: v016

ChangeSet@1.503, 2004-02-02 17:29:45-08:00, greg@kroah.com
  add udevd and udevsend to the spec file.

ChangeSet@1.502, 2004-02-02 17:29:20-08:00, greg@kroah.com
  make /etc/hotplug.d/default/udev.hotplug symlink point to udevsend now.

ChangeSet@1.501, 2004-02-02 16:51:51-08:00, greg@kroah.com
  add KERNEL_DIR option so that the distros will be happy
  
  Based on a patch from Svetoslav Slavtchev <svetljo@gmx.de>

ChangeSet@1.500, 2004-02-02 16:20:31-08:00, elkropac@students.zcu.cz
  [PATCH] get_dev_number() in extras/ide-devfs.sh
  
  this patch corrects ide devices with number greater than 9 being linked
  into wrong discs/discX directories (my hda10 device was in discs/disc1
  directory)
  it adds % into pattern for $DRIVE, so for example, hda10 is not eaten
  to hda1, but to hda, and break in for cycle works for it

ChangeSet@1.499, 2004-02-02 16:20:27-08:00, rrm3@rrm3.org
  [PATCH] FAQ udev.rules.devfs
  
  I have a very small patch for the udev FAQ.  :-)

ChangeSet@1.498, 2004-02-02 10:42:42-08:00, greg@kroah.com
  make udevsend binary even smaller

ChangeSet@1.497, 2004-02-02 10:10:29-08:00, kay.sievers@vrfy.org
  [PATCH] let udevsend build with klibc
  
  > I don't mind udevd using glibc, I just want the programs that get run a
  > lot of different times (udev and udevsend) to be as small as possible to
  > get the best cache results.  As udevd sticks around all the time, it's
  > not as important.  Sound sane to you?
  
  Oh, nice. Good idea.

ChangeSet@1.496, 2004-02-02 00:29:04-08:00, greg@kroah.com
  udevsend now almost compiles with klibc, struct sockaddr_un is only problem now.

ChangeSet@1.495, 2004-02-02 00:22:01-08:00, greg@kroah.com
  fix up logging code so that it can be built without it being enabled

ChangeSet@1.494, 2004-02-02 00:19:41-08:00, greg@kroah.com
  rework the logging code so that each program logs with the proper name in the syslog.

ChangeSet@1.493, 2004-02-02 00:19:13-08:00, greg@kroah.com
  remove logging.c as it's no longer needed.

ChangeSet@1.492, 2004-02-02 00:00:07-08:00, kay.sievers@vrfy.org
  [PATCH] udevd - config cleanup
  
  > Here is a small cleanup and better Makefile integration.
  > udevd and udevsender are now installed. Just switch HOTPLUG_EXEC from ROOT
  > to SENDER before install and udevsend will be called.
  >
  > We may add the location of the socket and lock file to the config,
  > if this is needed.
  
  Same patch with a fix for the stack size setting.

ChangeSet@1.491, 2004-02-01 01:12:36-08:00, kay.sievers@vrfy.org
  [PATCH] udevd - cleanup and better timeout handling
  
  On Thu, Jan 29, 2004 at 04:55:11PM +0100, Kay Sievers wrote:
  > On Thu, Jan 29, 2004 at 02:56:25AM +0100, Kay Sievers wrote:
  > > On Wed, Jan 28, 2004 at 10:47:36PM +0100, Kay Sievers wrote:
  > > > Oh, couldn't resist to try threads.
  > > > It's a multithreaded udevd that communicates through a localhost socket.
  > > > The message includes a magic with the udev version, so we don't accept
  > > > older udevsend's.
  > > >
  > > > No need for locking, cause we can't bind two sockets on the same address.
  > > > The daemon tries to connect and if it fails it starts the daemon.
  > > >
  > > > We create a thread for every incoming connection, handle over the socket,
  > > > sort the messages in the global message queue and exit the thread.
  > > > Huh, that was easy with threads :)
  > > >
  > > > With the addition of a message we wakeup the queue manager thread and
  > > > handle timeouts or move the message to the global exec list. This wakes
  > > > up the exec list manager who looks if a process is already running for this
  > > > device path.
  > > > If yes, the exec is delayed otherwise we create a thread that execs udev.
  > > > n the background. With the return of udev we free the message and wakeup
  > > > the exec list manager to look if something is pending.
  > > >
  > > > It is just a quick shot, cause I couldn't solve the problems with fork an
  > > > scheduling and I wanted to see if I'm to stupid  :)
  > > > But if anybody with a better idea or more experience with I/O scheduling
  > > > we may go another way. The remaining problem is that klibc doesn't support
  > > > threads.
  > > >
  > > > By now, we don't exec anything, it's just a sleep 3 for every exec,
  > > > but you can see the queue management by watching syslog and do:
  > > >
  > > >   DEVPATH=/abc ACTION=add SEQNUM=0 ./udevsend /abc
  >
  > Next version, switched to unix domain sockets.
  
  Next cleaned up version. Hey, nobody wants to try it :)
  
  Works for me, It's funny if I connect/disconnect my 4in1-usb-flash-reader
  every two seconds. The 2.6 usb rocks! I can connect/diconnect a hub with 3
  devices plugged in every second and don't run into any problem but a _very_
  big udevd queue.

ChangeSet@1.490, 2004-01-29 13:54:38-08:00, greg@kroah.com
  kill the last examples that contained the %D option.

ChangeSet@1.489, 2004-01-28 11:00:51-08:00, kay.sievers@vrfy.org
  [PATCH] fix possible buffer overflow
  
  On Tue, Jan 27, 2004 at 11:02:25AM -0800, Greg KH wrote:
  > On Mon, Jan 26, 2004 at 07:28:03PM -0500, Adrian Drzewiecki wrote:
  > > Looking over the code, I noticed something odd in
  > > namedev.c:strcmp_pattern() --
  > >
  > > 	while (*p && (*p != ']'))
  > > 		p ++;
  > > 	return strcmp_pattern(p+1, s+1);
  > >
  > > If the pattern string is invalid, and is not terminated by a ']', then 'p'
  > > will point at \0 and p+1 will be beyond the string.
  >
  > Yes, I think you are correct.
  >
  > Hm, Kay, any idea of the proper way to fix this?  I've attached a patch
  > below, but I don't think it is correct.
  >
  >  					while (*p && (*p != ']'))
  >  						p++;
  > -					return strcmp_pattern(p+1, s+1);
  > +					if (*p)
  > +						return strcmp_pattern(p+1, s+1);
  > +					else
  > +						return 1;
  >  				}
  >  			}
  
  
  Sure, it's perfectly correct. I'm wondering how Adrian found this.
  
  We can use the return 1 at the end of the whole function, and asking
  for the closing ']' is more descriptive, but it does the same.
  
  -					return strcmp_pattern(p+1, s+1);
  +					if (*p == ']')
  +						return strcmp_pattern(p+1, s+1);
  
  Patch is attached, that also replaces all the *s with s[0].

ChangeSet@1.488, 2004-01-28 10:53:12-08:00, greg@kroah.com
  remove a __KLIBC__ tests in libsysfs, as klibc now supports getpagesize()

ChangeSet@1.487, 2004-01-28 10:52:45-08:00, greg@kroah.com
  udevd - remove stupid locking error I wrote.

ChangeSet@1.486, 2004-01-28 10:35:47-08:00, greg@kroah.com
  update to klibc version 0.101, fixing the stdin bug.

ChangeSet@1.485, 2004-01-27 10:57:36-08:00, kay.sievers@vrfy.org
  [PATCH] udevd - next round of fixes
  
  Here is the next round. We have three queues now. All incoming messages
  are queued in msg_list and if nothing is missing we move it to the
  running_list and exec in the background.
  If the exec comes back, it removes the message from the running_list and
  frees the message.
  
  Before we exec, we check the running_list if there is a udev running on
  the same device path. If yes, we move the message to the delay_list. If
  the former exec comes back, we move the message to the running_list and
  exec it.
  
  The very first event is delayed now to catch possible earlier sequences,
  every following event is executed without delay if no sequence is missing.
  
  The daemon doesn't exit by itself any longer, cause we don't want to
  delay every first exec.
  
  I've put a $(PWD) for now in the Makefile for testing this beast. Only
  the local binaries are executed, not the /sbin/udev. We can change it
  if we are ready for real testing.
  
  And SIGKILL can't be cought, so I removed it from the handler :)
  
  
  06:58:36 sig_handler: caught signal 15
  06:58:36 main: using ipc queue 0x2d548
  06:58:37 message is still in the ipc queue, starting daemon...
  06:58:37 work: received sequence 3, expected sequence 0
  06:58:37 msg_dump_queue: sequence 3 in queue
  06:58:37 set_timeout: set timeout in 1 seconds
  06:58:37 main: using ipc queue 0x2d548
  06:58:37 main: using ipc queue 0x2d548
  06:58:37 work: received sequence 1, expected sequence 1
  06:58:37 msg_dump_queue: sequence 1 in queue
  06:58:37 msg_dump_queue: sequence 3 in queue
  06:58:37 msg_dump: sequence 1, 'add', '/block/sda', 'block'
  06:58:37 msg_exec: child [8038] created
  06:58:37 running_moveto_queue: move sequence 1 [8038] to running queue '/block/sda'
  06:58:37 set_timeout: set timeout in 5 seconds
  06:58:37 work: received sequence 2, expected sequence 2
  06:58:37 msg_dump_queue: sequence 2 in queue
  06:58:37 msg_dump_queue: sequence 3 in queue
  06:58:37 msg_dump: sequence 2, 'add', '/block/sdb', 'block'
  06:58:37 msg_exec: child [8039] created
  06:58:37 running_moveto_queue: move sequence 2 [8039] to running queue '/block/sdb'
  06:58:37 msg_dump: sequence 3, 'add', '/block/sdc', 'block'
  06:58:37 msg_exec: child [8040] created
  06:58:37 running_moveto_queue: move sequence 3 [8040] to running queue '/block/sdc'
  06:58:37 main: using ipc queue 0x2d548
  06:58:37 main: using ipc queue 0x2d548
  06:58:37 work: received sequence 4, expected sequence 4
  06:58:37 msg_dump_queue: sequence 4 in queue
  06:58:37 msg_dump: sequence 4, 'remove', '/block/sdc', 'block'
  06:58:37 msg_exec: delay exec of sequence 4, [8040] already working on '/block/sdc'
  06:58:37 delayed_moveto_queue: move event to delayed queue '/block/sdc'
  06:58:37 msg_exec: child [8043] created
  06:58:37 running_moveto_queue: move sequence 4 [8043] to running queue '/block/sdc'
  06:58:37 work: received sequence 5, expected sequence 5
  06:58:37 msg_dump_queue: sequence 5 in queue
  06:58:37 msg_dump: sequence 5, 'remove', '/block/sdb', 'block'
  06:58:37 msg_exec: delay exec of sequence 5, [8039] already working on '/block/sdb'
  06:58:37 delayed_moveto_queue: move event to delayed queue '/block/sdb'
  06:58:37 msg_exec: child [8044] created
  06:58:37 running_moveto_queue: move sequence 5 [8044] to running queue '/block/sdb'
  06:58:37 main: using ipc queue 0x2d548
  06:58:37 main: using ipc queue 0x2d548
  06:58:37 work: received sequence 8, expected sequence 6
  06:58:37 msg_dump_queue: sequence 8 in queue
  06:58:37 set_timeout: set timeout in 5 seconds
  06:58:37 work: received sequence 6, expected sequence 6
  06:58:37 msg_dump_queue: sequence 6 in queue
  06:58:37 msg_dump_queue: sequence 8 in queue
  06:58:37 msg_dump: sequence 6, 'remove', '/block/sda', 'block'
  06:58:37 msg_exec: delay exec of sequence 6, [8038] already working on '/block/sda'
  06:58:37 delayed_moveto_queue: move event to delayed queue '/block/sda'
  06:58:37 msg_exec: child [8047] created
  06:58:37 running_moveto_queue: move sequence 6 [8047] to running queue '/block/sda'
  06:58:37 set_timeout: set timeout in 5 seconds
  06:58:38 sig_handler: caught signal 17
  06:58:38 sig_handler: exec finished, pid 8038
  06:58:38 set_timeout: set timeout in 4 seconds
  06:58:38 msg_dump_queue: sequence 8 in queue
  06:58:38 sig_handler: caught signal 17
  06:58:38 sig_handler: exec finished, pid 8039
  06:58:38 set_timeout: set timeout in 4 seconds
  06:58:38 msg_dump_queue: sequence 8 in queue
  06:58:38 sig_handler: caught signal 17
  06:58:38 sig_handler: exec finished, pid 8040
  06:58:38 set_timeout: set timeout in 4 seconds
  06:58:38 msg_dump_queue: sequence 8 in queue
  06:58:38 sig_handler: caught signal 17
  06:58:38 sig_handler: exec finished, pid 8043
  06:58:38 set_timeout: set timeout in 4 seconds
  06:58:38 msg_dump_queue: sequence 8 in queue
  06:58:38 sig_handler: caught signal 17
  06:58:38 sig_handler: exec finished, pid 8044
  06:58:38 set_timeout: set timeout in 4 seconds
  06:58:38 msg_dump_queue: sequence 8 in queue
  06:58:38 sig_handler: caught signal 17
  06:58:38 sig_handler: exec finished, pid 8047
  06:58:38 set_timeout: set timeout in 4 seconds
  06:58:38 msg_dump_queue: sequence 8 in queue
  06:58:39 main: using ipc queue 0x2d548
  06:58:39 main: using ipc queue 0x2d548
  06:58:39 work: received sequence 9, expected sequence 7
  06:58:39 msg_dump_queue: sequence 8 in queue
  06:58:39 msg_dump_queue: sequence 9 in queue
  06:58:39 set_timeout: set timeout in 3 seconds
  06:58:39 work: received sequence 11, expected sequence 7
  06:58:39 msg_dump_queue: sequence 8 in queue
  06:58:39 msg_dump_queue: sequence 9 in queue
  06:58:39 msg_dump_queue: sequence 11 in queue
  06:58:39 set_timeout: set timeout in 3 seconds
  06:58:39 main: using ipc queue 0x2d548
  06:58:39 work: received sequence 10, expected sequence 7
  06:58:39 msg_dump_queue: sequence 8 in queue
  06:58:39 msg_dump_queue: sequence 9 in queue
  06:58:39 msg_dump_queue: sequence 10 in queue
  06:58:39 msg_dump_queue: sequence 11 in queue
  06:58:39 set_timeout: set timeout in 3 seconds
  06:58:39 main: using ipc queue 0x2d548
  06:58:39 work: received sequence 13, expected sequence 7
  06:58:39 msg_dump_queue: sequence 8 in queue
  06:58:39 msg_dump_queue: sequence 9 in queue
  06:58:39 msg_dump_queue: sequence 10 in queue
  06:58:39 msg_dump_queue: sequence 11 in queue
  06:58:39 msg_dump_queue: sequence 13 in queue
  06:58:39 set_timeout: set timeout in 3 seconds
  06:58:39 main: using ipc queue 0x2d548
  06:58:39 work: received sequence 14, expected sequence 7
  06:58:39 msg_dump_queue: sequence 8 in queue
  06:58:39 msg_dump_queue: sequence 9 in queue
  06:58:39 msg_dump_queue: sequence 10 in queue
  06:58:39 msg_dump_queue: sequence 11 in queue
  06:58:39 msg_dump_queue: sequence 13 in queue
  06:58:39 msg_dump_queue: sequence 14 in queue
  06:58:39 set_timeout: set timeout in 3 seconds
  06:58:39 main: using ipc queue 0x2d548
  06:58:39 work: received sequence 15, expected sequence 7
  06:58:39 msg_dump_queue: sequence 8 in queue
  06:58:39 msg_dump_queue: sequence 9 in queue
  06:58:39 msg_dump_queue: sequence 10 in queue
  06:58:39 msg_dump_queue: sequence 11 in queue
  06:58:39 msg_dump_queue: sequence 13 in queue
  06:58:39 msg_dump_queue: sequence 14 in queue
  06:58:39 msg_dump_queue: sequence 15 in queue
  06:58:39 set_timeout: set timeout in 3 seconds
  06:58:41 main: using ipc queue 0x2d548
  06:58:41 work: received sequence 12, expected sequence 7
  06:58:41 msg_dump_queue: sequence 8 in queue
  06:58:41 msg_dump_queue: sequence 9 in queue
  06:58:41 msg_dump_queue: sequence 10 in queue
  06:58:41 msg_dump_queue: sequence 11 in queue
  06:58:41 msg_dump_queue: sequence 12 in queue
  06:58:41 msg_dump_queue: sequence 13 in queue
  06:58:41 msg_dump_queue: sequence 14 in queue
  06:58:41 msg_dump_queue: sequence 15 in queue
  06:58:41 set_timeout: set timeout in 1 seconds
  06:58:42 sig_handler: caught signal 14
  06:58:42 sig_handler: event timeout reached
  06:58:42 event 8, age 5 seconds, skip event 7-7
  06:58:42 msg_dump: sequence 8, 'add', '/block/sdb', 'block'
  06:58:42 msg_exec: child [8057] created
  06:58:42 running_moveto_queue: move sequence 8 [8057] to running queue '/block/sdb'
  06:58:42 msg_dump: sequence 9, 'add', '/block/sdc', 'block'
  06:58:42 msg_exec: child [8058] created
  06:58:42 running_moveto_queue: move sequence 9 [8058] to running queue '/block/sdc'
  06:58:42 msg_dump: sequence 10, 'remove', '/block/sdc', 'block'
  06:58:42 msg_exec: delay exec of sequence 10, [8058] already working on '/block/sdc'
  06:58:42 delayed_moveto_queue: move event to delayed queue '/block/sdc'
  06:58:42 msg_exec: child [8059] created
  06:58:42 running_moveto_queue: move sequence 10 [8059] to running queue '/block/sdc'
  06:58:42 msg_dump: sequence 11, 'remove', '/block/sdb', 'block'
  06:58:42 msg_exec: delay exec of sequence 11, [8057] already working on '/block/sdb'
  06:58:42 delayed_moveto_queue: move event to delayed queue '/block/sdb'
  06:58:42 msg_exec: child [8060] created
  06:58:42 running_moveto_queue: move sequence 11 [8060] to running queue '/block/sdb'
  06:58:42 msg_dump: sequence 12, 'remove', '/block/sda', 'block'
  06:58:42 msg_exec: child [8061] created
  06:58:42 running_moveto_queue: move sequence 12 [8061] to running queue '/block/sda'
  06:58:42 msg_dump: sequence 13, 'add', '/block/sda', 'block'
  06:58:42 msg_exec: delay exec of sequence 13, [8061] already working on '/block/sda'
  06:58:42 delayed_moveto_queue: move event to delayed queue '/block/sda'
  06:58:42 msg_exec: child [8062] created
  06:58:42 running_moveto_queue: move sequence 13 [8062] to running queue '/block/sda'
  06:58:42 msg_dump: sequence 14, 'add', '/block/sdb', 'block'
  06:58:42 msg_exec: delay exec of sequence 14, [8057] already working on '/block/sdb'
  06:58:42 delayed_moveto_queue: move event to delayed queue '/block/sdb'
  06:58:42 msg_exec: child [8063] created
  06:58:42 running_moveto_queue: move sequence 14 [8063] to running queue '/block/sdb'
  06:58:42 msg_dump: sequence 15, 'add', '/block/sdc', 'block'
  06:58:42 msg_exec: delay exec of sequence 15, [8058] already working on '/block/sdc'
  06:58:42 delayed_moveto_queue: move event to delayed queue '/block/sdc'
  06:58:42 msg_exec: child [8064] created
  06:58:42 running_moveto_queue: move sequence 15 [8064] to running queue '/block/sdc'
  06:58:43 sig_handler: caught signal 17
  06:58:43 sig_handler: exec finished, pid 8057
  06:58:43 sig_handler: exec finished, pid 8058
  06:58:43 sig_handler: caught signal 17
  06:58:43 sig_handler: exec finished, pid 8059
  06:58:43 sig_handler: caught signal 17
  06:58:43 sig_handler: exec finished, pid 8060
  06:58:43 sig_handler: exec finished, pid 8061
  06:58:43 sig_handler: caught signal 17
  06:58:43 sig_handler: exec finished, pid 8062
  06:58:43 sig_handler: caught signal 17
  06:58:43 sig_handler: exec finished, pid 8063
  06:58:43 sig_handler: caught signal 17
  06:58:43 sig_handler: exec finished, pid 8064

ChangeSet@1.484, 2004-01-27 10:54:24-08:00, greg@kroah.com
  fix Makefile typo for USE_LSB install.
  
  Thanks to Martin Schwenke <martin@meltin.net> for pointing this out.

ChangeSet@1.483, 2004-01-26 16:40:14-08:00, kay.sievers@vrfy.org
  [PATCH] udevinfo - missing options for man page
  
  Here are the missing udevinfo options for the new man page.

ChangeSet@1.482, 2004-01-26 16:40:12-08:00, kay.sievers@vrfy.org
  [PATCH] udev - trivial style cleanup
  
  Trivial style cleanup, to be consistent.
  
  And add chdir("/") to the daemon so one can umout its filesystem,
  while we are running :)

ChangeSet@1.481, 2004-01-26 16:40:06-08:00, greg@kroah.com
  015_bk mark

ChangeSet@1.480, 2004-01-26 15:54:46-08:00, greg@kroah.com
  allow dbus code to actually build again.

ChangeSet@1.479, 2004-01-26 12:23:55-08:00, greg@kroah.com
  v015 release
  TAG: v015

ChangeSet@1.478, 2004-01-26 12:17:10-08:00, greg@kroah.com
  update klibc to version 0.98

ChangeSet@1.477, 2004-01-26 12:04:26-08:00, greg@kroah.com
  clean up udevinfo on 'make clean'

ChangeSet@1.476, 2004-01-26 11:56:59-08:00, greg@kroah.com
  add udevinfo man page to spec file.

ChangeSet@1.475, 2004-01-26 11:56:43-08:00, greg@kroah.com
  remove command line documentation from udev man page

ChangeSet@1.474, 2004-01-26 11:56:19-08:00, greg@kroah.com
  create initial version of udevinfo man page.

ChangeSet@1.473, 2004-01-26 11:41:00-08:00, greg@kroah.com
  added URL to spec file.

ChangeSet@1.472, 2004-01-26 11:32:57-08:00, greg@kroah.com
  add udevinfo to udev.spec file.

ChangeSet@1.471, 2004-01-26 11:32:01-08:00, greg@kroah.com
  add udevinfo to install target of Makefile

ChangeSet@1.470, 2004-01-26 11:23:11-08:00, greg@kroah.com
  rip out command line code from udev, now that we have udevinfo.

ChangeSet@1.469, 2004-01-26 11:22:31-08:00, greg@kroah.com
  udevinfo doesn't need to declare main_envp

ChangeSet@1.468, 2004-01-26 11:21:58-08:00, greg@kroah.com
  move get_pair to udev_config.c because udevinfo doesn't need all of namedev.o

ChangeSet@1.467, 2004-01-26 11:21:12-08:00, greg@kroah.com
  more makefile cleanups

ChangeSet@1.466, 2004-01-26 10:55:37-08:00, greg@kroah.com
  move udevinfo into the main build and clean up the main Makefile a bit.

ChangeSet@1.465, 2004-01-26 10:20:12-08:00, kay.sievers@vrfy.org
  [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

ChangeSet@1.464, 2004-01-26 10:19:33-08:00, kay.sievers@vrfy.org
  [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

ChangeSet@1.463, 2004-01-26 10:10:53-08:00, greg@kroah.com
  clean up compiler warnings if building using klibc.

ChangeSet@1.462, 2004-01-23 14:54:55-08:00, mbuesch@freenet.de
  [PATCH] LFS init script update

ChangeSet@1.461, 2004-01-23 14:26:19-08:00, greg@kroah.com
  make udevd only have one instance running at a time
  
  it used a file lock right now.  need to put that lock in the udev directory,
  it's in the current directory, which isn't a good thing...

ChangeSet@1.460, 2004-01-23 14:25:24-08:00, greg@kroah.com
  new testd.block script for debugging.

ChangeSet@1.459, 2004-01-23 13:43:37-08:00, greg@kroah.com
  udevsnd : clean up message creation logic a bit.

ChangeSet@1.458, 2004-01-23 13:25:17-08:00, kay.sievers@vrfy.org
  [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...

ChangeSet@1.457, 2004-01-22 20:02:58-08:00, greg@kroah.com
  make bk ignore udevd and udevsend binaries

ChangeSet@1.456, 2004-01-22 20:01:09-08:00, kay.sievers@vrfy.org
  [PATCH] fix udevd exec
  
  Sorry, some code is missing.
  Here is a fix to make the exec functional.

ChangeSet@1.455, 2004-01-22 19:01:02-08:00, kay.sievers@vrfy.org
  [PATCH] udev - udevinfo with device chain walk
  
  udevinfo is now capable to print "all" attributes along the device chain
  of a sysfs device. Just like udev itself it walks the chain upwards and
  prints all usable attributes in the udev key format.
  So it should be easy to find unique attributes to compose a rule.
  
  All multiline attribute values and values containing non printable
  characters are skipped now. I hope nothing useful gets lost with this :)
  
  NOTE:
    The BUS value corresponding with the attributes is printed for every
    device. Don't specify BUS= in a rule and mix SYSFS_attributes from
    different busses, the rule can't match.
  
  
  
  ./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 the class device's "device"
    looking at the device chain at '/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.3/1-1.3:1.0/host32/32:0:0:0':
      BUS="scsi"
      ID="32:0:0:0"
      SYSFS_detach_state="0"
      SYSFS_type="0"
      SYSFS_model="USB 2 HS-CF"
      SYSFS_vendor="SMSC    "
      SYSFS_max_sectors="240"
      SYSFS_device_blocked="0"
      SYSFS_queue_depth="1"
      SYSFS_scsi_level="3"
      SYSFS_rev="1.25"
      SYSFS_online="1"
  
    looking at the device chain at '/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.3/1-1.3:1.0/host32':
      BUS=""
      ID="host32"
      SYSFS_detach_state="0"
  
    looking at the device chain at '/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.3/1-1.3:1.0':
      BUS="usb"
      ID="1-1.3:1.0"
      SYSFS_detach_state="0"
      SYSFS_bInterfaceNumber="00"
      SYSFS_bAlternateSetting=" 0"
      SYSFS_bNumEndpoints="02"
      SYSFS_bInterfaceClass="08"
      SYSFS_bInterfaceSubClass="06"
      SYSFS_bInterfaceProtocol="50"
      SYSFS_iInterface="00"
  
    looking at the device chain at '/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.3':
      BUS="usb"
      ID="1-1.3"
      SYSFS_detach_state="0"
      SYSFS_bNumConfigurations="1"
      SYSFS_bNumInterfaces=" 1"
      SYSFS_bConfigurationValue="1"
      SYSFS_bmAttributes="80"
      SYSFS_bMaxPower=" 96mA"
      SYSFS_idVendor="0424"
      SYSFS_idProduct="20fc"
      SYSFS_bcdDevice="0125"
      SYSFS_bDeviceClass="00"
      SYSFS_bDeviceSubClass="00"
      SYSFS_bDeviceProtocol="00"
      SYSFS_speed="12"
      SYSFS_manufacturer="SMSC"
      SYSFS_product="USB 2 Flash Media Device"
      SYSFS_serial="0305037000C2"
  
    looking at the device chain at '/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1':
      BUS="usb"
      ID="1-1"
      SYSFS_detach_state="0"
      SYSFS_bNumConfigurations="1"
      SYSFS_bNumInterfaces=" 1"
      SYSFS_bConfigurationValue="1"
      SYSFS_bmAttributes="e0"
      SYSFS_bMaxPower=" 64mA"
      SYSFS_idVendor="03eb"
      SYSFS_idProduct="3301"
      SYSFS_bcdDevice="0300"
      SYSFS_bDeviceClass="09"
      SYSFS_bDeviceSubClass="00"
      SYSFS_bDeviceProtocol="00"
      SYSFS_speed="12"
      SYSFS_product="Standard USB Hub"
  
    looking at the device chain at '/sys/devices/pci0000:00/0000:00:1d.0/usb1':
      BUS="usb"
      ID="usb1"
      SYSFS_detach_state="0"
      SYSFS_bNumConfigurations="1"
      SYSFS_bNumInterfaces=" 1"
      SYSFS_bConfigurationValue="1"
      SYSFS_bmAttributes="40"
      SYSFS_bMaxPower="  0mA"
      SYSFS_idVendor="0000"
      SYSFS_idProduct="0000"
      SYSFS_bcdDevice="0206"
      SYSFS_bDeviceClass="09"
      SYSFS_bDeviceSubClass="00"
      SYSFS_bDeviceProtocol="00"
      SYSFS_speed="12"
      SYSFS_manufacturer="Linux 2.6.2-rc1-p4 uhci_hcd"
      SYSFS_product="UHCI Host Controller"
      SYSFS_serial="0000:00:1d.0"
  
    looking at the device chain at '/sys/devices/pci0000:00/0000:00:1d.0':
      BUS="pci"
      ID="0000:00:1d.0"
      SYSFS_detach_state="0"
      SYSFS_vendor="0x8086"
      SYSFS_device="0x2482"
      SYSFS_subsystem_vendor="0x1014"
      SYSFS_subsystem_device="0x0220"
      SYSFS_class="0x0c0300"
      SYSFS_irq="9"
  
    looking at the device chain at '/sys/devices/pci0000:00':
      BUS=""
      ID="pci0000:00"
      SYSFS_detach_state="0"

ChangeSet@1.454, 2004-01-22 17:51:06-08:00, greg@kroah.com
  whitespace cleanups

ChangeSet@1.453, 2004-01-22 16:28:57-08:00, kay.sievers@vrfy.org
  [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.

ChangeSet@1.452, 2004-01-22 16:22:17-08:00, greg@kroah.com
  remove TODO item about BUS value, as it is now done.

ChangeSet@1.451, 2004-01-22 16:21:13-08:00, greg@kroah.com
  add support for figuring out which device on the sysfs "chain" the rule applies to.
  
  This should fix one of the more annoying things to me about udev, and 
  gets rid of a TODO item.

ChangeSet@1.450, 2004-01-22 13:04:54-08:00, greg@kroah.com
  014_bk mark

ChangeSet@1.449, 2004-01-21 17:06:18-08:00, greg@kroah.com
  014 release
  TAG: v014

ChangeSet@1.448, 2004-01-21 16:54:52-08:00, greg@kroah.com
  misc code cleanups.

ChangeSet@1.447, 2004-01-21 16:16:28-08:00, christophe.varoqui@free.fr
  [PATCH] udev-013/extras/multipath update
  
  incremental to 0.0.13,
  
  * update the DM target synthax to the 2.6.0-udm5 style
  * update the changelog and the doc to reflect minimal requirements

ChangeSet@1.446, 2004-01-19 12:41:14-08:00, greg@kroah.com
  fixup logging.h to handle different logging options properly.
  
  Thanks to Olaf Hering <olh@suse.de> for the error message.

ChangeSet@1.445, 2004-01-19 11:46:26-08:00, kay.sievers@vrfy.org
  [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"

ChangeSet@1.444, 2004-01-19 11:44:24-08:00, kay.sievers@vrfy.org
  [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'

ChangeSet@1.443, 2004-01-19 11:42:42-08:00, hannal@us.ibm.com
  [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.

ChangeSet@1.442, 2004-01-19 11:40:32-08:00, kay.sievers@vrfy.org
  [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.

ChangeSet@1.441, 2004-01-19 11:39:28-08:00, kay.sievers@vrfy.org
  [PATCH] udev - kill %D from udev-test.pl
  
  Kill the two tests with %D.

ChangeSet@1.440, 2004-01-16 14:03:50-08:00, patmans@us.ibm.com
  [PATCH] update udev scsi_id to scsi_id 0.3

ChangeSet@1.439, 2004-01-15 16:22:56-08:00, hannal@us.ibm.com
  [PATCH] small cut n paste error fix

ChangeSet@1.438, 2004-01-15 14:00:58-08:00, greg@kroah.com
  clean up the logging patch a bit to make the option more like the other options.
  
  Also documented it and added it to the .spec file.

ChangeSet@1.437, 2004-01-15 13:53:20-08:00, kay.sievers@vrfy.org
  [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

ChangeSet@1.436, 2004-01-15 13:49:53-08:00, flamingice@sourmilk.net
  [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.

ChangeSet@1.435, 2004-01-15 13:42:59-08:00, greg@kroah.com
  remove the %D modifier as it is not longer needed.

ChangeSet@1.434, 2004-01-15 13:18:21-08:00, greg@kroah.com
  remove unneeded keyboard rule.

ChangeSet@1.433, 2004-01-14 14:55:24-08:00, greg@kroah.com
  add usb_host and pci_bus to the class blacklist.

ChangeSet@1.432, 2004-01-14 14:21:38-08:00, ananthmg@rediffmail.com
  [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.

ChangeSet@1.431, 2004-01-14 13:38:36-08:00, greg@kroah.com
  added input device rules to udev.rules and udev.rules.devfs

ChangeSet@1.430, 2004-01-14 10:18:12-08:00, kay.sievers@vrfy.org
  [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.

ChangeSet@1.429, 2004-01-14 10:16:32-08:00, greg@kroah.com
  013_bk mark

ChangeSet@1.428, 2004-01-13 14:59:11-08:00, greg@kroah.com
  v013 release
  TAG: v013

ChangeSet@1.427, 2004-01-13 14:55:21-08:00, greg@kroah.com
  update TODO with some new, small items.

ChangeSet@1.426, 2004-01-13 10:48:33-08:00, kay.sievers@vrfy.org
  [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 :)

ChangeSet@1.425, 2004-01-13 10:47:17-08:00, greg@kroah.com
  Cset exclude: greg@kroah.com|ChangeSet|20040113010256|48515

ChangeSet@1.424, 2004-01-13 10:34:38-08:00, kay.sievers@vrfy.org
  [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"

ChangeSet@1.423, 2004-01-13 10:34:33-08:00, kay.sievers@vrfy.org
  [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 :)

ChangeSet@1.422, 2004-01-13 10:31:20-08:00, kay.sievers@vrfy.org
  [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.

ChangeSet@1.421, 2004-01-13 10:31:18-08:00, kay.sievers@vrfy.org
  [PATCH] udev - CALLOUT is PROGRAM now
  
  replace CALLOUT by PROGRAM and fix old rule format

ChangeSet@1.420, 2004-01-12 17:49:45-08:00, greg@kroah.com
  update the README in a few places.

ChangeSet@1.419, 2004-01-12 17:36:56-08:00, greg@kroah.com
  fix -d typo in the manpage update

ChangeSet@1.418, 2004-01-12 17:35:55-08:00, kay.sievers@vrfy.org
  [PATCH] update documentation for new config file format
  
  Here is the man page update after my udev-weekend :)

ChangeSet@1.417, 2004-01-12 17:02:56-08:00, greg@kroah.com
  Fix stupid gcc "optimization" of 1 character printk() calls.... Ick...

ChangeSet@1.416, 2004-01-12 17:01:19-08:00, kay.sievers@vrfy.org
  [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:

ChangeSet@1.415, 2004-01-12 16:51:44-08:00, kay.sievers@vrfy.org
  [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'

ChangeSet@1.414, 2004-01-12 15:45:30-08:00, greg@kroah.com
  oops, forgot to fix up the PROGRAM result from ID to RESULT in the config files.

ChangeSet@1.413, 2004-01-12 15:29:57-08:00, elkropac@students.zcu.cz
  [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

ChangeSet@1.412, 2004-01-12 15:22:52-08:00, greg@kroah.com
  Add alsa device rules and a few other devfs rules.
  
  Thanks to Libor Klepac <elkropac@students.zcu.cz> for the information

ChangeSet@1.411, 2004-01-12 15:22:13-08:00, greg@kroah.com
  fix a few stale comments in namedev.c

ChangeSet@1.410, 2004-01-12 15:13:10-08:00, greg@kroah.com
  convert the default rules files to the new format.

ChangeSet@1.409, 2004-01-12 15:09:20-08:00, greg@kroah.com
  convert the test shell scripts to the config file format.

ChangeSet@1.408, 2004-01-12 15:09:02-08:00, greg@kroah.com
  add bus test for usb-serial bus.

ChangeSet@1.407, 2004-01-12 15:08:43-08:00, greg@kroah.com
  Add some helpful messages if the user uses the older config file format
  
  Also fail a rule that we can not parse, as we can easily create incorrect rules
  if we do not do this.

ChangeSet@1.406, 2004-01-12 13:39:05-08:00, kay.sievers@vrfy.org
  [PATCH] udev - drop all methods :)
  
  > Hi,
  > as promised yesterday, here is a patch that drops the explicit methods
  > given in the udev config and implement only one type of rule.
  >
  > A rule now consists only of a number of keys to match. All known keys
  > are valid in any combination. The former configs should work with a few
  > changes:
  >
  >   o the "<METHOD>, " at the beginning of the line should be removed
  >
  >   o the result of the externel program is matched with RESULT= instead if ID=
  >     the PROGRAM= key is only valid if the program exits with zero
  >     (just exit with nozero in a script if the rule should not match)
  >
  >   o rules are processed in order they appear in the file, no priority
  >
  >   o if NAME="" is given, udev is instructed to ignore this device,
  >     no node will be created
  >
  >
  >   EXAMPLE:
  >
  >   # combined BUS, SYSFS and KERNEL
  >   BUS="usb", KERNEL="video*", SYSFS_model="Creative Labs WebCam*", NAME="test/webcam%n"
  >
  >   # exec script only for the first ide drive (hda), all other will be skipped
  >   BUS="ide", KERNEL="hda*", PROGRAM="/home/kay/src/udev.kay/extras/ide-devfs.sh %k %b %n", RESULT="hd*", NAME="%1c", SYMLINK="%2c %3c"
  >
  >
  > The udev-test.pl and test.block works fine here.
  > Please adapt your config and give it a try.
  >
  
  
  Here is a slightly better version of the patch.
  After a conversation with Patrick, we are now able to execute the PROGRAM
  and also match in all following rules with the RESULT value from this exec.
  
  
  EXAMPLE:
    We have 7 rules with RESULT and 2 with PROGRAM.
    Only the 5th rule matches with the callout result from the exec in the 4th rule.
  
  RULES:
    PROGRAM="/bin/echo abc", RESULT="no_match", NAME="web-no-2"
    KERNEL="video*", RESULT="123", NAME="web-no-3"
    KERNEL="video*", RESULT="123", NAME="web-no-4"
    PROGRAM="/bin/echo 123", RESULT="no_match", NAME="web-no-5"
    KERNEL="video*", RESULT="123", NAME="web-yes"
  
  
  RESULT:
    Jan 11 23:36:52 pim udev[26050]: namedev_name_device: process rule
    Jan 11 23:36:52 pim udev[26050]: namedev_name_device: check PROGRAM
    Jan 11 23:36:52 pim udev[26050]: execute_program: executing '/bin/echo abc'
    Jan 11 23:36:52 pim udev[26050]: execute_program: result is 'abc'
    Jan 11 23:36:52 pim udev[26050]: namedev_name_device: PROGRAM returned successful
    Jan 11 23:36:52 pim udev[26050]: namedev_name_device: check for RESULT dev->result='no_match', udev->program_result='abc'
    Jan 11 23:36:52 pim udev[26050]: namedev_name_device: RESULT is not matching
    Jan 11 23:36:52 pim udev[26050]: namedev_name_device: process rule
    Jan 11 23:36:52 pim udev[26050]: namedev_name_device: check for KERNEL dev->kernel='video*' class_dev->name='video0'
    Jan 11 23:36:52 pim udev[26050]: namedev_name_device: KERNEL matches
    Jan 11 23:36:52 pim udev[26050]: namedev_name_device: check for RESULT dev->result='123', udev->program_result='abc'
    Jan 11 23:36:52 pim udev[26050]: namedev_name_device: RESULT is not matching
    Jan 11 23:36:52 pim udev[26050]: namedev_name_device: process rule
    Jan 11 23:36:52 pim udev[26050]: namedev_name_device: check for KERNEL dev->kernel='video*' class_dev->name='video0'
    Jan 11 23:36:52 pim udev[26050]: namedev_name_device: KERNEL matches
    Jan 11 23:36:52 pim udev[26050]: namedev_name_device: check for RESULT dev->result='123', udev->program_result='abc'
    Jan 11 23:36:52 pim udev[26050]: namedev_name_device: RESULT is not matching
    Jan 11 23:36:52 pim udev[26050]: namedev_name_device: process rule
    Jan 11 23:36:52 pim udev[26050]: namedev_name_device: check PROGRAM
    Jan 11 23:36:52 pim udev[26050]: execute_program: executing '/bin/echo 123'
    Jan 11 23:36:52 pim udev[26050]: execute_program: result is '123'
    Jan 11 23:36:52 pim udev[26050]: namedev_name_device: PROGRAM returned successful
    Jan 11 23:36:52 pim udev[26050]: namedev_name_device: check for RESULT dev->result='no_match', udev->program_result='123'
    Jan 11 23:36:52 pim udev[26050]: namedev_name_device: RESULT is not matching
    Jan 11 23:36:52 pim udev[26050]: namedev_name_device: process rule
    Jan 11 23:36:52 pim udev[26050]: namedev_name_device: check for KERNEL dev->kernel='video*' class_dev->name='video0'
    Jan 11 23:36:52 pim udev[26050]: namedev_name_device: KERNEL matches
    Jan 11 23:36:52 pim udev[26050]: namedev_name_device: check for RESULT dev->result='123', udev->program_result='123'
    Jan 11 23:36:52 pim udev[26050]: namedev_name_device: RESULT matches
    Jan 11 23:36:52 pim udev[26050]: namedev_name_device: found matching rule, 'video*' becomes ''
    Jan 11 23:36:52 pim udev[26050]: namedev_name_device: name, 'web-yes' is going to have owner='', group='', mode = 0600

ChangeSet@1.405, 2004-01-12 13:18:57-08:00, kay.sievers@vrfy.org
  [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

ChangeSet@1.404, 2004-01-12 13:17:22-08:00, kay.sievers@vrfy.org
  [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

ChangeSet@1.403, 2004-01-09 17:19:57-08:00, eike-hotplug@sf-tec.de
  [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)

ChangeSet@1.402, 2004-01-09 17:14:34-08:00, greg@kroah.com
  added dri rule to the default config file.

ChangeSet@1.401, 2004-01-09 17:10:50-08:00, kay.sievers@vrfy.org
  [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.

ChangeSet@1.400, 2004-01-09 17:05:38-08:00, kay.sievers@vrfy.org
  [PATCH] udev - exec status fix for klibc
  
  Here is a patch to remove the ifdef's and fix klibc instead.

ChangeSet@1.399, 2004-01-09 17:04:13-08:00, kay.sievers@vrfy.org
  [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

ChangeSet@1.398, 2004-01-09 17:02:44-08:00, greg@kroah.com
  added init.d udev script for debian
  
  Thanks to Mathieu Segaud <matt@minas-morgul.org> for the file.

ChangeSet@1.397, 2004-01-09 16:59:55-08:00, tiggi@infa.abo.fi
  [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.

ChangeSet@1.396, 2004-01-09 16:58:35-08:00, greg@kroah.com
  add a script that tests the IGNORE rule
  
  Can't figure out how to test for "nothing" in the udev-test.pl script framework.

ChangeSet@1.395, 2004-01-09 16:55:28-08:00, christophe@saout.de
  [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.

ChangeSet@1.394, 2004-01-09 16:54:33-08:00, christophe@saout.de
  [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?

ChangeSet@1.393, 2004-01-05 17:11:53-08:00, greg@kroah.com
  add silly script that names cdrom drives based on the cd in them.

ChangeSet@1.392, 2004-01-05 17:11:15-08:00, greg@kroah.com
  add cdrom rule for ide cdrom.
  
  Rule came from Kay

ChangeSet@1.391, 2004-01-04 00:18:16-08:00, greg@kroah.com
  replace list_for_each with list_for_each_entry, saving a few lines of code.

ChangeSet@1.390, 2004-01-04 00:08:26-08:00, greg@kroah.com
  add a blacklist of class devices we do not want to look at.
  
  Thanks to Kay for the original patch, and the idea.

ChangeSet@1.389, 2004-01-02 21:37:27-08:00, greg@kroah.com
  012_bk change.

ChangeSet@1.388, 2003-12-31 13:46:59-08:00, greg@kroah.com
  v012 release
  TAG: v012

ChangeSet@1.387, 2003-12-31 13:22:35-08:00, greg@kroah.com
  minor grammer fixes for the udev_vs_devfs document
  
  Thanks to Seemant Kulleen <seemant@gentoo.org> for pointing them out.

ChangeSet@1.386, 2003-12-31 12:38:14-08:00, greg@kroah.com
  move the dbus config file to etc/dbus-1/system.d/

ChangeSet@1.385, 2003-12-31 12:35:02-08:00, greg@kroah.com
  move the config files to etc/udev to clean up main directory a bit.

ChangeSet@1.384, 2003-12-31 12:28:15-08:00, greg@kroah.com
  add Gentoo versions of the rules and permissions files.

ChangeSet@1.383, 2003-12-31 11:11:04-08:00, greg@kroah.com
  if using glibc, link dynamically, as no one like 500Kb udev binaries...

ChangeSet@1.382, 2003-12-30 16:34:51-08:00, kay.sievers@vrfy.org
  [PATCH] mention user callable udev + options in man page
  
  As usual, here is the corresponding man page update and
  a small text correction.

ChangeSet@1.381, 2003-12-30 16:34:49-08:00, rml@ximian.com
  [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.

ChangeSet@1.380, 2003-12-30 16:28:05-08:00, greg@kroah.com
  minor change to udev_vs_devfs document.

ChangeSet@1.379, 2003-12-30 16:25:01-08:00, greg@kroah.com
  added udev vs devfs supid document to the tree.

ChangeSet@1.378, 2003-12-30 14:39:37-08:00, christophe.varoqui@free.fr
  [PATCH] extras multipath update
  
  incremental to 0.0.12-1,
  
  * check hotplug event refers to a block device; if not exit early

ChangeSet@1.377, 2003-12-30 14:36:17-08:00, christophe.varoqui@free.fr
  [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

ChangeSet@1.376, 2003-12-30 14:31:37-08:00, kay.sievers@vrfy.org
  [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

ChangeSet@1.375, 2003-12-30 14:25:12-08:00, kay.sievers@vrfy.org
  [PATCH] depend on all .h files
  
  Let the build depend on all header files.

ChangeSet@1.374, 2003-12-29 17:33:35-08:00, azarah@nosferatu.za.org
  [PATCH] make symlink work properly if there is already a file in its place
  
  If a file that is not a symlink (node, socket, fifo, etc) already
  exist where udev need to create a symlink, symlink() fails.  This
  patch basically test for an existing file, and unlink it.

ChangeSet@1.373, 2003-12-29 17:29:25-08:00, kay.sievers@vrfy.org
  [PATCH] cleanup namedev_parse debug text
  
  I missed a few spaces with my recent change.

ChangeSet@1.372, 2003-12-29 17:29:16-08:00, greg@kroah.com
  move the signal handling registration to after we have initialized enough stuff.

ChangeSet@1.371, 2003-12-29 17:21:06-08:00, mbuesch@freenet.de
  [PATCH] introduce signal handler
  
  Here's a patch that adds a signal handler to udev to
  clean up the environment (close the sysbus and close
  the database) on kill-signals.

ChangeSet@1.370, 2003-12-29 17:18:28-08:00, azarah@nosferatu.za.org
  [PATCH] Fix udev gcc-2.95.4 compat
  
  Two liner to get gcc-2.95.4 to compile udev.

ChangeSet@1.369, 2003-12-29 17:16:43-08:00, greg@kroah.com
  make ide-devfs.sh executable in the tree.

ChangeSet@1.368, 2003-12-29 17:08:02-08:00, kay.sievers@vrfy.org
  [PATCH] extend exec_program[]
  
  extend exec_program size to 100 chars cause:
  
    PROGRAM="/home/kay/src/udev.kay/extras/ide-devfs.sh %k %b %n"
  
  is too long :)

ChangeSet@1.367, 2003-12-29 17:08:00-08:00, kay.sievers@vrfy.org
  [PATCH] ide-devfs.sh update
  
  Attached is a patch for ide-devfs.sh,
  The script is merged with the one from Martin Schlemmer, and cleaned up
  by him, to create both types of symlinks with one single rule:
  
    CALLOUT, BUS="ide", PROGRAM="/etc/udev/ide-devfs.sh %k %b %n", ID="hd*", NAME="%1c", SYMLINK="%2c %3c"
  
  
  /udev/
  |-- cdroms
  |   `-- cdrom0 -> ../hdc
  |-- discs
  |   |-- disc0
  |   |   |-- disc -> ../../hda
  |   |   |-- part1 -> ../../hda1
  |   |   |-- part2 -> ../../hda2
  |   |   `-- part4 -> ../../hda4
  |   |-- disc1
  |   |   |-- disc -> ../../hdb
  |   |   `-- part1 -> ../../hdb1
  |   `-- disc2
  |       |-- disc -> ../../hde
  |       `-- part1 -> ../../hde1
  |-- 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

ChangeSet@1.366, 2003-12-29 17:07:59-08:00, kay.sievers@vrfy.org
  [PATCH] fix for apply_format()
  
  fix possible NULL pointer in '%c' callout substitution
  and cleanup '%D' debug text

ChangeSet@1.365, 2003-12-29 17:07:57-08:00, kay.sievers@vrfy.org
  [PATCH] check for empty symlink string
  
  Attached is a patch for udev-add.c to ignore empty symlink string parts.
  Issue was brought up by ide-devfs.sh with only one symlink returned, while two are expected.

ChangeSet@1.364, 2003-12-29 17:07:55-08:00, kay.sievers@vrfy.org
  [PATCH] 'ide' missing in bus_files[]
  
  my syslog want's to contact you :)
  
    Dec 25 20:37:48 pim udev[2274]: wait_for_device_to_initialize: Did not find bus type 'ide' on list of bus_id_files, contact greg@kroah.com
  
  We need to put 'ide' to the bus_files array,
  don't know which file to use...

ChangeSet@1.363, 2003-12-29 17:02:59-08:00, greg@kroah.com
  udev.permissions.debian - forgot the dm nodes.

ChangeSet@1.362, 2003-12-29 17:01:05-08:00, greg@kroah.com
  update the udev.permissions.debian file with new entries.
  
  Thanks to Mathieu Segaud <matt@minas-morgul.org> for the information

ChangeSet@1.361, 2003-12-29 16:58:31-08:00, greg@kroah.com
  added udev.init script for the Linux From Scratch project.
  
  Thanks to Michael Buesch <mbuesch@freenet.de> for providing it.

ChangeSet@1.360, 2003-12-29 16:54:29-08:00, kay.sievers@vrfy.org
  [PATCH] small trivial cleanup of latest changes
  
  here is a patch for a typo in the man page, a whitespace cleanup
  and a replace for the magic hex ASCII in char operations.

ChangeSet@1.359, 2003-12-29 16:52:16-08:00, greg@kroah.com
  011_bk tag

ChangeSet@1.358, 2003-12-24 16:38:45-08:00, greg@kroah.com
  v011 release
  TAG: v011

ChangeSet@1.357, 2003-12-24 16:35:09-08:00, greg@kroah.com
  add documentation about the BUS key being optional for the LABEL rule.

ChangeSet@1.356, 2003-12-24 16:33:56-08:00, greg@kroah.com
  add tests for LABEL rule with a device that has no bus.

ChangeSet@1.355, 2003-12-24 16:33:27-08:00, greg@kroah.com
  Don't require the BUS value for the LABEL rule.

ChangeSet@1.354, 2003-12-24 16:33:00-08:00, greg@kroah.com
  If a LABEL rule has a BUS id, then we must check to see if the device is on a bus.

ChangeSet@1.353, 2003-12-24 16:08:55-08:00, greg@kroah.com
  add documentation about the BUS key being optional for the CALLOUT rule.

ChangeSet@1.352, 2003-12-24 16:05:28-08:00, greg@kroah.com
  If a CALLOUT rule has a BUS id, then we must check to see if the device is on a bus.
  
  Thanks to Martin Schlemmer <azarah@nosferatu.za.org> for pointing this out.

ChangeSet@1.351, 2003-12-24 16:03:56-08:00, greg@kroah.com
  Don't require the BUS value for the CALLOUT rule.

ChangeSet@1.350, 2003-12-24 15:56:54-08:00, greg@kroah.com
  add test for callout rule with a device that has no bus.

ChangeSet@1.349, 2003-12-24 15:56:29-08:00, greg@kroah.com
  010_bk stamp

ChangeSet@1.348, 2003-12-24 15:38:58-08:00, greg@kroah.com
  added different build options to the rpm udev.spec file.

ChangeSet@1.347, 2003-12-24 15:01:40-08:00, svetljo@gmx.de
  [PATCH] fix udev sed Makefile usage

ChangeSet@1.346, 2003-12-24 14:58:16-08:00, mbuesch@freenet.de
  [PATCH] proper cleanup on udevdb_init() failure
  
  Seems like we need the following patch to do
  proper sysbus cleanup, if udevdb_init() fails.

ChangeSet@1.345, 2003-12-24 14:54:39-08:00, mh@nadir.org
  [PATCH] patch udev 009-010 rpm spec file
  
  the following problem was introduced with udev 009:
  
  [root@claw packages]# rpm -Uvh ~mh/rpm/RPMS/ppc/udev-010-1.ppc.rpm
  Preparing...########################################### [100%]
     1:udev   ########################################### [100%]
  error: unpacking of archive failed on file /usr/share/doc/udev-010/COPYING;3fe8a8e3: cpio: open failed - Permission denied
  
  it's because the mode of the directory /usr/share/doc/udev-010/ is
  0644. This is with yellodog-3.0.
  
  the following patch fixes it:

ChangeSet@1.344, 2003-12-24 14:51:16-08:00, greg@kroah.com
  add pci to the bus_files list.

ChangeSet@1.343, 2003-12-24 13:48:18-08:00, greg@kroah.com
  check for empty line a bit better in the parser.
  
  Thanks to Mitch <mitch@0bits.com> for pointing this out.

ChangeSet@1.342, 2003-12-24 13:47:14-08:00, greg@kroah.com
  more init script cleanups, the stop target now calls udev to cleanup instead of just removing the whole /udev directory.

ChangeSet@1.341, 2003-12-24 13:25:40-08:00, greg@kroah.com
  make udev init script run udev in the background to let startup go much faster

ChangeSet@1.340, 2003-12-24 11:44:19-08:00, greg@kroah.com
  fix long delay for all devices in namedev
  
  Now we only sleep if we can't find the device file, and we have
  a hack to sleep for 1 second if we are on a partition.  This will be
  removed when the libsysfs change gets made...

ChangeSet@1.339, 2003-12-22 16:33:29-08:00, greg@kroah.com
  v010 release
  TAG: v010

ChangeSet@1.338, 2003-12-22 15:30:51-08:00, kay.sievers@vrfy.org
  [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

ChangeSet@1.337, 2003-12-22 14:47:58-08:00, kay.sievers@vrfy.org
  [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

ChangeSet@1.336, 2003-12-22 14:45:43-08:00, greg@kroah.com
  fix complier warning in namedev.c

ChangeSet@1.335, 2003-12-22 14:40:19-08:00, greg@kroah.com
  add documentation for the new '%k' modifier (kernel name replacement)

ChangeSet@1.334, 2003-12-22 14:36:10-08:00, greg@kroah.com
  add documentation about the multiple sysfs values that are now allowed for the LABEL rule.

ChangeSet@1.333, 2003-12-22 14:32:06-08:00, greg@kroah.com
  add tests for multi-file LABEL rules.

ChangeSet@1.332, 2003-12-22 14:31:35-08:00, greg@kroah.com
  add ability to have up to 5 SYSFS_ file/value pairs for the LABEL rule.

ChangeSet@1.331, 2003-12-22 12:54:51-08:00, ananth@in.ibm.com
  [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)?

ChangeSet@1.330, 2003-12-22 12:53:55-08:00, christophe.varoqui@free.fr
  [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

ChangeSet@1.329, 2003-12-22 12:52:01-08:00, christophe.varoqui@free.fr
  [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"

ChangeSet@1.328, 2003-12-22 12:49:48-08:00, christophe.varoqui@free.fr
  [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

ChangeSet@1.327, 2003-12-22 12:49:22-08:00, christophe.varoqui@free.fr
  [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

ChangeSet@1.326, 2003-12-22 12:34:53-08:00, kay.sievers@vrfy.org
  [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

ChangeSet@1.325, 2003-12-22 11:16:19-08:00, kay.sievers@vrfy.org
  [PATCH] add any valid device

ChangeSet@1.324, 2003-12-22 11:13:19-08:00, kay.sievers@vrfy.org
  [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' :)

ChangeSet@1.323, 2003-12-22 11:10:27-08:00, kay.sievers@vrfy.org
  [PATCH] trivial make fixes
  
  One patch to let bk ignore the created udev.conf.
  The second to depend on the .h files.

ChangeSet@1.322, 2003-12-22 11:07:08-08:00, greg@kroah.com
  Just live with a sleep(1) in namedev for now until libsysfs is fixed up.

ChangeSet@1.321, 2003-12-19 17:05:13-08:00, greg@kroah.com
  try to wait until the proper device file shows up in sysfs.
  
  this still isn't working correctly for partitions, so don't
  think this is the final version...

ChangeSet@1.320, 2003-12-19 10:29:10-08:00, dsteklof@us.ibm.com
  [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.

ChangeSet@1.319, 2003-12-19 10:29:05-08:00, kay.sievers@vrfy.org
  [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.

ChangeSet@1.318, 2003-12-19 10:29:01-08:00, kay.sievers@vrfy.org
  [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.

ChangeSet@1.317, 2003-12-19 10:08:39-08:00, greg@kroah.com
  remove unneeded TODO and FIXME entry
  
  Thanks to Kay for pointing it out to me.

ChangeSet@1.316, 2003-12-17 14:41:04-08:00, greg@kroah.com
  clean up the stand-alone tests to work properly on other people's machines.

ChangeSet@1.315, 2003-12-17 14:33:29-08:00, kay.sievers@vrfy.org
  [PATCH] bug in udev-remove.c
  
  Uups, we have a bug in udev-remove.c.
  
  udev segfaults with NULL-pointer, if the device is not in the database:
  
    ./test.block: line 29:  4844 Segmentation fault      $BIN block
    Dec 17 22:47:42 pim udev[4882]: udev_remove_device: '/block/sdy' not found in database, falling back on default name
    Dec 17 22:47:42 pim udev[4882]: udev_remove_device: name is '(null)'

ChangeSet@1.314, 2003-12-17 11:05:25-08:00, dsteklof@us.ibm.com
  [PATCH] fix scsi_id segfault with udev-009
  
  Scsi_id hasn't been changed to use the latest libsysfs changes. The
  "directory" in the sysfs_class_device is now considered "private" and only
  should be accessed using functions. Treating the structures as handles lets
  us only load information when it's needed, reducing caching or stale
  information and also helping performance.
  
  Here's the problem.
  
  static inline char *sysfs_get_attr(struct sysfs_class_device *dev,
                                      const char *attr)
  {
          return sysfs_get_value_from_attributes(dev->directory->attributes,
                                                 attr);
  }
  
  Please try this quick fix:

ChangeSet@1.313, 2003-12-17 10:58:28-08:00, dsteklof@us.ibm.com
  [PATCH] add libsysfs docs
  
  Here's the latest libsysfs doc, you may want to include it in your
  docs directory.

ChangeSet@1.312, 2003-12-17 10:32:53-08:00, akropel1@rochester.rr.com
  [PATCH] Allow build with empty EXTRAS
  
  Need to let the shell expand $EXTRAS so it can properly detect an empty
  list. Without this patch, the build fails whenever $EXTRAS is empty.

ChangeSet@1.311, 2003-12-17 10:28:05-08:00, greg@kroah.com
  add tests to catch whitespace and comment config file parsing errors.

ChangeSet@1.310, 2003-12-17 10:24:05-08:00, Roman.Kagan@itep.ru
  [PATCH] fix comment and whitespace handling in config files.
  
  This chunk broke parsing of blank lines and comments with blanks before
  '#'.  Please revert it with the patch below.
  
    Roman.

ChangeSet@1.309, 2003-12-17 00:35:00-08:00, dhollis@davehollis.com
  [PATCH] mark config files as such in the rpm spec file
  
  Got a nasty surprise after upgrading my RPM.  The config files weren't
  marked as configs and were subsequently replaced!  DOH!  Fortunately, I
  didn't have much in there yet but that certainly isn't something others
  will like going forward.  Attached is a simple patch to the spec file so
  they aren't replaced in the future.  The config files included in the
  RPM should wind up as udev.conf.rpmnew, etc if they are different from
  what is installed.

ChangeSet@1.308, 2003-12-16 16:58:01-08:00, kay.sievers@vrfy.org
  [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

ChangeSet@1.307, 2003-12-16 16:57:52-08:00, greg@kroah.com
  009_bk makefile changes.

ChangeSet@1.306, 2003-12-16 16:30:59-08:00, greg@kroah.com
  v009 release
  TAG: v009

ChangeSet@1.305, 2003-12-16 16:23:28-08:00, greg@kroah.com
  signal fixes due to klibc update.

ChangeSet@1.304, 2003-12-16 16:22:55-08:00, greg@kroah.com
  sync klibc with release 0.95

ChangeSet@1.303, 2003-12-16 16:04:50-08:00, greg@kroah.com
  add mol permissions to the debian permissions file.
  
  Info from Mathieu Segaud <matt@minas-morgul.org>

ChangeSet@1.302, 2003-12-16 16:04:23-08:00, greg@kroah.com
  update the FAQ with info about bad modprobe events from the devfs scheme...

ChangeSet@1.301, 2003-12-16 15:41:59-08:00, olh@suse.de
  [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.

ChangeSet@1.300, 2003-12-16 15:39:44-08:00, greg@kroah.com
  some cleanups due to the need for LABEL rules to use "SYSFS_" now.

ChangeSet@1.299, 2003-12-16 15:36:19-08:00, kay.sievers@vrfy.org
  [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

ChangeSet@1.298, 2003-12-16 15:31:16-08:00, rml@ximian.com
  [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.

ChangeSet@1.297, 2003-12-16 15:30:15-08:00, rml@ximian.com
  [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.

ChangeSet@1.296, 2003-12-15 15:25:51-08:00, christophe.varoqui@free.fr
  [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 ?

ChangeSet@1.295, 2003-12-15 14:54:38-08:00, kay.sievers@vrfy.org
  [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

ChangeSet@1.294, 2003-12-15 14:38:18-08:00, kay.sievers@vrfy.org
  [PATCH] remove '\n' from end of callout return
  
    remove possible newline at end of callout output,
    for easier matching with ID=

ChangeSet@1.293, 2003-12-15 14:25:03-08:00, greg@kroah.com
  Add restart target to the etc/init.d/udev script
  
  Change made by Rolf Eike Beer <eike-hotplug@sf-tec.de>

ChangeSet@1.292, 2003-12-15 14:22:34-08:00, eike-hotplug@sf-tec.de
  [PATCH] add init.d/udev to "make install"
  
  adds /etc/init.d/udev to "make install"

ChangeSet@1.291, 2003-12-15 14:22:30-08:00, eike-hotplug@sf-tec.de
  [PATCH] add init.d/udev to the spec file
  
  add /etc/init.d/udev to the SPEC-File and this way to the RPM

ChangeSet@1.290, 2003-12-15 13:53:28-08:00, dsteklof@us.ibm.com
  [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.

ChangeSet@1.289, 2003-12-11 00:12:29-08:00, greg@kroah.com
  tweak the config file generation portion of the Makefile a bit.

ChangeSet@1.288, 2003-12-11 00:00:40-08:00, olh@suse.de
  [PATCH] use udevdir in udev.conf
  
  udevdir is a define, but udev.conf has a hardcoded path. Maybe this
  config file should be generated on the fly, like shown below.

ChangeSet@1.287, 2003-12-10 14:12:30-08:00, greg@kroah.com
  change devfs disk name rule from 'disk' to 'disc'

ChangeSet@1.286, 2003-12-10 07:40:08-08:00, kay.sievers@vrfy.org
  [PATCH] man-page mention multiple symlinks
  
  As usual, when the stuff gets in the tree - here is a small
  man page update and a TODO line removal.
  
    mention multiple symlinks
    update example with silly symlink rule :)
    shorten example line to have less than 80 chars
    remove "want symlink support" from TODO

ChangeSet@1.285, 2003-12-09 17:14:24-08:00, greg@kroah.com
  add vc support to udev.rules.devfs

ChangeSet@1.284, 2003-12-09 17:10:37-08:00, greg@kroah.com
  added a devfs udev config file from Marco d'Itri <md@Linux.IT>

ChangeSet@1.283, 2003-12-09 17:05:30-08:00, greg@kroah.com
  set default mode to 0600 to be safer.

ChangeSet@1.282, 2003-12-09 17:02:03-08:00, greg@kroah.com
  Makefile tweaks for the DBUS build.

ChangeSet@1.281, 2003-12-09 16:52:04-08:00, christophe.varoqui@free.fr
  [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 :)

ChangeSet@1.280, 2003-12-09 16:50:25-08:00, christophe.varoqui@free.fr
  [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 :)

ChangeSet@1.279, 2003-12-09 16:47:00-08:00, kay.sievers@vrfy.org
  [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)

ChangeSet@1.278, 2003-12-09 16:37:02-08:00, greg@kroah.com
  update the FAQ due to the latest devfs mess on lkml and also due to symlinks now working.

ChangeSet@1.277, 2003-12-09 16:30:43-08:00, kay.sievers@vrfy.org
  [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

ChangeSet@1.276, 2003-12-08 10:08:52-08:00, greg@kroah.com
  document the different Makefile config options that we have.

ChangeSet@1.275, 2003-12-08 10:01:56-08:00, greg@kroah.com
  change USE_DBUS to DBUS in Makefile, and disable it by default as it's still to hard to build on all systems.

ChangeSet@1.274, 2003-12-08 10:01:28-08:00, greg@kroah.com
  fix formatting of udev_dbus.c to use tabs.  Also get it to build properly now.

ChangeSet@1.273, 2003-12-08 01:40:40-08:00, greg@kroah.com
  move all of the DBUS logic into one file and remove all of the #ifdef crud from the main code.

ChangeSet@1.272, 2003-12-08 01:19:19-08:00, david@fubar.dk
  [PATCH] D-BUS patch for udev-008
  
  Attached is a patch against udev-008 to send out a D-BUS message when a
  device node is added or removed.
  
  Using D-BUS lingo, udev acquires the org.kernel.udev service and sends
  out a NodeCreated or NodeDeleted signal on the
  org.kernel.udev.NodeMonitor interface. Each signal carries two
  parameters: the node in question and the corresponding sysfs path.
  
  [Note: the D-BUS concepts of service, interface, object can be a bit
  confusing at first glance]
  
  An example program listening for these messages looks like this
  
  #!/usr/bin/python
  
  import dbus
  import gtk
  
  def udev_signal_received(dbus_iface, member, service, object_path, message):
      [filename, sysfs_path] = message.get_args_list()
      if member=='NodeCreated':
          print 'Node %s created for %s'%(filename, sysfs_path)
      elif member=='NodeDeleted':
          print 'Node %s deleted for %s'%(filename, sysfs_path)
  
  def main():
      bus = dbus.Bus(dbus.Bus.TYPE_SYSTEM)
      bus.add_signal_receiver(udev_signal_received,
                              'org.kernel.udev.NodeMonitor',  # interface
                              'org.kernel.udev',              # service
                              '/org/kernel/udev/NodeMonitor') # object
  
      gtk.mainloop()
  
  if __name__ == '__main__':
      main()
  
  and this is the output when hot-plugging some usb-storage.
  
  [david@laptop udev-008]$ ~/node_monitor.py
  Node /udev/sda created for /block/sda
  Node /udev/sda1 created for /block/sda/sda1
  Node /udev/sda1 deleted for /block/sda/sda1
  Node /udev/sda deleted for /block/sda
  
  The patch requires D-BUS 0.20 or later while the python example program
  requires D-BUS from CVS as I only recently applied a patch against the
  python bindings.

ChangeSet@1.271, 2003-12-07 01:12:07-08:00, kay.sievers@vrfy.org
  [PATCH] experimental (very simple) SYMLINK creation
  
  > > here is a experimental symlink creation patch - for discussion,
  > > in which direction we should go.
  > > It is possible now to define SYMLINK= after the NAME= in udev.rules.
  > > The link is relative to the node, but the path is not optimized now
  > > if the node and the link are in the same nested directory.
  > > Only one link is supported, cause i need to sleep now :)
  > >
  > > 06-simple-symlink-creation.diff
  > >   simple symlink creation
  > >   reorganized udev-remove to have access to the symlink field
  > >   subdir creation/removal are functions now
  > >   udev-test.pl tests for link creation/removal
  
  Here is a new version with relative link target path optimization
  an better tests in udev-test.pl:
  
  LABEL, BUS="scsi", vendor="IBM-ESXS", NAME="1/2/a/b/node", SYMLINK="1/2/c/d/symlink"
  
    Dec  7 06:48:34 pim udev[13789]: create_node: symlink 'udev-root/1/2/c/d/symlink' to node '1/2/a/b/node' requested
    Dec  7 06:48:34 pim udev[13789]: create_path: created 'udev-root/1/2/c'
    Dec  7 06:48:34 pim udev[13789]: create_path: created 'udev-root/1/2/c/d'
    Dec  7 06:48:34 pim udev[13789]: create_node: symlink(../../a/b/node, udev-root/1/2/c/d/symlink)

ChangeSet@1.270, 2003-12-07 01:04:49-08:00, patmans@us.ibm.com
  [PATCH] better allow builds of extras programs under udev
  
  Here is an improved version of the patch that enables builds of the extras
  progams for the targets all, clean, install, and uninstall, and passes
  down the "prefix" for use by install and uninstall.
  
  This patch enables building of the "extras" programs using the same build
  environment as udev (i.e. build with udev's versions of klibc and
  sysfsutils).
  
  For example, build scsi_id and udev via:
  
  	make EXTRAS=extras/scsi_id
  
  Build scsi_id and udev with klibc via:
  
  	make KLIBC=true EXTRAS=extras/scsi_id

ChangeSet@1.269, 2003-12-07 00:55:40-08:00, patmans@us.ibm.com
  [PATCH] update udev extras/scsi_id to version 0.2
  
  This patch updates scsi_id under udev from version 0.1 to version 0.2.

ChangeSet@1.268, 2003-12-07 00:50:19-08:00, christophe.varoqui@free.fr
  [PATCH] yet more extras/multipath
  
  * implement a reschedule flag in /var/run. Last thing the prog do before
  exit is check if a call to multipath was done (but canceled by
  /var/run/multipath.run check) during its execution. If so restart the
  main loop.
  * implement a blacklist of sysfs bdev to not bother with for now (hd,
  md, dm, sr, scd, ram, raw). This avoid sending SG_IO to unappropiate
  devices.
  
  Compiles & survive "while true;do (./multipath -v &);done"

ChangeSet@1.267, 2003-12-07 00:48:23-08:00, christophe.varoqui@free.fr
  [PATCH] more extras/multipath updates
  
  * Adds a /var/run/multipath.run handling to avoid simultaneous runs.
  * Remove a commented-out "printf"

ChangeSet@1.266, 2003-12-07 00:44:59-08:00, christophe.varoqui@free.fr
  [PATCH] extras/multipath update
  
  here is the next update which brings this multipath to the state i'm not
  ashamed of it being in udev :)
  
  * drop a libdevmapper copy in extras/multipath; maybe discussions w/
  Sistina folks will bring a better solution in the future.
  * drop a putchar usage in libdevmapper to compile cleanly with klibc
  * drop another such usage of my own in main.c
  * massage the Makefile to compile libdevmapper against klibc
  * use "ld" to produce the binary rather than "gcc -static"
  * stop being stupid w/ uneeded major, minor & dev in main.c:dm_mk_node()
  * reverse to creating striped target for now because the multipath
  target is more hairy than expected initialy
  * push the version code to 009 to be in synch w/ udev
  
  builds & run here.
  binary size is 43ko, which is fairly gratifying after all the efforts
  I've put to compiling it with klibc :)

ChangeSet@1.265, 2003-12-04 11:22:53-08:00, kay.sievers@vrfy.org
  [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

ChangeSet@1.264, 2003-12-04 11:21:31-08:00, kay.sievers@vrfy.org
  [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

ChangeSet@1.263, 2003-12-04 11:21:27-08:00, kay.sievers@vrfy.org
  [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

ChangeSet@1.262, 2003-12-04 11:21:10-08:00, greg@kroah.com
  008_bk mark

ChangeSet@1.261, 2003-12-04 10:01:29-08:00, greg@kroah.com
  v008 release
  TAG: v008

ChangeSet@1.260, 2003-12-03 13:57:12-08:00, greg@kroah.com
  update ChangeLog for v008

ChangeSet@1.259, 2003-12-03 13:51:37-08:00, greg@kroah.com
  fix up some duplicated function compiler warnings in libsysfs

ChangeSet@1.258, 2003-12-03 13:45:20-08:00, greg@kroah.com
  fix some compiler warnings in the tdb code.

ChangeSet@1.257, 2003-12-03 11:27:24-08:00, greg@kroah.com
  Added Kay's name to the man page.

ChangeSet@1.256, 2003-12-03 11:26:02-08:00, greg@kroah.com
  update the wildcard documentation in the man page to show the new styles supported.

ChangeSet@1.255, 2003-12-03 10:33:58-08:00, greg@kroah.com
  fix permission handling logic
  
  Now we can handle wildcards properly within the permission file.

ChangeSet@1.254, 2003-12-03 10:30:49-08:00, greg@kroah.com
  enable default_mode ability to actually build

ChangeSet@1.253, 2003-12-03 09:41:02-08:00, greg@kroah.com
  add support for the default_mode variable, as it is documented...

ChangeSet@1.252, 2003-12-03 09:37:29-08:00, greg@kroah.com
  show permissions and groups in the label_test

ChangeSet@1.251, 2003-12-03 00:18:14-08:00, greg@kroah.com
  remove some items off of the TODO list, as they are now done.

ChangeSet@1.250, 2003-12-03 00:13:53-08:00, greg@kroah.com
  fix up the tests to work without all of the environ variables.

ChangeSet@1.249, 2003-12-03 00:13:11-08:00, greg@kroah.com
  get rid of the majority of the debug environment variables.
  
  Now there are only 3 valid environment test variables.  The rest can be 
  specified with the config file.

ChangeSet@1.248, 2003-12-02 22:22:53-08:00, kay.sievers@vrfy.org
  [PATCH] pattern matching for namedev
  
  As promised yesterday, here is a patch to implement a more advanced
  pattern matching instead of the simple '*'.
  
  We can remove the "tty"="tty" line from udev.rules now and
  replace "tty*" by "tty[0-9]*" to catch only the vc's.
  
  
    implement pattern matching in namedev
    '*'  - to match zero or more chars
    '?'  - to match exactly one char
    '[]' - character classes with ranges '[0-9]'and negation [!A]

ChangeSet@1.247, 2003-12-02 17:09:48-08:00, greg@kroah.com
  Update the man page to show the new config file, it's format, and how to use it.
  
  wow, update the docs to keep in line with reality, what a concept...

ChangeSet@1.246, 2003-12-02 17:09:05-08:00, greg@kroah.com
  fix up the tests to support the rules file name change

ChangeSet@1.245, 2003-12-02 17:08:46-08:00, greg@kroah.com
  add support for a main udev config file, udev.conf.
  
  the older udev.config file is now called udev.rules.
  This allows us to better control configuration values, and move away from 
  the environment variables.

ChangeSet@1.244, 2003-12-02 10:41:29-08:00, greg@kroah.com
  turn debugging messages off by default.
  
  it's a bit noisy for the masses...

ChangeSet@1.243, 2003-12-02 10:38:30-08:00, greg@kroah.com
  split out the namedev config parsing logic to namedev_parse.c

ChangeSet@1.242, 2003-12-02 10:18:21-08:00, greg@kroah.com
  rename namedev's get_attr() to be main namedev_name_device() as that's what it really is.

ChangeSet@1.241, 2003-12-02 09:55:00-08:00, greg@kroah.com
  add devfs like tty rules as an example in the default config file.

ChangeSet@1.240, 2003-12-02 09:52:26-08:00, kay.sievers@vrfy.org
  [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"

ChangeSet@1.239, 2003-12-02 09:45:19-08:00, greg@kroah.com
  operate on the rules in the order they are in the config file (within the rule type)
  instead of operating on them backwards.

ChangeSet@1.238, 2003-12-01 16:59:36-08:00, mort@wildopensource.com
  [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.

ChangeSet@1.237, 2003-12-01 16:48:01-08:00, dsteklof@us.ibm.com
  [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.

ChangeSet@1.236, 2003-12-01 16:47:52-08:00, greg@kroah.com
  Cset exclude: dsteklof@us.ibm.com|ChangeSet|20031126173159|56255

ChangeSet@1.235, 2003-12-01 16:44:48-08:00, olh@suse.de
  [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

ChangeSet@1.234, 2003-12-01 16:26:46-08:00, arnd@arndb.de
  [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.

ChangeSet@1.233, 2003-12-01 16:16:32-08:00, christophe.varoqui@free.fr
  [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.

ChangeSet@1.232, 2003-12-01 15:50:09-08:00, patmans@us.ibm.com
  [PATCH] fix udev parallel builds with klibc
  
  I can't build udev with make -j9. Here's a patch to fix it.

ChangeSet@1.231, 2003-11-26 09:45:26-08:00, greg@kroah.com
  add test for checking the BUS value.

ChangeSet@1.230, 2003-11-26 09:45:05-08:00, greg@kroah.com
  fix problem where we were not looking at the BUS value.

ChangeSet@1.229, 2003-11-26 09:31:59-08:00, dsteklof@us.ibm.com
  [PATCH] quick fix for libsysfs bus
  
  There seems to be a
  mismatch in udev and in libsysfs as to what to expect if the mnt point
  has a slash on the end or not. If I use the included patch, it breaks
  something in udev. If I patch sysfs_get_mnt_path I break udev as well
  because what you're expecting. I need to sit down and go through
  the library and creaate a rule as to trailing slashes. Adding the env
  brought this to light.

ChangeSet@1.228, 2003-11-24 19:14:26-08:00, greg@kroah.com
  add scsi and pci bus links in the test sysfs tree.

ChangeSet@1.227, 2003-11-24 15:47:43-08:00, dsteklof@us.ibm.com
  [PATCH] libsysfs changes for sysfsutils 0.3.0
  
  Here's the patch to up the library to the sysfsutils-0_3_0 level. The
  following changes:
  
  1) adds class name to sysfs_class_device structure
  2) adds bus to sysfs_device
  3) gets rid of code that made assumptions as to bus addresses being
  unique across buses, which isn't the case.
  
  
  I still owe you:
  
  1) change getpagesize->sysconf. This is in the CVS tree and part of other
  changes we're currently testing. Patch will follow.
  2) you need a function to get a sysfs_class_device's parent. We hadn't
  considered class devices to have parents, the one example of a multilevel
  is the block class. We will add this function and send the patch to you.

ChangeSet@1.226, 2003-11-24 15:45:38-08:00, greg@kroah.com
  add test and documentation for new %D devfs format modifier

ChangeSet@1.225, 2003-11-24 15:41:40-08:00, arnd@arndb.de
  [PATCH] Add format modifier for devfs like naming
  
  On Monday 24 November 2003 01:29, Greg KH wrote:
  > I think with the ability to capture the output of the CALLOUT rule,
  > combined with the ability to put format modifiers in the CALLOUT program
  > string, we now have everything in place to emulate the existing devfs
  > naming scheme.  Anyone want to verify this or not?
  
  I would prefer to have the ability of creating partition nodes in devfs
  style built-in to udev. Devfs used to call the whole disk e.g.
  "/dev/dasd/0123/disk" and the partitions "/dev/dasd/0123/part[1-3]".
  This can obviously be done with a CALLOUT rule, but its common enough
  to make it a format modifier. AFAIK, this scheme has been used for
  ide, scsi and dasd disks, which is about 99% of all disks ever connected
  to Linux.

ChangeSet@1.224, 2003-11-24 15:25:06-08:00, azarah@nosferatu.za.org
  [PATCH] more config file parsing robustness
  
  udev kept on segfaulting when it was in use, and not having the time
  (and building it with DEBUG=true showing nothing), I have not tracked it
  until tonight.  Seems like I made a type-o, and forgotten the ':'
  between one line's group and permission parameters.  Attached patch
  should stop the segfault, and warn at that at least.

ChangeSet@1.223, 2003-11-24 15:14:44-08:00, greg@kroah.com
  changed the default location of the database to /udev/.udev.tdb to be LSB compliant
  
  Finally the Debian people can get off my back...

ChangeSet@1.222, 2003-11-24 14:27:25-08:00, kay.sievers@vrfy.org
  [PATCH] udev.8 tweak numeric id text
  
  04-udev.8-tweak-numeric-id-text.diff
    o change "return value" to "returned string"
    o add textual owner/group example for udev.permissions
    o mention klibc compile as special case for udev.permissions
    o remove duplicated numeric owner clause

ChangeSet@1.221, 2003-11-24 14:27:23-08:00, kay.sievers@vrfy.org
  [PATCH] udev-test.pl add subdir test
  
  03-udev-test.pl-add-subdir-test.diff
    o duplicate existing test and change it to explicitely test the subdir handling

ChangeSet@1.220, 2003-11-24 14:27:20-08:00, kay.sievers@vrfy.org
  [PATCH] namedev.c strcat tweak
  
  02-namedev.c-strcat-tweak.diff
    o cat the substitution to the already known end of the string instead of searching it another time

ChangeSet@1.219, 2003-11-24 14:27:17-08:00, kay.sievers@vrfy.org
  [PATCH] overall whitespace + debug text conditioning
  
  01-overall-whitespace+debug-text-conditioning.diff
    o cleanup whitespace
    o clarify a few comments
    o enclose all printed debug string values in ''

ChangeSet@1.218, 2003-11-24 14:10:23-08:00, arnd@arndb.de
  [PATCH] klibc makefile fixes

ChangeSet@1.217, 2003-11-24 13:59:03-08:00, greg@kroah.com
  get rid of functions in klibc_fixups that are now in klibc

ChangeSet@1.216, 2003-11-24 13:57:33-08:00, greg@kroah.com
  sync up with the 0.84 version of klibc

ChangeSet@1.215, 2003-11-23 22:19:44-08:00, greg@kroah.com
  fix udev init.d script to handle all class devices in sysfs.

ChangeSet@1.214, 2003-11-23 22:13:05-08:00, greg@kroah.com
  fix the test.block and test.tty scripts due to their moveing.  Also add a test.all script.

ChangeSet@1.213, 2003-11-23 21:44:01-08:00, kay.sievers@vrfy.org
  [PATCH] udev-test.pl - tweaks
  
  I found two missing characters and optimized $PWD.

ChangeSet@1.212, 2003-11-23 21:38:01-08:00, greg@kroah.com
  007_bk version change to Makefile.

ChangeSet@1.211, 2003-11-23 16:03:24-08:00, greg@kroah.com
  v007 release
  TAG: v007

ChangeSet@1.210, 2003-11-23 16:03:10-08:00, greg@kroah.com
  v007 Changelog

ChangeSet@1.209, 2003-11-23 15:39:59-08:00, greg@kroah.com
  update default config file with a CALLOUT rule, and more documentation.

ChangeSet@1.208, 2003-11-23 15:39:39-08:00, greg@kroah.com
  updated the man page with the latest format specifier changes.

ChangeSet@1.207, 2003-11-23 14:25:13-08:00, greg@kroah.com
  added ability to put format specifiers in the CALLOUT program string.

ChangeSet@1.206, 2003-11-23 13:17:34-08:00, greg@kroah.com
  tweak udev-test.pl to report '0' errors if that's what happened.

ChangeSet@1.205, 2003-11-23 13:14:33-08:00, kay.sievers@vrfy.org
  [PATCH] - format char for CALLOUT output
  
  here is a patch for inserting the callout output into NAME=.
  ID= supports the usual wildcard to compare with the output.
  
  I've moved all wildcard matching to a function cause this was the third occurrence.
  Also attached is the last whitespace cleanup and debug text corrections.
  The callout patch depends on the whitespace patch.
  
  
  CALLOUT, BUS="usb", PROGRAM="/bin/echo -n return", ID="ret*", NAME="webcam-%c-"
  
  results in:
  
  Nov 21 17:33:51 pim udev[20399]: get_major_minor: found major = 81, minor = 0
  Nov 21 17:33:51 pim udev[20399]: exec_callout: callout to '/bin/echo -n return'
  Nov 21 17:33:51 pim udev[20399]: exec_callout: callout returned 'return'
  Nov 21 17:33:51 pim udev[20399]: get_attr: substitute callout output 'return'
  Nov 21 17:33:51 pim udev[20399]: udev_add_device: name = webcam-return-
  Nov 21 17:33:51 pim udev[20399]: create_node: mknod(/udev/webcam-return-, 020660, 81, 0)

ChangeSet@1.204, 2003-11-23 13:14:10-08:00, kay.sievers@vrfy.org
  [PATCH] more namedev whitespace cleanups
  
  attached is the last whitespace cleanup and debug text corrections.

ChangeSet@1.203, 2003-11-23 12:56:52-08:00, greg@kroah.com
  only build klibc_fixups.c if we are actually using klibc.

ChangeSet@1.202, 2003-11-23 12:56:18-08:00, greg@kroah.com
  add support for string group and string user names in udev.permissions.
  
  This only works if you are using glibc.
  
  Patch based on patch from Marco d'Itri <md@Linux.IT>

ChangeSet@1.201, 2003-11-23 12:44:41-08:00, greg@kroah.com
  add getgrnam and getpwnam to klibc_fixups files.
  
  Hopefully the klibc_fixups code will not be needed eventually.

ChangeSet@1.200, 2003-11-23 10:35:03-08:00, md@Linux.IT
  [PATCH] fix segfault in parsing bad udev.permissions file

ChangeSet@1.199, 2003-11-22 21:59:07-08:00, greg@kroah.com
  remove Makefile.klibc

ChangeSet@1.198, 2003-11-22 21:58:21-08:00, olh@suse.de
  [PATCH] static klibc udev does not link against crt0.o
  
   On Wed, Nov 19, Greg KH wrote:
  
  > > I did 'make KLIBC=true' in the current bk tree.
  >
  > try 'make -f Makefile.klibc' in the current tree.  For some reason I
  > couldn't figure out how to have Makefile work for both KLIBC=true and
  > KLIBC=false.  But I didn't try too hard :)
  
  I dont understand that.
  
  please do rm -f Makefile.klibc; apply this patch and tell me what fails.
  works for me.

ChangeSet@1.197, 2003-11-22 21:47:28-08:00, greg@kroah.com
  add udev-test perl script from Kay Sievers <kay.sievers@vrfy.org> which blows away my puny shell scripts.

ChangeSet@1.196, 2003-11-22 10:18:53-08:00, greg@kroah.com
  added debian's version of udev.permissions.
  
  Hm, should probably move all of the config file stuff to a new directory soon...

ChangeSet@1.195, 2003-11-20 22:48:01-08:00, kay.sievers@vrfy.org
  [PATCH] support arguments in callout exec
  
  here is argument support for CALLOUT exec:
  
  CALLOUT, PROGRAM="/bin/echo -n xxx", BUS="usb", ID="xxx", NAME="webcam%n"
  
  results in:
  
  Nov 20 02:35:20 pim udev[30422]: get_major_minor: found major = 81, minor = 0
  Nov 20 02:35:20 pim udev[30422]: exec_callout: callout to /bin/echo -n xxx
  Nov 20 02:35:20 pim udev[30422]: exec_callout: callout returned 'xxx'
  Nov 20 02:35:20 pim udev[30422]: get_attr: kernel number appended: 0
  
  The feature is really nice, but the maximum argument count is hard coded to 8.

ChangeSet@1.194, 2003-11-20 22:47:29-08:00, kay.sievers@vrfy.org
  [PATCH] namedev.c - change order of fields in CALLOUT
  
  I want to bring the CALLOUT field ordering in line with the other
  methods, cause the current parsing relies on the ordering it's good
  to have it like the others. The BUS= is now the first expected field.
  
  Also made the last two remaining field names to uppercase and the man page
  callout example is updated.

ChangeSet@1.193, 2003-11-20 10:37:01-08:00, kay.sievers@vrfy.org
  [PATCH] namedev.c whitespace + debug text cleanup
  
  here is mainly a whitespace cleanup for namedev.c. I changed the
  dbg_parse() output a bit for better readability:
  
  
  current:
  
  Nov 19 19:00:59 pim udev[25582]: do_number: NUMBER path='/sys/devices/pci0000:00/0000:00:1d.1/usb2/2-1/2-1.1'
  Nov 19 19:00:59 pim udev[25582]: do_number: NUMBER temp='/2-1.1' id='00:07.1'
  Nov 19 19:00:59 pim udev[25582]: do_number: NUMBER temp='/2-1' id='00:07.1'
  Nov 19 19:00:59 pim udev[25582]: do_number: NUMBER path='/sys/devices/pci0000:00/0000:00:1d.1/usb2/2-1/2-1.1'
  Nov 19 19:00:59 pim udev[25582]: do_number: NUMBER temp='/2-1.1' id='00:0b.0'
  Nov 19 19:00:59 pim udev[25582]: do_number: NUMBER temp='/2-1' id='00:0b.0'
  Nov 19 19:00:59 pim udev[25582]: do_number: NUMBER path='/sys/devices/pci0000:00/0000:00:1d.1/usb2/2-1/2-1.1'
  Nov 19 19:00:59 pim udev[25582]: do_number: NUMBER temp='/2-1.1' id='2-1.1'
  Nov 19 19:00:59 pim udev[25582]: do_number: device id '2-1.1' becomes 'webcam%n' - owner='', group ='', mode=0
  
  
  becomes:
  
  Nov 19 19:23:40 pim udev[26091]: do_number: search '00:07.1' in '/2-1.1', path='/sys/devices/pci0000:00/0000:00:1d.1/usb2/2-1/2-1.1'
  Nov 19 19:23:40 pim udev[26091]: do_number: search '00:07.1' in '/2-1', path='/sys/devices/pci0000:00/0000:00:1d.1/usb2/2-1'
  Nov 19 19:23:40 pim udev[26091]: do_number: search '00:0b.0' in '/2-1.1', path='/sys/devices/pci0000:00/0000:00:1d.1/usb2/2-1/2-1.1'
  Nov 19 19:23:40 pim udev[26091]: do_number: search '00:0b.0' in '/2-1', path='/sys/devices/pci0000:00/0000:00:1d.1/usb2/2-1'
  Nov 19 19:23:40 pim udev[26091]: do_number: search '2-1.1' in '/2-1.1', path='/sys/devices/pci0000:00/0000:00:1d.1/usb2/2-1/2-1.1'
  Nov 19 19:23:40 pim udev[26091]: do_number: found id '2-1.1', 'video0' becomes 'webcam%n' - owner='', group ='', mode=0

ChangeSet@1.192, 2003-11-20 10:36:55-08:00, kay.sievers@vrfy.org
  [PATCH] man page with udev.permissions wildcard
  
  here is the permissions wildcard text for the man page.

ChangeSet@1.191, 2003-11-20 10:35:01-08:00, greg@kroah.com
  change to 006_bk version

ChangeSet@1.190, 2003-11-19 01:35:52-08:00, greg@kroah.com
  v006
  TAG: v006

ChangeSet@1.189, 2003-11-19 01:34:53-08:00, greg@kroah.com
  v006 changelog

ChangeSet@1.188, 2003-11-19 01:25:19-08:00, greg@kroah.com
  add another line to udev.permissions in the proper format.

ChangeSet@1.187, 2003-11-19 01:24:56-08:00, greg@kroah.com
  tweak replace_test

ChangeSet@1.186, 2003-11-19 01:23:24-08:00, greg@kroah.com
  fix permissions to work properly now.
  
  Forgot about umask in mknod...

ChangeSet@1.185, 2003-11-18 22:38:45-08:00, greg@kroah.com
  add real udev.permissions file to test directory.

ChangeSet@1.184, 2003-11-18 22:38:18-08:00, greg@kroah.com
  fix namedev.c to build with older version of gcc.

ChangeSet@1.183, 2003-11-18 22:19:06-08:00, kay.sievers@vrfy.org
  [PATCH] apply permissions.conf support for wildcard and default name
  
  Permissions given in udev.permissions are not applied if no METHOD from
  udev.config is found. I've added do_kernelname() to scan for known
  permissions if we only use the default method.
  
  Simple support for wildcards is also added:
  
  #name:user:group:mode
  hdb*:2702:2702:0660
  
  results in:
  
  drwxr-xr-x    2 root     root          240 Nov 19 03:45 .
  drwxr-xr-x   23 root     root          528 Nov 17 03:36 ..
  brw-r--r--    1 root     root       3,   0 Nov 19 03:45 hda
  brw-r--r--    1 root     root       3,   1 Nov 19 03:45 hda1
  brw-r--r--    1 root     root       3,   2 Nov 19 03:45 hda2
  brw-r--r--    1 root     root       3,   4 Nov 19 03:45 hda4
  brw-r-----    1 kay      kay        3,  64 Nov 19 03:45 hdb
  brw-r-----    1 kay      kay        3,  65 Nov 19 03:45 hdb1
  brw-r--r--    1 root     root      22,   0 Nov 19 03:45 hdc
  crw-r--r--    1 root     root      81,   0 Nov 19 03:34 webcam0

ChangeSet@1.182, 2003-11-18 22:18:54-08:00, kay.sievers@vrfy.org
  [PATCH] man page with included placeholder list
  
    mention the printf-like support for string substitution in the NAME field

ChangeSet@1.181, 2003-11-18 18:49:29-08:00, greg@kroah.com
  add dumb test for all of the different modifiers.

ChangeSet@1.180, 2003-11-18 18:48:57-08:00, greg@kroah.com
  update the TODO list with more items that people can easily do.

ChangeSet@1.179, 2003-11-18 18:39:39-08:00, chris_friesen@sympatico.ca
  [PATCH] faster test scripts
  
  I've attached a patch against 005 for both the block and tty scripts.  I
  didn't bother running udev backgrounded, since as you say, the new code
  runs a lot faster.

ChangeSet@1.178, 2003-11-18 16:40:39-08:00, greg@kroah.com
  move the test.block and test.tty scripts to the test/ directory

ChangeSet@1.177, 2003-11-18 16:39:43-08:00, greg@kroah.com
  add remove actions to the test scripts

ChangeSet@1.176, 2003-11-18 16:27:38-08:00, greg@kroah.com
  turn DEBUG_PARSER off by default.

ChangeSet@1.175, 2003-11-18 14:48:46-08:00, greg@kroah.com
  add some documentation for the %b modifier to the default config file.

ChangeSet@1.174, 2003-11-18 13:45:46-08:00, greg@kroah.com
  fix make install rule for when the udev symlink is already there.

ChangeSet@1.173, 2003-11-18 13:39:30-08:00, arnd@arndb.de
  [PATCH] more robust config file parsing in namedev.c
  
  After getting a number of different crashes for udev reading broken
  udev.config files, I decided to try to make the parser a little
  more robust.
  
  The behaviour is changed to stop reading the configuration file
  and logging the broken entry instead of silently ignoring it (is
  that good? It's easy to just print and continue).
  All strcpy()'s to a fixed length string are now implicitly limited
  to the bounds of the target string.
  
  I kept the -ENODEV return code for now, not sure if there should be
  different ones.

ChangeSet@1.172, 2003-11-18 13:36:10-08:00, arnd@arndb.de
  [PATCH] add bus id modifier
  
  On Tuesday 18 November 2003 02:14, Greg KH wrote:
  > On Mon, Nov 17, 2003 at 06:33:32PM +0100, Arnd Bergmann wrote:
  > > That would at least be part of the solution I'm looking for. How about
  > > extra format characters for bus_id and for the result of a callout
  > > program?
  >
  > Sure, I can see the use for that.  Want to send a patch?  :)
  
  > Take a look at the current bk tree (which has moved to
  > bk://linuxusb.bkbits.net/udev/ )  I've made finding that device a lot
  > easier now, and it works for all rule types.
  
  Great, just what I was missing. I didn't see the any link to the bk
  repository. Here's the patch for the bus_id. I'll need to think about
  the handling of callout results a bit more.

ChangeSet@1.171, 2003-11-18 13:35:44-08:00, greg@kroah.com
  change release target in makefile.

ChangeSet@1.170, 2003-11-17 17:22:02-08:00, greg@kroah.com
  change debug level on printf values for now.

ChangeSet@1.169, 2003-11-17 17:15:11-08:00, greg@kroah.com
  updated demo config file.

ChangeSet@1.168, 2003-11-17 17:12:31-08:00, greg@kroah.com
  add some documentation of the modifiers to the default config file.

ChangeSet@1.167, 2003-11-17 17:09:58-08:00, greg@kroah.com
  add demo config file.

ChangeSet@1.166, 2003-11-17 17:09:29-08:00, greg@kroah.com
  updated bk ignore list for klibc generated files.

ChangeSet@1.165, 2003-11-17 17:07:49-08:00, greg@kroah.com
  add printf option to label test to verify it works.

ChangeSet@1.164, 2003-11-17 17:07:21-08:00, greg@kroah.com
  fix up printf-like functionality due to previous changes.

ChangeSet@1.163, 2003-11-17 16:59:27-08:00, kay.sievers@vrfy.org
  [PATCH] implement printf-like placeholder support for NAME
  
  > Problem is, if you use the LABEL rule to match a device, like a SCSI
  > vendor, then all of the partitions, as well as the main block device,
  > will end up with the same name.  That's why I added the "add the number"
  > hack to the LABEL rule.
  >
  > So yes, your patch is correct in that we shouldn't always be adding the
  > number to any match for LABEL (like for char devices), but if we do
  > that, then we break partitions.  Your '%' patch fixes this, but I'd just
  > like to extend it a bit.  Let me see what I can come up with...
  
  Oh, I see. Do you mean something like this:
  
  LABEL, BUS="usb", model="Creative Labs WebCam 3", NAME="webcam%n-%M:%m-test"
  
  results in: "webcam0-81:0-test"
  
  Nov 15 16:51:53 pim udev[16193]: get_class_dev: looking at /sys/class/video4linux/video0
  Nov 15 16:51:53 pim udev[16193]: get_class_dev: class_dev->name = video0
  Nov 15 16:51:53 pim udev[16193]: get_major_minor: dev = 81:0
  Nov 15 16:51:53 pim udev[16193]: get_major_minor: found major = 81, minor = 0
  Nov 15 16:51:53 pim udev[16193]: udev_add_device: name = webcam0-81:0-test
  Nov 15 16:51:53 pim udev[16193]: create_node: mknod(/udev/webcam0-81:0-test, 020666, 81, 0)
  
  
  
    implement printf-like placeholder support for NAME
    %n-kernel number, %M-major number, %m-minor number

ChangeSet@1.162, 2003-11-13 12:08:10-08:00, greg@kroah.com
  get the major/minor number before we name the device.
  
  Will come in handy later...

ChangeSet@1.161, 2003-11-12 22:34:36-08:00, greg@kroah.com
  add scsi_id "extra" program from Patrick Mansfield <patmans@us.ibm.com>

ChangeSet@1.160, 2003-11-12 22:30:57-08:00, greg@kroah.com
  Add multipath "extra" program from Christophe Varoqui, <christophe.varoqui@free.fr>

ChangeSet@1.159, 2003-11-12 22:24:09-08:00, greg@kroah.com
  trailing whitespace cleanups.

ChangeSet@1.158, 2003-11-12 21:52:08-08:00, greg@kroah.com
  splig LABEL and NUMBER into separate functions.
  
  Now items are processed in priority order, fixing that bug.

ChangeSet@1.157, 2003-11-12 10:08:40-08:00, greg@kroah.com
  add TOPO regression test.

ChangeSet@1.156, 2003-11-12 10:08:19-08:00, greg@kroah.com
  move TOPOLOGY rule to it's own function.

ChangeSet@1.155, 2003-11-12 09:56:26-08:00, greg@kroah.com
  fix bug where NUMBER and TOPOLOGY would not work for partitions.

ChangeSet@1.154, 2003-11-12 09:38:14-08:00, greg@kroah.com
  clean up the way we find the sysdevice for a block device for namedev.

ChangeSet@1.153, 2003-11-12 00:35:40-08:00, greg@kroah.com
  updated label test script (tests for partitions now.)

ChangeSet@1.152, 2003-11-12 00:26:08-08:00, greg@kroah.com
  split REPLACE and CALLOUT into separate functions
  
  Finally starting to process this in priority order, not config file order.

ChangeSet@1.151, 2003-11-11 23:44:56-08:00, greg@kroah.com
  add debug line for REPLACE call.

ChangeSet@1.150, 2003-11-11 23:32:29-08:00, greg@kroah.com
  add replace test

ChangeSet@1.149, 2003-11-11 23:30:20-08:00, greg@kroah.com
  add more sysfs test tree files.

ChangeSet@1.148, 2003-11-11 23:23:39-08:00, greg@kroah.com
  change UDEV_SYSFS_PATH environment variable due to libsysfs change.

ChangeSet@1.147, 2003-11-11 23:17:33-08:00, greg@kroah.com
  fix bug in klibc's isspace function.

ChangeSet@1.146, 2003-11-11 21:37:24-08:00, dsteklof@us.ibm.com
  [PATCH] patch for libsysfs sysfs directory handling
  
  Here's a quick patch to:
  
  1) Add an environment variable "SYSFS_PATH" that libsysfs will check
  for when getting mount point before searching system's sysfs mount
  point.
  
  2) A quick fix to sysfs_get_link where the bug was.
  
  I have tested this out with libsysfs and with udev. I couldn't test
  with klibc because I haven't got the tree to build with klibc without
  my changes either. I made the link but get an error finding
  linux/linits.h. I will figure that out.
  
  Please have a look at the patch. If it's agreeable, please test it. I
  really want to add some generic path manipulation functions for the
  sysfs_get_link error, rather than my patch's hack. But, I haven't had
  time yet to do that. You really sounded like you needed this for
  testing, so I'm sending it out to you. I should probably add a
  function to set the env variable(?).

ChangeSet@1.145, 2003-11-11 19:50:33-08:00, greg@kroah.com
  fix udev-add.c to build properly with older versions of gcc.

ChangeSet@1.144, 2003-11-11 19:48:04-08:00, kay.sievers@vrfy.org
  [PATCH] more manpage tweaks
  
    man page style fixes
    present the tiny udev in bold font :)

ChangeSet@1.143, 2003-11-11 19:48:01-08:00, kay.sievers@vrfy.org
  [PATCH] add support for subdirs
  
    support subdirectory creation/removal for NAME="/devfs/is/crazy/video0"
    create parent subdirs for device node if needed
    remove subdirs when last node is removed

ChangeSet@1.142, 2003-11-11 19:47:57-08:00, kay.sievers@vrfy.org
  [PATCH] add uid/gid to nodes
  
    set uid/gid of node specified in udev.permissions
    only numeric id's are supported cause we can't resolve with
    klibc or libc before real /etc is mounted

ChangeSet@1.141, 2003-11-11 19:33:44-08:00, greg@kroah.com
  add prototype for ftruncate to klibc

ChangeSet@1.140, 2003-10-29 16:59:16-08:00, greg@kroah.com
  Remove a few items from the TODO list that are already done.

ChangeSet@1.139, 2003-10-29 14:26:35-08:00, olh@suse.de
  [PATCH] DESTDIR for udev

ChangeSet@1.138, 2003-10-29 14:26:23-08:00, greg@kroah.com
  version number to 005_bk

ChangeSet@1.137, 2003-10-29 14:14:24-08:00, rml@tech9.net
  udev init script
  
  I integrated udev with Fedora Core.  The main piece is simply building
  /udev on boot, since we don't have an initramfs yet. We should also   
  clear out /udev on shutdown, for /udev directories mounted on persistent
  media.
  
  The attached script goes in /etc/init.d
  
  Then do "chkconfig --add udev"
  
  And the rest is handled automatically.  I made it for Fedora but it will
  probably work, with little change, on any Linux system.
  
  Right now it only does sysfs-based discovery of block and tty devices,
  since those are the only types of devices I have on my system.  There is
  a TODO in the script where we would add the other device types.

ChangeSet@1.136, 2003-10-24 16:21:18-07:00, greg@kroah.com
  pull some klibc stuff into the make Makefile to try to stay in sync.

ChangeSet@1.135, 2003-10-24 16:20:51-07:00, greg@kroah.com
  klibc build fixes
  
  Still can't seem to build both klibc and glibc versions from same makefile :(

ChangeSet@1.134, 2003-10-24 15:37:17-07:00, lethal@linux-sh.org
  [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.

ChangeSet@1.133, 2003-10-22 17:08:58-07:00, greg@kroah.com
  005 release
  TAG: v005

ChangeSet@1.132, 2003-10-22 17:05:10-07:00, greg@kroah.com
  ignore the klibc/linux symlink.

ChangeSet@1.131, 2003-10-22 17:04:30-07:00, greg@kroah.com
  add klibc linux symlink info to the README

ChangeSet@1.130, 2003-10-22 17:04:09-07:00, greg@kroah.com
  get 'make release' to work properly again.

ChangeSet@1.129, 2003-10-22 16:50:27-07:00, rml@tech9.net
  [PATCH] udev: sleep_for_dev() bits
  
  OK, I fixed that bug you hinted at earlier in my previous
  sleep_for_dev() patch.  I am sure you fixed it, but here we go
  nonetheless, just in case.
  
  I actually changed it up a bit.  It is probably faster to count down
  from SECONDS_TO_WAIT_FOR_DEV than count up.
  
  I also made the lone 'path' argument const, since it can be.
  
  Some other misc. bits, too.

ChangeSet@1.128, 2003-10-22 16:19:18-07:00, greg@kroah.com
  added README info for how to build using klibc.

ChangeSet@1.127, 2003-10-22 16:13:16-07:00, greg@kroah.com
  turn off debugging if we are building with klibc

ChangeSet@1.126, 2003-10-22 16:12:58-07:00, greg@kroah.com
  turn off debugging in namedev

ChangeSet@1.125, 2003-10-22 16:12:41-07:00, greg@kroah.com
  added vsyslog support to klibc.

ChangeSet@1.124, 2003-10-22 15:59:44-07:00, greg@kroah.com
  add ftruncate to klibc.
  
  probably got it wrong too...

ChangeSet@1.123, 2003-10-22 15:48:55-07:00, greg@kroah.com
  klibc specific tweaks

ChangeSet@1.122, 2003-10-22 15:46:19-07:00, greg@kroah.com
  libsysfs does not need mntent.h in it's header file.

ChangeSet@1.121, 2003-10-22 14:41:54-07:00, greg@kroah.com
  Merge greg@bucket:/home/greg/src/udev into kroah.com:/home/greg/src/udev

ChangeSet@1.119.1.1, 2003-10-22 14:39:59-07:00, greg@kroah.com
  udev build tweaks to tdb's spinlock code

ChangeSet@1.120, 2003-10-22 14:30:50-07:00, greg@kroah.com
  klibc makefile changes.

ChangeSet@1.119, 2003-10-22 11:40:52-07:00, greg@kroah.com
  build tdb and libsysfs from the same makefile as udev.
  
  This fixes problem of libsysfs and tdb getting build with different gcc options
  as the rest of udev.

ChangeSet@1.118, 2003-10-22 11:39:54-07:00, greg@kroah.com
  udev-add build cleanups for other libc versions.

ChangeSet@1.117, 2003-10-22 11:39:28-07:00, greg@kroah.com
  tweak tdb to build within udev better.

ChangeSet@1.116, 2003-10-22 11:38:59-07:00, greg@kroah.com
  make libsysfs spit debug messages to the same place as the rest of udev.

ChangeSet@1.115, 2003-10-22 11:38:10-07:00, greg@kroah.com
  make libsysfs build cleanly

ChangeSet@1.114, 2003-10-22 10:43:23-07:00, greg@kroah.com
  updated bk ignore list.

ChangeSet@1.113, 2003-10-22 10:37:40-07:00, greg@kroah.com
  added klibc version 0.82 (cvs tree) to the udev tree.
  
  Not hooked up to the build yet.

ChangeSet@1.112, 2003-10-21 17:32:07-07:00, greg@kroah.com
  makefile fix for now.

ChangeSet@1.111, 2003-10-21 17:15:50-07:00, greg@kroah.com
  Merge greg@bucket:/home/greg/src/udev into kroah.com:/home/greg/src/udev

ChangeSet@1.110, 2003-10-21 17:15:20-07:00, greg@kroah.com
  hm, makefile bug with so many files...  will fix later...

ChangeSet@1.109, 2003-10-21 17:14:59-07:00, greg@kroah.com
  regression tests starting to be added.

ChangeSet@1.108, 2003-10-21 17:12:40-07:00, greg@kroah.com
  fix LABEL bug for device files (not class files.)

ChangeSet@1.106.1.1, 2003-10-21 16:18:49-07:00, greg@kroah.com
  more warning flags to the build.

ChangeSet@1.107, 2003-10-21 14:28:32-07:00, greg@kroah.com
  got rid of struct device_attr
  
  namedev.c is still a mess, that's up next after testing...

ChangeSet@1.106, 2003-10-21 14:08:03-07:00, greg@kroah.com
  rename namedev.permissions and namedev.config to udev.permissions and udev.config
  
  the namedev name didn't really make much sense anymore...

ChangeSet@1.105, 2003-10-21 13:48:11-07:00, kay@vrfy.org
  [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

ChangeSet@1.104, 2003-10-21 13:47:50-07:00, greg@kroah.com
  fix dbg line in namedev.c
  
  Thanks to Kay Sievers <kay@vrfy.org> for pointing this out.

ChangeSet@1.103, 2003-10-21 13:46:00-07:00, kay@vrfy.org
  [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 :))

ChangeSet@1.102, 2003-10-21 13:45:19-07:00, rml@tech9.net
  [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'

ChangeSet@1.101, 2003-10-21 13:41:35-07:00, greg@kroah.com
  more overrides of config info with env variables if in test mode.

ChangeSet@1.100, 2003-10-21 13:40:53-07:00, greg@kroah.com
  Fix bug causing udev to sleep forever waiting for dev file to show up.
  
  Now we will timeout properly.

ChangeSet@1.99, 2003-10-21 12:20:03-07:00, greg@kroah.com
  change version to 004_bk

ChangeSet@1.98, 2003-10-21 12:19:09-07:00, greg@kroah.com
  make config files, sysfs root, and udev root configurable from config variables
  
  This will make running tests a lot simpler.

ChangeSet@1.97, 2003-10-21 09:09:52-07:00, greg@kroah.com
  004 changelog entrys
  TAG: v004

ChangeSet@1.96, 2003-10-21 09:08:45-07:00, greg@kroah.com
  004 release

ChangeSet@1.95, 2003-10-20 17:19:14-07:00, dsteklof@us.ibm.com
  [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

ChangeSet@1.94, 2003-10-20 15:33:54-07:00, lkml001@vrfy.org
  [PATCH] man file update
  
  changes:
  o CALLOUT method included
  o required keys for every match method listed
  o keywords changed to uppercase in EXAMPLE

ChangeSet@1.93, 2003-10-20 14:48:44-07:00, greg@kroah.com
  major database cleanups
  
  Now we standardise on a struct udevice to pass around, and store in the
  database.  This cleaned up the database code a lot.

ChangeSet@1.92, 2003-10-20 14:45:46-07:00, greg@kroah.com
  Changed test.block and test.tty to take ACTION from the command line.

ChangeSet@1.91, 2003-10-20 13:03:15-07:00, greg@kroah.com
  don't sleep if 'dev' file is already present on device add.
  
  instead sleep for up to 10 seconds waiting for it to show up.

ChangeSet@1.90, 2003-10-20 12:31:24-07:00, greg@kroah.com
  fix comment about how the "dev" file is made up.

ChangeSet@1.89, 2003-10-20 12:28:42-07:00, greg@kroah.com
  more database work.  Now we only store the info we really need right now.
  
  Also delete the record after the device is gone, and fix up a memory leak.

ChangeSet@1.88, 2003-10-20 09:58:23-07:00, greg@kroah.com
  add BUS= bug to TODO list so it will not get forgotten.
  
  Thanks to reg@dwf.com for pointing this out to me.
  TAG: old_db_code

ChangeSet@1.87, 2003-10-19 13:59:45-07:00, lkml001@vrfy.org
  [PATCH] man page update

ChangeSet@1.86, 2003-10-19 13:56:21-07:00, rml@tech9.net
  [PATCH] udev: mode should be mode_t
  
  Unix file modes should be stored in a mode_t, not a standard type.  At
  the moment it is actually unsigned, in fact, not a signed integer.
  
  Attached patch does an s/int mode/mode_t mode/ and cleans up the
  results.

ChangeSet@1.85, 2003-10-19 13:55:43-07:00, rml@tech9.net
  [PATCH] udev: trivial trivialities
  
  Yah yah, really trivial stuff...
  
  	- get_class_device() doesn't need to be exported; it
  	  should be static
  
  	- white space cleanup

ChangeSet@1.84, 2003-10-17 17:18:04-07:00, rml@tech9.net
  [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.

ChangeSet@1.83, 2003-10-17 16:12:16-07:00, rml@tech9.net
  [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.

ChangeSet@1.82, 2003-10-17 16:11:13-07:00, greg@kroah.com
  spec file changes.

ChangeSet@1.81, 2003-10-17 15:54:14-07:00, rml@mvista.com
  [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.

ChangeSet@1.80, 2003-10-17 15:54:07-07:00, greg@kroah.com
  test.block changes.

ChangeSet@1.79, 2003-10-17 15:39:26-07:00, greg@kroah.com
  ok, rpm likes the "_" character instead of "-" better...

ChangeSet@1.78, 2003-10-17 15:34:19-07:00, rml@tech9.net
  [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

ChangeSet@1.77, 2003-10-17 15:33:28-07:00, greg@kroah.com
  change the version to 003-bk to keep things sane with people using the bk tree.

ChangeSet@1.76, 2003-10-17 15:32:17-07:00, greg@kroah.com
  got "remove of named devices" working.
  
  database code still needs some major cleanup.

ChangeSet@1.75, 2003-10-17 11:26:07-07:00, greg@kroah.com
  fix segfaults when dealing with partitions.

ChangeSet@1.74, 2003-10-16 22:32:01-07:00, greg@kroah.com
  update changelog for 003 release
  TAG: v003

ChangeSet@1.73, 2003-10-16 22:14:02-07:00, greg@kroah.com
  update the spec file for the new version and install process.
  
  Spec file still does not install all of the proper files.

ChangeSet@1.72, 2003-10-16 22:12:52-07:00, greg@kroah.com
  fix makefile release rule to not drop tdb.h file.

ChangeSet@1.71, 2003-10-16 21:55:24-07:00, greg@kroah.com
  Add FAQ for udev

ChangeSet@1.70, 2003-10-16 21:05:04-07:00, greg@kroah.com
  removed AUTHORS and INSTALL files as they were pretty pointless.

ChangeSet@1.69, 2003-10-16 17:40:02-07:00, greg@kroah.com
  copyright updates.

ChangeSet@1.68, 2003-10-16 17:39:47-07:00, greg@kroah.com
  Add AUTHORS and INSTALL files.

ChangeSet@1.67, 2003-10-16 17:39:29-07:00, greg@kroah.com
  TODO updates

ChangeSet@1.66, 2003-10-16 17:39:19-07:00, greg@kroah.com
  Updatd the README

ChangeSet@1.65, 2003-10-16 16:44:14-07:00, greg@kroah.com
  updated the TODO list.

ChangeSet@1.64, 2003-10-16 16:29:17-07:00, greg@kroah.com
  add udev man page (basically just a place holder for now.)

ChangeSet@1.63, 2003-10-16 16:19:04-07:00, greg@kroah.com
  added uninstall support

ChangeSet@1.62, 2003-10-16 13:18:40-07:00, greg@kroah.com
  added install target for makefile so people don't have to do it by hand anymore.

ChangeSet@1.61, 2003-10-15 15:51:27-07:00, greg@kroah.com
  add version to debug log on startup.

ChangeSet@1.60, 2003-10-15 15:51:11-07:00, greg@kroah.com
  tell the user what mknod() we are trying to do.

ChangeSet@1.59, 2003-10-15 15:50:50-07:00, greg@kroah.com
  add dbg_parse() to cut down on parse file debugging statements
  
  Can be turned on by hand in the namedev.c file.

ChangeSet@1.58, 2003-10-15 15:50:13-07:00, greg@kroah.com
  put config files and database in /etc/udev by default
  
  Can be overridden on the makefile line.

ChangeSet@1.57, 2003-10-14 15:49:39-07:00, greg@kroah.com
  add ols 2003 udev paper to docs/

ChangeSet@1.56, 2003-10-14 15:32:17-07:00, patmans@us.ibm.com
  [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.

ChangeSet@1.55, 2003-10-14 15:20:53-07:00, dsteklof@us.ibm.com
  [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.

ChangeSet@1.54, 2003-10-14 15:20:18-07:00, greg@kroah.com
  clean up some debugging stuff in namedev.c

ChangeSet@1.53, 2003-10-07 22:09:57-07:00, greg@kroah.com
  do not build the tdb binary programs, only the objects.
  
  Now it's not necessary to have gdbm to build properly.

ChangeSet@1.52, 2003-09-24 12:56:17-07:00, olh@suse.de
  [PATCH] print udev pid
  
  makes debugging easier.

ChangeSet@1.51, 2003-08-11 13:28:08-07:00, lethal@linux-sh.org
  [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.

ChangeSet@1.50, 2003-08-05 16:03:30-07:00, greg@kroah.com
  merge tdb into the build process.

ChangeSet@1.49, 2003-08-05 15:57:23-07:00, dsteklof@us.ibm.com
  [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.

ChangeSet@1.48, 2003-08-04 17:26:59-07:00, greg@kroah.com
  Added tdb code from latest cvs version in the samba tree

ChangeSet@1.47, 2003-08-04 17:18:46-07:00, greg@kroah.com
  added my name to the .spec file.

ChangeSet@1.46, 2003-08-04 17:17:07-07:00, lethal@linux-sh.org
  [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.

ChangeSet@1.45, 2003-08-04 17:10:01-07:00, lethal@linux-sh.org
  [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.

ChangeSet@1.44, 2003-08-04 14:13:35-07:00, greg@kroah.com
  minor cleanups.

ChangeSet@1.43, 2003-08-04 13:59:50-07:00, greg@kroah.com
  cleanup the mknod code a bit.

ChangeSet@1.42, 2003-08-04 13:39:33-07:00, greg@kroah.com
  remove mknod callout
  
  Patch from "Guo, Min" <min.guo@intel.com>

ChangeSet@1.41, 2003-08-04 13:20:19-07:00, greg@kroah.com
  handle new major:minor format of dev files that showed up in 2.6.0-test2-bk3 or so.

ChangeSet@1.40, 2003-07-24 23:01:48-04:00, greg@kroah.com
  oops, everything was getting created as 000 mode, try to fix this up, 
  but fail...

ChangeSet@1.39, 2003-07-24 12:00:32-04:00, greg@kroah.com
  more test stuff...
  TAG: v0.2

ChangeSet@1.38, 2003-07-24 12:00:17-04:00, greg@kroah.com
  removed unneeded stuff from udev.h

ChangeSet@1.37, 2003-07-24 11:59:52-04:00, greg@kroah.com
  added 0.2 change log info.

ChangeSet@1.36, 2003-07-24 02:27:06-04:00, greg@kroah.com
  start working on label support, and fix some segfaults for block devices.

ChangeSet@1.35, 2003-07-23 15:37:43-04:00, greg@kroah.com
  test config file changes...

ChangeSet@1.34, 2003-07-23 15:37:27-04:00, greg@kroah.com
  add NUMBER support (basically same logic as TOPOLOGY, perhaps we should merge this...)

ChangeSet@1.33, 2003-07-23 15:20:58-04:00, greg@kroah.com
  added topology support.

ChangeSet@1.32, 2003-07-23 14:08:16-04:00, greg@kroah.com
  got REPLACE to work properly.

ChangeSet@1.31, 2003-07-23 10:56:56-04:00, greg@kroah.com
  make struct config_device contain a struct device_attr instead of duplicating the mess.

ChangeSet@1.30, 2003-07-23 10:56:14-04:00, greg@kroah.com
  block test

ChangeSet@1.29, 2003-07-23 10:55:55-04:00, greg@kroah.com
  split the tests up into different files.

ChangeSet@1.28, 2003-07-20 12:48:48-07:00, greg@kroah.com
  split udev main logic into udev-add and udev-remove.

ChangeSet@1.27, 2003-07-18 21:06:55-07:00, greg@kroah.com
  Clean up the namedev interface a bit, making the code smaller...

ChangeSet@1.26, 2003-07-18 14:49:39-07:00, greg@kroah.com
  bk: update ignore list.

ChangeSet@1.25, 2003-07-18 14:48:49-07:00, greg@kroah.com
  update the tests to handle block devices too.

ChangeSet@1.24, 2003-07-18 14:48:28-07:00, greg@kroah.com
  add initial libsysfs support...
  
  needs lots more cleanup, but is much nicer than doing this by hand...

ChangeSet@1.23, 2003-07-18 14:43:45-07:00, greg@kroah.com
  added libsysfs to the build.

ChangeSet@1.22, 2003-07-18 12:08:00-07:00, greg@kroah.com
  added libsysfs code from sysutils-0.1.1-071803 release

ChangeSet@1.21, 2003-07-17 23:46:17-07:00, greg@kroah.com
  namedev config files are fully parsed.
  
  now to do something with the data...

ChangeSet@1.20, 2003-07-17 23:45:48-07:00, greg@kroah.com
  more permission tests

ChangeSet@1.19, 2003-07-17 23:45:35-07:00, greg@kroah.com
  make log_message spit out warnings so I don't have
  to spend forever chasing down stupid bugs that aren't there...

ChangeSet@1.18, 2003-07-16 17:49:00-07:00, greg@kroah.com
  added klibc makefile

ChangeSet@1.17, 2003-07-16 17:24:51-07:00, greg@kroah.com
  Initial namedev parsing of config files
  
  .permission parsing works, .config needs more work.

ChangeSet@1.16, 2003-07-16 12:18:06-07:00, greg@kroah.com
  sleep for 2 seconds to give the kernel a chance to actually create the files we need.

ChangeSet@1.15, 2003-07-16 12:17:41-07:00, greg@kroah.com
  pick a better default UDEV_ROOT

ChangeSet@1.14, 2003-07-16 12:17:20-07:00, greg@kroah.com
  fix up the test to actually work...

ChangeSet@1.13, 2003-04-10 07:56:20-07:00, greg@kroah.com
  added more documentation in README and TODO files.
  
  TAG: v0.1

ChangeSet@1.12, 2003-04-10 03:38:33-07:00, greg@kroah.com
  updated the documentation.

ChangeSet@1.11, 2003-04-10 03:25:55-07:00, greg@kroah.com
  cleaned up the makefile a bit.

ChangeSet@1.10, 2003-04-10 03:16:34-07:00, greg@kroah.com
  remove now works!

ChangeSet@1.9, 2003-04-10 03:02:32-07:00, greg@kroah.com
  restructure code to be able to actually get remove_node() to work.

ChangeSet@1.8, 2003-04-10 02:53:46-07:00, greg@kroah.com
  Creating nodes actually works.

ChangeSet@1.7, 2003-04-10 02:53:25-07:00, greg@kroah.com
  added stupid test script for debugging.

ChangeSet@1.6, 2003-04-10 12:09:14-07:00, greg@kroah.com
  added initial documentation and gpl license

ChangeSet@1.5, 2003-04-10 12:04:38-07:00, greg@kroah.com
  enabled debugging.

ChangeSet@1.4, 2003-04-10 12:04:07-07:00, greg@kroah.com
  updated ignore list.

ChangeSet@1.3, 2003-04-10 11:48:27-07:00, greg@kroah.com
  added initial files.

ChangeSet@1.2, 2003-04-10 10:40:20-07:00, greg@kroah.com
  fixed up config

ChangeSet@1.1, 2003-04-10 10:38:30-07:00, greg@kroah.com
  Initial repository create

ChangeSet@1.0, 2003-04-10 10:38:30-07:00, greg@kroah.com
  BitKeeper file /home/greg/src/udev/udev/ChangeSet

