82 lines
3.8 KiB
Diff
82 lines
3.8 KiB
Diff
diff --git a/sapconf b/sapconf
|
|
index 5840b2c..97ea301 100644
|
|
--- a/sapconf
|
|
+++ b/sapconf
|
|
@@ -817,6 +817,68 @@ else
|
|
fi
|
|
}
|
|
|
|
+#####################################
|
|
+# function: check_glibc
|
|
+# parameters: none
|
|
+#
|
|
+# checks if the minimum version of glibc is installed
|
|
+function check_glibc() {
|
|
+for GLIBC_PACKAGE in $(rpm -q glibc)
|
|
+do
|
|
+ REQUIRED_MAJOR_VERSION=2
|
|
+ REQUIRED_MINOR_VERSION=17
|
|
+ REQUIRED_BUILD_VERSION=73
|
|
+ REQUIRED_BUILD_MINOR_VERSION=0
|
|
+ ARCHITECTURE=$(echo $GLIBC_PACKAGE | rev | cut -d'.' -f1 | rev)
|
|
+ MAJOR_VERSION=$(echo $GLIBC_PACKAGE | cut -d'-' -f2 | cut -d'.' -f1)
|
|
+ MINOR_VERSION=$(echo $GLIBC_PACKAGE | cut -d'-' -f2 | cut -d'.' -f2)
|
|
+ BUILD_VERSION=$(echo $GLIBC_PACKAGE | cut -d'-' -f3 | cut -d'.' -f1)
|
|
+ BUILD_MINOR_VERSION=$(echo $GLIBC_PACKAGE | rev | cut -d'.' -f2- | rev | cut -s -d'_' -f2 | cut -d'.' -f2)
|
|
+ UPDATE=0
|
|
+
|
|
+ if [ -z $BUILD_MINOR_VERSION ]; then
|
|
+ BUILD_MINOR_VERSION=0
|
|
+ fi
|
|
+
|
|
+ if [ $MAJOR_VERSION -lt $REQUIRED_MAJOR_VERSION ]; then
|
|
+ UPDATE=1
|
|
+ elif [ $MAJOR_VERSION -eq $REQUIRED_MAJOR_VERSION ]; then
|
|
+ if [ $MINOR_VERSION -lt $REQUIRED_MINOR_VERSION ]; then
|
|
+ UPDATE=1
|
|
+ elif [ $MINOR_VERSION -eq $REQUIRED_MINOR_VERSION ]; then
|
|
+ if [ $BUILD_VERSION -lt $REQUIRED_BUILD_VERSION ]; then
|
|
+ UPDATE=1
|
|
+ elif [ $BUILD_VERSION -eq $REQUIRED_BUILD_VERSION ]; then
|
|
+ if [ $BUILD_MINOR_VERSION -lt $REQUIRED_BUILD_MINOR_VERSION ]; then
|
|
+ UPDATE=1
|
|
+ else
|
|
+ UPDATE=0
|
|
+ fi
|
|
+ fi
|
|
+ fi
|
|
+ fi
|
|
+
|
|
+ if [ $UPDATE -eq 1 ]; then
|
|
+ if [ $CHECK_ONLY == 0 ]; then
|
|
+ out "Updating glibc ..."
|
|
+ yum -q -y update "glibc*.$ARCHITECTURE"
|
|
+ else
|
|
+ if [ $REQUIRED_BUILD_MINOR_VERSION -eq 0 ]; then
|
|
+ rec "Newer version of glibc is required. Minimum required glibc.$ARCHITECTURE version is glibc-$REQUIRED_MAJOR_VERSION.$REQUIRED_MINOR_VERSION-$REQUIRED_BUILD_VERSION.el7.$ARCHITECTURE."
|
|
+ rec "Installed version is glibc-$MAJOR_VERSION.$MINOR_VERSION-$BUILD_VERSION.el7.$ARCHITECTURE."
|
|
+ else
|
|
+ if [ $BUILD_MINOR_VERSION -eq 0 ]; then
|
|
+ rec "Newer version of glibc is required. Minimum required glibc.$ARCHITECTURE version is glibc-$REQUIRED_MAJOR_VERSION.$REQUIRED_MINOR_VERSION-$REQUIRED_BUILD_VERSION.el7_0.$REQUIRED_BUILD_MINOR_VERSION.$ARCHITECTURE. Installed version is glibc-$MAJOR_VERSION.$MINOR_VERSION-$BUILD_VERSION.el7.$ARCHITECTURE."
|
|
+ else
|
|
+ rec "Newer version of glibc is required. Minimum required glibc.$ARCHITECTURE version is glibc-$REQUIRED_MAJOR_VERSION.$REQUIRED_MINOR_VERSION-$REQUIRED_BUILD_VERSION.el7_0.$REQUIRED_BUILD_MINOR_VERSION.$ARCHITECTURE. Installed version is glibc-$MAJOR_VERSION.$MINOR_VERSION-$BUILD_VERSION.el7_0.$BUILD_MINOR_VERSION.$ARCHITECTURE."
|
|
+ fi
|
|
+ fi
|
|
+ fi
|
|
+ else
|
|
+ out "Required glibc.$ARCHITECTURE version is already installed"
|
|
+ fi
|
|
+done
|
|
+}
|
|
|
|
####################################################################################
|
|
#
|
|
@@ -894,6 +956,7 @@ for g in $SAPGROUPLIST; do
|
|
update_limits_conf @$g hard nofile 32800
|
|
update_limits_conf @$g soft nofile 32800
|
|
done
|
|
+check_glibc
|
|
|
|
out ""
|
|
if [ $CHECK_ONLY == 0 ]; then
|