diff --git a/extra/mariadb/.SRCINFO b/extra/mariadb/.SRCINFO index 74a368678..29e0d31ee 100644 --- a/extra/mariadb/.SRCINFO +++ b/extra/mariadb/.SRCINFO @@ -1,10 +1,11 @@ pkgbase = mariadb pkgdesc = Fast SQL database server, derived from MySQL pkgver = 11.3.2 - pkgrel = 1 + pkgrel = 2 url = https://mariadb.org/ arch = x86_64 license = GPL + makedepends = git makedepends = boost makedepends = bzip2 makedepends = cmake @@ -23,11 +24,21 @@ pkgbase = mariadb makedepends = zlib makedepends = zstd makedepends = xz - source = https://rsync.osuosl.org/pub/mariadb/mariadb-11.3.2/source/mariadb-11.3.2.tar.gz - source = https://rsync.osuosl.org/pub/mariadb/mariadb-11.3.2/source/mariadb-11.3.2.tar.gz.asc + source = mariadb::git+https://github.com/MariaDB/server.git#tag=mariadb-11.3.2?signed + source = git+https://github.com/MariaDB/mariadb-connector-c.git + source = git+https://github.com/facebook/rocksdb.git + source = git+https://github.com/codership/wsrep-lib.git + source = git+https://github.com/wolfSSL/wolfssl.git + source = git+https://github.com/mariadb-corporation/libmarias3.git + source = git+https://github.com/mariadb-corporation/mariadb-columnstore-engine.git source = 0001-arch-specific.patch validpgpkeys = 177F4010FE56CA3336300305F1656F24C74CD1D8 - sha256sums = 5570778f0a2c27af726c751cda1a943f3f8de96d11d107791be5b44a0ce3fb5c + sha256sums = a7ee96e4f90bf5d9f4185f36dae506980242b09578578568ed5ac4334dc05287 + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP sha256sums = SKIP sha256sums = 3289efb3452d199aec872115f35da3f1d6fd4ce774615076690e9bc8afae1460 @@ -75,6 +86,7 @@ pkgname = mariadb optdepends = perl-dbd-mariadb: for mariadb-hotcopy, mariadb-convert-table-format and mariadb-setpermission optdepends = python-mysqlclient: for myrocks_hotbackup optdepends = xz: lzma provider + provides = mariadb-server provides = mysql=11.3.2 conflicts = mysql options = emptydirs diff --git a/extra/mariadb/PKGBUILD b/extra/mariadb/PKGBUILD index f5b5e7496..34547aa96 100644 --- a/extra/mariadb/PKGBUILD +++ b/extra/mariadb/PKGBUILD @@ -1,5 +1,4 @@ -# Maintainer: Bartłomiej Piotrowski -# Maintainer: Christian Hesse +# Maintainer: Christian Hesse # ALARM: Kevin Mihelich # - disable mroonga storage engine (doesn't build on ARM) @@ -9,25 +8,42 @@ pkgbase=mariadb pkgname=('mariadb-libs' 'mariadb-clients' 'mariadb' 'mytop') pkgdesc='Fast SQL database server, derived from MySQL' pkgver=11.3.2 -pkgrel=1 +pkgrel=2 arch=('x86_64') license=('GPL') url='https://mariadb.org/' -makedepends=('boost' 'bzip2' 'cmake' 'cracklib' 'curl' 'jemalloc' 'judy' 'krb5' 'liburing' +makedepends=('git' 'boost' 'bzip2' 'cmake' 'cracklib' 'curl' 'jemalloc' 'judy' 'krb5' 'liburing' 'libxcrypt' 'libxml2' 'lz4' 'openssl' 'pcre2' 'systemd' 'zlib' 'zstd' 'xz') validpgpkeys=('177F4010FE56CA3336300305F1656F24C74CD1D8') # MariaDB 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 -# rsync source via https and hope it does not hurt them too much. -# https://mariadb.com/kb/en/library/mirror-sites-for-mariadb/ -source=("https://rsync.osuosl.org/pub/mariadb/mariadb-${pkgver}/source/mariadb-${pkgver}.tar.gz"{,.asc} +source=("mariadb::git+https://github.com/MariaDB/server.git#tag=mariadb-${pkgver}?signed" + 'git+https://github.com/MariaDB/mariadb-connector-c.git' + 'git+https://github.com/facebook/rocksdb.git' + 'git+https://github.com/codership/wsrep-lib.git' + 'git+https://github.com/wolfSSL/wolfssl.git' + 'git+https://github.com/mariadb-corporation/libmarias3.git' + 'git+https://github.com/mariadb-corporation/mariadb-columnstore-engine.git' '0001-arch-specific.patch') -sha256sums=('5570778f0a2c27af726c751cda1a943f3f8de96d11d107791be5b44a0ce3fb5c' +sha256sums=('a7ee96e4f90bf5d9f4185f36dae506980242b09578578568ed5ac4334dc05287' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' 'SKIP' '3289efb3452d199aec872115f35da3f1d6fd4ce774615076690e9bc8afae1460') prepare() { - cd $pkgbase-$pkgver/ + cd mariadb/ + + # setup git submodules + git config --file=.gitmodules submodule.libmariadb.url ../mariadb-connector-c/ + git config --file=.gitmodules submodule.storage/rocksdb/rocksdb.url ../rocksdb/ + git config --file=.gitmodules submodule.wsrep-lib.url ../wsrep-lib/ + git config --file=.gitmodules submodule.extra/wolfssl/wolfssl.url ../wolfssl/ + git config --file=.gitmodules submodule.storage/maria/libmarias3.url ../libmarias3/ + git config --file=.gitmodules submodule.storage/columnstore/columnstore.url ../mariadb-columnstore-engine/ + git submodule init + git -c protocol.file.allow=always submodule update # Arch Linux specific patches: # * enable PrivateTmp for a little bit more security @@ -101,7 +117,7 @@ build() { mkdir build cd build - cmake ../"$pkgbase-$pkgver" "${_cmake_options[@]}" + cmake ../mariadb/ "${_cmake_options[@]}" make } @@ -132,32 +148,31 @@ package_mariadb-libs() { # remove man pages rm -r "${pkgdir}"/usr/share/man - + ln -s mariadb_config "$pkgdir"/usr/bin/mariadb-config ln -s mariadb_config "$pkgdir"/usr/bin/mysql_config - install -D -m0644 "$srcdir"/"$pkgbase-$pkgver"/man/mariadb_config.1 "$pkgdir"/usr/share/man/man1/mariadb_config.1 + install -D -m0644 "$srcdir"/mariadb/man/mariadb_config.1 "$pkgdir"/usr/share/man/man1/mariadb_config.1 ln -s mariadb_config.1 "$pkgdir"/usr/share/man/man1/mariadb-config.1 ln -s mariadb_config.1 "$pkgdir"/usr/share/man/man1/mysql_config.1 install -D -m0644 support-files/mariadb.pc "$pkgdir"/usr/share/pkgconfig/mariadb.pc - install -D -m0644 "$srcdir"/"$pkgbase-$pkgver"/support-files/mysql.m4 "$pkgdir"/usr/share/aclocal/mysql.m4 - + install -D -m0644 "$srcdir"/mariadb/support-files/mysql.m4 "$pkgdir"/usr/share/aclocal/mysql.m4 } package_mariadb-clients() { pkgdesc='MariaDB client tools' depends=("mariadb-libs=${pkgver}" 'jemalloc' 'ncurses') conflicts=('mysql-clients') - provides=("mysql-clients=$pkgver") + provides=("mysql-clients=${pkgver}") make -C build/client DESTDIR="${pkgdir}" install - + # install man pages make -C build/man DESTDIR="${srcdir}"/client-man install install -d -m0755 "${pkgdir}"/usr/share/man/man1/ for man in $(find "${pkgdir}"/usr/bin/ ! -type d); do install -D -m0644 -t "${pkgdir}"/usr/share/man/man1/ "${srcdir}"/client-man/usr/share/man/man1/"$(basename "${man}")".1 - done + done } package_mariadb() { @@ -183,7 +198,7 @@ package_mariadb() { 'python-mysqlclient: for myrocks_hotbackup' 'xz: lzma provider') conflicts=('mysql') - provides=("mysql=$pkgver") + provides=('mariadb-server' "mysql=${pkgver}") options=('emptydirs') cd build @@ -223,7 +238,7 @@ package_mariadb() { rm usr/lib/mysql/plugin/{auth_gssapi_client,caching_sha2_password,client_ed25519,dialog,mysql_clear_password,sha256_password,zstd}.so # provided by mariadb-clients - for bin in $(find "${pkgdir}"/../mariadb-clients/usr/bin/ ! -type d); do + for bin in $(find "${pkgdir}/../${pkgbase}-clients/usr/bin/" ! -type d); do rm "${pkgdir}"/usr/bin/"$(basename "${bin}")" "${pkgdir}"/usr/share/man/man1/"$(basename "${bin}")".1 done