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

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



At Mon, 12 Apr 2004 23:28:07 +0900,
GOTO Masanori wrote:
> At 03 Apr 2004 00:39:01 +0200,
> Goswin von Brederlow wrote:
> > > There are various ways to fix this situation, one example:
> > > 
> > > 	kernel_rev=$(uname -r | awk -F '[.-]' '{print $3}' | sed 's/\([[:digit:]]*\).*/\1/' )
> > 
> > kernel_rev=$(uname -r | sed 's/\([0-9]*\.[0-9]*\.\)\([0-9]*\)\(.*\)/\2/')
> > 
> > Please don't use awk (see BTS for related bugs). awk requires a
> > Pre-Depends since its an alternative and mawk (provides awk) is not
> > even essential.
> > 
> > sed on the other hand is essential.
> 
> Thanks for your code, but I've put my version.
> 
> Using awk is no problem.

Ugh, I'm silly that I didn't check Bug#229461.  Using awk is problem
for some users (Note that AJ and Colin did not think it's problematic.
I agreed with them, but in fact mawk is not essential).

However, Jeff already put such code into libc.preinst:

    if [ "$1" != abort-upgrade ] && [ "`uname -s`" = Linux ]
    then
        # Test to make sure z < 255, in x.y.z-n form of kernel version
        # Also make sure we don't trip on x.y.zFOO-n form
        kernel_rev=$(uname -r | tr -- - . | cut -d. -f3 | tr -d [:alpha:])
        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

And changelog said:

   - debian/debhelper.in/libc.preinst: Don't use awk except in
     upgrade mode.  (Closes: #229461)
     Also make sure that it doesn't trip on words being added to the
     upstream revision number.  Thanks to James Troup for
     mentioning this.
     Thanks to Bastian Blank <waldi@debian.org> for the fix.

So it seems this #241395 is intentional behavior.  But apparently the
current code is failed under "2.4.23dual" kernel with message:

	bash: [: : integer expression expected

It has to be fixed.  I guess many user use "2.4.23dual" and so on.  So
go back to #229461, why should we ignore a version like "2.4.23dual"?
Jeff, James?

I would like to permit "2.4.23dual" and recognize as "2.4.23".  I'll
adopt Goswin's code if no one objects.

Regards,
-- gotom



Reply to: