43 lines
1.2 KiB
Bash
43 lines
1.2 KiB
Bash
#!/bin/bash
|
|
#
|
|
# Copyright (C) 2019 Intel Corporation
|
|
#
|
|
# SPDX-License-Identifier: MIT
|
|
#
|
|
|
|
DriverVer=$(dpkg -l 'intel-opencl' | awk '/ii intel-opencl / { print $3 }')
|
|
|
|
if [ -z $DriverVer ]; then
|
|
echo No driver detected in the system
|
|
exit 1
|
|
fi
|
|
|
|
if [ $# -eq 0 ]; then
|
|
echo $DriverVer
|
|
exit 1
|
|
fi
|
|
|
|
if [ $# -ne 1 ] || [ $1 == "-h" ] || [ $1 == "--help" ]; then
|
|
echo $0 called with no parameters, prints the version of the installed OpenCL driver
|
|
echo $0 called with a single parameter containing expected version number,
|
|
echo returns success \(0\) if installed the specified driver version or newer
|
|
echo returns failure \(1\) if no driver or older than specified
|
|
exit 1
|
|
fi
|
|
|
|
if ! [[ $1 =~ ^[0-9]+\.[0-9]+\.[0-9]+.* ]]; then
|
|
echo Invalid version format
|
|
exit 1
|
|
fi
|
|
|
|
TestedString=$(echo "$1" | awk -F. '{ printf("%d.%d.%d\n", $1,$2,$3); }';)
|
|
DriverStatus=$(! dpkg --compare-versions "$DriverVer" "lt" "$TestedString" ; echo $? )
|
|
|
|
if [ $DriverStatus -eq 1 ]; then
|
|
echo Driver $DriverVer is older than referenced version passed from command line $1
|
|
else
|
|
echo Driver $DriverVer is newer than or equal to referenced version passed from command line $1
|
|
fi
|
|
|
|
exit $DriverStatus
|