aboutsummaryrefslogtreecommitdiffstats
path: root/main/mariadb/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'main/mariadb/APKBUILD')
-rw-r--r--main/mariadb/APKBUILD304
1 files changed, 206 insertions, 98 deletions
diff --git a/main/mariadb/APKBUILD b/main/mariadb/APKBUILD
index 57ac87ab245..8380a6c1065 100644
--- a/main/mariadb/APKBUILD
+++ b/main/mariadb/APKBUILD
@@ -1,14 +1,14 @@
# Contributor: Sergei Lukin <sergej.lukin@gmail.com>
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
-# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
# Contributor: TBK <alpine@jjtc.eu>
# Contributor: Marcel Haazen <marcel@haazen.xyz>
# Contributor: Jake Buchholz <tomalok@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=mariadb
-pkgver=10.4.13
-pkgrel=1
+pkgver=10.11.7
+pkgrel=0
pkgdesc="A fast SQL database server"
url="https://www.mariadb.org/"
pkgusers="mysql"
@@ -16,17 +16,58 @@ pkggroups="mysql"
arch="all"
license="GPL-2.0-or-later"
depends="$pkgname-common"
-_mytopdeps="perl perl-dbi perl-dbd-mysql perl-getopt-long perl-socket perl-term-readkey"
-depends_dev="openssl-dev zlib-dev mariadb-connector-c-dev"
-makedepends="$depends_dev bison cmake curl-dev libaio-dev libarchive-dev libevent-dev
- libxml2-dev ncurses-dev pcre-dev readline-dev xz-dev linux-headers linux-pam-dev
- $_mytopdeps"
+_mytopdeps="
+ perl
+ perl-dbd-mysql
+ perl-dbi
+ perl-getopt-long
+ perl-socket
+ perl-term-readkey
+ "
+depends_dev="
+ fmt-dev
+ mariadb-connector-c-dev
+ openssl-dev
+ zlib-dev
+ "
+makedepends="
+ $_mytopdeps
+ $depends_dev
+ bison
+ cmake
+ curl-dev
+ libaio-dev
+ libarchive-dev
+ libevent-dev
+ libxml2-dev
+ linux-headers
+ linux-pam-dev
+ ncurses-dev
+ pcre2-dev
+ readline-dev
+ samurai
+ xz-dev
+ zstd-dev
+ "
install="$pkgname.pre-install $pkgname-common.post-upgrade"
-subpackages="$pkgname-static $pkgname-test:mytest $pkgname-embedded-dev:_embedded_dev
- $pkgname-doc $pkgname-dev $pkgname-common $pkgname-openrc
- $pkgname-client $pkgname-bench $pkgname-backup $pkgname-embedded $pkgname-mytop
+subpackages="
+ $pkgname-static
+ $pkgname-test:mytest
+ $pkgname-embedded-dev:_embedded_dev
+ $pkgname-doc
+ $pkgname-dev
+ $pkgname-common
+ $pkgname-openrc
+ $pkgname-client
+ $pkgname-bench
+ $pkgname-backup
+ $pkgname-embedded
+ $pkgname-mytop
$pkgname-server-utils:_server_utils
- mysql mysql-client:_compat_client mysql-bench:_compat_bench"
+ mysql
+ mysql-client:_compat_client
+ mysql-bench:_compat_bench
+ "
options="suid"
case "$CARCH" in
@@ -37,16 +78,91 @@ case "$CARCH" in
;;
esac
-source="https://downloads.mariadb.org/interstitial/mariadb-$pkgver/source/mariadb-$pkgver.tar.gz
+case "$CARCH" in
+ armv7|s390x)
+ # FIXME: sigbus armv7, sigsegv s390x
+ # test-aes
+ options="$options !check"
+ ;;
+esac
+
+source="https://rsync.osuosl.org/pub/mariadb/mariadb-$pkgver/source/mariadb-$pkgver.tar.gz
$pkgname.initd
- pcre.cmake.patch
+ gcc13.patch
+ lfs64.patch
ppc-remove-glibc-dep.patch
disable-failing-test.patch
+ have_stacktrace.patch
+ revert-c432c9ef.patch
"
-# dbug test fails under rootbld
-#options="!check"
# secfixes:
+# 10.11.6-r0:
+# - CVE-2023-22084
+# 10.6.9-r0:
+# - CVE-2018-25032
+# - CVE-2022-32081
+# - CVE-2022-32082
+# - CVE-2022-32084
+# - CVE-2022-32089
+# - CVE-2022-32091
+# 10.6.8-r0:
+# - CVE-2022-27376
+# - CVE-2022-27377
+# - CVE-2022-27378
+# - CVE-2022-27379
+# - CVE-2022-27380
+# - CVE-2022-27381
+# - CVE-2022-27382
+# - CVE-2022-27383
+# - CVE-2022-27384
+# - CVE-2022-27386
+# - CVE-2022-27387
+# - CVE-2022-27444
+# - CVE-2022-27445
+# - CVE-2022-27446
+# - CVE-2022-27447
+# - CVE-2022-27448
+# - CVE-2022-27449
+# - CVE-2022-27451
+# - CVE-2022-27452
+# - CVE-2022-27455
+# - CVE-2022-27456
+# - CVE-2022-27457
+# - CVE-2022-27458
+# 10.6.7-r0:
+# - CVE-2021-46659
+# - CVE-2021-46661
+# - CVE-2021-46662
+# - CVE-2021-46663
+# - CVE-2021-46664
+# - CVE-2021-46665
+# - CVE-2021-46667
+# - CVE-2021-46668
+# - CVE-2022-24048
+# - CVE-2022-24050
+# - CVE-2022-24051
+# - CVE-2022-24052
+# - CVE-2022-27385
+# - CVE-2022-31621
+# - CVE-2022-31622
+# - CVE-2022-31623
+# - CVE-2022-31624
+# 10.6.4-r0:
+# - CVE-2021-2372
+# - CVE-2021-2389
+# 10.5.11-r0:
+# - CVE-2021-2154
+# - CVE-2021-2166
+# 10.5.9-r0:
+# - CVE-2021-27928
+# 10.5.8-r0:
+# - CVE-2020-14765
+# - CVE-2020-14776
+# - CVE-2020-14789
+# - CVE-2020-14812
+# 10.5.6-r0:
+# - CVE-2020-15180
# 10.4.13-r0:
# - CVE-2020-2752
# - CVE-2020-2760
@@ -119,18 +235,21 @@ source="https://downloads.mariadb.org/interstitial/mariadb-$pkgver/source/mariad
# Available plugins https://mariadb.com/kb/en/library/list-of-plugins/
# All cmake configuration options can be displayed with: cmake ../server -LH
build() {
- cmake . -DBUILD_CONFIG=mysql_release \
- -DCMAKE_BUILD_TYPE=MinSizeRel \
+ # set MinSizeRel as otherwise project enables debugging for some parts
+ cmake -B build -G Ninja -Wno-dev \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr \
+ -DCOMPILATION_COMMENT="Alpine Linux" \
-DSYSCONFDIR=/etc \
-DSYSCONF2DIR=/etc/my.cnf.d \
-DMYSQL_DATADIR=/var/lib/mysql \
- -DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock \
+ -DINSTALL_UNIX_ADDRDIR=/run/mysqld/mysqld.sock \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DENABLED_LOCAL_INFILE=ON \
-DINSTALL_INFODIR=share/info \
-DINSTALL_MANDIR=share/man \
+ -DINSTALL_PAMDIR=/lib/security \
-DINSTALL_PLUGINDIR=lib/$pkgname/plugin \
-DINSTALL_SCRIPTDIR=bin \
-DINSTALL_INCLUDEDIR=include/mysql \
@@ -151,7 +270,7 @@ build() {
-DPLUGIN_MYISAM=YES \
-DPLUGIN_MROONGA=NO \
-DPLUGIN_OQGRAPH=NO \
- -DPLUGIN_PARTITION=YES \
+ -DPLUGIN_PARTITION=STATIC \
-DPLUGIN_ROCKSDB=$_enable_rocksdb \
-DPLUGIN_SPHINX=NO \
-DPLUGIN_TOKUDB=NO \
@@ -169,10 +288,11 @@ build() {
-DWITH_ROCKSDB_BZIP2=OFF \
-DWITH_ROCKSDB_JEMALLOC=OFF \
-DWITH_ROCKSDB_LZ4=OFF \
- -DWITH_ROCKSDB_ZSTD=OFF \
+ -DWITH_ROCKSDB_ZSTD=ON \
-DWITH_ROCKSDB_SNAPPY=OFF \
-DWITH_JEMALLOC=NO \
-DWITH_LIBARCHIVE=system \
+ -DWITH_LIBFMT=system \
-DWITH_LIBNUMA=NO \
-DWITH_LIBWRAP=OFF \
-DWITH_LIBWSEP=OFF \
@@ -185,21 +305,18 @@ build() {
-DWITH_ZLIB=system \
-DSKIP_TESTS=ON # Disables the client lib tests since a running server is needed
- # print config options to log
- cmake -L
-
- make
+ cmake --build build
}
check() {
# exclude test-connect which seems to be buggy. testsuite does not set port env var
- ctest -E '(test-connect)'
+ ctest --test-dir build --output-on-failure -E '(test-connect|mf_iocache)' -j${JOBS:-2}
}
package() {
- make DESTDIR="$pkgdir/" install
+ DESTDIR="$pkgdir/" cmake --install build
- install -Dm 755 "$startdir"/$pkgname.initd \
+ install -Dm 755 "$srcdir"/$pkgname.initd \
"$pkgdir"/etc/init.d/$pkgname
mkdir -p "$pkgdir"/etc/my.cnf.d
@@ -210,7 +327,6 @@ package() {
ln -s ../../../../bin/my_safe_process \
"$pkgdir"/usr/mysql-test/lib/My/SafeProcess/my_safe_process
-
# remove files provided by mariadb-connector-c
rm \
"$pkgdir"/usr/bin/mariadb_config \
@@ -241,6 +357,8 @@ package() {
"$pkgdir"/usr/lib/libmariadb.so* \
"$pkgdir"/usr/lib/pkgconfig/libmariadb.pc
+ install -d -m750 -o mysql -g mysql "$pkgdir"/usr/lib/mysql
+
cat >"$pkgdir"/etc/my.cnf<<-EOF
# This group is read both both by the client and the server
# use it for options that affect everything
@@ -294,10 +412,10 @@ package() {
# you can put MariaDB-only options here
[mariadb]
- # This group is only read by MariaDB-10.3 servers.
+ # This group is only read by MariaDB-10.5 servers.
# If you use the same .cnf file for MariaDB of different versions,
# use this group for options that older servers don't understand
- [mariadb-10.3]
+ [mariadb-10.5]
EOF
}
@@ -313,50 +431,49 @@ common() {
pkgdesc="MariaDB common files for both server and client"
replaces="mysql-common"
depends=
- mkdir -p "$subpkgdir"/usr/share/$pkgname \
- "$subpkgdir"/etc/mysql \
- "$subpkgdir"/usr/lib/$pkgname/plugin
- mv "$pkgdir"/etc/my.* "$subpkgdir"/etc/
+ mkdir -p "$subpkgdir"/usr/lib/$pkgname/plugin
+
+ amove etc/my.*
+
local lang="charsets danish english french greek italian korean norwegian-ny
portuguese russian slovak swedish czech dutch estonian german
hungarian japanese norwegian polish romanian serbian spanish
ukrainian"
for l in $lang; do
- mv "$pkgdir"/usr/share/$pkgname/$l \
- "$subpkgdir"/usr/share/$pkgname/
+ amove usr/share/$pkgname/$l
done
}
mytest() {
pkgdesc="The test suite distributed with MariaDB"
- mkdir -p "$subpkgdir"/usr/bin
- mv "$pkgdir"/usr/bin/mysql_client_test \
- "$pkgdir"/usr/bin/mysql_client_test_embedded \
- "$pkgdir"/usr/bin/my_safe_process \
- "$pkgdir"/usr/bin/mariadb-client-test \
- "$pkgdir"/usr/bin/mariadb-client-test-embedded \
- "$pkgdir"/usr/bin/mariadb-test \
- "$pkgdir"/usr/bin/mariadb-test-embedded \
- "$pkgdir"/usr/bin/mysqltest \
- "$pkgdir"/usr/bin/mysqltest_embedded \
- "$subpkgdir"/usr/bin/
- mv "$pkgdir"/usr/mysql-test \
- "$subpkgdir"/usr/
+
+ amove usr/bin/mysql_client_test \
+ usr/bin/mysql_client_test_embedded \
+ usr/bin/my_safe_process \
+ usr/bin/mariadb-client-test \
+ usr/bin/mariadb-client-test-embedded \
+ usr/bin/mariadb-test \
+ usr/bin/mariadb-test-embedded \
+ usr/bin/mysqltest \
+ usr/bin/mysqltest_embedded \
+ usr/mysql-test
}
client() {
pkgdesc="Client for the MariaDB database"
- depends="mariadb-common=$pkgver-r$pkgrel"
+ # perl needed for mariadb-access
+ depends="mariadb-common=$pkgver-r$pkgrel perl"
install=""
local bins="myisam_ftdump mysql mysqlaccess mysqladmin
mysqlcheck mysqldump mysqldumpslow mysql_find_rows
- mysql_fix_extensions mysqlimport mysqlshow mysql_waitpid"
+ mysql_fix_extensions mysqlimport mysqlshow mysql_waitpid
+ mariadb-secure-installation"
local symlinks="mariadb mariadb-access mariadb-admin mariadb-check
mariadb-dump mariadb-dumpslow mariadb-find-rows mariadb-fix-extensions
- mariadb-import mariadb-show mariadb-waitpid"
- mkdir -p "$subpkgdir"/usr/bin/
+ mariadb-import mariadb-show mariadb-waitpid mysql_secure_installation"
+
for i in $bins $symlinks; do
- mv "$pkgdir"/usr/bin/$i "$subpkgdir"/usr/bin/
+ amove usr/bin/$i
done
}
@@ -377,80 +494,71 @@ mysql() { _compat mysql mariadb; }
_compat_client() { _compat mysql-client mariadb-client; }
_compat_bench() { _compat mysql-bench mariadb-client; }
-static() {
- pkgdesc="Static libraries for MariaDB"
- mkdir -p "$subpkgdir"/usr/lib
- mv "$pkgdir"/usr/lib/*.a "$subpkgdir"/usr/lib/
-}
-
backup() {
pkgdesc="The mariabackup tool for physical online backups"
- mkdir -p "$subpkgdir"/usr/bin
- mv "$pkgdir"/usr/bin/mariabackup \
- "$pkgdir"/usr/bin/mariadb-backup \
- "$pkgdir"/usr/bin/mbstream \
- "$subpkgdir"/usr/bin/
+
+ amove usr/bin/mariabackup \
+ usr/bin/mariadb-backup \
+ usr/bin/mbstream
}
embedded() {
pkgdesc="MariaDB as an embeddable library"
depends="$pkgname-common=$pkgver-r$pkgrel"
- mkdir -p "$subpkgdir"/usr/lib
- mv "$pkgdir"/usr/lib/libmariadbd.so.* "$subpkgdir"/usr/lib/
+ amove usr/lib/libmariadbd.so.*
}
-
_embedded_dev() {
pkgdesc="MariaDB as an embeddable library - development files"
# this package only contains a symlink, but we want avoid pull in
# libmysqld (embedded) unless needed
- mkdir -p "$subpkgdir"/usr/lib
- mv "$pkgdir"/usr/lib/libmysqld.so "$subpkgdir"/usr/lib/
+ amove usr/lib/libmysqld.so
}
mytop() {
pkgdesc="Command line tool used for monitoring MariaDB performance"
depends="$_mytopdeps"
- mkdir -p "$subpkgdir"/usr/bin/
- mv "$pkgdir"/usr/bin/mytop "$subpkgdir"/usr/bin/
+ amove usr/bin/mytop
}
_server_utils() {
pkgdesc="Non-essential server utilities for MariaDB/MySQL applications"
depends="perl $pkgname-common=$pkgver-r$pkgrel"
- mkdir -p "$subpkgdir"/usr/bin
+
# perl utils
- mv \
- "$pkgdir"/usr/bin/mysql_convert_table_format \
- "$pkgdir"/usr/bin/mariadb-convert-table-format \
- "$pkgdir"/usr/bin/mysql_setpermission \
- "$pkgdir"/usr/bin/mariadb-setpermission \
- "$pkgdir"/usr/bin/mysqld_multi \
- "$pkgdir"/usr/bin/mariadbd-multi \
- "$pkgdir"/usr/bin/mysqlhotcopy \
- "$pkgdir"/usr/bin/mariadb-hotcopy \
- "$subpkgdir"/usr/bin/
+ amove \
+ usr/bin/mysql_convert_table_format \
+ usr/bin/mariadb-convert-table-format \
+ usr/bin/mysql_setpermission \
+ usr/bin/mariadb-setpermission \
+ usr/bin/mysqld_multi \
+ usr/bin/mariadbd-multi \
+ usr/bin/mysqlhotcopy \
+ usr/bin/mariadb-hotcopy
# tools that can be used remotely and other tools
- mv \
- "$pkgdir"/usr/bin/mysql_upgrade \
- "$pkgdir"/usr/bin/mariadb-upgrade \
- "$pkgdir"/usr/bin/perror \
- "$pkgdir"/usr/bin/mysqld_safe_helper \
- "$pkgdir"/usr/bin/mariadbd-safe-helper \
- "$subpkgdir"/usr/bin/
+ amove \
+ usr/bin/mysql_upgrade \
+ usr/bin/mariadb-upgrade \
+ usr/bin/perror \
+ usr/bin/mysqld_safe_helper \
+ usr/bin/mariadbd-safe-helper
}
_plugin_rocksdb() {
pkgdesc="MariaDB plugin for RocksDB (MyRocks)"
url="https://mariadb.com/kb/en/library/myrocks/"
depends="$pkgname=$pkgver-r$pkgrel"
- mkdir -p "$subpkgdir"/usr/lib/mariadb/plugin
- mv "$pkgdir"/usr/lib/mariadb/plugin/ha_rocksdb.so \
- "$subpkgdir"/usr/lib/mariadb/plugin/ha_rocksdb.so
+
+ amove usr/lib/mariadb/plugin/ha_rocksdb.so
}
-sha512sums="68919ceffb3d4afdd0d94daa77439a954c82ce4e08fbe06044fc397940eeb88a39ec75932cbd08ff26ef3cf7636fdb779947cda5b2764aa1fd888be19c44b566 mariadb-10.4.13.tar.gz
+sha512sums="
+a6ebc9ba88b52e5d339b176b6fa48c03fcbe5bb590740a02c1bbd083a3d62e619937e645de2504a9f9adeed2f67127fab0307dece524b7c5217ad5df0f3ccc71 mariadb-10.11.7.tar.gz
c352969f6665b0ffa387f7b185a5dea7751f4b16c12c809627857b27321efa09159369d7dd5c852d6159a9f173cb895fb601f0c52a1fa6e3527899520030964c mariadb.initd
-70da971aa78815495098205bcbd28428430aa83c3f1050fec0231ca86af9d9def2d2108a48ee08d86812c8dc5ad8ab1ef4e17a49b4936ed5187ae0f6a7ef8f63 pcre.cmake.patch
-e9ae4613f1d8c5f0a59b39a3548c46e50674ae78e7457d0e64c49f7e1573125c13634bbce7e29179bb8865a423171f852f43b96f7ef95619a95f02edcfc71efd ppc-remove-glibc-dep.patch
-0f5f2147e80b21abe65ccdee72b7d820ea1459112802e44f63d00d9247704d6a5562fce146a255e02f7367bc5d81cffe4e7c39758d533bf5ec9a6544a2a25738 disable-failing-test.patch"
+ec9068ee1da8276f04ac3654640cb6149e0f0a21ee77b133d7e5b82fa2ab2fd7971bce6ea3c5a5e094d8c6e2571f4ce43d7014b2767bb27e0a335005ced81968 gcc13.patch
+466d21376f6abae024aee26af701aa93275734c47a9c93084cec17e2e089667d059fbf76ea9c748c97de4a4b37c6663370f1d1f2183e17e69bd98213a57667ce lfs64.patch
+20331e52e3dc419b4833e3c16bbb9828b9591f8aa3b6fce93c592161f3cae403c4a5d073369b2383d7d2325a2c9394d178866ac3e069fd8b6c50be00155ba942 ppc-remove-glibc-dep.patch
+598490b4bb45c9f7be46086d25c2b6c601d417c45f11aa519c2290065e7d6e98a7519f9860b823e67a8fd3e6ce3b4728af73ec3a2c66eec32b42fd4ad7cc07f7 disable-failing-test.patch
+4965275371e6d5e08e32a16fcfff2e68dfdcf6f4c30e5beffe18dcf56b503cbf373feeda814694e048964b16165ad65156c32fe27e974bed47201e8cf60736c6 have_stacktrace.patch
+3757166dae8cd2c517d7e09d286f0012c12815e58edbf615d3fb935d52ec4ab56fa4bd62fcb126a434a229a6757a34ec17900dd469d629ea22ed680733a2686d revert-c432c9ef.patch
+"