MINIFICPP-2423 Fix RHEL8 bootstrap issues

Also: fix cmake version check

Signed-off-by: Ferenc Gerlits <fgerlits@gmail.com>
This closes #1834
diff --git a/bootstrap.sh b/bootstrap.sh
index d45b0c9..b2df109 100755
--- a/bootstrap.sh
+++ b/bootstrap.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
 # Licensed to the Apache Software Foundation (ASF) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
@@ -232,9 +232,7 @@
 fi
 
 if [ -z "${CMAKE_COMMAND}" ] ||
-   [ "$CMAKE_MAJOR" -lt "$CMAKE_GLOBAL_MIN_VERSION_MAJOR" ] ||
-   [ "$CMAKE_MINOR" -lt "$CMAKE_GLOBAL_MIN_VERSION_MINOR" ] ||
-   [ "$CMAKE_REVISION" -lt "$CMAKE_GLOBAL_MIN_VERSION_REVISION" ]; then
+  version_is_less_than "$CMAKE_MAJOR" "$CMAKE_MINOR" "$CMAKE_REVISION" "$CMAKE_GLOBAL_MIN_VERSION_MAJOR" "$CMAKE_GLOBAL_MIN_VERSION_MINOR" "$CMAKE_GLOBAL_MIN_VERSION_REVISION"; then
   echo "CMake is not installed or too old, attempting to install it..."
   bootstrap_cmake
   if [ -x "$(command -v cmake3)" ]; then
@@ -246,9 +244,15 @@
   get_cmake_version
 fi
 
-if [ "$CMAKE_MAJOR" -lt "$CMAKE_GLOBAL_MIN_VERSION_MAJOR" ] ||
-   [ "$CMAKE_MINOR" -lt "$CMAKE_GLOBAL_MIN_VERSION_MINOR" ] ||
-   [ "$CMAKE_REVISION" -lt "$CMAKE_GLOBAL_MIN_VERSION_REVISION" ]; then
+# RHEL8: If cmake3 is too old, try cmake
+if [ "$CMAKE_COMMAND" = "cmake3" ] &&
+   version_is_less_than "$CMAKE_MAJOR" "$CMAKE_MINOR" "$CMAKE_REVISION" "$CMAKE_GLOBAL_MIN_VERSION_MAJOR" "$CMAKE_GLOBAL_MIN_VERSION_MINOR" "$CMAKE_GLOBAL_MIN_VERSION_REVISION" &&
+   [ -x "$(command -v cmake)" ]; then
+  CMAKE_COMMAND="cmake"
+  get_cmake_version
+fi
+
+if version_is_less_than "$CMAKE_MAJOR" "$CMAKE_MINOR" "$CMAKE_REVISION" "$CMAKE_GLOBAL_MIN_VERSION_MAJOR" "$CMAKE_GLOBAL_MIN_VERSION_MINOR" "$CMAKE_GLOBAL_MIN_VERSION_REVISION"; then
   echo "Failed to install or update CMake, exiting..."
   exit
 fi
@@ -511,3 +515,5 @@
 
 
 popd || exit 2
+
+# vim: shiftwidth=2 tabstop=2 expandtab
diff --git a/bstrp_functions.sh b/bstrp_functions.sh
index b51d9b6..08a20eb 100755
--- a/bstrp_functions.sh
+++ b/bstrp_functions.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
 # Licensed to the Apache Software Foundation (ASF) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
@@ -26,6 +26,24 @@
   CMAKE_REVISION=$(echo "$CMAKE_VERSION" | cut -d. -f3)
 }
 
+# Checks if a version is smaller than another
+version_is_less_than() {
+  # Parameters:
+  local lhs_major=$1
+  local lhs_minor=$2
+  local lhs_patch=$3
+  local rhs_major=$4
+  local rhs_minor=$5
+  local rhs_patch=$6
+  # Return: true (0) if left hand side (lhs) is smaller than right hand side (rhs), otherwise return false
+  if [ "$lhs_major" -lt "$rhs_major" ]; then return 0; fi
+  if [ "$lhs_minor" -lt "$rhs_minor" ]; then return 0; fi
+  if [ "$lhs_patch" -lt "$rhs_patch" ]; then return 0; fi
+
+  # otherwise return
+  false
+}
+
 add_cmake_option(){
   eval "$1=$2"
 }
@@ -449,3 +467,5 @@
     *) echo -e "${RED}Please enter an option A-Z or AA-AF or 1-7...${NO_COLOR}" && sleep 2
   esac
 }
+
+# vim: shiftwidth=2 tabstop=2 expandtab
diff --git a/rheldistro.sh b/rheldistro.sh
index 8c70d33..9ba7948 100644
--- a/rheldistro.sh
+++ b/rheldistro.sh
@@ -60,10 +60,14 @@
 }
 
 bootstrap_cmake(){
-  sudo yum -y install wget patch
-  wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
-  sudo yum -y install epel-release-latest-7.noarch.rpm
-  sudo yum -y install cmake3
+  if [ "$OS_MAJOR" -lt 8 ]; then
+    sudo yum -y install wget patch
+    wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
+    sudo yum -y install epel-release-latest-7.noarch.rpm
+    sudo yum -y install cmake3
+  else
+    sudo dnf -y install cmake
+  fi
 }
 bootstrap_compiler() {
   sudo yum -y install gcc gcc-c++
@@ -71,10 +75,10 @@
 build_deps(){
 # Install epel-release so that cmake3 will be available for installation
   sudo yum -y install wget
-  wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
-  sudo yum -y install epel-release-latest-7.noarch.rpm
+  wget "https://dl.fedoraproject.org/pub/epel/epel-release-latest-${OS_MAJOR}.noarch.rpm"
+  sudo yum -y install "epel-release-latest-${OS_MAJOR}.noarch.rpm"
 
-  COMMAND="sudo yum install cmake3 libuuid libuuid-devel perl bzip2-devel"
+  COMMAND="sudo yum install libuuid libuuid-devel perl bzip2-devel"
   INSTALLED=()
   for option in "${OPTIONS[@]}" ; do
     option_value="${!option}"
@@ -99,7 +103,7 @@
           elif [ "$FOUND_VALUE" = "libtool" ]; then
             INSTALLED+=("libtool")
           elif [ "$FOUND_VALUE" = "python" ]; then
-            INSTALLED+=("python34-devel")
+            INSTALLED+=("python3-devel")
           elif [ "$FOUND_VALUE" = "gpsd" ]; then
             INSTALLED+=("gpsd-devel")
           elif [ "$FOUND_VALUE" = "libarchive" ]; then