From 84374b4b4e41c4bb7896092c10098b5e6b5f68c1 Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Wed, 11 Sep 2019 17:59:23 +0200 Subject: explicitly collect binary versions There is no generic way to retrieve the version of a binary. Not everyone followes GNU cli guidelines and supports "--version". The larson benchmark for example reads input from stdin when started with "larson --version" blocking the Benchmark.prepare() call. --- src/facter.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/facter.py') diff --git a/src/facter.py b/src/facter.py index 387c75c..a1ee952 100644 --- a/src/facter.py +++ b/src/facter.py @@ -110,13 +110,13 @@ def libc_ver(executable=None): return ("glibc", glibc_version) -def exec_ver(executable): +def exe_version(executable, version_flag="--version"): """Return version of executable""" - proc = subprocess.run([executable, "--version"], + proc = subprocess.run([executable, version_flag], universal_newlines=True, stdout=subprocess.PIPE) if proc.returncode != 0: - print_error(f"failed to get version of {executable}") + print_warning(f"failed to get version of {executable}") return "" return proc.stdout[:-1] -- cgit v1.2.3