This helps in case then user doesn't have dmidecode in his PATH.
For example, if user elevates his privileges with sudo, then he
may not inherit some superuser's environmental variables ($PATH,
contaning additional directories - /sbin, /usr/sbin and similar).

In case of failure to determine full path to dmidecode it just
fallbacks to the default value.

Tested only on Linux.

Signed-off-by: Peter Lemenkov <[email protected]>
---
 Makefile |    5 ++++-
 dmi.c    |    2 +-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index e83fc0b..7919e10 100644
--- a/Makefile
+++ b/Makefile
@@ -169,6 +169,9 @@ CONFIG_DEDIPROG ?= no
 # Disable wiki printing by default. It is only useful if you have wiki access.
 CONFIG_PRINT_WIKI ?= no
 
+# Try to detect full path for dmidecode
+CONFIG_DMIDECODE_PATH ?= $(shell LC_ALL=C type -p dmidecode 2>/dev/null || 
echo "dmidecode")
+
 ifeq ($(CONFIG_INTERNAL), yes)
 FEATURE_CFLAGS += -D'CONFIG_INTERNAL=1'
 PROGRAMMER_OBJS += processor_enable.o chipset_enable.o board_enable.o 
cbtable.o dmi.o internal.o
@@ -323,7 +326,7 @@ $(PROGRAM)$(EXEC_SUFFIX): $(OBJS)
 TAROPTIONS = $(shell LC_ALL=C tar --version|grep -q GNU && echo "--owner=root 
--group=root")
 
 %.o: %.c .features
-       $(CC) -MMD $(CFLAGS) $(CPPFLAGS) $(FEATURE_CFLAGS) $(SVNDEF) -o $@ -c $<
+       $(CC) -MMD $(CFLAGS) $(CPPFLAGS) $(FEATURE_CFLAGS) $(SVNDEF) 
-DCONFIG_DMIDECODE_PATH=\"$(CONFIG_DMIDECODE_PATH)\" -o $@ -c $<
 
 # Make sure to add all names of generated binaries here.
 # This includes all frontends and libflashrom.
diff --git a/dmi.c b/dmi.c
index f18907f..d483acb 100644
--- a/dmi.c
+++ b/dmi.c
@@ -55,7 +55,7 @@ static const char *dmidecode_names[] = {
 };
 
 #define DMI_COMMAND_LEN_MAX 260
-static const char *dmidecode_command = "dmidecode";
+static const char *dmidecode_command = CONFIG_DMIDECODE_PATH;
 
 static char *dmistrings[ARRAY_SIZE(dmidecode_names)];
 
-- 
1.7.2.3


_______________________________________________
flashrom mailing list
[email protected]
http://www.flashrom.org/mailman/listinfo/flashrom

Reply via email to