diff --git a/extra/mariadb/0001-libatomic.patch b/extra/mariadb/0001-libatomic.patch index 6fde1b98d..aed1cd79b 100644 --- a/extra/mariadb/0001-libatomic.patch +++ b/extra/mariadb/0001-libatomic.patch @@ -1,4 +1,4 @@ -From 90660213eee7b871ab3c3aa3561376fcac4b6b48 Mon Sep 17 00:00:00 2001 +From 1b17400c33fa153847c9dea750b25fbe06c70501 Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Fri, 2 Aug 2019 12:00:41 -0600 Subject: [PATCH] libatomic @@ -11,10 +11,10 @@ Subject: [PATCH] libatomic 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/configure.cmake b/configure.cmake -index 8533b8ee0b2..0d7ced1a695 100644 +index 6b8bbed636e..278c930260b 100644 --- a/configure.cmake +++ b/configure.cmake -@@ -855,6 +855,8 @@ SET(SIGNAL_WITH_VIO_CLOSE 1) +@@ -859,6 +859,8 @@ SET(SIGNAL_WITH_VIO_CLOSE 1) MARK_AS_ADVANCED(NO_ALARM) @@ -23,7 +23,7 @@ index 8533b8ee0b2..0d7ced1a695 100644 CHECK_CXX_SOURCE_COMPILES(" int main() { -@@ -863,6 +865,7 @@ int main() +@@ -867,6 +869,7 @@ int main() return (int)__atomic_load_n(ptr, __ATOMIC_SEQ_CST); }" HAVE_GCC_C11_ATOMICS) @@ -32,44 +32,44 @@ index 8533b8ee0b2..0d7ced1a695 100644 IF(WITH_VALGRIND) SET(HAVE_valgrind 1) diff --git a/libmysqld/CMakeLists.txt b/libmysqld/CMakeLists.txt -index 9dddc8a8990..9cf0b328bab 100644 +index 72e70ca0725..3722dce6325 100644 --- a/libmysqld/CMakeLists.txt +++ b/libmysqld/CMakeLists.txt -@@ -162,6 +162,7 @@ SET(LIBS +@@ -154,6 +154,7 @@ SET(LIBS ${LIBWRAP} ${LIBCRYPT} ${LIBDL} - ${EMBEDDED_PLUGIN_LIBS} + ${MYSQLD_STATIC_PLUGIN_LIBS} sql_embedded + atomic ) # Some storage engine were compiled for embedded specifically diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt -index d2180297907..3258b931324 100644 +index 90a6a32756c..9c41e9ee0bb 100644 --- a/sql/CMakeLists.txt +++ b/sql/CMakeLists.txt -@@ -196,7 +196,8 @@ TARGET_LINK_LIBRARIES(sql - tpool +@@ -181,7 +181,8 @@ TARGET_LINK_LIBRARIES(sql ${MYSQLD_STATIC_PLUGIN_LIBS} ${LIBWRAP} ${LIBCRYPT} ${LIBDL} ${CMAKE_THREAD_LIBS_INIT} + ${WSREP_LIB} ${SSL_LIBRARIES} - ${LIBSYSTEMD}) + ${LIBSYSTEMD} + atomic) - IF(TARGET pcre2) - ADD_DEPENDENCIES(sql pcre2) + IF(WIN32) + SET(MYSQLD_SOURCE main.cc nt_servc.cc message.rc) diff --git a/storage/rocksdb/build_rocksdb.cmake b/storage/rocksdb/build_rocksdb.cmake -index 2b4649b1fbe..688986c4deb 100644 +index 96da9737dbc..f80385882bb 100644 --- a/storage/rocksdb/build_rocksdb.cmake +++ b/storage/rocksdb/build_rocksdb.cmake -@@ -497,7 +497,7 @@ INCLUDE_DIRECTORIES(${ROCKSDB_SOURCE_DIR}/util) +@@ -469,7 +469,7 @@ INCLUDE_DIRECTORIES(${ROCKSDB_SOURCE_DIR}/util) list(APPEND SOURCES ${CMAKE_CURRENT_BINARY_DIR}/build_version.cc) ADD_CONVENIENCE_LIBRARY(rocksdblib ${SOURCES}) -target_link_libraries(rocksdblib ${THIRDPARTY_LIBS} ${SYSTEM_LIBS}) +target_link_libraries(rocksdblib ${THIRDPARTY_LIBS} ${SYSTEM_LIBS} atomic) IF(CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") - set_target_properties(rocksdblib PROPERTIES COMPILE_FLAGS "-fPIC -fno-builtin-memcmp -Wno-error") + set_target_properties(rocksdblib PROPERTIES COMPILE_FLAGS "-fPIC -fno-builtin-memcmp") endif() -- -2.27.0 +2.22.0 diff --git a/extra/mariadb/0004-MDEV-15526-systemd-unit-files-naming-and-installation.patch b/extra/mariadb/0004-MDEV-15526-systemd-unit-files-naming-and-installation.patch new file mode 100644 index 000000000..084e99f6f --- /dev/null +++ b/extra/mariadb/0004-MDEV-15526-systemd-unit-files-naming-and-installation.patch @@ -0,0 +1,28 @@ +commit 6af0bd69074725c8d8b10f07ed4ccc013d010322 +Author: Faustin Lammler +Date: Fri Jan 11 18:22:44 2019 -0300 + + MDEV-15526 systemd unit files naming and installation + + Drop Aliases from the service file directive. Aliases in the service + file only take effect when the service is enabled. This is the case + because Aliases in service files do not have to be unique across various + services. + + Shipping symlinks guarantees that one can always enable mariadb service + using `systemctl enable mysql` or `systemctl enable mysqld` and makes + the commands indempotent. + +diff --git a/support-files/mariadb.service.in b/support-files/mariadb.service.in +index dca7a4c13a7..e61e35c52ee 100644 +--- a/support-files/mariadb.service.in ++++ b/support-files/mariadb.service.in +@@ -26,8 +26,6 @@ After=network.target + + [Install] + WantedBy=multi-user.target +-Alias=mysql.service +-Alias=mysqld.service + + + [Service] diff --git a/extra/mariadb/PKGBUILD b/extra/mariadb/PKGBUILD index fd62ff6cd..af32fde38 100644 --- a/extra/mariadb/PKGBUILD +++ b/extra/mariadb/PKGBUILD @@ -8,13 +8,13 @@ pkgbase=mariadb pkgname=('mariadb-libs' 'mariadb-clients' 'mariadb' 'mytop') pkgdesc='Fast SQL database server, derived from MySQL' -pkgver=10.5.5 +pkgver=10.4.14 pkgrel=1 arch=('x86_64') license=('GPL') url='https://mariadb.org/' -makedepends=('rsync' 'boost' 'bzip2' 'cmake' 'jemalloc' 'libaio' 'libxml2' 'lz4' 'lzo' - 'openssl' 'systemd' 'zlib' 'zstd' 'curl' 'krb5') +makedepends=('boost' 'bzip2' 'cmake' 'jemalloc' 'libaio' 'libxml2' 'lz4' 'lzo' + 'openssl' 'systemd' 'zlib' 'zstd') validpgpkeys=('199369E5404BD5FC7D2FE43BCBCB082A1BB943DB') # MariaDB Package Signing Key # The default links with mirror redirection fail for signatures, specific # mirrors may be out of date every now and then. Let's use the upstream @@ -22,11 +22,13 @@ validpgpkeys=('199369E5404BD5FC7D2FE43BCBCB082A1BB943DB') # MariaDB Package Sign # https://mariadb.com/kb/en/library/mirror-sites-for-mariadb/ source=("rsync://rsync.osuosl.org/mariadb/mariadb-${pkgver}/source/mariadb-${pkgver}.tar.gz"{,.asc} '0001-arch-specific.patch' + '0004-MDEV-15526-systemd-unit-files-naming-and-installation.patch' '0001-libatomic.patch') -sha256sums=('cf6b2c061754c07bbb1d20b29ae111bf2d098297c9b8c321b810638a179088a4' +sha256sums=('f92fcd59e0122461482f28c67c5ea01c7cf6979494a571db68074396864c86fc' 'SKIP' 'c97e36bd0aeb10f506f4843761a0cd13dbe2e7bc71c3e5cdcd1a5310338bffaf' - '59947e8154dceae50a38053ed4f659f23e5c95eb2a2fc06f60d57be5814ae1c3') + '1bb3b18afac8c95dbe964046e18b866288f41f8ec3a4a9c69875ca1620b89d29' + '1c7360453b6e964c6546cbbb10fff697f6227554eba716b2a1df74f7c2613d95') prepare() { cd $pkgbase-$pkgver/ @@ -37,6 +39,9 @@ prepare() { # * make systemd-tmpfiles create MYSQL_DATADIR patch -Np1 < ../0001-arch-specific.patch + # MDEV-15526 systemd unit files naming and installation + patch -Np1 < ../0004-MDEV-15526-systemd-unit-files-naming-and-installation.patch + if [[ $CARCH == arm || $CARCH == armv6h ]]; then patch -p1 -i ../0001-libatomic.patch fi @@ -115,7 +120,6 @@ check() { package_mariadb-libs() { pkgdesc='MariaDB libraries' depends=('bzip2' 'libaio' 'lz4' 'lzo' 'openssl' 'xz' 'zlib') - optdepends=('krb5: for gssapi authentication') conflicts=('libmysqlclient' 'libmariadbclient' 'mariadb-connector-c') provides=('libmariadbclient' 'mariadb-connector-c' 'libmariadb.so' 'libmariadbd.so') replaces=('libmariadbclient') @@ -161,14 +165,10 @@ package_mariadb() { 'etc/my.cnf.d/enable_encryption.preset' 'etc/my.cnf.d/mysql-clients.cnf' 'etc/my.cnf.d/server.cnf' - 'etc/my.cnf.d/s3.cnf' - 'etc/my.cnf.d/spider.cnf' 'etc/security/user_map.conf') install=mariadb.install depends=("mariadb-clients=${pkgver}" 'inetutils' 'systemd-libs' 'libxml2' 'zstd') - optdepends=('curl: for ha_s3 plugin' - 'galera: for MariaDB cluster with Galera WSREP' - 'mysql-python: for myrocks_hotbackup' + optdepends=('galera: for MariaDB cluster with Galera WSREP' 'perl-dbd-mysql: for mysqlhotcopy, mysql_convert_table_format and mysql_setpermission') conflicts=('mysql') provides=("mysql=$pkgver") @@ -185,6 +185,10 @@ package_mariadb() { rm usr/bin/rcmysql rm usr/share/mysql/{binary-configure,mysql{,d_multi}.server} + # link service files with old name for compatibility + ln -s mariadb.service usr/lib/systemd/system/mysqld.service + ln -s mariadb@.service usr/lib/systemd/system/mysqld@.service + # move to proper licenses directories install -d usr/share/licenses/mariadb mv usr/share/doc/mariadb/COPYING* usr/share/licenses/mariadb/ @@ -213,14 +217,14 @@ package_mariadb() { # provided by mariadb-clients rm usr/bin/mysql{,_plugin,_upgrade,admin,binlog,check,dump,import,show,slap,test} - rm usr/bin/mariadb{,-{admin,binlog,check,conv,dump,import,plugin,show,slap,test,upgrade}} + rm usr/bin/mariadb{,-{admin,binlog,check,dump,import,plugin,show,slap,test,upgrade}} rm usr/share/man/man1/mysql{,_plugin,_upgrade,admin,binlog,check,dump,import,show,slap,test}.1 # provided by mytop rm usr/bin/mytop # not needed - rm -r usr/{mysql-test,sql-bench} + rm -r usr/{data,mysql-test,sql-bench} rm usr/share/man/man1/mysql-test-run.pl.1 }