diff options
Diffstat (limited to 'main/mariadb/APKBUILD')
-rw-r--r-- | main/mariadb/APKBUILD | 304 |
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 +" |