Commit 260649de authored by Otto Kekäläinen's avatar Otto Kekäläinen

Misc improvements to the Gitlab-CI pipeline for MariaDB

- Add new Ninja and Clang build jobs. This helps to ensure those
  toolchains also work in addition to default CMake/gcc.

- Generate dependencies.dot/png to illustrate the CMake/Make/Ninja
  build dependencies. Viewing this image and identifying bottle necks
  in parallelism can help make the build run faster.

- Enable CUnit tests now as they are fixed on 10.6 (MDEV-25820).

- Limit parallel builds to 2 CPUs (full parallelism needs MDEV-25968) on
  CMake/Make. Now only the Ninja builds run full parallel builds as only
  Ninja is smart enough to prevent builds failing on resource
  over-consumption.

- Enable Gitlab-CI cache for job 'centos8' for ccache so that it builds
  faster. Don't use Gitlab-CI cache for other jobs, as it would too easily
  use up all free tier storage on Gitlab.com and force users to get a paid
  account just for MariaDB builds.

- On other jobs clean away ccache, as it only had a 5% hit rate on single
  builds with no downloaded cache.

- Dump full database contents during the test install so that one can
  use diff to compare the database contents at different stages and thus
  track/debug potential bugs in mariadb-install-db and mariadb-upgrade
  code.

Bugfixes:

- Zero out ccache stats before each run so that 'ccache -s' would actually
  show the stats for the latest run.
parent 309209c5
...@@ -37,8 +37,22 @@ image: fedora:33 ...@@ -37,8 +37,22 @@ image: fedora:33
# many components that are otherwise slow to build. # many components that are otherwise slow to build.
variables: variables:
CMAKE_FLAGS: "-DWITH_SSL=system -DPLUGIN_COLUMNSTORE=NO -DPLUGIN_ROCKSDB=NO -DPLUGIN_S3=NO -DPLUGIN_MROONGA=NO -DPLUGIN_CONNECT=NO -DPLUGIN_MROONGA=NO -DPLUGIN_TOKUDB=NO -DPLUGIN_PERFSCHEMA=NO -DWITH_WSREP=OFF" CMAKE_FLAGS: "-DWITH_SSL=system -DPLUGIN_COLUMNSTORE=NO -DPLUGIN_ROCKSDB=NO -DPLUGIN_S3=NO -DPLUGIN_MROONGA=NO -DPLUGIN_CONNECT=NO -DPLUGIN_MROONGA=NO -DPLUGIN_TOKUDB=NO -DPLUGIN_PERFSCHEMA=NO -DWITH_WSREP=OFF"
# Major version dictates which branches share the same ccache # Major version dictates which branches share the same ccache. E.g. 10.6-abc
# and 10.6-xyz will have the same cache.
MARIADB_MAJOR_VERSION: "10.6" MARIADB_MAJOR_VERSION: "10.6"
# NOTE! Currently ccache is only used on the Centos8 build. As each job has
# sufficiently different environments they are unable to benefit from each
# other's ccaches. As each build generates about 1 GB of ccache, having
# multiple caches would quickly consume all free storage on Gitlab-CI and
# grind all builds to a halt. Also the network overhead of download/upload
# decreases the benefit of ccache in Gitlab-CI, and current cache:when and
# cache:policy are not flexible enough to have a system where the cache is
# uploaded only once a week and not on every build. Having ccache on at least
# one build still helps ensure that ccache compatibility is at least tested
# and if the Centos 8 build is always significantly faster than all other
# builds (e.g. on self-hosted Gitlab instances) then users would at least be
# able to discover it.
#
# Most steps don't need the source code, only artifacts # Most steps don't need the source code, only artifacts
GIT_STRATEGY: none GIT_STRATEGY: none
# Hack to satisfy directory name length requirement by CPackRPM in CMake 3.x # Hack to satisfy directory name length requirement by CPackRPM in CMake 3.x
...@@ -65,23 +79,21 @@ fedora: ...@@ -65,23 +79,21 @@ fedora:
GIT_STRATEGY: fetch GIT_STRATEGY: fetch
GIT_SUBMODULE_STRATEGY: normal GIT_SUBMODULE_STRATEGY: normal
script: script:
- yum install -y yum-utils rpm-build ccache openssl-devel - yum install -y yum-utils rpm-build openssl-devel graphviz
- source /etc/profile.d/ccache.sh
- export CCACHE_DIR="$(pwd)/.ccache"; ccache -s
# Accelerate builds with unsafe disk access, as we can afford to loose the entire build anyway # Accelerate builds with unsafe disk access, as we can afford to loose the entire build anyway
- yum install -y https://github.com/stewartsmith/libeatmydata/releases/download/v129/libeatmydata-129-1.fc33.x86_64.rpm - yum install -y https://github.com/stewartsmith/libeatmydata/releases/download/v129/libeatmydata-129-1.fc33.x86_64.rpm
# This repository does not have any .spec files, so install dependencies based on Fedora spec file # This repository does not have any .spec files, so install dependencies based on Fedora spec file
- yum-builddep -y mariadb-server - yum-builddep -y mariadb-server
- mkdir builddir; cd builddir - mkdir builddir; cd builddir
- cmake -DRPM=$CI_JOB_NAME $CMAKE_FLAGS .. 2>&1 | tee -a ../build-$CI_JOB_NAME-$CI_COMMIT_REF_SLUG.log - cmake -DRPM=$CI_JOB_NAME $CMAKE_FLAGS .. 2>&1 | tee -a ../build-$CI_JOB_NAME-$CI_COMMIT_REF_SLUG.log
- eatmydata make package 2>&1 | tee -a ../build-$CI_JOB_NAME-$CI_COMMIT_REF_SLUG.log - cmake --graphviz=../dependencies.dot .. && dot -Tpng -o ../dependencies.png ../dependencies.dot
# @TODO: Don't use -j on Gitlab.com as builds just get stuck when running - eatmydata make package -j 2 2>&1 | tee -a ../build-$CI_JOB_NAME-$CI_COMMIT_REF_SLUG.log
# multi-proc, needs more debugging # @TODO: Don't use -j without the limit of 2 on Gitlab.com as builds just
- make test || true # Unit tests constantly fail, see https://jira.mariadb.org/browse/MDEV-25820 # get stuck when running multi-proc and out of memory, see https://jira.mariadb.org/browse/MDEV-25968
# - make test-force || true # mysql-test-runner takes too long, run it in a separate job instead - make test
# - make test-force # mysql-test-runner takes too long, run MTR in a separate job instead
- *rpm_listfiles - *rpm_listfiles
- mkdir ../rpm; mv *.rpm ../rpm - mkdir ../rpm; mv *.rpm ../rpm
- ccache -s
artifacts: artifacts:
when: always # Must be able to see logs when: always # Must be able to see logs
paths: paths:
...@@ -89,14 +101,74 @@ fedora: ...@@ -89,14 +101,74 @@ fedora:
- rpmlist-$CI_JOB_NAME-$CI_COMMIT_REF_SLUG.log - rpmlist-$CI_JOB_NAME-$CI_COMMIT_REF_SLUG.log
- rpm - rpm
- builddir/_CPack_Packages/Linux/RPM/SPECS/ - builddir/_CPack_Packages/Linux/RPM/SPECS/
cache: - dependencies.dot
key: $MARIADB_MAJOR_VERSION-$CI_JOB_NAME - dependencies.png
fedora-ninja:
stage: build
variables:
GIT_STRATEGY: fetch
GIT_SUBMODULE_STRATEGY: normal
script:
- yum install -y yum-utils rpm-build openssl-devel graphviz ninja-build
# Accelerate builds with unsafe disk access, as we can afford to loose the entire build anyway
- yum install -y https://github.com/stewartsmith/libeatmydata/releases/download/v129/libeatmydata-129-1.fc33.x86_64.rpm
# This repository does not have any .spec files, so install dependencies based on Fedora spec file
- yum-builddep -y mariadb-server
- mkdir builddir; cd builddir
- cmake -DRPM=generic $CMAKE_FLAGS -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON -G Ninja .. 2>&1 | tee -a ../build-$CI_JOB_NAME-$CI_COMMIT_REF_SLUG.log
- ninja -t graph > ../dependencies.dot && dot -Tpng -o ../dependencies.png ../dependencies.dot
- eatmydata ninja package --verbose 2>&1 | tee -a ../build-$CI_JOB_NAME-$CI_COMMIT_REF_SLUG.log
# Ninja builds are not affected by bug https://jira.mariadb.org/browse/MDEV-25968
- ninja test
- *rpm_listfiles
- mkdir ../rpm; mv *.rpm ../rpm
artifacts:
when: always # Must be able to see logs
paths: paths:
- .ccache - build-$CI_JOB_NAME-$CI_COMMIT_REF_SLUG.log
# policy: pull - rpmlist-$CI_JOB_NAME-$CI_COMMIT_REF_SLUG.log
# @TODO: It would be enough to only download the cache. There is no need for - rpm
# every job to upload a new cache every time. A monthly or weekly scheduled - builddir/_CPack_Packages/Linux/RPM/SPECS/
# run could update the cache for all other builds to us. - dependencies.dot
- dependencies.png
fedora-clang:
stage: build
variables:
GIT_STRATEGY: fetch
GIT_SUBMODULE_STRATEGY: normal
script:
- yum install -y yum-utils rpm-build openssl-devel graphviz clang
# Accelerate builds with unsafe disk access, as we can afford to loose the entire build anyway
- yum install -y https://github.com/stewartsmith/libeatmydata/releases/download/v129/libeatmydata-129-1.fc33.x86_64.rpm
# This repository does not have any .spec files, so install dependencies based on Fedora spec file
- yum-builddep -y mariadb-server
- mkdir builddir; cd builddir
- export CXX=${CXX:-clang++}
- export CC=${CC:-clang}
- export CXX_FOR_BUILD=${CXX_FOR_BUILD:-clang++}
- export CC_FOR_BUILD=${CC_FOR_BUILD:-clang}
- export CFLAGS='-Wno-unused-command-line-argument'
- export CXXFLAGS='-Wno-unused-command-line-argument'
- cmake -DRPM=generic $CMAKE_FLAGS .. 2>&1 | tee -a ../build-$CI_JOB_NAME-$CI_COMMIT_REF_SLUG.log
- cmake --graphviz=../dependencies.dot .. && dot -Tpng -o ../dependencies.png ../dependencies.dot
- eatmydata make package -j 2 2>&1 | tee -a ../build-$CI_JOB_NAME-$CI_COMMIT_REF_SLUG.log
# @TODO: Don't use -j without the limit of 2 on Gitlab.com as builds just
# get stuck when running multi-proc and out of memory, see https://jira.mariadb.org/browse/MDEV-25968
- make test
# - make test-force # mysql-test-runner takes too long, run MTr in a separate job instead
- *rpm_listfiles
- mkdir ../rpm; mv *.rpm ../rpm
artifacts:
when: always # Must be able to see logs
paths:
- build-$CI_JOB_NAME-$CI_COMMIT_REF_SLUG.log
- rpmlist-$CI_JOB_NAME-$CI_COMMIT_REF_SLUG.log
- rpm
- builddir/_CPack_Packages/Linux/RPM/SPECS/
- dependencies.dot
- dependencies.png
centos8: centos8:
stage: build stage: build
...@@ -119,16 +191,16 @@ centos8: ...@@ -119,16 +191,16 @@ centos8:
- yum install -y https://github.com/stewartsmith/libeatmydata/releases/download/v129/libeatmydata-129-1.fc33.x86_64.rpm - yum install -y https://github.com/stewartsmith/libeatmydata/releases/download/v129/libeatmydata-129-1.fc33.x86_64.rpm
- yum install -y ccache # From EPEL - yum install -y ccache # From EPEL
- source /etc/profile.d/ccache.sh - source /etc/profile.d/ccache.sh
- export CCACHE_DIR="$(pwd)/.ccache"; ccache -s - export CCACHE_DIR="$(pwd)/.ccache"; ccache --zero-stats
# This repository does not have any .spec files, so install dependencies based on CentOS spec file # This repository does not have any .spec files, so install dependencies based on CentOS spec file
- yum-builddep -y mariadb-server - yum-builddep -y mariadb-server
- mkdir builddir; cd builddir - mkdir builddir; cd builddir
- cmake -DRPM=$CI_JOB_NAME $CMAKE_FLAGS .. 2>&1 | tee -a ../build-$CI_JOB_NAME-$CI_COMMIT_REF_SLUG.log - cmake -DRPM=$CI_JOB_NAME $CMAKE_FLAGS .. 2>&1 | tee -a ../build-$CI_JOB_NAME-$CI_COMMIT_REF_SLUG.log
- eatmydata make package 2>&1 | tee -a ../build-$CI_JOB_NAME-$CI_COMMIT_REF_SLUG.log - eatmydata make package -j 2 2>&1 | tee -a ../build-$CI_JOB_NAME-$CI_COMMIT_REF_SLUG.log
# @TODO: Don't use -j on Gitlab.com as builds just get stuck when running # @TODO: Don't use -j without the limit of 2 on Gitlab.com as builds just
# multi-proc and out of memory, see https://jira.mariadb.org/browse/MDEV-25968 # get stuck when running multi-proc and out of memory, see https://jira.mariadb.org/browse/MDEV-25968
- make test || true # Unit tests constantly fail, see https://jira.mariadb.org/browse/MDEV-25820 - make test
# - make test-force || true # mysql-test-runner takes too long, run it in a separate job instead # - make test-force # mysql-test-runner takes too long, run it MTR a separate job instead
- *rpm_listfiles - *rpm_listfiles
- mkdir ../rpm; mv *.rpm ../rpm - mkdir ../rpm; mv *.rpm ../rpm
- ccache -s - ccache -s
...@@ -140,7 +212,7 @@ centos8: ...@@ -140,7 +212,7 @@ centos8:
- rpm - rpm
- builddir/_CPack_Packages/Linux/RPM/SPECS/ - builddir/_CPack_Packages/Linux/RPM/SPECS/
cache: cache:
key: $MARIADB_MAJOR_VERSION-$CI_JOB_NAME key: $MARIADB_MAJOR_VERSION
paths: paths:
- .ccache - .ccache
...@@ -157,11 +229,11 @@ centos7: ...@@ -157,11 +229,11 @@ centos7:
- yum install -y yum-utils rpm-build gcc gcc-c++ bison libxml2-devel libevent-devel openssl-devel - yum install -y yum-utils rpm-build gcc gcc-c++ bison libxml2-devel libevent-devel openssl-devel
- mkdir builddir; cd builddir - mkdir builddir; cd builddir
- cmake -DRPM=$CI_JOB_NAME $CMAKE_FLAGS .. 2>&1 | tee -a ../build-$CI_JOB_NAME-$CI_COMMIT_REF_SLUG.log - cmake -DRPM=$CI_JOB_NAME $CMAKE_FLAGS .. 2>&1 | tee -a ../build-$CI_JOB_NAME-$CI_COMMIT_REF_SLUG.log
- make package 2>&1 | tee -a ../build-$CI_JOB_NAME-$CI_COMMIT_REF_SLUG.log - make package -j 2 2>&1 | tee -a ../build-$CI_JOB_NAME-$CI_COMMIT_REF_SLUG.log
# @TODO: Don't use -j on Gitlab.com as builds just get stuck when running # @TODO: Don't use -j without the limit of 2 on Gitlab.com as builds just
# multi-proc and out of memory, see https://jira.mariadb.org/browse/MDEV-25968 # get stuck when running multi-proc and out of memory, see https://jira.mariadb.org/browse/MDEV-25968
- make test || true # Unit tests constantly fail, see https://jira.mariadb.org/browse/MDEV-25820 - make test
# - make test-force || true # mysql-test-runner takes too long, run it in a separate job instead # - make test-force # mysql-test-runner takes too long, run it in a separate job instead
- *rpm_listfiles - *rpm_listfiles
- mkdir ../rpm; mv *.rpm ../rpm - mkdir ../rpm; mv *.rpm ../rpm
artifacts: artifacts:
...@@ -178,20 +250,20 @@ mysql-test-run: ...@@ -178,20 +250,20 @@ mysql-test-run:
- fedora - fedora
script: script:
# Install packages so tests and the dependencies install # Install packages so tests and the dependencies install
# @TODO: RPM missing 'patch' as dependency, so installing it manually for now # @TODO: RPM missing 'patch' and 'diff' as dependency, so installing it manually for now
- yum install -y rpm/*.rpm patch - yum install -y rpm/*.rpm patch diffutils
# @TODO: Fix on packaging level for /usr/share/mariadb to work and errormsg.sys be found # @TODO: Fix on packaging level for /usr/share/mariadb to work and errormsg.sys be found
- rm -rf /usr/share/mariadb; ln -s /usr/share/mysql /usr/share/mariadb - rm -rf /usr/share/mariadb; ln -s /usr/share/mysql /usr/share/mariadb
# mtr expects to be launched in-place and with write access to it's own directories # mtr expects to be launched in-place and with write access to it's own directories
- cd /usr/share/mysql-test - cd /usr/share/mysql-test
# Skip failing tests
- | - |
echo " echo "
main.mysqldump : flaky on Gitlab-CI main.mysqldump : Field separator argument is not what is expected; check the manual when executing 'SELECT INTO OUTFILE'
main.flush_logs_not_windows : flaky in containers in general main.flush_logs_not_windows : query 'flush logs' succeeded - should have failed with error ER_CANT_CREATE_FILE (1004)
main.mysql_upgrade_noengine : requires diff but diffutils is not a dependency main.mysql_upgrade_noengine : upgrade output order does not match the expected
" > skiplist " > skiplist
# @TODO: Flaky tests are skipped for now, but should be fixed - ./mtr --suite=main --force --parallel=auto --xml-report=$CI_PROJECT_DIR/junit.xml --skip-test-list=skiplist
- ./mtr --suite=main --force --xml-report=$CI_PROJECT_DIR/junit.xml --skip-test-list=skiplist
artifacts: artifacts:
when: always # Also show results when tests fail when: always # Also show results when tests fail
reports: reports:
...@@ -226,11 +298,27 @@ fedora install: ...@@ -226,11 +298,27 @@ fedora install:
# Fedora does not support running services in Docker (like Debian packages do) so start it manually # Fedora does not support running services in Docker (like Debian packages do) so start it manually
- /usr/bin/mariadb-install-db -u mysql - /usr/bin/mariadb-install-db -u mysql
- sudo -u mysql /usr/sbin/mariadbd & sleep 10 - sudo -u mysql /usr/sbin/mariadbd & sleep 10
# @TODO: Since we did a manual start, we also need to run upgrade manually # Dump database contents as is before upgrade
- /usr/bin/mariadb-upgrade -u root --socket /var/lib/mysql/mysql.sock - mariadb-dump --all-databases --all-tablespaces --triggers --routines --events --skip-extended-insert > installed-database.sql
# Since we did a manual start, we also need to run upgrade manually
- /usr/bin/mariadb-upgrade -u root
# Dump database contents as is after upgrade
- mariadb-dump --all-databases --all-tablespaces --triggers --routines --events --skip-extended-insert > upgraded-database.sql
- | - |
mysql --skip-column-names -e "SELECT @@version, @@version_comment" | tee /tmp/version mariadb --skip-column-names -e "SELECT @@version, @@version_comment" | tee /tmp/version
grep $MARIADB_MAJOR_VERSION /tmp/version || echo "MariaDB didn't upgrade properly" grep $MARIADB_MAJOR_VERSION /tmp/version || echo "MariaDB didn't install properly"
- mariadb --table -e "SELECT * FROM mysql.global_priv; SHOW CREATE USER root@localhost; SHOW CREATE USER 'mariadb.sys'@localhost"
- mariadb --table -e "SELECT * FROM mysql.plugin; SHOW PLUGINS"
- mariadb -e "SHUTDOWN;"
- rm -rf /var/lib/mysql/* # Clear datadir before next run
# Start database without install-db step
- sudo -u mysql /usr/sbin/mariadbd --skip-network --skip-grant & sleep 10
# Dump database contents in initial state
- mariadb-dump --all-databases --all-tablespaces --triggers --routines --events --skip-extended-insert > empty-database.sql
artifacts:
paths:
- installed-database.sql
- upgraded-database.sql
fedora upgrade: fedora upgrade:
stage: test stage: test
...@@ -242,24 +330,39 @@ fedora upgrade: ...@@ -242,24 +330,39 @@ fedora upgrade:
- /usr/libexec/mysql-check-socket - /usr/libexec/mysql-check-socket
- /usr/libexec/mysql-prepare-db-dir - /usr/libexec/mysql-prepare-db-dir
- sudo -u mysql /usr/libexec/mysqld --basedir=/usr & sleep 10 - sudo -u mysql /usr/libexec/mysqld --basedir=/usr & sleep 10
# Dump database contents in installed state
- mariadb-dump --all-databases --all-tablespaces --triggers --routines --events --skip-extended-insert > old-installed-database.sql
- /usr/libexec/mysql-check-upgrade - /usr/libexec/mysql-check-upgrade
- mysql --skip-column-names -e "SELECT @@version, @@version_comment" # Show version # Dump database contents in upgraded state
- mariadb-dump --all-databases --all-tablespaces --triggers --routines --events --skip-extended-insert > old-upgraded-database.sql
- mariadb --skip-column-names -e "SELECT @@version, @@version_comment" # Show version
# @TODO: Upgrade from Fedora 33 MariaDB 10.4 to MariaDB.org latest does not work # @TODO: Upgrade from Fedora 33 MariaDB 10.4 to MariaDB.org latest does not work
# so do this manual step to remove conflicts until packaging is fixed # so do this manual step to remove conflicts until packaging is fixed
- > - yum remove -y mariadb-server-utils mariadb-gssapi-server mariadb-cracklib-password-check mariadb-backup mariadb-connector-c-config
yum remove -y mariadb-server-utils mariadb-gssapi-server mariadb-cracklib-password-check
mariadb-backup mariadb-connector-c-config
- rm -f rpm/*debuginfo* # Not relevant in this test - rm -f rpm/*debuginfo* # Not relevant in this test
- yum install -y rpm/*.rpm procps # procps provides pkill - yum install -y rpm/*.rpm
# nothing provides galera-4 on Fedora, so this step fails if built with wsrep # nothing provides galera-4 on Fedora, so this step fails if built with wsrep
- pkill mysqld || true; sleep 5; pkill mysqld || true; sleep 5 - mysql -e "SHUTDOWN;"
- /usr/bin/mariadb-install-db -u mysql - /usr/bin/mariadb-install-db # This step should not do anything on upgrades, just exit
- sudo -u mysql /usr/sbin/mariadbd & sleep 10 - sudo -u mysql /usr/sbin/mariadbd & sleep 10
# Dump database contents in installed state
- mariadb-dump --all-databases --all-tablespaces --triggers --routines --events --skip-extended-insert > new-installed-database.sql || true
# The step above fails on: mariadb-dump: Couldn't execute 'show events': Cannot proceed, because event scheduler is disabled (1577)
# @TODO: Since we did a manual start, we also need to run upgrade manually # @TODO: Since we did a manual start, we also need to run upgrade manually
- /usr/bin/mariadb-upgrade -u root --socket /var/lib/mysql/mysql.sock - /usr/bin/mariadb-upgrade
# Dump database contents in upgraded state
- mariadb-dump --all-databases --all-tablespaces --triggers --routines --events --skip-extended-insert > new-upgraded-database.sql
- | - |
mysql --skip-column-names -e "SELECT @@version, @@version_comment" | tee /tmp/version mariadb --skip-column-names -e "SELECT @@version, @@version_comment" | tee /tmp/version
grep $MARIADB_MAJOR_VERSION /tmp/version || echo "MariaDB didn't upgrade properly" grep $MARIADB_MAJOR_VERSION /tmp/version || echo "MariaDB didn't upgrade properly"
- mariadb --table -e "SELECT * FROM mysql.global_priv; SHOW CREATE USER root@localhost; SHOW CREATE USER 'mariadb.sys'@localhost"
- mariadb --table -e "SELECT * FROM mysql.plugin; SHOW PLUGINS"
artifacts:
paths:
- old-installed-database.sql
- old-upgraded-database.sql
- new-installed-database.sql
- new-upgraded-database.sql
# Once all RPM builds and tests have passed, also run the DEB builds and tests # Once all RPM builds and tests have passed, also run the DEB builds and tests
# @NOTE: This is likely to work well only on salsa.debian.org as the Gitlab.com # @NOTE: This is likely to work well only on salsa.debian.org as the Gitlab.com
......
IF(RPM) IF(RPM)
MESSAGE(STATUS "CPackRPM building with RPM configuration: ${RPM}")
SET(CPACK_GENERATOR "RPM") SET(CPACK_GENERATOR "RPM")
SET(CPACK_RPM_PACKAGE_DEBUG 1) SET(CPACK_RPM_PACKAGE_DEBUG 1)
SET(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) SET(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
...@@ -274,7 +276,7 @@ FILE(GLOB compat101 RELATIVE ${CMAKE_SOURCE_DIR} ...@@ -274,7 +276,7 @@ FILE(GLOB compat101 RELATIVE ${CMAKE_SOURCE_DIR}
"${CMAKE_SOURCE_DIR}/../MariaDB-shared-10.1.*.rpm") "${CMAKE_SOURCE_DIR}/../MariaDB-shared-10.1.*.rpm")
IF(compat53 AND compat101) IF(compat53 AND compat101)
FOREACH(compat_rpm "${compat53}" "${compat101}") FOREACH(compat_rpm "${compat53}" "${compat101}")
MESSAGE("Using ${compat_rpm} to build MariaDB-compat") MESSAGE(STATUS "Using ${compat_rpm} to build MariaDB-compat")
INSTALL(CODE "EXECUTE_PROCESS( INSTALL(CODE "EXECUTE_PROCESS(
COMMAND rpm2cpio ${CMAKE_SOURCE_DIR}/${compat_rpm} COMMAND rpm2cpio ${CMAKE_SOURCE_DIR}/${compat_rpm}
COMMAND cpio --extract --make-directories */libmysqlclient*.so.* - COMMAND cpio --extract --make-directories */libmysqlclient*.so.* -
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment