[PATCH 20/22] ver_linux: use 'udevadm', instead of 'udevinfo'

Alexander Kapshuk
2015-10-12T18:41:13Z

'udevinfo' no longer seems to be available across various
distros. 'udevadm' seems to be the currently valid way to look up the
'udev' version.

Tested on:
Gentoo Linux
Debian 6.0.10
Oracle Linux Server release 7.1

Rely on regex to find the version number, rather than rely on numerical input to be found in a particular input field.
Proposed implementation also eliminates the necessity to invoke 'grep' + 'awk'.

Signed-off-by: Alexander Kapshuk <alexander.kapshuk@gmail.com>
---
scripts/ver_linux | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/scripts/ver_linux b/scripts/ver_linux
index 1c6ec22..f839be3 100755
--- a/scripts/ver_linux
+++ b/scripts/ver_linux
@@ -164,7 +164,12 @@ awk '/^expr/{
substr($0,RSTART,RLENGTH))
}'

-udevinfo -V 2>&1 | grep version | awk '{print "udev ", $3}'
+udevadm --version 2>&1 |
+awk '/[0-9]+([.]?[0-9]+)+/ && !/not found$/{
+ match($0, /[0-9]+([.]?[0-9]+)+/)
+ printf("Udev\t\t\t%s\n",
+ substr($0,RSTART,RLENGTH))
+}'

iwconfig --version 2>&1 | awk \
'(NR==1 && ($3 == "version")) {print "wireless-tools ",$4}'
--
2.4.9