* [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
-- strict thread matches above, loose matches on Subject: below --
2001-02-09 3:14 Frédéric L. W. Meunier
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.