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

Bug#241395: libc6: preinst fails for kernel 2.4.23dual



At Thu, 01 Apr 2004 07:10:50 +0200,
Goswin Brederlow wrote:
> running cdebootstrap I see the following error:
> 
> O: /var/lib/dpkg/tmp.ci/preinst: line 184: [: 23dual: integer expression expected
> 
> Looking at the preinst
> ----------------------------------------------------------------------
> if [ "$1" != abort-upgrade ] && [ "`uname -s`" = Linux ]
> then
>     # Test to make sure z < 255, in x.y.z-n form of kernel version
>     kernel_rev=$(uname -r | awk -F '[.-]' '{print $3}')
>     if [ "$kernel_rev" -ge 255 ]
>     then
>         echo WARNING: Your kernel version indicates a revision number
>         echo of 255 or greater.  Glibc has a number of built in
>         echo assumptions that this revision number is less than 255.
>         echo If you\'ve built your own kernel, please make sure that any 
>         echo custom version numbers are appended to the upstream
>         echo kernel number with a dash or some other delimiter.
> 
>         exit 1
>     fi
> ----------------------------------------------------------------------
> the problem becomes clear.
> 
> % uname -r
> 2.4.23dual

You didn't use make-kpkg?

> I have seen no ill effects from this in month so I guess glibc does a
> scanf and gets 23 as revision number or I'm just plain lucky. Maybe I
> should have used 2.4.23-dual but I didn't and glibc should cope with
> that.
> 
> I guess the 'if [ "$kernel_rev" -ge 255 ]' should be true in this case
> too, i.e. display the warning and exit 1, but giving an error on [ is
> startling (Thats what I mean with cope. Doesn't have to work, just
> give a helpfull message).

There are various ways to fix this situation, one example:

	kernel_rev=$(uname -r | awk -F '[.-]' '{print $3}' | sed 's/\([[:digit:]]*\).*/\1/' )

Could someone who is shell script god suggest us the nice way to fix
it?

Regards,
-- gotom



Reply to: