2 # SPDX-License-Identifier: GPL-2.0
3 # Before running this script please ensure that your PATH is
4 # typical as you use for compilation/installation. I use
5 # /bin /sbin /usr/bin /usr/sbin /usr/local/bin, but it may
6 # differ on your system.
9 usage =
"If some fields are empty or look unusual you may have an old version.\n"
10 usage = usage
"Compare to the current minimal requirements in Documentation/Changes.\n"
16 vernum =
"[0-9]+([.]?[0-9]+)+"
17 libc =
"libc[.]so[.][0-9]+$"
18 libcpp =
"(libg|stdc)[+]+[.]so([.][0-9]+)+$"
20 printversion
("GNU C", version
("gcc -dumpversion"))
21 printversion
("GNU Make", version
("make --version"))
22 printversion
("Binutils", version
("ld -v"))
23 printversion
("Util-linux", version
("mount --version"))
24 printversion
("Mount", version
("mount --version"))
25 printversion
("Module-init-tools", version
("depmod -V"))
26 printversion
("E2fsprogs", version
("tune2fs"))
27 printversion
("Jfsutils", version
("fsck.jfs -V"))
28 printversion
("Reiserfsprogs", version
("reiserfsck -V"))
29 printversion
("Reiser4fsprogs", version
("fsck.reiser4 -V"))
30 printversion
("Xfsprogs", version
("xfs_db -V"))
31 printversion
("Pcmciautils", version
("pccardctl -V"))
32 printversion
("Pcmcia-cs", version
("cardmgr -V"))
33 printversion
("Quota-tools", version
("quota -V"))
34 printversion
("PPP", version
("pppd --version"))
35 printversion
("Isdn4k-utils", version
("isdnctrl"))
36 printversion
("Nfs-utils", version
("showmount --version"))
37 printversion
("Bison", version
("bison --version"))
38 printversion
("Flex", version
("flex --version"))
40 while ("ldconfig -p 2>/dev/null" | getline > 0)
41 if ($
NF ~ libc
|| $
NF ~ libcpp
)
42 if (!seen
[ver = version
("readlink " $
NF)]++)
43 printversion
("Linux C" ($
NF ~ libcpp?
"++" : "") " Library", ver
)
45 printversion
("Dynamic linker (ldd)", version
("ldd --version"))
46 printversion
("Procps", version
("ps --version"))
47 printversion
("Net-tools", version
("ifconfig --version"))
48 printversion
("Kbd", version
("loadkeys -V"))
49 printversion
("Console-tools", version
("loadkeys -V"))
50 printversion
("Sh-utils", version
("expr --v"))
51 printversion
("Udev", version
("udevadm --version"))
52 printversion
("Wireless-tools", version
("iwconfig --version"))
54 while ("sort /proc/modules" | getline > 0) {
58 printversion
("Modules Loaded", mods
)
61 function version
(cmd
, ver
) {
63 while (cmd
| getline > 0) {
64 if (match($
0, vernum
)) {
65 ver =
substr($
0, RSTART, RLENGTH)
73 function printversion
(name
, value
, ofmt) {
76 printf(ofmt, name
, value
)