[libvirt] [PATCH] Use AC_PATH_PROG to search for dmidecode

Roman Bogorodskiy bogorodskiy at gmail.com
Fri Jan 17 19:17:32 UTC 2014


This is useful in certain circumstances, for example when
libvirtd is being executed by FreeBSD rc script, it cannot find
dmidecode installed from FreeBSD ports because it doesn't have
/usr/local (default prefix for ports) in PATH.
---
 configure.ac          | 4 ++++
 src/util/virsysinfo.c | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index 146418f..c34c7b8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -391,6 +391,8 @@ dnl External programs that we can use if they are available.
 dnl We will hard-code paths to these programs unless we cannot
 dnl detect them, in which case we'll search for the program
 dnl along the $PATH at runtime and fail if it's not there.
+AC_PATH_PROG([DMIDECODE], [dmidecode], [dmidecode],
+	[/sbin:/usr/sbin:/usr/local/sbin:$PATH])
 AC_PATH_PROG([DNSMASQ], [dnsmasq], [dnsmasq],
 	[/sbin:/usr/sbin:/usr/local/sbin:$PATH])
 AC_PATH_PROG([RADVD], [radvd], [radvd],
@@ -408,6 +410,8 @@ AC_PATH_PROG([OVSVSCTL], [ovs-vsctl], [ovs-vsctl],
 AC_PATH_PROG([SCRUB], [scrub], [scrub],
 	[/sbin:/usr/sbin:/usr/local/sbin:$PATH])
 
+AC_DEFINE_UNQUOTED([DMIDECODE],["$DMIDECODE"],
+        [Location or name of the dmidecode program])
 AC_DEFINE_UNQUOTED([DNSMASQ],["$DNSMASQ"],
         [Location or name of the dnsmasq program])
 AC_DEFINE_UNQUOTED([RADVD],["$RADVD"],
diff --git a/src/util/virsysinfo.c b/src/util/virsysinfo.c
index 18f426d..92484f5 100644
--- a/src/util/virsysinfo.c
+++ b/src/util/virsysinfo.c
@@ -44,7 +44,7 @@
 VIR_ENUM_IMPL(virSysinfo, VIR_SYSINFO_LAST,
               "smbios");
 
-static const char *sysinfoDmidecode = "dmidecode";
+static const char *sysinfoDmidecode = DMIDECODE;
 static const char *sysinfoSysinfo = "/proc/sysinfo";
 static const char *sysinfoCpuinfo = "/proc/cpuinfo";
 
-- 
1.8.4.3




More information about the libvir-list mailing list