Before adding the os repos and otherpkgs repos, check if the repos were already added by xCAT in the previous run, if yes, update these repos; otherwise, create these repos directly. For the os repo added by addsiteyum, it should be deleted by ospkgs and otherpkgs, the ospkg and otherpkgs will add the os repos point to more directories. After ospkg/otherpkgs is done, do not remove the repos.

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15509 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
jjhua 2013-03-14 07:46:19 +00:00
parent fe5e749dfc
commit bfcfd7311a

View File

@ -217,28 +217,13 @@ if [ $? -eq 0 ]; then
fi
if [ -z "$OSPKGDIR" ]; then
if [ $mounted -eq 0 ]; then
OSPKGDIR="$NFSSERVER$INSTALLDIR/$OSVER/$ARCH"
else
OSPKGDIR="$NFSSERVER/$OSVER/$ARCH"
fi
if ( pmatch "$OSVER" "sles*" ); then
OSPKGDIR="$OSPKGDIR/1"
elif ( pmatch "$OSVER" "rhel*" ); then
OSPKGDIR="$OSPKGDIR/Server"
elif ( pmatch "$OSVER" "SL5*" ); then
OSPKGDIR="$OSPKGDIR/SL"
fi
OSPKGDIR="$INSTALLDIR/$OSVER/$ARCH"
fi
else
if [ "$KERNELDIR" != "" ]; then
OSPKGDIR="$OSPKGDIR,$KERNELDIR"
fi
if [ "$KERNELDIR" != "" ]; then
if [ $mounted -eq 0 ]; then
OSPKGDIR="$OSPKGDIR,$KERNELDIR"
fi
fi
OIFS=$IFS
IFS=$','
if ( pmatch "$OSVER" "ubuntu*" ); then
@ -317,9 +302,8 @@ else
index=$(expr $index + 1)
done
done
fi
@ -513,7 +497,7 @@ elif ( pmatch "$OSVER" "sles11*" ); then
old_repo=`zypper lr |grep -e "^[0-9]" | cut -f2 -d '|'`
for x in $old_repo
do
result=`zypper rr $x`
result=`zypper rr "$x"`
done
result=`zypper --non-interactive refresh 2>&1`
if [ $debug -ne 0 ]; then
@ -532,11 +516,11 @@ elif ( pmatch "$OSVER" "sles11*" ); then
else
path="file://$OSPKGDIR"
fi
result=`zypper ar $path $OSVER 2>&1`
result=`zypper ar $path xCAT-$OSVER 2>&1`
if [ $? -ne 0 ]; then
if ( ! pmatch "$result" "*exists*" ); then
logger -t xcat -p local4.info "ospkgs: zypper ar $path $OSVER\n $result"
echo "ospkgs: zypper ar $path $OSVER"
logger -t xcat -p local4.info "ospkgs: zypper ar $path xCAT-$OSVER\n $result"
echo "ospkgs: zypper ar $path xCAT-OSVER"
echo " $result"
fi
fi
@ -548,11 +532,11 @@ elif ( pmatch "$OSVER" "sles11*" ); then
else
path="file://$OSPKGDIR"
fi
result=`zypper ar $path $OSVER-"path$i" 2>&1`
result=`zypper ar $path xCAT-$OSVER-"path$i" 2>&1`
if [ $? -ne 0 ]; then
if ( ! pmatch "$result" "*exists*" ); then
logger -t xcat -p local4.info "ospkgs: zypper ar $path $OSVER-path$i\n $result"
echo "ospkgs: zypper ar $path $OSVER-path$i"
logger -t xcat -p local4.info "ospkgs: zypper ar $path xCAT-$OSVER-path$i\n $result"
echo "ospkgs: zypper ar $path xCAT-$OSVER-path$i"
echo " $result"
fi
fi
@ -567,11 +551,11 @@ elif ( pmatch "$OSVER" "sles11*" ); then
else
SDKDIR="file://$SDKDIR"
fi
result=`zypper ar $SDKDIR $OSVER-sdk 2>&1`
result=`zypper ar $SDKDIR xCAT-$OSVER-sdk 2>&1`
if [ $? -ne 0 ]; then
if ( ! pmatch "$result" "*exists*" ); then
logger -t xcat -p local4.info "ospkgs: zypper ar $SDKDIR $OSVER-sdk\n $result"
echo "ospkgs: zypper ar $SDKDIR $OSVER-sdk"
logger -t xcat -p local4.info "ospkgs: zypper ar $SDKDIR xCAT-$OSVER-sdk\n $result"
echo "ospkgs: zypper ar $SDKDIR xCAT-$OSVER-sdk"
echo " $result"
fi
fi
@ -716,7 +700,11 @@ else
if [ $keeprepo -ne 1 ]; then
#remove old repo
mkdir -p /etc/yum.repos.d
result=`rm /etc/yum.repos.d/*.repo 2>&1`
if [ -r "/etc/yum.repos.d/local-repository.repo" ]; then
result=`rm /etc/yum.repos.d/local-repository.repo 2>&1`
fi
result=`rm /etc/yum.repos.d/xCAT*.repo 2>&1`
fi
result=`yum clean all`
@ -724,32 +712,13 @@ else
SUM=$(array_get_size os_path)
i=0
if [ $SUM -eq 0 ]; then
#create new repo file
REPOFILE="/etc/yum.repos.d/$OSVER.repo"
if [ ! -f $REPOFILE ]; then
echo "[$OSVER]" > $REPOFILE
echo "name=$OSVER" >> $REPOFILE
if [ $mounted -eq 0 ]; then
echo "baseurl=http://$OSPKGDIR" >> $REPOFILE
else
echo "baseurl=file://$OSPKGDIR" >> $REPOFILE
fi
echo "enabled=1" >> $REPOFILE
echo "gpgcheck=0" >> $REPOFILE
fi
else
while [ $i -lt $SUM ]; do
REPOFILE="/etc/yum.repos.d/$OSVER-path$i.repo"
while [ $i -lt $SUM ]; do
REPOFILE="/etc/yum.repos.d/xCAT-$OSVER-path$i.repo"
OSPKGDIR=$(array_get_element os_path $i)
# default_pkgdir="$INSTALLDIR/$OSVER/$ARCH"
if [ ! -f $REPOFILE ]; then
echo "[$OSVER-path$i]" > $REPOFILE
echo "name=$OSVER-path$i" >> $REPOFILE
echo "[xCAT-$OSVER-path$i]" > $REPOFILE
echo "name=xCAT-$OSVER-path$i" >> $REPOFILE
if [ $mounted -eq 0 ]; then
echo "baseurl=http://$OSPKGDIR" >> $REPOFILE
else
@ -759,8 +728,7 @@ else
echo "gpgcheck=0" >> $REPOFILE
fi
i=$((i+1))
done
fi
done
#import the release key?
#my $key = "$installDIR/$os/$arch/RPM-GPG-KEY-redhat-release";