5.1.b PK4 installation bug/question

From: Örjan Petersson (orjan.petersson@logcode.com)
Date: Sat Nov 19 2005 - 06:38:03 EST


Hi,
I have found a small bug in the /usr/sbin/dupatch delivered as part of 5.1.b PK4.
The version is
# @(#)$RCSfile: dupatch.sh,v $ $Revision: 1.1.2.56 $ (DEC) $Date: 2004/06/07 14:40:21 $

and the problem is the following function:

FitsetSetup()
{
        PWD=`pwd`

        DEF_USRRSV=40960
        DEF_ROOTRSV=15360

        DUK=
        HOSTNAME=`/usr/sbin/rcmgr get HOSTNAME`
        [ "$HOSTNAME" ] &&
        {
                HOSTNAME=`Parse . $HOSTNAME | awk '{print $1}'`
                HOSTNAME=`Ucase $HOSTNAME`
                [ -d /usr/sys/$HOSTNAME ] &&
                {
                        cd /usr/sys/$HOSTNAME
                        DUK=`du -sk . | awk '{print $1}'`
                }
        }
        DUK=`expr $DUK \* 2`
        USRRSV=`FitsetReserve $DEF_USRRSV $DUK`

        DUK=
        [ -f /vmunix ] &&
        {
                cd /
                DUK=`du -sk vmunix | awk '{print $1}'`
        }
        ROOTRSV=`FitsetReserve $DEF_ROOTRSV $DUK`

        cd $PWD

}

Here DUK is first set to "" and it is only if /usr/sys/$HOSTNAME exists that it get
changed to something else. The hostname on the machine I am patching has been changed
and I do not have /usr/sys/$HOSTNAME, only /usr/sys/$THE_OLD_HOSTNAME, so the result
is that the statement
DUK=`expr $DUK \* 2`
fails with a syntax error.

I can fix this problem in various ways, e.g. rename /usr/sys/$THE_OLD_HOSTNAME to
/usr/sys/$HOSTNAME or simply set DUK to something sensible in the script, but I
would like to know if there is any "correct" way of doing this (or if there are
any gotchas).

-- 
Best regards, 
Örjan Petersson, Logcode SARL, currently with Ericsson Algeria 
24, rue de la Charličre, FR-42270 St-Priest-en-Jarez, France
Phone: +33-4.77.79.65.14, Mobile: +33-6.62.25.37.94
In Algeria: +213-61.699.745, In Sweden: +46-705 135 998


This archive was generated by hypermail 2.1.7 : Sat Apr 12 2008 - 10:50:26 EDT