浏览代码

ver_linux: use 'udevadm', instead of 'udevinfo'

'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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Alexander Kapshuk 9 年之前
父节点
当前提交
1245b7ec0f
共有 1 个文件被更改,包括 6 次插入1 次删除
  1. 6 1
      scripts/ver_linux

+ 6 - 1
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}'