Environment
Novell eDirectory 8.7.3.10 for AIX
Novell eDirectory 8.8 for AIX
Novell eDirectory 8.8 for AIX
Situation
When trying to run nds-install and upgrade from eDirectory 8.7.3.10 to 8.8.X:
%%% Novell eDirectory components are already installed on your system. Please uninstall all the components of the existing installation and then proceed with this installation.
%%% Novell eDirectory components are already installed on your system. Please uninstall all the components of the existing installation and then proceed with this installation.
Resolution
The nds-install script is not correctly parsing the currently installed version.
Please modify this section of the nds-install script:
AIXcheckForPackageExistence()
{ pkg=$1
version=0
lslpp -l $pkg >> $log_file 2>&1
if [ $? = 0 ]
then
pkg_exists=1
version=`lslpp -L | grep -w $pkg | cut -c30-36` >/dev/null 2>&1
else
nameConverter $pkg
lslpp -l | grep $pkg >> $log_file 2>&1
if [ $? = 0 ]
then
pkg_exists=1
version=`lslpp -L | grep -w $pkg | cut -c30-36` >/dev/null 2>&1
else
pkg_exists=0
fi
fi
So that "cut -c30-36" is cut -c29-36"
The code should then look like:
AIXcheckForPackageExistence()
{ pkg=$1
version=0
lslpp -l $pkg >> $log_file 2>&1
if [ $? = 0 ]
then
pkg_exists=1
version=`lslpp -L | grep -w $pkg | cut -c29-36` >/dev/null 2>&1
else
nameConverter $pkg
lslpp -l | grep $pkg >> $log_file 2>&1
if [ $? = 0 ]
then
pkg_exists=1
version=`lslpp -L | grep -w $pkg | cut -c29-36` >/dev/null 2>&1
else
pkg_exists=0
fi
fi
This will then get a complete 8.7.3.10 instead of .7.3.10
Please modify this section of the nds-install script:
AIXcheckForPackageExistence()
{ pkg=$1
version=0
lslpp -l $pkg >> $log_file 2>&1
if [ $? = 0 ]
then
pkg_exists=1
version=`lslpp -L | grep -w $pkg | cut -c30-36` >/dev/null 2>&1
else
nameConverter $pkg
lslpp -l | grep $pkg >> $log_file 2>&1
if [ $? = 0 ]
then
pkg_exists=1
version=`lslpp -L | grep -w $pkg | cut -c30-36` >/dev/null 2>&1
else
pkg_exists=0
fi
fi
So that "cut -c30-36" is cut -c29-36"
The code should then look like:
AIXcheckForPackageExistence()
{ pkg=$1
version=0
lslpp -l $pkg >> $log_file 2>&1
if [ $? = 0 ]
then
pkg_exists=1
version=`lslpp -L | grep -w $pkg | cut -c29-36` >/dev/null 2>&1
else
nameConverter $pkg
lslpp -l | grep $pkg >> $log_file 2>&1
if [ $? = 0 ]
then
pkg_exists=1
version=`lslpp -L | grep -w $pkg | cut -c29-36` >/dev/null 2>&1
else
pkg_exists=0
fi
fi
This will then get a complete 8.7.3.10 instead of .7.3.10