xref: /linux/scripts/ver_linux (revision 12b2732c825c9ff59fa74fe9df50264d8275c14f)
11da177e4SLinus Torvalds#!/bin/sh
21da177e4SLinus Torvalds# Before running this script please ensure that your PATH is
31da177e4SLinus Torvalds# typical as you use for compilation/istallation. I use
41da177e4SLinus Torvalds# /bin /sbin /usr/bin /usr/sbin /usr/local/bin, but it may
51da177e4SLinus Torvalds# differ on your system.
61da177e4SLinus Torvalds#
71da177e4SLinus Torvaldsecho 'If some fields are empty or look unusual you may have an old version.'
81da177e4SLinus Torvaldsecho 'Compare to the current minimal requirements in Documentation/Changes.'
91da177e4SLinus Torvaldsecho ' '
101da177e4SLinus Torvalds
111da177e4SLinus Torvaldsuname -a
121da177e4SLinus Torvaldsecho ' '
131da177e4SLinus Torvalds
14235024e5SAlexander Kapshukgcc -dumpversion 2>&1 |
15235024e5SAlexander Kapshukawk '/[0-9]+([.]?[0-9]+)+/ && !/not found$/{
16235024e5SAlexander Kapshuk	match($0, /[0-9]+([.]?[0-9]+)+/)
17235024e5SAlexander Kapshuk	printf("GNU C\t\t\t%s\n",
18235024e5SAlexander Kapshuk	substr($0,RSTART,RLENGTH))
19235024e5SAlexander Kapshuk}'
201da177e4SLinus Torvalds
211d60b873SAlexander Kapshukmake --version 2>&1 |
221d60b873SAlexander Kapshukawk '/GNU Make/{
231d60b873SAlexander Kapshuk	match($0, /[0-9]+([.]?[0-9]+)+/)
241d60b873SAlexander Kapshuk	printf("GNU Make\t\t%s\n",
251d60b873SAlexander Kapshuk	substr($0,RSTART,RLENGTH))
261d60b873SAlexander Kapshuk}'
271da177e4SLinus Torvalds
283e2f5cfbSAlexander Kapshukld -v 2>&1 |
293e2f5cfbSAlexander Kapshukawk '/[0-9]+([.]?[0-9]+)+/ && !/not found$/{
303e2f5cfbSAlexander Kapshuk	match($0, /[0-9]+([.]?[0-9]+)+/)
313e2f5cfbSAlexander Kapshuk	printf("Binutils\t\t%s\n",
323e2f5cfbSAlexander Kapshuk	substr($0,RSTART,RLENGTH))
333e2f5cfbSAlexander Kapshuk}'
341da177e4SLinus Torvalds
3512b2732cSAlexander Kapshukmount --version 2>&1 |
3612b2732cSAlexander Kapshukawk '/[0-9]+([.]?[0-9]+)+/ && !/not found$/{
3712b2732cSAlexander Kapshuk	match($0, /[0-9]+([.]?[0-9]+)+/)
3812b2732cSAlexander Kapshuk	$0 = substr($0,RSTART,RLENGTH)
3912b2732cSAlexander Kapshuk	printf("Util-linux\t\t%s\nMount\t\t\t%s\n",$0,$0)
4012b2732cSAlexander Kapshuk}'
411da177e4SLinus Torvalds
421da177e4SLinus Torvaldsdepmod -V  2>&1 | awk 'NR==1 {print "module-init-tools     ",$NF}'
431da177e4SLinus Torvalds
441da177e4SLinus Torvaldstune2fs 2>&1 | grep "^tune2fs" | sed 's/,//' |  awk \
451da177e4SLinus Torvalds'NR==1 {print "e2fsprogs             ", $2}'
461da177e4SLinus Torvalds
471da177e4SLinus Torvaldsfsck.jfs -V 2>&1 | grep version | sed 's/,//' |  awk \
481da177e4SLinus Torvalds'NR==1 {print "jfsutils              ", $3}'
491da177e4SLinus Torvalds
50ea88df9bSAlexey Dobriyanreiserfsck -V 2>&1 | grep ^reiserfsck | awk \
511da177e4SLinus Torvalds'NR==1{print "reiserfsprogs         ", $2}'
521da177e4SLinus Torvalds
53ea88df9bSAlexey Dobriyanfsck.reiser4 -V 2>&1 | grep ^fsck.reiser4 | awk \
541da177e4SLinus Torvalds'NR==1{print "reiser4progs          ", $2}'
551da177e4SLinus Torvalds
561da177e4SLinus Torvaldsxfs_db -V 2>&1 | grep version | awk \
571da177e4SLinus Torvalds'NR==1{print "xfsprogs              ", $3}'
581da177e4SLinus Torvalds
59319e799aSValdis Kletniekspccardctl -V 2>&1| grep pcmciautils | awk '{print "pcmciautils           ", $2}'
60319e799aSValdis Kletnieks
611da177e4SLinus Torvaldscardmgr -V 2>&1| grep version | awk \
621da177e4SLinus Torvalds'NR==1{print "pcmcia-cs             ", $3}'
631da177e4SLinus Torvalds
641da177e4SLinus Torvaldsquota -V 2>&1 | grep version | awk \
651da177e4SLinus Torvalds'NR==1{print "quota-tools           ", $NF}'
661da177e4SLinus Torvalds
671da177e4SLinus Torvaldspppd --version 2>&1| grep version | awk \
681da177e4SLinus Torvalds'NR==1{print "PPP                   ", $3}'
691da177e4SLinus Torvalds
701da177e4SLinus Torvaldsisdnctrl 2>&1 | grep version | awk \
711da177e4SLinus Torvalds'NR==1{print "isdn4k-utils          ", $NF}'
721da177e4SLinus Torvalds
731da177e4SLinus Torvaldsshowmount --version 2>&1 | grep nfs-utils | awk \
741da177e4SLinus Torvalds'NR==1{print "nfs-utils             ", $NF}'
751da177e4SLinus Torvalds
769cc3ef30SJesper Juhlecho -n "Linux C Library        "
779cc3ef30SJesper Juhlsed -n -e '/^.*\/libc-\([^/]*\)\.so$/{s//\1/;p;q}' < /proc/self/maps
781da177e4SLinus Torvalds
791da177e4SLinus Torvaldsldd -v > /dev/null 2>&1 && ldd -v || ldd --version |head -n 1 | awk \
801da177e4SLinus Torvalds'NR==1{print "Dynamic linker (ldd)  ", $NF}'
811da177e4SLinus Torvalds
82bdefe35dSdann frazierls -l /usr/lib/libg++.so /usr/lib/libstdc++.so  2>/dev/null | awk -F. \
831da177e4SLinus Torvalds       '{print "Linux C++ Library      " $4"."$5"."$6}'
841da177e4SLinus Torvalds
851da177e4SLinus Torvaldsps --version 2>&1 | grep version | awk \
861da177e4SLinus Torvalds'NR==1{print "Procps                ", $NF}'
871da177e4SLinus Torvalds
881da177e4SLinus Torvaldsifconfig --version 2>&1 | grep tools | awk \
891da177e4SLinus Torvalds'NR==1{print "Net-tools             ", $NF}'
901da177e4SLinus Torvalds
911da177e4SLinus Torvalds# Kbd needs 'loadkeys -h',
921da177e4SLinus Torvaldsloadkeys -h 2>&1 | awk \
931da177e4SLinus Torvalds'(NR==1 && ($3 !~ /option/)) {print "Kbd                   ", $3}'
941da177e4SLinus Torvalds
951da177e4SLinus Torvalds# while console-tools needs 'loadkeys -V'.
961da177e4SLinus Torvaldsloadkeys -V 2>&1 | awk \
971da177e4SLinus Torvalds'(NR==1 && ($2 ~ /console-tools/)) {print "Console-tools         ", $3}'
981da177e4SLinus Torvalds
99319e799aSValdis Kletnieksoprofiled --version 2>&1 | awk \
100319e799aSValdis Kletnieks'(NR==1 && ($2 == "oprofile")) {print "oprofile              ", $3}'
101319e799aSValdis Kletnieks
1021da177e4SLinus Torvaldsexpr --v 2>&1 | awk 'NR==1{print "Sh-utils              ", $NF}'
1031da177e4SLinus Torvalds
10416941458SSteven Coleudevinfo -V 2>&1 | grep version | awk '{print "udev                  ", $3}'
1051da177e4SLinus Torvalds
106319e799aSValdis Kletnieksiwconfig --version 2>&1 | awk \
107319e799aSValdis Kletnieks'(NR==1 && ($3 == "version")) {print "wireless-tools        ",$4}'
108319e799aSValdis Kletnieks
1091da177e4SLinus Torvaldsif [ -e /proc/modules ]; then
1101da177e4SLinus Torvalds    X=`cat /proc/modules | sed -e "s/ .*$//"`
1111da177e4SLinus Torvalds    echo "Modules Loaded         "$X
1121da177e4SLinus Torvaldsfi
113