mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] modify ver_linux to check e2fsprogs and more.
@ 2001-02-08 20:57 Steven Cole
  2001-02-08 21:31 ` Jochen Striepe
  0 siblings, 1 reply; 5+ messages in thread
From: Steven Cole @ 2001-02-08 20:57 UTC (permalink / raw)
  To: linux-kernel; +Cc: alan

[-- Attachment #1: Type: text/plain, Size: 5298 bytes --]

I have modified the scripts/ver_linux script to provide the following:

1) The order of version checks is now the same as the list in the
   Current Minimal Requirements section of Documentation/Changes
   for easier comparison.
2) Made capitalization  consistent with the list in Changes.
3) Added version check for ext2 utils (e2fsprogs).
4) Added version check for pcmcia utils (pcmcia-cs).
5) Added version check for pppd (PPP).
6) Added version check for isdn utils (isdn4k-utils).
7) Added whitespace for better readability.

Due to the extensive rewriting, the patch against 2.4.1-ac6 is
larger than the ver_linux script itself.  I will include the proposed
new version of ver_linux here inline, and I will attach the patch itself,
which isn't as readable. This patch should apply against -ac5 and -ac7 also.

Here is the output of the current ver_linux for my system:

[root@localhost scripts]# ./ver_linux.orig
-- Versions installed: (if some fields are empty or look
-- unusual then possibly you have very old versions)
Linux localhost.localdomain 2.4.1-ac6 #1 Thu Feb 8 06:30:46 MST 2001 i686 unknown
Kernel modules         2.4.2
Gnu C                  2.95.3
Gnu Make               3.79.1
Binutils               2.10.0.24
Linux C Library        2.1.3
Dynamic linker         ldd (GNU libc) 2.1.3
Procps                 2.0.7
Mount                  2.10o
Net-tools              1.57
Console-tools          0.2.3
Reiserfsprogs          3.x.0b
Sh-utils               2.0
Modules Loaded

Here is the output of the new ver_linux:

[root@localhost scripts]# ./ver_linux
If some fields are empty or look unusual you may have an old version.
Compare to the current minimal requirements in Documentation/Changes.

Linux localhost.localdomain 2.4.1-ac6 #1 Thu Feb 8 06:30:46 MST 2001 i686 unknown

Gnu C                  2.95.3
Gnu make               3.79.1
binutils               2.10.0.24
util-linux             2.10o
modutils               2.4.2
e2fsprogs              1.19
reiserfsprogs          3.x.0b
pcmcia-cs              3.1.24
PPP                    2.4.0
isdn4k-utils           3.1beta7
Linux C Library        2.1.3
Dynamic linker (ldd)   2.1.3
Procps                 2.0.7
Net-tools              1.57
Console-tools          0.2.3
Sh-utils               2.0
Modules Loaded

This output can be compared with the list in Documentation/Changes:

o  Gnu C                  2.91.66                 # gcc --version
o  Gnu make               3.77                    # make --version
o  binutils               2.9.1.0.25              # ld -v
o  util-linux             2.10o                   # fdformat --version
o  modutils               2.4.2                   # insmod -V
o  e2fsprogs              1.19                    # tune2fs
o  reiserfsprogs          3.x.0b                  # reiserfsck 2>&1|grep reiserfsprogs
o  pcmcia-cs              3.1.21                  # cardmgr -V
o  PPP                    2.4.0                   # pppd --version
o  isdn4k-utils           3.1pre1                 # isdnctrl 2>&1|grep version

Here is the proposed new version of ver_linux, patch against 2.4.1-ac6 attached.

#!/bin/sh
# Before running this script please ensure that your PATH is
# typical as you use for compilation/istallation. I use
# /bin /sbin /usr/bin /usr/sbin /usr/local/bin, but it may
# differ on your system.
#
PATH=/sbin:/usr/sbin:/bin:/usr/bin:$PATH
echo 'If some fields are empty or look unusual you may have an old version.'
echo 'Compare to the current minimal requirements in Documentation/Changes.'
echo ' '

uname -a
echo ' '

echo "Gnu C                 " `gcc --version`

make --version 2>&1 | awk -F, '{print $1}' | awk \
      '/GNU Make/{print "Gnu make              ",$NF}'

ld -v 2>&1 | awk -F\) '{print $1}' | awk \
      '/BFD/{print "binutils              ",$NF}'

mount --version | awk -F\- '{print "util-linux            ", $NF}'

insmod -V  2>&1 | awk 'NR==1 {print "modutils              ",$NF}'

tune2fs 2>&1 | grep tune2fs | sed 's/,//' |  awk \
'NR==1 {print "e2fsprogs             ", $2}'

reiserfsck 2>&1 | grep reiserfsprogs | awk \
'NR==1{print "reiserfsprogs         ", $NF}'

cardmgr -V 2>&1| grep version | awk \
'NR==1{print "pcmcia-cs             ", $3}'

pppd --version 2>&1| grep version | awk \
'NR==1{print "PPP                   ", $3}'

isdnctrl 2>&1 | grep version | awk \
'NR==1{print "isdn4k-utils          ", $NF}'

ls -l `ldd /bin/sh | awk '/libc/{print $3}'` | sed \
-e 's/\.so$//' | awk -F'[.-]'   '{print "Linux C Library        " \
$(NF-2)"."$(NF-1)"."$NF}'

ldd -v > /dev/null 2>&1 && ldd -v || ldd --version |head -1 | awk \
'NR==1{print "Dynamic linker (ldd)  ", $NF}'

ls -l /usr/lib/lib{g,stdc}++.so  2>/dev/null | awk -F. \
       '{print "Linux C++ Library      " $4"."$5"."$6}'

ps --version 2>&1 | awk 'NR==1{print "Procps                ", $NF}'

hostname -V 2>&1 | awk 'NR==1{print "Net-tools             ", $NF}'

# Kbd needs 'loadkeys -h',
loadkeys -h 2>&1 | awk \
'(NR==1 && ($3 !~ /option/)) {print "Kbd                   ", $3}'

# while console-tools needs 'loadkeys -V'.
loadkeys -V 2>&1 | awk \
'(NR==1 && ($2 ~ /console-tools/)) {print "Console-tools         ", $3}'

expr --v 2>&1 | awk 'NR==1{print "Sh-utils              ", $NF}'

X=`cat /proc/modules | sed -e "s/ .*$//"`
echo "Modules Loaded         "$X

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: patch-ver_linux --]
[-- Type: text/english; name="patch-ver_linux", Size: 2903 bytes --]

--- linux/scripts/ver_linux.orig	Thu Feb  8 06:33:52 2001
+++ linux/scripts/ver_linux	Thu Feb  8 13:38:23 2001
@@ -5,32 +5,63 @@
 # differ on your system.
 #
 PATH=/sbin:/usr/sbin:/bin:/usr/bin:$PATH
-echo '-- Versions installed: (if some fields are empty or look'
-echo '-- unusual then possibly you have very old versions)'
+echo 'If some fields are empty or look unusual you may have an old version.'
+echo 'Compare to the current minimal requirements in Documentation/Changes.'
+echo ' '
+
 uname -a
-insmod -V  2>&1 | awk 'NR==1 {print "Kernel modules        ",$NF}'
+echo ' '
+
 echo "Gnu C                 " `gcc --version`
+
 make --version 2>&1 | awk -F, '{print $1}' | awk \
-      '/GNU Make/{print "Gnu Make              ",$NF}'
+      '/GNU Make/{print "Gnu make              ",$NF}'
+
 ld -v 2>&1 | awk -F\) '{print $1}' | awk \
-      '/BFD/{print "Binutils              ",$NF}'
-ls -l `ldd /bin/sh | awk '/libc/{print $3}'` | sed -e 's/\.so$//' \
-  | awk -F'[.-]'   '{print "Linux C Library        " $(NF-2)"."$(NF-1)"."$NF}'
-echo -n "Dynamic linker         "
-ldd -v > /dev/null 2>&1 && ldd -v || ldd --version |head -1
+      '/BFD/{print "binutils              ",$NF}'
+
+mount --version | awk -F\- '{print "util-linux            ", $NF}'
+
+insmod -V  2>&1 | awk 'NR==1 {print "modutils              ",$NF}'
+
+tune2fs 2>&1 | grep tune2fs | sed 's/,//' |  awk \
+'NR==1 {print "e2fsprogs             ", $2}'
+
+reiserfsck 2>&1 | grep reiserfsprogs | awk \
+'NR==1{print "reiserfsprogs         ", $NF}'
+
+cardmgr -V 2>&1| grep version | awk \
+'NR==1{print "pcmcia-cs             ", $3}'
+
+pppd --version 2>&1| grep version | awk \
+'NR==1{print "PPP                   ", $3}'
+
+isdnctrl 2>&1 | grep version | awk \
+'NR==1{print "isdn4k-utils          ", $NF}'
+
+ls -l `ldd /bin/sh | awk '/libc/{print $3}'` | sed \
+-e 's/\.so$//' | awk -F'[.-]'   '{print "Linux C Library        " \
+$(NF-2)"."$(NF-1)"."$NF}'
+
+ldd -v > /dev/null 2>&1 && ldd -v || ldd --version |head -1 | awk \
+'NR==1{print "Dynamic linker (ldd)  ", $NF}'
+
 ls -l /usr/lib/lib{g,stdc}++.so  2>/dev/null | awk -F. \
        '{print "Linux C++ Library      " $4"."$5"."$6}'
+
 ps --version 2>&1 | awk 'NR==1{print "Procps                ", $NF}'
-mount --version | awk -F\- '{print "Mount                 ", $NF}'
+
 hostname -V 2>&1 | awk 'NR==1{print "Net-tools             ", $NF}'
+
 # Kbd needs 'loadkeys -h',
 loadkeys -h 2>&1 | awk \
 '(NR==1 && ($3 !~ /option/)) {print "Kbd                   ", $3}'
+
 # while console-tools needs 'loadkeys -V'.
 loadkeys -V 2>&1 | awk \
 '(NR==1 && ($2 ~ /console-tools/)) {print "Console-tools         ", $3}'
-reiserfsck --bogusarg 2>&1 | grep reiserfsprogs | awk \
-'NR==1{print "Reiserfsprogs         ", $NF}'
+
 expr --v 2>&1 | awk 'NR==1{print "Sh-utils              ", $NF}'
+
 X=`cat /proc/modules | sed -e "s/ .*$//"`
 echo "Modules Loaded         "$X

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] modify ver_linux to check e2fsprogs and more.
  2001-02-08 20:57 [PATCH] modify ver_linux to check e2fsprogs and more Steven Cole
@ 2001-02-08 21:31 ` Jochen Striepe
  2001-02-09  3:02   ` Steven Cole
  0 siblings, 1 reply; 5+ messages in thread
From: Jochen Striepe @ 2001-02-08 21:31 UTC (permalink / raw)
  To: Steven Cole; +Cc: linux-kernel, alan

[-- Attachment #1: Type: text/plain, Size: 846 bytes --]

        Hi,

On 08 Feb 2001, Steven Cole <elenstev@mesatop.com> wrote:
> I have modified the scripts/ver_linux script to provide the following:
>
[...]
>
> hostname -V 2>&1 | awk 'NR==1{print "Net-tools             ", $NF}'

*Please* consider modifying this. There might be a problem:


tolot:/root # hostname -V
tolot:/root # hostname
-V
tolot:/root # hostname --version
hostname (GNU sh-utils) 2.0.11
Written by Jim Meyering.

Copyright (C) 2000 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Greetings from Germany,

Jochen Striepe

-- 
The number of UNIX installations has grown to 10, with more expected.
                     - Dennis Ritchie and Ken Thompson, June 1972


[-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] modify ver_linux to check e2fsprogs and more.
  2001-02-08 21:31 ` Jochen Striepe
@ 2001-02-09  3:02   ` Steven Cole
  2001-02-09  7:29     ` Jochen Striepe
  0 siblings, 1 reply; 5+ messages in thread
From: Steven Cole @ 2001-02-09  3:02 UTC (permalink / raw)
  To: Jochen Striepe; +Cc: linux-kernel, alan

[-- Attachment #1: Type: text/plain, Size: 1070 bytes --]

On Thursday 08 February 2001 14:31, Jochen Striepe wrote:
> >         Hi,
>
> On 08 Feb 2001, Steven Cole <elenstev@mesatop.com> wrote:
> > I have modified the scripts/ver_linux script to provide the following:
>
> [...]
>
> > hostname -V 2>&1 | awk 'NR==1{print "Net-tools             ", $NF}'
>
> *Please* consider modifying this. There might be a problem:
>
>
> tolot:/root # hostname -V
> tolot:/root # hostname
> -V
> tolot:/root # hostname --version
> hostname (GNU sh-utils) 2.0.11
> Written by Jim Meyering.

Hmm, I guess the newer verion of hostname broke the old behaviour:
[root@localhost scripts]# hostname -V       
net-tools 1.57
hostname 1.99 (2000-02-13)

But, there is an easy solution:
[root@localhost scripts]# ifconfig --version
net-tools 1.57
ifconfig 1.40 (2000-05-21)

I replaced the old code for Net-tools with this:

ifconfig --version 2>&1 | grep tools | awk \
'NR==1{print "Net-tools             ", $NF}'

That should work.  I hope.  Try it please.

A new patch, still against 2.4.1-ac6 is attached.
It should work with 2.4.1-ac5,6,7.

Steven

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: patch2-ver_linux --]
[-- Type: text/english; name="patch2-ver_linux", Size: 2995 bytes --]

--- linux/scripts/ver_linux.orig	Thu Feb  8 06:33:52 2001
+++ linux/scripts/ver_linux	Thu Feb  8 19:47:50 2001
@@ -5,32 +5,64 @@
 # differ on your system.
 #
 PATH=/sbin:/usr/sbin:/bin:/usr/bin:$PATH
-echo '-- Versions installed: (if some fields are empty or look'
-echo '-- unusual then possibly you have very old versions)'
+echo 'If some fields are empty or look unusual you may have an old version.'
+echo 'Compare to the current minimal requirements in Documentation/Changes.'
+echo ' '
+
 uname -a
-insmod -V  2>&1 | awk 'NR==1 {print "Kernel modules        ",$NF}'
+echo ' '
+
 echo "Gnu C                 " `gcc --version`
+
 make --version 2>&1 | awk -F, '{print $1}' | awk \
-      '/GNU Make/{print "Gnu Make              ",$NF}'
+      '/GNU Make/{print "Gnu make              ",$NF}'
+
 ld -v 2>&1 | awk -F\) '{print $1}' | awk \
-      '/BFD/{print "Binutils              ",$NF}'
-ls -l `ldd /bin/sh | awk '/libc/{print $3}'` | sed -e 's/\.so$//' \
-  | awk -F'[.-]'   '{print "Linux C Library        " $(NF-2)"."$(NF-1)"."$NF}'
-echo -n "Dynamic linker         "
-ldd -v > /dev/null 2>&1 && ldd -v || ldd --version |head -1
+      '/BFD/{print "binutils              ",$NF}'
+
+mount --version | awk -F\- '{print "util-linux            ", $NF}'
+
+insmod -V  2>&1 | awk 'NR==1 {print "modutils              ",$NF}'
+
+tune2fs 2>&1 | grep tune2fs | sed 's/,//' |  awk \
+'NR==1 {print "e2fsprogs             ", $2}'
+
+reiserfsck 2>&1 | grep reiserfsprogs | awk \
+'NR==1{print "reiserfsprogs         ", $NF}'
+
+cardmgr -V 2>&1| grep version | awk \
+'NR==1{print "pcmcia-cs             ", $3}'
+
+pppd --version 2>&1| grep version | awk \
+'NR==1{print "PPP                   ", $3}'
+
+isdnctrl 2>&1 | grep version | awk \
+'NR==1{print "isdn4k-utils          ", $NF}'
+
+ls -l `ldd /bin/sh | awk '/libc/{print $3}'` | sed \
+-e 's/\.so$//' | awk -F'[.-]'   '{print "Linux C Library        " \
+$(NF-2)"."$(NF-1)"."$NF}'
+
+ldd -v > /dev/null 2>&1 && ldd -v || ldd --version |head -1 | awk \
+'NR==1{print "Dynamic linker (ldd)  ", $NF}'
+
 ls -l /usr/lib/lib{g,stdc}++.so  2>/dev/null | awk -F. \
        '{print "Linux C++ Library      " $4"."$5"."$6}'
+
 ps --version 2>&1 | awk 'NR==1{print "Procps                ", $NF}'
-mount --version | awk -F\- '{print "Mount                 ", $NF}'
-hostname -V 2>&1 | awk 'NR==1{print "Net-tools             ", $NF}'
+
+ifconfig --version 2>&1 | grep tools | awk \
+'NR==1{print "Net-tools             ", $NF}'
+
 # Kbd needs 'loadkeys -h',
 loadkeys -h 2>&1 | awk \
 '(NR==1 && ($3 !~ /option/)) {print "Kbd                   ", $3}'
+
 # while console-tools needs 'loadkeys -V'.
 loadkeys -V 2>&1 | awk \
 '(NR==1 && ($2 ~ /console-tools/)) {print "Console-tools         ", $3}'
-reiserfsck --bogusarg 2>&1 | grep reiserfsprogs | awk \
-'NR==1{print "Reiserfsprogs         ", $NF}'
+
 expr --v 2>&1 | awk 'NR==1{print "Sh-utils              ", $NF}'
+
 X=`cat /proc/modules | sed -e "s/ .*$//"`
 echo "Modules Loaded         "$X

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] modify ver_linux to check e2fsprogs and more.
  2001-02-09  3:02   ` Steven Cole
@ 2001-02-09  7:29     ` Jochen Striepe
  0 siblings, 0 replies; 5+ messages in thread
From: Jochen Striepe @ 2001-02-09  7:29 UTC (permalink / raw)
  To: Steven Cole; +Cc: linux-kernel, alan

[-- Attachment #1: Type: text/plain, Size: 638 bytes --]

        Hi,

On 08 Feb 2001, Steven Cole <elenstev@mesatop.com> wrote:
> 
> But, there is an easy solution:
> [root@localhost scripts]# ifconfig --version
> net-tools 1.57
> ifconfig 1.40 (2000-05-21)
> 
> I replaced the old code for Net-tools with this:
> 
> ifconfig --version 2>&1 | grep tools | awk \
> 'NR==1{print "Net-tools             ", $NF}'
> 
> That should work.  I hope.  Try it please.

This works great for me. Thanks!


Greetings from Germany,

Jochen Striepe.

-- 
"Gosh that takes me back ... or forward.  That's the trouble with time
travel, you never can tell."
                -- Dr. Who


[-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] modify ver_linux to check e2fsprogs and more.
@ 2001-02-09  3:14 Frédéric L. W. Meunier
  0 siblings, 0 replies; 5+ messages in thread
From: Frédéric L. W. Meunier @ 2001-02-09  3:14 UTC (permalink / raw)
  To: Jochen Striepe; +Cc: Linux Kernel

Jochen Striepe wrote:

> tolot:/root # hostname --version
> hostname (GNU sh-utils) 2.0.11
> Written by Jim Meyering.

AFAIK, all distributions use hostname from net-tools, not from
sh-utils.

% hostname -V
net-tools 1.57
hostname 1.99 (2000-02-13)

Why duplicate it (on Linux) ?

-- 
Frédéric L. W. Meunier - http://www.pervalidus.net/
0@pervalidus.{net, {dyndns.}org} Tel: 55-21-717-2399 (Niterói-RJ BR)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2001-02-09  7:29 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-02-08 20:57 [PATCH] modify ver_linux to check e2fsprogs and more Steven Cole
2001-02-08 21:31 ` Jochen Striepe
2001-02-09  3:02   ` Steven Cole
2001-02-09  7:29     ` Jochen Striepe
2001-02-09  3:14 Frédéric L. W. Meunier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®