Update on DeviceKit

Joe Marcus Clarke marcus at FreeBSD.org
Thu May 8 08:15:45 PDT 2008


On Wed, 2008-05-07 at 03:40 -0400, David Zeuthen wrote:
> Hi,
> 
> As I've mentioned quite a few times over the past year, I've been
> wanting to work on the next major version of HAL as there are several
> reasons warranting a rewrite:
> 
>  - It's a huge kitchen sink that hasn't seen any real rewrites
>    except for the 0.4->0.5 transition very early on. This means
>     - weird constraints; e.g. methods can only return an integer
>     - introspection is dodgy
>     - lots of handwritten marshaling
>     - tends to be a dumping ground for lots of random stuff
>  - Because it does a lot, no single developer has a 100% overview
>    of the code base
>    - slow release process; people blocking on each other
>  - Too abstract / generic
>    - probably too tied to Linux

This is very true.  It's good that portability is a concern for this.


> ---------
> DeviceKit
> ---------
> 
> This is a simple system service that a) can enumerate devices; b) emits
> signals when devices are added removed; c) provides a way to merge
> device information / quirks onto devices. And that's it. A device is
> identified by a) the native OS-specific path (on Linux a sysfs path); b)
> an optional UNIX device file; and c) key/value pairs describing the
> device. It's a very simple service, a bit like what HAL is today without
> all the probers/callouts
> 
>  http://hal.freedesktop.org/docs/DeviceKit/
>  http://gitweb.freedesktop.org/?p=users/david/DeviceKit.git;a=summary

It looks like you've made DK even less portable, though.  There doesn't
seem to be any infrastructure for modular OS support.  The main
devkit-daemon.c is littered with Linux-only assumptions.  At least in
hal, there were OS directories, and stubs for implementing new OS
support.  What is one supported to do here, #ifdef the code?

> 
> Status: the last point, merging device information, isn't done yet. This
> is for things like classifying devices as audio players, cameras etc.
> Ideas welcome.
> 
> Here's the TODO list
> 
> http://gitweb.freedesktop.org/?p=users/david/DeviceKit.git;a=blob;h=1f2b1c337e7ca5d0fe0ec5cbff2c6e3b4220b2fa;hb=e67cf1ad360471ae6c6ebf04f0d1f9648f322a93;f=doc/TODO

What are specific your plans to add non-Linux support?  How easy is it
going to be to leverage the work that has already gone into hal for,
say, FreeBSD support?  I'll admit, it's very difficult currently being
the only one maintaining the FreeBSD port.  Making the transition as
painless as possible would be a big help for me.

Joe

-- 
Joe Marcus Clarke
FreeBSD GNOME Team      ::      gnome at FreeBSD.org
FreeNode / #freebsd-gnome
http://www.FreeBSD.org/gnome
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part
Url : http://lists.freedesktop.org/archives/hal/attachments/20080508/1c88e0f0/attachment.pgp 


More information about the hal mailing list