diff --git a/functions-common b/functions-common index 2a8f19e900..bace9e00e6 100644 --- a/functions-common +++ b/functions-common @@ -379,14 +379,14 @@ function GetDistro { elif [[ "$os_VENDOR" =~ (Fedora) ]]; then # For Fedora, just use 'f' and the release DISTRO="f$os_RELEASE" - elif [[ "$os_VENDOR" =~ (openSUSE) ]]; then + elif is_opensuse; then DISTRO="opensuse-$os_RELEASE" # Tumbleweed uses "n/a" as a codename, and the release is a datestring # like 20180218, so not very useful. Leap however uses a release # with a "dot", so for example 15.0 [ "$os_CODENAME" = "n/a" -a "$os_RELEASE" = "${os_RELEASE/\./}" ] && \ DISTRO="opensuse-tumbleweed" - elif [[ "$os_VENDOR" =~ (SUSE LINUX) ]]; then + elif is_suse_linux_enterprise; then # just use major release DISTRO="sle${os_RELEASE%.*}" elif [[ "$os_VENDOR" =~ (Red.*Hat) || \ @@ -460,11 +460,30 @@ function is_fedora { # (openSUSE, SLE). # is_suse function is_suse { + is_opensuse || is_suse_linux_enterprise +} + + +# Determine if current distribution is an openSUSE distribution +# is_opensuse +function is_opensuse { if [[ -z "$os_VENDOR" ]]; then GetOSVersion fi - [[ "$os_VENDOR" =~ (openSUSE) || "$os_VENDOR" == "SUSE LINUX" ]] + [[ "$os_VENDOR" =~ (openSUSE) ]] +} + + +# Determine if current distribution is a SUSE Linux Enterprise (SLE) +# distribution +# is_suse_linux_enterprise +function is_suse_linux_enterprise { + if [[ -z "$os_VENDOR" ]]; then + GetOSVersion + fi + + [[ "$os_VENDOR" =~ (^SUSE) ]] }