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 <[email protected]>
---
scripts/ver_linux | 29 ++++++++++++++++++++++++++---
1 file changed, 26 insertions(+), 3 deletions(-)
diff --git a/scripts/ver_linux b/scripts/ver_linux
index 1a8ee4ff0e32..6131f6f1b35b 100755
--- a/scripts/ver_linux
+++ b/scripts/ver_linux
@@ -6,10 +6,14 @@
# 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"
+
+ print separator
system("uname -a")
printf("\n")
@@ -17,9 +21,15 @@ BEGIN {
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 +38,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 +48,16 @@ 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"))
+ printf("\n")
+ print separator
while ("ldconfig -p 2>/dev/null" | getline > 0)
if ($NF ~ libc || $NF ~ libcpp)
if (!seen[ver = version("readlink " $NF)]++)
@@ -50,12 +71,14 @@ BEGIN {
printversion("Sh-utils", version("expr --v"))
printversion("Udev", version("udevadm --version"))
printversion("Wireless-tools", version("iwconfig --version"))
+ printf("\n")
+ 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
On 13:42 Tue 10 Jan 2023, Shuah Khan wrote:
>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 <[email protected]>
>---
> scripts/ver_linux | 29 ++++++++++++++++++++++++++---
> 1 file changed, 26 insertions(+), 3 deletions(-)
>
>diff --git a/scripts/ver_linux b/scripts/ver_linux
>index 1a8ee4ff0e32..6131f6f1b35b 100755
>--- a/scripts/ver_linux
>+++ b/scripts/ver_linux
>@@ -6,10 +6,14 @@
> # 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"
>+
>+ print separator
> system("uname -a")
> printf("\n")
>
>@@ -17,9 +21,15 @@ BEGIN {
> 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 +38,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 +48,16 @@ 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"))
>+ printf("\n")
>
>+ print separator
> while ("ldconfig -p 2>/dev/null" | getline > 0)
> if ($NF ~ libc || $NF ~ libcpp)
> if (!seen[ver = version("readlink " $NF)]++)
>@@ -50,12 +71,14 @@ BEGIN {
> printversion("Sh-utils", version("expr --v"))
> printversion("Udev", version("udevadm --version"))
> printversion("Wireless-tools", version("iwconfig --version"))
>+ printf("\n")
>
>+ 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
>
Hunch....
One, is grub required to compile kernel?
Second, can we please stick to " absolutely required software" than showing optional??
Separator adding is good one.
--
Thanks,
Bhaskar
"Here's looking at you kid"-- Casablanca
https://about.me/unixbhaskar
On 1/10/23 15:45, Bhaskar Chowdhury wrote:
> On 13:42 Tue 10 Jan 2023, Shuah Khan wrote:
>> 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 <[email protected]>
>> ---
>> scripts/ver_linux | 29 ++++++++++++++++++++++++++---
>> 1 file changed, 26 insertions(+), 3 deletions(-)
>>
>> diff --git a/scripts/ver_linux b/scripts/ver_linux
>> index 1a8ee4ff0e32..6131f6f1b35b 100755
>> --- a/scripts/ver_linux
>> +++ b/scripts/ver_linux
>> @@ -6,10 +6,14 @@
>> # 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"
>> +
>> + print separator
>> system("uname -a")
>> printf("\n")
>>
>> @@ -17,9 +21,15 @@ BEGIN {
>> 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 +38,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 +48,16 @@ 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"))
>> + printf("\n")
>>
>> + print separator
>> while ("ldconfig -p 2>/dev/null" | getline > 0)
>> if ($NF ~ libc || $NF ~ libcpp)
>> if (!seen[ver = version("readlink " $NF)]++)
>> @@ -50,12 +71,14 @@ BEGIN {
>> printversion("Sh-utils", version("expr --v"))
>> printversion("Udev", version("udevadm --version"))
>> printversion("Wireless-tools", version("iwconfig --version"))
>> + printf("\n")
>>
>> + 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
>>
> Hunch....
>
> One, is grub required to compile kernel?
These are minimal requirements to compile and run the kernel.
Running requires installing it first and install tools are
required. grub is listed in Documentation/Changes.
>
> Second, can we please stick to " absolutely required software" than showing optional??
>
This is an attempt sync this ver_linux with Documentation/Changes
and print out complete list which includes optional.
> Separator adding is good one.
>
thanks,
-- Shuah
On Tue, Jan 10, 2023 at 11:13 PM Shuah Khan <[email protected]> wrote:
>
> 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 <[email protected]>
> ---
> scripts/ver_linux | 29 ++++++++++++++++++++++++++---
> 1 file changed, 26 insertions(+), 3 deletions(-)
>
> diff --git a/scripts/ver_linux b/scripts/ver_linux
> index 1a8ee4ff0e32..6131f6f1b35b 100755
> --- a/scripts/ver_linux
> +++ b/scripts/ver_linux
> @@ -6,10 +6,14 @@
> # 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"
Embedding a new line character at the start of the separator string
would eliminate the need for the extra printf("\n") statements
introduced.
> +
> + print separator
> system("uname -a")
> printf("\n")
Consequently, this printf could be removed as well.
>
> @@ -17,9 +21,15 @@ BEGIN {
> 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 +38,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 +48,16 @@ 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"))
> + printf("\n")
>
> + print separator
> while ("ldconfig -p 2>/dev/null" | getline > 0)
> if ($NF ~ libc || $NF ~ libcpp)
> if (!seen[ver = version("readlink " $NF)]++)
> @@ -50,12 +71,14 @@ BEGIN {
> printversion("Sh-utils", version("expr --v"))
> printversion("Udev", version("udevadm --version"))
> printversion("Wireless-tools", version("iwconfig --version"))
> + printf("\n")
>
> + 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
>
On 1/16/23 05:26, Alexander Kapshuk wrote:
> On Tue, Jan 10, 2023 at 11:13 PM Shuah Khan <[email protected]> wrote:
>>
>> 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 <[email protected]>
>> ---
>> scripts/ver_linux | 29 ++++++++++++++++++++++++++---
>> 1 file changed, 26 insertions(+), 3 deletions(-)
>>
>> diff --git a/scripts/ver_linux b/scripts/ver_linux
>> index 1a8ee4ff0e32..6131f6f1b35b 100755
>> --- a/scripts/ver_linux
>> +++ b/scripts/ver_linux
>> @@ -6,10 +6,14 @@
>> # 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"
>
> Embedding a new line character at the start of the separator string
> would eliminate the need for the extra printf("\n") statements
> introduced.
>
>> +
>> + print separator
>> system("uname -a")
>> printf("\n")
>
> Consequently, this printf could be removed as well.
>
Thank yo for your review. Will send v2 with your suggestions.
thanks,
-- Shuah