On 07-Nov-18 4:01 PM, Ferruh Yigit wrote:
On 11/7/2018 1:56 PM, Anatoly Burakov wrote:
On some distributions (such as CentOS 7) lspci may not be installed
by default, causing exceptions which are difficult to interpret.
Fix devbind script to check if lspci is installed at script startup.
I guess we need lspci for `--status`, bind/unbind can be done without `lspci`,
what about adding check only display path?
IMO it's not worth respinning over that minor detail, but if you feel
strongly about it - sure, i can do a v2 with this on display path only :)
Cc: sta...@dpdk.org
Signed-off-by: Anatoly Burakov <anatoly.bura...@intel.com>
---
usertools/dpdk-devbind.py | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/usertools/dpdk-devbind.py b/usertools/dpdk-devbind.py
index 7d564634c..74bf514c0 100755
--- a/usertools/dpdk-devbind.py
+++ b/usertools/dpdk-devbind.py
@@ -655,6 +655,13 @@ def do_arg_actions():
def main():
'''program main function'''
+ # check if lspci is installed, suppress any output
+ with open(os.devnull, 'w') as devnull:
+ ret = subprocess.call(['which', 'lspci'],
+ stdout=devnull, stderr=devnull)
+ if ret != 0:
+ print("'lspci' not found - please install 'lspci'")
+ sys.exit(1)
parse_args()
check_modules()
clear_data()
--
Thanks,
Anatoly