#!/bin/bash
# Copyright (c) Huawei Technologies Co., Ltd. 2021-2021. All rights reserved.
# Describe OS capabilitiy difference

if [ "${G70S_CAPABILITY}" = "" ]
then
    G70S_CAPABILITY="yes"
    G10S_LIBFILE=${G10S_LIBFILE="../globalLib/g10s_pub"}
    if [ -f "${G10S_LIBFILE}" ]
    then
        . "${G10S_LIBFILE}"
    else
    	echo -e "\033[31m[ERROR:15][g20s][`date +%Y%m%d%H%M%S`][$0,${FUNCNAME[1]},${BASH_LINENO[0]}] not found the lib[${G10S_LIBFILE}]\033[0m"
    	eval "${g10s_exitFun} 1"
    fi
    
    function g70s_check_dracutinusrlib()
    {
        g10s_getOSType
        if [ $(echo "${G10S_CUR_FLAG}" | grep -c -E "(OSDracutModulesInUsrLib)") -ne 0 ] || \
           [ $(echo "${g10s_OSVersion}" | grep -c -E "(CentOS7|OL7|SLES12|KYLIN3SP3|KYLIN7|EULEROS2|ISOFT4SP0|ASIANUX7U3|NFS4U0|NFSSEC|KYLIN10|KYLINSEC3U4|KYLINSEC3U3_6C|FusionOS22|OpenEuler20_03|HCE2|CTyunOS2U0|RockyLinux8U5)") -eq 1 ]
        then
            return 1
        fi
        return 0
    }

    function g70s_check_support_updateimage()
    {
        g10s_getOSType
        if [  $(echo "${g10s_OSVersion}" | grep -c -E "NFSSEC") -ne 0 ]
        then
            return 1
        fi
        return 0
    }

    function g70s_check_support_updatekernel()
    {
        g10s_getOSType
        if [ "${G10S_CUR_FLAG}" != "" -a $(echo "${G10S_CUR_FLAG}" | grep -c -E "(SupportUpdateKernel)") -eq 0 ] || \
           [ "${G10S_CUR_FLAG}" = "" -a $(echo "${g10s_OSVersion}" | grep -c -E "(CentOS7|CentOS6|CentOS5|OL7|OL6|OL5|SLES10|SLES11|SLES12)") -eq 0 ]
        then
            return 1
        fi
        return 0
    }
    
    function g70s_check_support_setlunalias()
    {
        g10s_getOSType
        if [ "${G10S_CUR_FLAG}" != "" -a $(echo "${G10S_CUR_FLAG}" | grep -c -E "(SupportSetLunAlias)") -eq 0 ] || \
           [ "${G10S_CUR_FLAG}" = "" -a $(echo "${g10s_OSVersion}" | grep -c -E "(CentOS7|CentOS6|OL7|OL6|SLES11SP[2-4]|SLES12|ASIANUX7U3|KYLIN10)") -eq 0 ]
        then
            return 1
        fi
        return 0
    }
    
    function g70s_check_support_setlinkdowntimeout()
    {
        g10s_getOSType
        if [ "${G10S_CUR_FLAG}" != "" -a $(echo "${G10S_CUR_FLAG}" | grep -c -E "(SupportSetLinkdownTimeout)") -eq 0 ] || \
           [ "${G10S_CUR_FLAG}" = "" -a $(echo "${g10s_OSVersion}" | grep -c -E "NFS4U0|NFSSEC|CentOS6|CentOS7|SLES11|SLES12|EULEROS2|OL6|OL7|KYLIN10|KYLINSEC3U3_6C|ROCKY_6\.0\.80|CTyunOS2U0|RockyLinux8U5") -eq 0 ]
        then
            return 1
        fi
        return 0
    }    
    
else
    print_debug "g70s_capability is in this shell." "g70s"
fi