[PATCH v2] ver_linux: add missing software to checklist

From: Shuah Khan
Date: Tue Jan 24 2023 - 15:43:53 EST


Update to add missing software checks to bring it in sync with the
Documentation/Changes list. Make improvements to the output with
separator between different sections.

Signed-off-by: Shuah Khan <skhan@xxxxxxxxxxxxxxxxxxx>
---
Changes since v1: addressed review comments

scripts/ver_linux | 28 ++++++++++++++++++++++++----
1 file changed, 24 insertions(+), 4 deletions(-)

diff --git a/scripts/ver_linux b/scripts/ver_linux
index 1a8ee4ff0e32..2daee7e88c45 100755
--- a/scripts/ver_linux
+++ b/scripts/ver_linux
@@ -6,20 +6,29 @@
# 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"
+ usage = "Minimum required software versions to build and run current kernel version.\n"
+ usage = usage "If some fields are empty or look unusual you may have an old version.\n"
+ usage = usage "Compare with the current minimal requirements in Documentation/Changes.\n"
print usage

+ separator = "\n===================================================\n"
+
+ print separator
system("uname -a")
- printf("\n")

vernum = "[0-9]+([.]?[0-9]+)+"
libc = "libc[.]so[.][0-9]+$"
libcpp = "(libg|stdc)[+]+[.]so([.][0-9]+)+$"

+ print separator
printversion("GNU C", version("gcc -dumpversion"))
+ printversion("Clang/LLVM (optional)", version("clang --version"))
+ printversion("Rust (optional)", version("rustc --version"))
+ printversion("bindgen (optional)", version("bindgen --version"))
printversion("GNU Make", version("make --version"))
+ printversion("bash", version("bash --version"))
printversion("Binutils", version("ld -v"))
+ printversion("pahole", version("pahole --version"))
printversion("Util-linux", version("mount --version"))
printversion("Mount", version("mount --version"))
printversion("Module-init-tools", version("depmod -V"))
@@ -28,6 +37,8 @@ BEGIN {
printversion("Reiserfsprogs", version("reiserfsck -V"))
printversion("Reiser4fsprogs", version("fsck.reiser4 -V"))
printversion("Xfsprogs", version("xfs_db -V"))
+ printversion("squashfs-tools", version("mksquashfs -version"))
+ printversion("btrfs-progs", version("mkfs.btrfs --version"))
printversion("Pcmciautils", version("pccardctl -V"))
printversion("Pcmcia-cs", version("cardmgr -V"))
printversion("Quota-tools", version("quota -V"))
@@ -36,7 +47,15 @@ BEGIN {
printversion("Nfs-utils", version("showmount --version"))
printversion("Bison", version("bison --version"))
printversion("Flex", version("flex --version"))
+ printversion("Grub", version("grub-install --version"))
+ printversion("mcelog", version("mcelog --version"))
+ printversion("iptables", version("iptables --version"))
+ printversion("openssl & libcrypto", version("openssl version"))
+ printversion("bc", version("bc --version"))
+ printversion("Sphinx (for doc builds)", version("sphinx-build --version"))
+ printversion("cpio", version("cpio --version"))

+ print separator
while ("ldconfig -p 2>/dev/null" | getline > 0)
if ($NF ~ libc || $NF ~ libcpp)
if (!seen[ver = version("readlink " $NF)]++)
@@ -51,11 +70,12 @@ BEGIN {
printversion("Udev", version("udevadm --version"))
printversion("Wireless-tools", version("iwconfig --version"))

+ print separator
while ("sort /proc/modules" | getline > 0) {
mods = mods sep $1
sep = " "
}
- printversion("Modules Loaded", mods)
+ printversion("Modules Loaded:\n", mods)
}

function version(cmd, ver) {
--
2.34.1