ver_linux: util-linux, 'fdformat' not ubiquitous any longer
authorAlexander Kapshuk <alexander.kapshuk@gmail.com>
Mon, 12 Oct 2015 18:39:44 +0000 (21:39 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 18 Oct 2015 04:55:26 +0000 (21:55 -0700)
The current implementation relies on 'fdformat' to output the version of
'util-linux'. This does not seem to be reliable any longer, as 'fdformat'
does not seem to come preinstalled in all ditros these days.

The proposed implementation uses 'mount' to output both the version
of 'util-linux' and 'mount' proper, as 'mount' is also a part of the
'util-linux' package.

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

Rely on regex to find the version number, rather than a field number.

Signed-off-by: Alexander Kapshuk <alexander.kapshuk@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
scripts/ver_linux

index 1fea749..28e7640 100755 (executable)
@@ -32,11 +32,12 @@ awk '/[0-9]+([.]?[0-9]+)+/ && !/not found$/{
        substr($0,RSTART,RLENGTH))
 }'
 
-echo -n "util-linux             "
-fdformat --version | awk '{print $NF}' | sed -e s/^util-linux-// -e s/\)$//
-
-echo -n "mount                  "
-mount --version | awk '{print $NF}' | sed -e s/^mount-// -e s/\)$//
+mount --version 2>&1 |
+awk '/[0-9]+([.]?[0-9]+)+/ && !/not found$/{
+       match($0, /[0-9]+([.]?[0-9]+)+/)
+       $0 = substr($0,RSTART,RLENGTH)
+       printf("Util-linux\t\t%s\nMount\t\t\t%s\n",$0,$0)
+}'
 
 depmod -V  2>&1 | awk 'NR==1 {print "module-init-tools     ",$NF}'