diff options
Diffstat (limited to 'main/mariadb/APKBUILD')
-rw-r--r-- | main/mariadb/APKBUILD | 261 |
1 files changed, 179 insertions, 82 deletions
diff --git a/main/mariadb/APKBUILD b/main/mariadb/APKBUILD index d408e536b55..8380a6c1065 100644 --- a/main/mariadb/APKBUILD +++ b/main/mariadb/APKBUILD @@ -7,8 +7,8 @@ # Contributor: Jake Buchholz <tomalok@gmail.com> # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=mariadb -pkgver=10.6.4 -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="openssl1.1-compat-dev zlib-dev mariadb-connector-c-dev" -makedepends="$depends_dev bison cmake curl-dev libaio-dev libarchive-dev libevent-dev - libxml2-dev ncurses-dev pcre2-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,14 +78,76 @@ 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 + gcc13.patch + lfs64.patch ppc-remove-glibc-dep.patch disable-failing-test.patch have_stacktrace.patch + revert-c432c9ef.patch " # 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 @@ -132,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=None \ + # 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 \ @@ -164,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 \ @@ -182,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 \ @@ -198,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 @@ -223,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 \ @@ -254,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 @@ -326,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 } @@ -390,18 +494,12 @@ mysql() { _compat mysql mariadb; } _compat_client() { _compat mysql-client mariadb-client; } _compat_bench() { _compat mysql-bench mariadb-client; } -static() { - pkgdesc="Static libraries for MariaDB" - amove usr/lib/*.a -} - 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() { @@ -410,7 +508,6 @@ embedded() { 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 @@ -427,41 +524,41 @@ 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=" -c216244ce126e6f8954303a76078dc12146e8ea941041edd215dc05201adda1d5158cd7f1c9831328f783aba4f884965ae288f33bbc43229bc6224a4f1079071 mariadb-10.6.4.tar.gz +a6ebc9ba88b52e5d339b176b6fa48c03fcbe5bb590740a02c1bbd083a3d62e619937e645de2504a9f9adeed2f67127fab0307dece524b7c5217ad5df0f3ccc71 mariadb-10.11.7.tar.gz c352969f6665b0ffa387f7b185a5dea7751f4b16c12c809627857b27321efa09159369d7dd5c852d6159a9f173cb895fb601f0c52a1fa6e3527899520030964c mariadb.initd +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 " |