Commit graph

82 commits

Author SHA1 Message Date
kay.sievers@vrfy.org 7fafc03242 [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.
2005-04-26 21:13:17 -07:00
greg@kroah.com bb513a064c [PATCH] 014_bk mark 2005-04-26 21:13:17 -07:00
greg@kroah.com f2ec8f1a7f [PATCH] 014 release 2005-04-26 21:13:17 -07:00
greg@kroah.com 0523018487 [PATCH] 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.
2005-04-26 21:13:17 -07:00
kay.sievers@vrfy.org 54988802b7 [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
2005-04-26 21:13:17 -07:00
greg@kroah.com 78812b99d3 [PATCH] 013_bk mark 2005-04-26 21:13:16 -07:00
greg@kroah.com c58ffe501c [PATCH] v013 release 2005-04-26 21:13:16 -07:00
kay.sievers@vrfy.org 68e07a2b07 [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 :)
2005-04-26 21:13:16 -07:00
kay.sievers@vrfy.org 606143c8d2 [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
2005-04-26 21:13:15 -07:00
eike-hotplug@sf-tec.de e64280b8b3 [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)
2005-04-26 21:13:15 -07:00
greg@kroah.com e9a8c2e432 [PATCH] 012_bk change. 2005-04-26 21:13:14 -07:00
greg@kroah.com 8c55357fa7 [PATCH] v012 release 2005-04-26 21:13:14 -07:00
greg@kroah.com 8ccd82e04c [PATCH] move the dbus config file to etc/dbus-1/system.d/ 2005-04-26 21:13:14 -07:00
greg@kroah.com 6d88260a8b [PATCH] move the config files to etc/udev to clean up main directory a bit. 2005-04-26 21:13:14 -07:00
greg@kroah.com fb43c2b2e8 [PATCH] if using glibc, link dynamically, as no one like 500Kb udev binaries... 2005-04-26 21:13:12 -07:00
kay.sievers@vrfy.org c78cb204bc [PATCH] depend on all .h files
Let the build depend on all header files.
2005-04-26 21:13:12 -07:00
greg@kroah.com 1f99bc3254 [PATCH] 011_bk tag 2005-04-26 21:13:11 -07:00
greg@kroah.com d7577c8b90 [PATCH] v011 release 2005-04-26 21:13:11 -07:00
greg@kroah.com fe0a916c31 [PATCH] 010_bk stamp 2005-04-26 21:13:11 -07:00
svetljo@gmx.de 335e433720 [PATCH] fix udev sed Makefile usage 2005-04-26 21:13:11 -07:00
greg@kroah.com 1e5b0d2fc9 [PATCH] v010 release 2005-04-26 21:13:10 -07:00
kay.sievers@vrfy.org 8c5d34e508 [PATCH] trivial make fixes
One patch to let bk ignore the created udev.conf.
The second to depend on the .h files.
2005-04-26 21:13:09 -07:00
kay.sievers@vrfy.org 7591c18a8f [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.
2005-04-26 21:13:09 -07:00
akropel1@rochester.rr.com 49cd31b33e [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.
2005-04-26 21:13:09 -07:00
greg@kroah.com 9c23ec09a0 [PATCH] 009_bk makefile changes. 2005-04-26 21:13:08 -07:00
greg@kroah.com 54b72ce91e [PATCH] v009 release 2005-04-26 21:13:08 -07:00
olh@suse.de 6662694809 [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.
2005-04-26 21:13:08 -07:00
rml@ximian.com 316c515077 [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.
2005-04-26 21:13:08 -07:00
eike-hotplug@sf-tec.de dbc9b3f3a2 [PATCH] add init.d/udev to "make install"
adds /etc/init.d/udev to "make install"
2005-04-26 21:13:07 -07:00
greg@kroah.com 71896b56ee [PATCH] tweak the config file generation portion of the Makefile a bit. 2005-04-26 21:13:07 -07:00
olh@suse.de 18a0d6522d [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.
2005-04-26 21:13:07 -07:00
greg@kroah.com 62adf3f739 [PATCH] Makefile tweaks for the DBUS build. 2005-04-26 21:13:07 -07:00
greg@kroah.com bbd063b5c2 [PATCH] change USE_DBUS to DBUS in Makefile, and disable it by default as it's still to hard to build on all systems. 2005-04-26 21:13:06 -07:00
david@fubar.dk 5aebfbcb62 [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.
2005-04-26 21:13:06 -07:00
patmans@us.ibm.com eadb1bbc2e [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
2005-04-26 21:13:06 -07:00
greg@kroah.com da146a3e36 [PATCH] 008_bk mark 2005-04-26 21:13:06 -07:00
greg@kroah.com c9feb4d9f2 [PATCH] v008 release 2005-04-26 21:13:06 -07:00
greg@kroah.com 3836a3c49a [PATCH] 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.
2005-04-26 21:13:05 -07:00
greg@kroah.com e8bacccab2 [PATCH] 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.
2005-04-26 21:13:05 -07:00
greg@kroah.com 29b82deb7e [PATCH] turn debugging messages off by default.
it's a bit noisy for the masses...
2005-04-26 21:13:05 -07:00
greg@kroah.com 19feb35100 [PATCH] split out the namedev config parsing logic to namedev_parse.c 2005-04-26 21:13:05 -07:00
mort@wildopensource.com 7f2ea6a382 [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.
2005-04-26 21:13:04 -07:00
olh@suse.de bfd8a5d0f7 [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
2005-04-26 21:13:04 -07:00
patmans@us.ibm.com 871ea775c7 [PATCH] fix udev parallel builds with klibc
I can't build udev with make -j9. Here's a patch to fix it.
2005-04-26 21:13:04 -07:00
arnd@arndb.de 74894b53f8 [PATCH] klibc makefile fixes 2005-04-26 21:13:02 -07:00
greg@kroah.com 58a16d607b [PATCH] 007_bk version change to Makefile. 2005-04-26 21:13:02 -07:00
greg@kroah.com 44132eca4e [PATCH] v007 release 2005-04-26 21:13:02 -07:00
greg@kroah.com 6a670d61bc [PATCH] only build klibc_fixups.c if we are actually using klibc. 2005-04-26 21:13:02 -07:00
olh@suse.de ed83913730 [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.
2005-04-26 21:06:26 -07:00
greg@kroah.com 95d3e90130 [PATCH] change to 006_bk version 2005-04-26 21:06:25 -07:00