mirror of
https://github.com/torvalds/linux.git
synced 2024-10-30 08:42:47 +00:00
53494ba9da
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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
164 lines
3.7 KiB
Bash
Executable File
164 lines
3.7 KiB
Bash
Executable File
#!/bin/sh
|
|
# Before running this script please ensure that your PATH is
|
|
# typical as you use for compilation/istallation. I use
|
|
# /bin /sbin /usr/bin /usr/sbin /usr/local/bin, but it may
|
|
# differ on your system.
|
|
#
|
|
echo 'If some fields are empty or look unusual you may have an old version.'
|
|
echo 'Compare to the current minimal requirements in Documentation/Changes.'
|
|
echo ' '
|
|
|
|
uname -a
|
|
echo ' '
|
|
|
|
gcc -dumpversion 2>&1 |
|
|
awk '/[0-9]+([.]?[0-9]+)+/ && !/not found$/{
|
|
match($0, /[0-9]+([.]?[0-9]+)+/)
|
|
printf("GNU C\t\t\t%s\n",
|
|
substr($0,RSTART,RLENGTH))
|
|
}'
|
|
|
|
make --version 2>&1 |
|
|
awk '/GNU Make/{
|
|
match($0, /[0-9]+([.]?[0-9]+)+/)
|
|
printf("GNU Make\t\t%s\n",
|
|
substr($0,RSTART,RLENGTH))
|
|
}'
|
|
|
|
ld -v 2>&1 |
|
|
awk '/[0-9]+([.]?[0-9]+)+/ && !/not found$/{
|
|
match($0, /[0-9]+([.]?[0-9]+)+/)
|
|
printf("Binutils\t\t%s\n",
|
|
substr($0,RSTART,RLENGTH))
|
|
}'
|
|
|
|
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 '/[0-9]+([.]?[0-9]+)+/ && !/not found$/{
|
|
match($0, /[0-9]+([.]?[0-9]+)+/)
|
|
printf("Module-init-tools\t%s\n",
|
|
substr($0,RSTART,RLENGTH))
|
|
}'
|
|
|
|
tune2fs 2>&1 |
|
|
awk '/^tune2fs/{
|
|
match($0, /[0-9]+([.]?[0-9]+)+/)
|
|
printf("E2fsprogs\t\t%s\n",
|
|
substr($0,RSTART,RLENGTH))
|
|
}'
|
|
|
|
fsck.jfs -V 2>&1 |
|
|
awk '/version/{
|
|
match($0, /[0-9]+([.]?[0-9]+)+/)
|
|
printf("Jfsutils\t\t%s\n",
|
|
substr($0,RSTART,RLENGTH))
|
|
}'
|
|
|
|
reiserfsck -V 2>&1 |
|
|
awk '/^reiserfsck/{
|
|
match($0, /[0-9]+([.]?[0-9]+)+/)
|
|
printf("Reiserfsprogs\t\t%s\n",
|
|
substr($0,RSTART,RLENGTH))
|
|
}'
|
|
|
|
fsck.reiser4 -V 2>&1 | grep ^fsck.reiser4 | awk \
|
|
'NR==1{print "reiser4progs ", $2}'
|
|
|
|
xfs_db -V 2>&1 |
|
|
awk '/version/{
|
|
match($0, /[0-9]+([.]?[0-9]+)+/)
|
|
printf("Xfsprogs\t\t%s\n",
|
|
substr($0,RSTART,RLENGTH))
|
|
}'
|
|
|
|
pccardctl -V 2>&1 |
|
|
awk '/pcmciautils/{
|
|
match($0, /[0-9]+([.]?[0-9]+)+/)
|
|
printf("Pcmciautils\t\t%s\n",
|
|
substr($0,RSTART,RLENGTH))
|
|
}'
|
|
|
|
cardmgr -V 2>&1| grep version | awk \
|
|
'NR==1{print "pcmcia-cs ", $3}'
|
|
|
|
quota -V 2>&1 |
|
|
awk '/version/{
|
|
match($0, /[0-9]+([.]?[0-9]+)+/)
|
|
printf("Quota-tools\t\t%s\n",
|
|
substr($0,RSTART,RLENGTH))
|
|
}'
|
|
|
|
pppd --version 2>&1 |
|
|
awk '/version/{
|
|
match($0, /[0-9]+([.]?[0-9]+)+/)
|
|
printf("PPP\t\t\t%s\n",
|
|
substr($0,RSTART,RLENGTH))
|
|
}'
|
|
|
|
isdnctrl 2>&1 | grep version | awk \
|
|
'NR==1{print "isdn4k-utils ", $NF}'
|
|
|
|
showmount --version 2>&1 | grep nfs-utils | awk \
|
|
'NR==1{print "nfs-utils ", $NF}'
|
|
|
|
test -r /proc/self/maps &&
|
|
sed '
|
|
/.*libc-\(.*\)\.so$/!d
|
|
s//Linux C Library\t\t\1/
|
|
q
|
|
' /proc/self/maps
|
|
|
|
ldd --version 2>&1 |
|
|
awk '/^ldd/{
|
|
match($0, /[0-9]+([.]?[0-9]+)+/)
|
|
printf("Dynamic linker (ldd)\t%s\n",
|
|
substr($0,RSTART,RLENGTH))
|
|
}'
|
|
|
|
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}'
|
|
|
|
ifconfig --version 2>&1 | grep tools | awk \
|
|
'NR==1{print "Net-tools ", $NF}'
|
|
|
|
# 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}'
|
|
|
|
oprofiled --version 2>&1 | awk \
|
|
'(NR==1 && ($2 == "oprofile")) {print "oprofile ", $3}'
|
|
|
|
expr --v 2>&1 | awk 'NR==1{print "Sh-utils ", $NF}'
|
|
|
|
udevinfo -V 2>&1 | grep version | awk '{print "udev ", $3}'
|
|
|
|
iwconfig --version 2>&1 | awk \
|
|
'(NR==1 && ($3 == "version")) {print "wireless-tools ",$4}'
|
|
|
|
if [ -e /proc/modules ]; then
|
|
X=`cat /proc/modules | sed -e "s/ .*$//"`
|
|
echo "Modules Loaded "$X
|
|
fi
|