diff --git a/build/bootstrap_mcs.sh b/build/bootstrap_mcs.sh index f46bacb95..6f9e33292 100755 --- a/build/bootstrap_mcs.sh +++ b/build/bootstrap_mcs.sh @@ -327,13 +327,20 @@ modify_packaging() { } construct_cmake_flags() { + if [[ $MARIADB_BRANCH == *enterprise ]]; then + BUILD_CONFIG=enterprise + else + BUILD_CONFIG=mysql_release + fi + + message The server build will use $color_yellow$BUILD_CONFIG$color_cyan build configuration + MDB_CMAKE_FLAGS=( - -DBUILD_CONFIG=mysql_release + -DBUILD_CONFIG=$BUILD_CONFIG -DCMAKE_BUILD_TYPE=$MCS_BUILD_TYPE -DCMAKE_EXPORT_COMPILE_COMMANDS=1 -DCMAKE_INSTALL_PREFIX:PATH=$INSTALL_PREFIX - -DMYSQL_MAINTAINER_MODE=NO - -DPLUGIN_COLUMNSTORE=YES + -DPLUGIN_COLUMNSTORE=DYNAMIC -DPLUGIN_CONNECT=NO -DPLUGIN_GSSAPI=NO -DPLUGIN_MROONGA=NO @@ -341,6 +348,7 @@ construct_cmake_flags() { -DPLUGIN_ROCKSDB=NO -DPLUGIN_SPHINX=NO -DPLUGIN_SPIDER=NO + -DSPIDER_WITH_UNIXODBC=ON -DPLUGIN_TOKUDB=NO -DWITH_EMBEDDED_SERVER=NO -DWITH_SSL=system @@ -357,6 +365,7 @@ construct_cmake_flags() { MDB_CMAKE_FLAGS+=(-DCOLUMNSTORE_MAINTAINER=YES) message "Columnstore maintainer mode on" else + MDB_CMAKE_FLAGS+=(-DCOLUMNSTORE_MAINTAINER=NO) warn "Maintainer mode is disabled, be careful, alien" fi diff --git a/build/run_mtr.sh b/build/run_mtr.sh index 1a83ce7d4..8c015e7df 100755 --- a/build/run_mtr.sh +++ b/build/run_mtr.sh @@ -34,17 +34,9 @@ fi select_pkg_format ${DISTRO} -if [[ "$PKG_FORMAT" == "rpm" ]]; then - SOCKET_PATH="/var/lib/mysql/mysql.sock" - MTR_PATH="/usr/share/mysql-test" -else - SOCKET_PATH="/run/mysqld/mysqld.sock" - MTR_PATH="/usr/share/mysql/mysql-test" -fi message "Running mtr tests..." -execInnerDocker "${CONTAINER_NAME}" "chown -R mysql:mysql ${MTR_PATH}" # disable systemd 'ProtectSystem' (we need to write to /usr/share/) execInnerDocker "${CONTAINER_NAME}" "sed -i /ProtectSystem/d \$(systemctl show --property FragmentPath mariadb | sed s/FragmentPath=//) || true" @@ -56,6 +48,26 @@ execInnerDocker "${CONTAINER_NAME}" "/usr/bin/mcsSetConfig SystemConfig CGroup j execInnerDocker "${CONTAINER_NAME}" "mariadb -e \"create database if not exists test;\"" execInnerDocker "${CONTAINER_NAME}" "systemctl restart mariadb-columnstore" + +VERSION_GREATER_THAN_10=$(execInnerDocker "${CONTAINER_NAME}" "mariadb -N -s -e 'SELECT (sys.version_major(), sys.version_minor(), sys.version_patch()) >= (11, 4, 0);'") +SOCKET_PATH=$(execInnerDocker "${CONTAINER_NAME}" "mariadb -e \"show variables like 'socket';\" | grep socket | cut -f2") + +SERVERNAME="mysql" +if [[ $VERSION_GREATER_THAN_10 == "1" ]]; then + SERVERNAME="mariadb" +fi + +if [[ "$PKG_FORMAT" == "rpm" ]]; then + MTR_PATH="/usr/share/${SERVERNAME}-test" +else + MTR_PATH="/usr/share/${SERVERNAME}/${SERVERNAME}-test" +fi + + +message "Running mtr tests from $MTR_PATH with $SOCKET_PATH and version >=11.4 $VERSION_GREATER_THAN_10" + +execInnerDocker "${CONTAINER_NAME}" "chown -R mysql:mysql ${MTR_PATH}" + if [[ "${EVENT}" == "custom" || "${EVENT}" == "cron" ]]; then execInnerDocker "${CONTAINER_NAME}" "wget -qO- https://cspkg.s3.amazonaws.com/mtr-test-data.tar.lz4 | lz4 -dc - | tar xf - -C /" execInnerDocker "${CONTAINER_NAME}" "cd ${MTR_PATH} && ./mtr --extern socket=${SOCKET_PATH} --force --print-core=detailed --print-method=gdb --max-test-fail=0 --suite=columnstore/setup" diff --git a/build/utils.sh b/build/utils.sh index f41dcd895..92bb775f0 100644 --- a/build/utils.sh +++ b/build/utils.sh @@ -536,7 +536,7 @@ function execInnerDocker() { local container_name=$1 shift 1 # Remove first arg (container_name) - docker exec -t "$container_name" bash -c "$@" + docker exec -t "$container_name" bash -c "$@" | tr -d '[:space:]' local dockerCommandExitCode=$? if [[ $dockerCommandExitCode -ne 0 ]]; then diff --git a/oam/install_scripts/CMakeLists.txt b/oam/install_scripts/CMakeLists.txt index 758ca18ce..898b6fd3d 100644 --- a/oam/install_scripts/CMakeLists.txt +++ b/oam/install_scripts/CMakeLists.txt @@ -58,7 +58,7 @@ if(WITH_UBSAN) set(LD_PRELOAD_STRING "") set(UBSAN_OPTIONS abort_on_error=0:print_stacktrace=1) - set(ALLOC_CONFIG "UBSAN_OPTIONS="${UBSAN_OPTIONS}) + set(ALLOC_CONFIG UBSAN_OPTIONS=${UBSAN_OPTIONS}) set(PRIMPROC_ALLOC_CONFIG ${ALLOC_CONFIG},log_path=${UBSAN_PATH}.primproc) set(DMLPROC_ALLOC_CONFIG ${ALLOC_CONFIG},log_path=${UBSAN_PATH}.dmlproc) set(DDLPROC_ALLOC_CONFIG ${ALLOC_CONFIG},log_path=${UBSAN_PATH}.ddlproc)