[BLFS Trac] #2679: hal hardware awarness with newer udev
BLFS Trac
trac at linuxfromscratch.org
Thu Dec 4 12:50:01 MST 2008
#2679: hal hardware awarness with newer udev
-------------------------+--------------------------------------------------
Reporter: channelzero | Owner: blfs-book at linuxfromscratch.org
Type: task | Status: new
Priority: normal | Milestone: 6.4
Component: BOOK | Version: SVN
Severity: normal | Keywords:
-------------------------+--------------------------------------------------
As of udev-126 the udevinfo tool is not longer installed, in stable hal-
versions <= 0.5.11,
this tool is hard coded in linux specific code. Resulting in a hal which
isn't aware of the
hardware in your system. Especially lshal and desktop-apps like nautilus
are affected.
The hal-developers have fixed the problem within git-repo:
http://lists.freedesktop.org/archives/hal/2008-August/012177.html
One easy but maybe not portable solution is to set a link
from /sbin/udevadm to /usr/bin/udevinfo, which worked for me.
Using: udev-127, dbus-1.2.4 and hal-0.5.11.
related code (not tested):[[BR]]
--- hal-0.5.11/hald/linux/coldplug.c_orig 2008-05-08
01:23:32.000000000 +0200[[BR]]
+++ hal-0.5.11/hald/linux/coldplug.c 2008-12-04 18:50:37.000000000
+0100[[BR]]
@@ -149,8 +154,8 @@[[BR]]
static gboolean[[BR]]
hal_util_init_sysfs_to_udev_map (void)[[BR]]
{[[BR]]
- char *udevdb_export_argv[] = { "/usr/bin/udevinfo", "-e", NULL
};[[BR]]
- char *udevroot_argv[] = { "/usr/bin/udevinfo", "-r", NULL };[[BR]]
+ char *udevdb_export_argv[] = { "/sbin/udevadm", "info", "-e", NULL
};[[BR]]
+ char *udevroot_argv[] = { "/sbin/udevadm", "info", "-r", NULL
};[[BR]]
int udevinfo_exitcode;[[BR]]
UdevInfo *info = NULL;[[BR]]
char *p;[[BR]]
[[BR]]
--- hal-0.5.11/hald/linux/blockdev.c_orig 2008-05-08
01:23:41.000000000 +0200[[BR]]
+++ hal-0.5.11/hald/linux/blockdev.c 2008-12-04 18:50:55.000000000
+0100[[BR]]
@@ -1750,11 +1854,11 @@[[BR]]
char *ret;[[BR]]
char *u_stdout;[[BR]]
int u_exit_status;[[BR]]
- const char *argv[] = {"/usr/bin/udevinfo", "--root", "--query",
"name", "--path", NULL, NULL};[[BR]]
+ const char *argv[] = {"/sbin/udevadm", "info", "--root", "--
query", "name", "--path", NULL, NULL};[[BR]]
GError *g_error;[[BR]]
[[BR]]
ret = NULL;[[BR]]
- argv[5] = sysfs_path;[[BR]]
+ argv[6] = sysfs_path;[[BR]]
[[BR]]
g_error = NULL;[[BR]]
--
Ticket URL: <http://wiki.linuxfromscratch.org/blfs/ticket/2679>
BLFS Trac <http://wiki.linuxfromscratch.org/blfs>
Beyond Linux From Scratch
More information about the blfs-book
mailing list