diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-10-04 05:57:49 +0300 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-10-04 05:57:49 +0300 |
commit | 7a53eea1f7b527fd3b6d7ca992914840981afe99 (patch) | |
tree | 35dfd7e14d5c44ae2d34e470aaaa68dbfec39324 /scripts/ver_linux | |
parent | 597f03f9d133e9837d00965016170271d4f87dcf (diff) | |
parent | c9fef1cc3dd3677633e6fd6ea5bd7ef3b741fab3 (diff) | |
download | linux-7a53eea1f7b527fd3b6d7ca992914840981afe99.tar.xz |
Merge tag 'char-misc-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
Pull char/misc driver updates from Greg KH:
"Here's the "big" char and misc driver update for 4.9-rc1.
Lots of little things here, all over the driver tree for subsystems
that flow through me. Nothing major that I can discern, full details
are in the shortlog.
All have been in the linux-next tree with no reported issues"
* tag 'char-misc-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (144 commits)
drivers/misc/hpilo: Changes to support new security states in iLO5 FW
at25: fix debug and error messaging
misc/genwqe: ensure zero initialization
vme: fake: remove unexpected unlock in fake_master_set()
vme: fake: mark symbols static where possible
spmi: pmic-arb: Return an error code if sanity check fails
Drivers: hv: get rid of id in struct vmbus_channel
Drivers: hv: make VMBus bus ids persistent
mcb: Add a dma_device to mcb_device
mcb: Enable PCI bus mastering by default
mei: stop the stall timer worker if not needed
clk: probe common clock drivers earlier
vme: fake: fix build for 64-bit dma_addr_t
ttyprintk: Neaten and simplify printing
mei: me: add kaby point device ids
coresight: tmc: mark symbols static where possible
coresight: perf: deal with error condition properly
Drivers: hv: hv_util: Avoid dynamic allocation in time synch
fpga manager: Add hardware dependency to Zynq driver
Drivers: hv: utils: Support TimeSync version 4.0 protocol samples.
...
Diffstat (limited to 'scripts/ver_linux')
-rwxr-xr-x | scripts/ver_linux | 260 |
1 files changed, 78 insertions, 182 deletions
diff --git a/scripts/ver_linux b/scripts/ver_linux index 0d8bd29b1bd6..430b201f3e25 100755 --- a/scripts/ver_linux +++ b/scripts/ver_linux @@ -1,193 +1,89 @@ -#!/bin/sh +#!/bin/awk -f # Before running this script please ensure that your PATH is # typical as you use for compilation/installation. 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 +BEGIN { + usage = "If some fields are empty or look unusual you may have an old version.\n" + usage = usage "Compare to the current minimal requirements in Documentation/Changes.\n" + print usage + + system("uname -a") + printf("\n") + + printversion("GNU C", version("gcc -dumpversion 2>&1")) + printversion("GNU Make", version("make --version 2>&1")) + printversion("Binutils", version("ld -v 2>&1")) + printversion("Util-linux", version("mount --version 2>&1")) + printversion("Mount", version("mount --version 2>&1")) + printversion("Module-init-tools", version("depmod -V 2>&1")) + printversion("E2fsprogs", version("tune2fs 2>&1")) + printversion("Jfsutils", version("fsck.jfs -V 2>&1")) + printversion("Reiserfsprogs", version("reiserfsck -V 2>&1")) + printversion("Reiser4fsprogs", version("fsck.reiser4 -V 2>&1")) + printversion("Xfsprogs", version("xfs_db -V 2>&1")) + printversion("Pcmciautils", version("pccardctl -V 2>&1")) + printversion("Pcmcia-cs", version("cardmgr -V 2>&1")) + printversion("Quota-tools", version("quota -V 2>&1")) + printversion("PPP", version("pppd --version 2>&1")) + printversion("Isdn4k-utils", version("isdnctrl 2>&1")) + printversion("Nfs-utils", version("showmount --version 2>&1")) + + if (system("test -r /proc/self/maps") == 0) { + while (getline <"/proc/self/maps" > 0) { + n = split($0, procmaps, "/") + if (/libc.*so$/ && match(procmaps[n], /[0-9]+([.]?[0-9]+)+/)) { + ver = substr(procmaps[n], RSTART, RLENGTH) + printversion("Linux C Library", ver) + break + } + } } -'` -test -r "$libcpp" && -ls -l $libcpp | -sed ' - s!.*so\.!! - s!^!Linux C++ Library\t! -' -ps --version 2>&1 | -awk '/version/{ - match($0, /[0-9]+([.]?[0-9]+)+/) - printf("Procps\t\t\t%s\n", - substr($0,RSTART,RLENGTH)) -}' - -ifconfig --version 2>&1 | -awk '/tools/{ - match($0, /[0-9]+([.]?[0-9]+)+/) - printf("Net-tools\t\t%s\n", - substr($0,RSTART,RLENGTH)) -}' - -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}' + printversion("Dynamic linker (ldd)", version("ldd --version 2>&1")) -expr --v 2>&1 | -awk '/^expr/{ - match($0, /[0-9]+([.]?[0-9]+)+/) - printf("Sh-utils\t\t%s\n", - substr($0,RSTART,RLENGTH)) -}' - -udevadm --version 2>&1 | -awk '/[0-9]+([.]?[0-9]+)+/ && !/not found$/{ - match($0, /[0-9]+([.]?[0-9]+)+/) - printf("Udev\t\t\t%s\n", - substr($0,RSTART,RLENGTH)) -}' + while ("ldconfig -p 2>/dev/null" | getline > 0) { + if (/(libg|stdc)[+]+\.so/) { + libcpp = $NF + break + } + } + if (system("test -r " libcpp) == 0) + printversion("Linux C++ Library", version("readlink " libcpp)) + + printversion("Procps", version("ps --version 2>&1")) + printversion("Net-tools", version("ifconfig --version 2>&1")) + printversion("Kbd", version("loadkeys -V 2>&1")) + printversion("Console-tools", version("loadkeys -V 2>&1")) + printversion("Oprofile", version("oprofiled --version 2>&1")) + printversion("Sh-utils", version("expr --v 2>&1")) + printversion("Udev", version("udevadm --version 2>&1")) + printversion("Wireless-tools", version("iwconfig --version 2>&1")) + + if (system("test -r /proc/modules") == 0) { + while ("sort /proc/modules" | getline > 0) { + mods = mods sep $1 + sep = " " + } + printversion("Modules Loaded", mods) + } +} -iwconfig --version 2>&1 | -awk '/version/{ - match($0, /[0-9]+([.]?[0-9]+)+/) - printf("Wireless-tools\t\t%s\n", - substr($0,RSTART,RLENGTH)) -}' +function version(cmd, ver) { + while (cmd | getline > 0) { + if (!/ver_linux/ && match($0, /[0-9]+([.]?[0-9]+)+/)) { + ver = substr($0, RSTART, RLENGTH) + break + } + } + close(cmd) + return ver +} -test -e /proc/modules && -sort /proc/modules | -sed ' - s/ .*// - H -${ - g - s/^\n/Modules Loaded\t\t/ - y/\n/ / - q +function printversion(name, value, ofmt) { + if (value != "") { + ofmt = "%-20s\t%s\n" + printf(ofmt, name, value) + } } - d -' |