From a7fe97cf1dcc20134b7a33457c5ecdec6b36823a Mon Sep 17 00:00:00 2001 From: Jean Delvare Date: Sun, 20 Mar 2005 21:10:24 +0000 Subject: [PATCH] Search for the udev db file/directory location in /etc/udev/udev.conf. Should be more efficient that regularly adding new possible names. Too bad distributions didn't agree on one name. Hopefully the Linux Standard Base will address the issue soon. git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@2939 7894878c-1315-0410-8ee3-d5d059ff63e0 --- prog/detect/sensors-detect | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/prog/detect/sensors-detect b/prog/detect/sensors-detect index a999ab8b..0a0656e0 100755 --- a/prog/detect/sensors-detect +++ b/prog/detect/sensors-detect @@ -1955,10 +1955,25 @@ sub initialize_conf close INPUTFILE; my $use_udev = 0; - if (-e '/dev/.udev.tdb' || -f '/dev/.udev' || -d '/dev/.udevdb') { - $use_udev = 1; - $dev_i2c = '/dev/i2c-'; - } + if (open(*INPUTFILE, '/etc/udev/udev.conf')) { + while () { + if (m/^\s*udev_db\s*=\s*\"([^"]*)\"/ || m/^\s*udev_db\s*=\s*(\S+)/) { + if (-e $1) { + $use_udev = 1; + $dev_i2c = '/dev/i2c-'; + } + last; + } + } + close INPUTFILE; + } else { + # Try some known default udev db locations, just in case + if (-e '/dev/.udev.tdb' || -e '/dev/.udev' + || -e '/dev/.udevdb' || -e '/dev/.udevdb') { + $use_udev = 1; + $dev_i2c = '/dev/i2c-'; + } + } if (-f '/etc/modules.conf') { $modules_conf = '/etc/modules.conf';