[PATCH 15/22] ver_linux: libcpp, fix missing output

Alexander Kapshuk
2015-10-12T18:44:40Z

Neither 'libg++.so', nor 'libstdc++.so' were found where the current
implementation expects them to be found in the distros below.

Gentoo Linux
Debian 6.0.10
Oracle Linux Server release 7.1

Which results in zero ouput generated.

The proposed implementation relies on 'ldconfig' to locate the libraries
in question. 'Sed' is used to do the text processing.

Signed-off-by: Alexander Kapshuk <alexander.kapshuk@gmail.com>
---
scripts/ver_linux | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/scripts/ver_linux b/scripts/ver_linux
index a7d0eca..882ddb9 100755
--- a/scripts/ver_linux
+++ b/scripts/ver_linux
@@ -121,9 +121,18 @@ awk '/^ldd/{
substr($0,RSTART,RLENGTH))
}'

-ls -l /usr/lib/libg++.so /usr/lib/libstdc++.so 2>/dev/null | awk -F. \
- '{print "Linux C++ Library " $4"."$5"."$6}'
-
+libcpp=`ldconfig -p 2>/dev/null |
+ awk '/(libg|stdc)[+]+\.so/ {
+ print $NF
+ exit
+ }
+'`
+test -r "$libcpp" &&
+ls -l $libcpp |
+sed '
+ s!.*so\.!!
+ s!^!Linux C++ Library\t!
+'
ps --version 2>&1 | grep version | awk \
'NR==1{print "Procps ", $NF}'

--
2.4.9