123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- #!/usr/bin/awk -f
- # SPDX-License-Identifier: GPL-2.0
- # 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.
- 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")
- vernum = "[0-9]+([.]?[0-9]+)+"
- libc = "libc[.]so[.][0-9]+$"
- libcpp = "(libg|stdc)[+]+[.]so[.][0-9]+$"
- printversion("GNU C", version("gcc -dumpversion"))
- printversion("GNU Make", version("make --version"))
- printversion("Binutils", version("ld -v"))
- printversion("Util-linux", version("mount --version"))
- printversion("Mount", version("mount --version"))
- printversion("Module-init-tools", version("depmod -V"))
- printversion("E2fsprogs", version("tune2fs"))
- printversion("Jfsutils", version("fsck.jfs -V"))
- printversion("Reiserfsprogs", version("reiserfsck -V"))
- printversion("Reiser4fsprogs", version("fsck.reiser4 -V"))
- printversion("Xfsprogs", version("xfs_db -V"))
- printversion("Pcmciautils", version("pccardctl -V"))
- printversion("Pcmcia-cs", version("cardmgr -V"))
- printversion("Quota-tools", version("quota -V"))
- printversion("PPP", version("pppd --version"))
- printversion("Isdn4k-utils", version("isdnctrl"))
- printversion("Nfs-utils", version("showmount --version"))
- printversion("Bison", version("bison --version"))
- printversion("Flex", version("flex --version"))
- while ("ldconfig -p 2>/dev/null" | getline > 0) {
- if ($NF ~ libc && !seen[ver = version("readlink " $NF)]++)
- printversion("Linux C Library", ver)
- else if ($NF ~ libcpp && !seen[ver = version("readlink " $NF)]++)
- printversion("Linux C++ Library", ver)
- }
- printversion("Dynamic linker (ldd)", version("ldd --version"))
- printversion("Procps", version("ps --version"))
- printversion("Net-tools", version("ifconfig --version"))
- printversion("Kbd", version("loadkeys -V"))
- printversion("Console-tools", version("loadkeys -V"))
- printversion("Oprofile", version("oprofiled --version"))
- printversion("Sh-utils", version("expr --v"))
- printversion("Udev", version("udevadm --version"))
- printversion("Wireless-tools", version("iwconfig --version"))
- while ("sort /proc/modules" | getline > 0) {
- mods = mods sep $1
- sep = " "
- }
- printversion("Modules Loaded", mods)
- }
- function version(cmd, ver) {
- cmd = cmd " 2>&1"
- while (cmd | getline > 0) {
- if (match($0, vernum)) {
- ver = substr($0, RSTART, RLENGTH)
- break
- }
- }
- close(cmd)
- return ver
- }
- function printversion(name, value, ofmt) {
- if (value != "") {
- ofmt = "%-20s\t%s\n"
- printf(ofmt, name, value)
- }
- }
|