You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-10-31 18:30:33 +03:00
chore(build): support rocky 10 on bootstrap
This commit is contained in:
committed by
Leonid Fedorov
parent
9ed33c7e04
commit
e70837f165
@@ -23,7 +23,7 @@ COLUMSNTORE_SOURCE_PATH=$(realpath "$SCRIPT_LOCATION"/../)
|
||||
DEFAULT_MARIA_BUILD_PATH=$(realpath "$MDB_SOURCE_PATH"/../BuildOf_$(basename "$MDB_SOURCE_PATH"))
|
||||
|
||||
BUILD_TYPE_OPTIONS=("Debug" "RelWithDebInfo")
|
||||
DISTRO_OPTIONS=("ubuntu:20.04" "ubuntu:22.04" "ubuntu:24.04" "debian:11" "debian:12" "rockylinux:8" "rockylinux:9")
|
||||
DISTRO_OPTIONS=("ubuntu:20.04" "ubuntu:22.04" "ubuntu:24.04" "debian:11" "debian:12" "rockylinux:8" "rockylinux:9" "rocky:10")
|
||||
|
||||
GCC_VERSION="11"
|
||||
MDB_CMAKE_FLAGS=()
|
||||
@@ -123,7 +123,7 @@ install_deps() {
|
||||
libjemalloc-dev liblz-dev liblzo2-dev liblzma-dev liblz4-dev libbz2-dev libbenchmark-dev libdistro-info-perl \
|
||||
graphviz devscripts ccache equivs eatmydata curl python3"
|
||||
|
||||
if [[ "$OS" == *"rockylinux:8"* || "$OS" == *"rocky:8"* ]]; then
|
||||
if is_rocky_version $OS 8; then
|
||||
command="dnf install -y curl 'dnf-command(config-manager)' && dnf config-manager --set-enabled powertools && \
|
||||
dnf install -y libarchive cmake ${RPM_BUILD_DEPS}"
|
||||
if [[ $GCC_TOOLSET = false ]]; then
|
||||
@@ -131,9 +131,8 @@ install_deps() {
|
||||
else
|
||||
command="$command && dnf install -y gcc-toolset-${GCC_VERSION} && . /opt/rh/gcc-toolset-${GCC_VERSION}/enable"
|
||||
fi
|
||||
elif
|
||||
[[ "$OS" == "rockylinux:9"* || "$OS" == "rocky:9"* ]]
|
||||
then
|
||||
|
||||
elif is_rocky_version_ge $OS 9; then
|
||||
command="dnf install -y 'dnf-command(config-manager)' && dnf config-manager --set-enabled crb && \
|
||||
dnf install -y pcre2-devel gcc gcc-c++ curl-minimal ${RPM_BUILD_DEPS}"
|
||||
|
||||
|
||||
@@ -46,13 +46,23 @@ install_deps() {
|
||||
|
||||
cd "$COLUMNSTORE_SOURCE_PATH"/cmapi
|
||||
|
||||
if [[ "$OS" == "rockylinux:9" ]]; then
|
||||
if is_rocky_version $OS 9; then
|
||||
retry_eval 5 "dnf install -q -y libxcrypt-compat yum-utils"
|
||||
retry_eval 5 "dnf config-manager --set-enabled devel && dnf update -q -y" #to make redhat-lsb-core available for rocky 9
|
||||
fi
|
||||
|
||||
#no redhat-lsb-release for rockylinux >=10
|
||||
if ! is_rocky_version_ge $OS 10; then
|
||||
retry_eval 5 "dnf update -q -y && dnf install -q -y redhat-lsb-core"
|
||||
fi
|
||||
|
||||
|
||||
if is_rocky_version_ge $OS 10; then
|
||||
retry_eval 5 "dnf update -q -y && dnf install -q -y libxcrypt-compat"
|
||||
fi
|
||||
|
||||
if [[ "$PKG_FORMAT" == "rpm" ]]; then
|
||||
retry_eval 5 "dnf update -q -y && dnf install -q -y epel-release wget zstd findutils gcc cmake make rpm-build redhat-lsb-core libarchive"
|
||||
retry_eval 5 "dnf update -q -y && dnf install -q -y epel-release wget zstd findutils gcc cmake make rpm-build libarchive"
|
||||
else
|
||||
retry_eval 5 "apt-get update -qq -o Dpkg::Use-Pty=0 && apt-get install -qq -o Dpkg::Use-Pty=0 wget zstd findutils gcc cmake make dpkg-dev lsb-release"
|
||||
fi
|
||||
|
||||
@@ -604,3 +604,58 @@ change_ubuntu_mirror_in_docker() {
|
||||
|
||||
execInnerDocker "$container_name" "$docker_funcs; change_ubuntu_mirror ${region}"
|
||||
}
|
||||
|
||||
is_rocky_version() {
|
||||
local image="$1"
|
||||
local version="$2"
|
||||
|
||||
if [[ -z "$image" ]]; then
|
||||
echo "Usage: is_rocky_version <image> [version]"
|
||||
return 1
|
||||
fi
|
||||
|
||||
if [[ "$image" == *"rockylinux"* || "$image" == *"rocky"* ]]; then
|
||||
if [[ -n "$version" ]]; then
|
||||
if [[ "$image" == *":$version"* ]]; then
|
||||
return 0 # matches Rocky Linux with version
|
||||
else
|
||||
return 1 # Rocky Linux but wrong version
|
||||
fi
|
||||
else
|
||||
return 0 # matches Rocky Linux, any version
|
||||
fi
|
||||
fi
|
||||
|
||||
return 1 # not Rocky Linux
|
||||
}
|
||||
|
||||
is_rocky_version_ge() {
|
||||
local image="$1"
|
||||
local min_version="$2"
|
||||
|
||||
if [[ -z "$image" || -z "$min_version" ]]; then
|
||||
echo "Usage: is_rocky_version_ge <image> <min_version>"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# First check if it's Rocky Linux at all
|
||||
if ! is_rocky_version "$image"; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Extract the version from the tag (after colon)
|
||||
local tag="${image##*:}"
|
||||
if [[ "$tag" == "$image" ]]; then
|
||||
return 1 # no tag -> cannot compare
|
||||
fi
|
||||
|
||||
# Major version (before dot if any)
|
||||
local major="${tag%%.*}"
|
||||
|
||||
if [[ "$major" =~ ^[0-9]+$ && "$min_version" =~ ^[0-9]+$ ]]; then
|
||||
((major >= min_version))
|
||||
return $?
|
||||
fi
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user