summaryrefslogtreecommitdiffstats
path: root/scripts/ver_linux
diff options
context:
space:
mode:
authorAlexander Kapshuk <alexander.kapshuk@gmail.com>2015-10-12 21:39:58 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-10-17 21:55:26 -0700
commit7a343234ed967de0c59cdbbf5629e6d762259549 (patch)
treea539d41bfc5b6c249c02476aeab53b2a45767ce2 /scripts/ver_linux
parentbe6bb51a9f6a60995e0069bfdd9e0611d78ae4c6 (diff)
downloadlinux-7a343234ed967de0c59cdbbf5629e6d762259549.tar.gz
linux-7a343234ed967de0c59cdbbf5629e6d762259549.tar.bz2
linux-7a343234ed967de0c59cdbbf5629e6d762259549.zip
ver_linux: loadkeys, look for numerical input, not field number
'loadkeys -h' no longer prints the version number across all distros, despite the claim to do so in the manpage, which I found to be the case on a Debian Linux system. The proposed implementation utilises the output of 'loadkeys -V' to acquire the version of both 'Kbd' and 'Console-tools'. 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. Signed-off-by: Alexander Kapshuk <alexander.kapshuk@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'scripts/ver_linux')
-rwxr-xr-xscripts/ver_linux13
1 files changed, 6 insertions, 7 deletions
diff --git a/scripts/ver_linux b/scripts/ver_linux
index 4ef1b7d370a9..e6b57d57df98 100755
--- a/scripts/ver_linux
+++ b/scripts/ver_linux
@@ -147,13 +147,12 @@ awk '/tools/{
substr($0,RSTART,RLENGTH))
}'
-# Kbd needs 'loadkeys -h',
-loadkeys -h 2>&1 | awk \
-'(NR==1 && ($3 !~ /option/)) {print "Kbd ", $3}'
-
-# while console-tools needs 'loadkeys -V'.
-loadkeys -V 2>&1 | awk \
-'(NR==1 && ($2 ~ /console-tools/)) {print "Console-tools ", $3}'
+loadkeys -V 2>&1 |
+awk '/[0-9]+([.]?[0-9]+)+/ && !/not found$/{
+ match($0, /[0-9]+([.]?[0-9]+)+/)
+ $0 = substr($0,RSTART,RLENGTH)
+ printf("Kbd\t\t\t%s\nConsole-tools\t\t%s\n",$0,$0)
+}'
oprofiled --version 2>&1 | awk \
'(NR==1 && ($2 == "oprofile")) {print "oprofile ", $3}'