Age | Commit message (Collapse) | Author |
|
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
|
|
enough stuff.
|
|
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.
|
|
Seems like we need the following patch to do
proper sysbus cleanup, if udevdb_init() fails.
|
|
#ifdef crud from the main code.
|
|
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.
|
|
Now there are only 3 valid environment test variables. The rest can be
specified with the config file.
|
|
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.
|
|
be LSB compliant
Finally the Debian people can get off my back...
|
|
01-overall-whitespace+debug-text-conditioning.diff
o cleanup whitespace
o clarify a few comments
o enclose all printed debug string values in ''
|
|
|
|
and udev.config
the namedev name didn't really make much sense anymore...
|
|
|
|
config variables
This will make running tests a lot simpler.
|
|
|
|
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.
|
|
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.
|
|
|
|
|
|
needs lots more cleanup, but is much nicer than doing this by hand...
|
|
.permission parsing works, .config needs more work.
|
|
the files we need.
|
|
|
|
|
|
|
|
|