bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Yet Another test option


From: Greg Wooledge
Subject: Re: Yet Another test option
Date: Tue, 5 Jul 2011 08:20:27 -0400
User-agent: Mutt/1.4.2.3i

On Sun, Jul 03, 2011 at 11:41:02AM -0700, Bruce Korb wrote:
> P.S. this check is really for any version below 2.6.27:
> 
> -     case $LINUXRELEASE in
> -     # ext4 was in 2.6.22-2.6.26 but not stable enough to use
> -     2.6.2[0-9]*) enable_ext4='no' ;;
> -     *)  ..... ;;
> 
> and might have been done correctly with a version compare operator.

case $LINUXRELEASE in
  # ext4 was in 2.6.22-2.6.26 but not stable enough to use
  2.6.2[0-6]*) enable_ext4=no ;;
  ...

The comment implies [2-6] but [0-6] is probably a safer bet, just in
case someone backported the driver to an older kernel.

See, what's really needed here is a check for the actual file system
*driver version*, not the kernel version.  I wouldn't know how to get
that programmatically (perhaps something in /sys) ... OS issue, not
a bash issue.

As far as adding this sort of test to bash -- you're probably assuming
too much.  For instance, you may be assuming that all "version strings"
are sequences of base-10 integers separated by periods.  This is not
generally the case.  Version strings frequently contain a bewildering
variety of barely-human-readable abbreviations, juxtapositions of
letters with numbers, plus signs, minus signs, underscores, alphas,
betas, release candidates, etc.  Does version "1.0rc1" come before or
after version "1.0"?  How about "1.0b1" -- is that before or after "1.0a"?
Is version "2.6+svn20110604" before or after version "2.6.1"?

The issue is extremely nontrivial.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]