From 98e7b5752898f74788098bef51f53205e365ab9d Mon Sep 17 00:00:00 2001 From: Manuel Ebner Date: Wed, 11 Mar 2026 17:54:41 +0100 Subject: scripts: ver_linux: expand and fix list It is a pain in the ass to compare the software versions on the running system (scripts/ver_linux) with the minimal required versions. Sorting both lists the same way makes side-by-side comparisons a simple task. fix path to changes.rst make toolnames uniform with the toolnames in Changes.rst make version commands uniform with Changes.rst Add missing tools in ver_linux bash, bc, bindgen, btrfs-progs, Clang, gdb, GNU awk, GNU tar, GRUB, GRUB2, gtags, iptables, kmod, mcelog, mkimage, openssl, pahole, Python, Rust, Sphinx, squashfs-tools Signed-off-by: Manuel Ebner Message-ID: <20260311165440.183672-2-manuelebner@airmail.cc> Signed-off-by: Jonathan Corbet --- scripts/ver_linux | 50 ++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 36 insertions(+), 14 deletions(-) (limited to 'scripts/ver_linux') diff --git a/scripts/ver_linux b/scripts/ver_linux index d6f2362d3792..458c30a44f8d 100755 --- a/scripts/ver_linux +++ b/scripts/ver_linux @@ -7,7 +7,7 @@ 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 = usage "Compare to the current minimal requirements in Documentation/process/changes.rst\n" print usage system("uname -a") @@ -18,22 +18,22 @@ BEGIN { 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("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("Xfsprogs", version("xfs_db -V")) - printversion("Pcmciautils", version("pccardctl -V")) + printversion("e2fsprogs", version("e2fsck -V")) + printversion("jfsutils", version("fsck.jfs -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("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")) + 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 || $NF ~ libcpp) @@ -41,13 +41,35 @@ BEGIN { printversion("Linux C" ($NF ~ libcpp? "++" : "") " Library", ver) printversion("Dynamic linker (ldd)", version("ldd --version")) - printversion("Procps", version("ps --version")) + printversion("procps", version("ps --version")) printversion("Net-tools", version("ifconfig --version")) printversion("Kbd", version("loadkeys -V")) printversion("Console-tools", version("loadkeys -V")) printversion("Sh-utils", version("expr --v")) - printversion("Udev", version("udevadm --version")) + printversion("udev", version("udevadm --version")) printversion("Wireless-tools", version("iwconfig --version")) + printversion("bash", version("bash --version")) + printversion("bc", version("bc --version")) + printversion("bindgen", version("bindgen --version")) + printversion("btrfs-progs", version("btrfs --version")) + printversion("Clang", version("clang --version")) + printversion("gdb", version("gdb -version")) + printversion("GNU awk", version("gawk --version")) + printversion("GNU tar", version("tar --version")) + printversion("GRUB", version("grub-install --version")) + printversion("GRUB2", version("grub2-install --version")) + printversion("gtags", version("gtags --version")) + printversion("iptables", version("iptables -V")) + printversion("kmod", version("kmod -V")) + printversion("mcelog", version("mcelog --version")) + printversion("mkimage", version("mkimage --version")) + printversion("openssl", version("openssl version")) + printversion("pahole", version("pahole --version")) + printversion("Python", version("python3 -V")) + printversion("Rust", version("rustc --version")) + printversion("Sphinx", version("sphinx-build --version")) + printversion("squashfs-tools", version("mksquashfs -version")) + while ("sort /proc/modules" | getline > 0) { mods = mods sep $1 -- cgit v1.2.3 From 06dbdc5da152e30fbd09b37afdca2fdec9da2165 Mon Sep 17 00:00:00 2001 From: Jonathan Corbet Date: Mon, 30 Mar 2026 10:29:54 -0600 Subject: Revert "scripts: ver_linux: expand and fix list" This reverts commit 98e7b5752898f74788098bef51f53205e365ab9d. I had not intended to apply this version of this patch; take it out and we'll try again later. Signed-off-by: Jonathan Corbet --- scripts/ver_linux | 50 ++++++++++++++------------------------------------ 1 file changed, 14 insertions(+), 36 deletions(-) (limited to 'scripts/ver_linux') diff --git a/scripts/ver_linux b/scripts/ver_linux index 458c30a44f8d..d6f2362d3792 100755 --- a/scripts/ver_linux +++ b/scripts/ver_linux @@ -7,7 +7,7 @@ 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/process/changes.rst\n" + usage = usage "Compare to the current minimal requirements in Documentation/Changes.\n" print usage system("uname -a") @@ -18,22 +18,22 @@ BEGIN { 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("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("e2fsck -V")) - printversion("jfsutils", version("fsck.jfs -V")) - printversion("xfsprogs", version("xfs_db -V")) - printversion("pcmciautils", version("pccardctl -V")) + printversion("E2fsprogs", version("tune2fs")) + printversion("Jfsutils", version("fsck.jfs -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("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")) + 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 || $NF ~ libcpp) @@ -41,35 +41,13 @@ BEGIN { printversion("Linux C" ($NF ~ libcpp? "++" : "") " Library", ver) printversion("Dynamic linker (ldd)", version("ldd --version")) - printversion("procps", version("ps --version")) + printversion("Procps", version("ps --version")) printversion("Net-tools", version("ifconfig --version")) printversion("Kbd", version("loadkeys -V")) printversion("Console-tools", version("loadkeys -V")) printversion("Sh-utils", version("expr --v")) - printversion("udev", version("udevadm --version")) + printversion("Udev", version("udevadm --version")) printversion("Wireless-tools", version("iwconfig --version")) - printversion("bash", version("bash --version")) - printversion("bc", version("bc --version")) - printversion("bindgen", version("bindgen --version")) - printversion("btrfs-progs", version("btrfs --version")) - printversion("Clang", version("clang --version")) - printversion("gdb", version("gdb -version")) - printversion("GNU awk", version("gawk --version")) - printversion("GNU tar", version("tar --version")) - printversion("GRUB", version("grub-install --version")) - printversion("GRUB2", version("grub2-install --version")) - printversion("gtags", version("gtags --version")) - printversion("iptables", version("iptables -V")) - printversion("kmod", version("kmod -V")) - printversion("mcelog", version("mcelog --version")) - printversion("mkimage", version("mkimage --version")) - printversion("openssl", version("openssl version")) - printversion("pahole", version("pahole --version")) - printversion("Python", version("python3 -V")) - printversion("Rust", version("rustc --version")) - printversion("Sphinx", version("sphinx-build --version")) - printversion("squashfs-tools", version("mksquashfs -version")) - while ("sort /proc/modules" | getline > 0) { mods = mods sep $1 -- cgit v1.2.3 From d8a224f519c6e7079ca3471e32c1e55fde7a2fdd Mon Sep 17 00:00:00 2001 From: Manuel Ebner Date: Wed, 25 Mar 2026 20:46:17 +0100 Subject: docs: changes/ver_linux: fix entries and add several tools Some of the entries in both Documentation/process/changes.rst and script/ver_linux were obsolete; update them to reflect the current way of getting version information. Many were missing altogether; add the relevant information for: bash, bc, bindgen, btrfs-progs, Clang, gdb, GNU awk, GNU tar, GRUB, GRUB2, gtags, iptables, kmod, mcelog, mkimage, openssl, pahole, Python, Rust, Sphinx, squashfs-tools Signed-off-by: Manuel Ebner [jc: rewrote changelog] Signed-off-by: Jonathan Corbet Message-ID: <20260325194616.78093-2-manuelebner@mailbox.org> --- Documentation/process/changes.rst | 14 ++++++----- scripts/ver_linux | 49 ++++++++++++++++++++++++++++----------- 2 files changed, 43 insertions(+), 20 deletions(-) (limited to 'scripts/ver_linux') diff --git a/Documentation/process/changes.rst b/Documentation/process/changes.rst index f9f6f5c47882..bfad07ad0176 100644 --- a/Documentation/process/changes.rst +++ b/Documentation/process/changes.rst @@ -19,12 +19,13 @@ Current Minimal Requirements Upgrade to at **least** these software revisions before thinking you've encountered a bug! If you're unsure what version you're currently -running, the suggested command should tell you. +running, the suggested command should tell you. For a list of the programs +on your system including their version execute ./scripts/ver_linux Again, keep in mind that this list assumes you are already functionally running a Linux kernel. Also, not all tools are necessary on all systems; obviously, if you don't have any PC Card hardware, for example, -you probably needn't concern yourself with pcmciautils. +you probably do not need to concern yourself with pcmciautils. ====================== =============== ======================================== Program Minimal version Command to check the version @@ -40,7 +41,7 @@ flex 2.5.35 flex --version bison 2.0 bison --version pahole 1.22 pahole --version util-linux 2.10o mount --version -kmod 13 depmod -V +kmod 13 kmod -V e2fsprogs 1.41.4 e2fsck -V jfsutils 1.1.3 fsck.jfs -V xfsprogs 2.6.0 xfs_db -V @@ -51,8 +52,8 @@ quota-tools 3.09 quota -V PPP 2.4.0 pppd --version nfs-utils 1.0.5 showmount --version procps 3.2.0 ps --version -udev 081 udevd --version -grub 0.93 grub --version || grub-install --version +udev 081 udevadm --version +GRUB 0.93 grub --version || grub-install --version mcelog 0.6 mcelog --version iptables 1.4.2 iptables -V openssl & libcrypto 1.0.0 openssl version @@ -62,7 +63,8 @@ GNU tar 1.28 tar --version gtags (optional) 6.6.5 gtags --version mkimage (optional) 2017.01 mkimage --version Python 3.9.x python3 --version -GNU AWK (optional) 5.1.0 gawk --version +GNU awk (optional) 5.1.0 gawk --version +gdb 7.2 gdb --version ====================== =============== ======================================== .. [#f1] Sphinx is needed only to build the Kernel documentation diff --git a/scripts/ver_linux b/scripts/ver_linux index d6f2362d3792..fab0c68a6c52 100755 --- a/scripts/ver_linux +++ b/scripts/ver_linux @@ -7,7 +7,7 @@ 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 = usage "Compare to the current minimal requirements in Documentation/process/changes.rst\n" print usage system("uname -a") @@ -18,22 +18,22 @@ BEGIN { 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("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("Xfsprogs", version("xfs_db -V")) - printversion("Pcmciautils", version("pccardctl -V")) + printversion("e2fsprogs", version("e2fsck -V")) + printversion("jfsutils", version("fsck.jfs -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("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")) + 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 || $NF ~ libcpp) @@ -41,13 +41,34 @@ BEGIN { printversion("Linux C" ($NF ~ libcpp? "++" : "") " Library", ver) printversion("Dynamic linker (ldd)", version("ldd --version")) - printversion("Procps", version("ps --version")) + printversion("procps", version("ps --version")) printversion("Net-tools", version("ifconfig --version")) printversion("Kbd", version("loadkeys -V")) printversion("Console-tools", version("loadkeys -V")) printversion("Sh-utils", version("expr --v")) - printversion("Udev", version("udevadm --version")) + printversion("udev", version("udevadm --version")) printversion("Wireless-tools", version("iwconfig --version")) + printversion("bash", version("bash --version")) + printversion("bc", version("bc --version")) + printversion("bindgen", version("bindgen --version")) + printversion("btrfs-progs", version("btrfs --version")) + printversion("Clang", version("clang --version")) + printversion("gdb", version("gdb -version")) + printversion("GNU awk", version("gawk --version")) + printversion("GNU tar", version("tar --version")) + printversion("GRUB", version("grub-install --version")) + printversion("GRUB2", version("grub2-install --version")) + printversion("gtags", version("gtags --version")) + printversion("iptables", version("iptables -V")) + printversion("kmod", version("kmod -V")) + printversion("mcelog", version("mcelog --version")) + printversion("mkimage", version("mkimage --version")) + printversion("openssl", version("openssl version")) + printversion("pahole", version("pahole --version")) + printversion("Python", version("python3 -V")) + printversion("Rust", version("rustc --version")) + printversion("Sphinx", version("sphinx-build --version")) + printversion("squashfs-tools", version("mksquashfs -version")) while ("sort /proc/modules" | getline > 0) { mods = mods sep $1 -- cgit v1.2.3 From ece7e57afd51e0b807bef5a43e2d0b1cd6e9c86f Mon Sep 17 00:00:00 2001 From: Manuel Ebner Date: Wed, 25 Mar 2026 20:48:12 +0100 Subject: docs: changes.rst and ver_linux: sort the lists Sort the lists of tools in both scripts/ver_linux and Documentation/process/changes.rst into alphabetical order, facilitating comparison between the two. Signed-off-by: Manuel Ebner [jc: rewrote changelog] Signed-off-by: Jonathan Corbet Message-ID: <20260325194811.78509-2-manuelebner@mailbox.org> --- Documentation/process/changes.rst | 52 +++++++++++++++---------------- scripts/ver_linux | 64 +++++++++++++++++++-------------------- 2 files changed, 58 insertions(+), 58 deletions(-) (limited to 'scripts/ver_linux') diff --git a/Documentation/process/changes.rst b/Documentation/process/changes.rst index bfad07ad0176..adbd52869458 100644 --- a/Documentation/process/changes.rst +++ b/Documentation/process/changes.rst @@ -30,41 +30,41 @@ you probably do not need to concern yourself with pcmciautils. ====================== =============== ======================================== Program Minimal version Command to check the version ====================== =============== ======================================== -GNU C 8.1 gcc --version -Clang/LLVM (optional) 15.0.0 clang --version -Rust (optional) 1.78.0 rustc --version -bindgen (optional) 0.65.1 bindgen --version -GNU make 4.0 make --version bash 4.2 bash --version +bc 1.06.95 bc --version +bindgen (optional) 0.65.1 bindgen --version binutils 2.30 ld -v -flex 2.5.35 flex --version bison 2.0 bison --version -pahole 1.22 pahole --version -util-linux 2.10o mount --version -kmod 13 kmod -V +btrfs-progs 0.18 btrfs --version +Clang/LLVM (optional) 15.0.0 clang --version e2fsprogs 1.41.4 e2fsck -V +flex 2.5.35 flex --version +gdb 7.2 gdb --version +GNU awk (optional) 5.1.0 gawk --version +GNU C 8.1 gcc --version +GNU make 4.0 make --version +GNU tar 1.28 tar --version +GRUB 0.93 grub --version || grub-install --version +gtags (optional) 6.6.5 gtags --version +iptables 1.4.2 iptables -V jfsutils 1.1.3 fsck.jfs -V -xfsprogs 2.6.0 xfs_db -V -squashfs-tools 4.0 mksquashfs -version -btrfs-progs 0.18 btrfs --version +kmod 13 kmod -V +mcelog 0.6 mcelog --version +mkimage (optional) 2017.01 mkimage --version +nfs-utils 1.0.5 showmount --version +openssl & libcrypto 1.0.0 openssl version +pahole 1.22 pahole --version pcmciautils 004 pccardctl -V -quota-tools 3.09 quota -V PPP 2.4.0 pppd --version -nfs-utils 1.0.5 showmount --version procps 3.2.0 ps --version -udev 081 udevadm --version -GRUB 0.93 grub --version || grub-install --version -mcelog 0.6 mcelog --version -iptables 1.4.2 iptables -V -openssl & libcrypto 1.0.0 openssl version -bc 1.06.95 bc --version -Sphinx\ [#f1]_ 3.4.3 sphinx-build --version -GNU tar 1.28 tar --version -gtags (optional) 6.6.5 gtags --version -mkimage (optional) 2017.01 mkimage --version Python 3.9.x python3 --version -GNU awk (optional) 5.1.0 gawk --version -gdb 7.2 gdb --version +quota-tools 3.09 quota -V +Rust (optional) 1.78.0 rustc --version +Sphinx\ [#f1]_ 3.4.3 sphinx-build --version +squashfs-tools 4.0 mksquashfs -version +udev 081 udevadm --version +util-linux 2.10o mount --version +xfsprogs 2.6.0 xfs_db -V ====================== =============== ======================================== .. [#f1] Sphinx is needed only to build the Kernel documentation diff --git a/scripts/ver_linux b/scripts/ver_linux index fab0c68a6c52..00bdaf30d590 100755 --- a/scripts/ver_linux +++ b/scripts/ver_linux @@ -17,58 +17,58 @@ BEGIN { 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("e2fsck -V")) - printversion("jfsutils", version("fsck.jfs -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 || $NF ~ libcpp) - if (!seen[ver = version("readlink " $NF)]++) - printversion("Linux C" ($NF ~ libcpp? "++" : "") " 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("Sh-utils", version("expr --v")) - printversion("udev", version("udevadm --version")) - printversion("Wireless-tools", version("iwconfig --version")) printversion("bash", version("bash --version")) printversion("bc", version("bc --version")) printversion("bindgen", version("bindgen --version")) + printversion("binutils", version("ld -v")) + printversion("bison", version("bison --version")) printversion("btrfs-progs", version("btrfs --version")) printversion("Clang", version("clang --version")) + printversion("Console-tools", version("loadkeys -V")) + printversion("Dynamic linker (ldd)", version("ldd --version")) + printversion("e2fsprogs", version("e2fsck -V")) + printversion("flex", version("flex --version")) printversion("gdb", version("gdb -version")) printversion("GNU awk", version("gawk --version")) + printversion("GNU C", version("gcc -dumpversion")) + printversion("GNU make", version("make --version")) printversion("GNU tar", version("tar --version")) - printversion("GRUB", version("grub-install --version")) printversion("GRUB2", version("grub2-install --version")) + printversion("GRUB", version("grub-install --version")) printversion("gtags", version("gtags --version")) printversion("iptables", version("iptables -V")) + printversion("Isdn4k-utils", version("isdnctrl")) + printversion("jfsutils", version("fsck.jfs -V")) + printversion("Kbd", version("loadkeys -V")) printversion("kmod", version("kmod -V")) + + while ("ldconfig -p 2>/dev/null" | getline > 0) + if ($NF ~ libc || $NF ~ libcpp) + if (!seen[ver = version("readlink " $NF)]++) + printversion("Linux C" ($NF ~ libcpp? "++" : "") " Library", ver) + printversion("mcelog", version("mcelog --version")) printversion("mkimage", version("mkimage --version")) + printversion("Module-init-tools", version("depmod -V")) + printversion("Mount", version("mount --version")) + printversion("Net-tools", version("ifconfig --version")) + printversion("nfs-utils", version("showmount --version")) printversion("openssl", version("openssl version")) printversion("pahole", version("pahole --version")) + printversion("Pcmcia-cs", version("cardmgr -V")) + printversion("pcmciautils", version("pccardctl -V")) + printversion("PPP", version("pppd --version")) + printversion("procps", version("ps --version")) printversion("Python", version("python3 -V")) + printversion("quota-tools", version("quota -V")) printversion("Rust", version("rustc --version")) + printversion("Sh-utils", version("expr --v")) printversion("Sphinx", version("sphinx-build --version")) printversion("squashfs-tools", version("mksquashfs -version")) + printversion("udev", version("udevadm --version")) + printversion("util-linux", version("mount --version")) + printversion("Wireless-tools", version("iwconfig --version")) + printversion("xfsprogs", version("xfs_db -V")) while ("sort /proc/modules" | getline > 0) { mods = mods sep $1 -- cgit v1.2.3