You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-11-02 06:13:16 +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"))
|
DEFAULT_MARIA_BUILD_PATH=$(realpath "$MDB_SOURCE_PATH"/../BuildOf_$(basename "$MDB_SOURCE_PATH"))
|
||||||
|
|
||||||
BUILD_TYPE_OPTIONS=("Debug" "RelWithDebInfo")
|
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"
|
GCC_VERSION="11"
|
||||||
MDB_CMAKE_FLAGS=()
|
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 \
|
libjemalloc-dev liblz-dev liblzo2-dev liblzma-dev liblz4-dev libbz2-dev libbenchmark-dev libdistro-info-perl \
|
||||||
graphviz devscripts ccache equivs eatmydata curl python3"
|
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 && \
|
command="dnf install -y curl 'dnf-command(config-manager)' && dnf config-manager --set-enabled powertools && \
|
||||||
dnf install -y libarchive cmake ${RPM_BUILD_DEPS}"
|
dnf install -y libarchive cmake ${RPM_BUILD_DEPS}"
|
||||||
if [[ $GCC_TOOLSET = false ]]; then
|
if [[ $GCC_TOOLSET = false ]]; then
|
||||||
@@ -131,9 +131,8 @@ install_deps() {
|
|||||||
else
|
else
|
||||||
command="$command && dnf install -y gcc-toolset-${GCC_VERSION} && . /opt/rh/gcc-toolset-${GCC_VERSION}/enable"
|
command="$command && dnf install -y gcc-toolset-${GCC_VERSION} && . /opt/rh/gcc-toolset-${GCC_VERSION}/enable"
|
||||||
fi
|
fi
|
||||||
elif
|
|
||||||
[[ "$OS" == "rockylinux:9"* || "$OS" == "rocky:9"* ]]
|
elif is_rocky_version_ge $OS 9; then
|
||||||
then
|
|
||||||
command="dnf install -y 'dnf-command(config-manager)' && dnf config-manager --set-enabled crb && \
|
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}"
|
dnf install -y pcre2-devel gcc gcc-c++ curl-minimal ${RPM_BUILD_DEPS}"
|
||||||
|
|
||||||
|
|||||||
@@ -46,13 +46,23 @@ install_deps() {
|
|||||||
|
|
||||||
cd "$COLUMNSTORE_SOURCE_PATH"/cmapi
|
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 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
|
retry_eval 5 "dnf config-manager --set-enabled devel && dnf update -q -y" #to make redhat-lsb-core available for rocky 9
|
||||||
fi
|
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
|
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
|
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"
|
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
|
fi
|
||||||
|
|||||||
@@ -604,3 +604,58 @@ change_ubuntu_mirror_in_docker() {
|
|||||||
|
|
||||||
execInnerDocker "$container_name" "$docker_funcs; change_ubuntu_mirror ${region}"
|
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