# Contributor: Sergei Lukin # Contributor: Sören Tempel # Contributor: Łukasz Jendrysik # Contributor: Carlo Landmeter # Contributor: TBK # Maintainer: Natanael Copa pkgname=mariadb pkgver=10.2.10 pkgrel=0 pkgdesc="A fast SQL database server" url="http://www.mariadb.org" pkgusers="mysql" pkggroups="mysql" arch="all" license="GPL" depends="$pkgname-common" depends_dev="libressl-dev zlib-dev" makedepends="bison cmake curl-dev libaio-dev libarchive-dev libevent-dev libressl-dev libxml2-dev ncurses-dev pcre-dev readline-dev zlib-dev xz-dev linux-headers" install="$pkgname.pre-install" subpackages="$pkgname-doc $pkgname-dev $pkgname-common $pkgname-client-libs:_client_libs $pkgname-libs $pkgname-client $pkgname-bench $pkgname-test:mytest mysql mysql-client:_compat_client mysql-bench:_compat_bench" source="https://downloads.mariadb.org/interstitial/mariadb-$pkgver/source/mariadb-$pkgver.tar.gz $pkgname.initd fix-mysql-install-db-path.patch fix-ucontext-check.patch ppc-remove-glibc-dep.patch pcre.cmake.patch " builddir="$srcdir/$pkgname-$pkgver" # secfixes: # 10.1.22-r0: # - CVE-2017-3313 # - CVE-2017-3302 # 10.1.21-r0: # - CVE-2016-6664 # - CVE-2017-3238 # - CVE-2017-3243 # - CVE-2017-3244 # - CVE-2017-3257 # - CVE-2017-3258 # - CVE-2017-3265 # - CVE-2017-3291 # - CVE-2017-3312 # - CVE-2017-3317 # - CVE-2017-3318 # Notes: # Available plugins https://mariadb.com/kb/en/library/list-of-plugins/ # All cmake configuration options can be displayed with: cmake ../server -LH build() { cd "$builddir" cmake . -DBUILD_CONFIG=mysql_release \ -DCMAKE_INSTALL_PREFIX=/usr \ -DSYSCONFDIR=/etc/mysql \ -DMYSQL_DATADIR=/var/lib/mysql \ -DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DENABLED_LOCAL_INFILE=ON \ -DINSTALL_INFODIR=share/mysql/docs \ -DINSTALL_MANDIR=share/man \ -DINSTALL_PLUGINDIR=lib/mysql/plugin \ -DINSTALL_SCRIPTDIR=bin \ -DINSTALL_INCLUDEDIR=include/mysql \ -DINSTALL_DOCREADMEDIR=share/mysql \ -DINSTALL_SUPPORTFILESDIR=share/mysql \ -DINSTALL_MYSQLSHAREDIR=share/mysql \ -DINSTALL_DOCDIR=share/mysql/docs \ -DINSTALL_SHAREDIR=share/mysql \ -DCONNECT_WITH_MYSQL=ON \ -DCONNECT_WITH_LIBXML2=system \ -DCONNECT_WITH_ODBC=NO \ -DCONNECT_WITH_JDBC=NO \ -DPLUGIN_ARCHIVE=YES \ -DPLUGIN_ARIA=YES \ -DPLUGIN_BLACKHOLE=YES \ -DPLUGIN_CASSANDRA=NO \ -DPLUGIN_CSV=YES \ -DPLUGIN_MYISAM=YES \ -DPLUGIN_MROONGA=NO \ -DPLUGIN_OQGRAPH=NO \ -DPLUGIN_PARTITION=YES \ -DPLUGIN_ROCKSDB=NO \ -DPLUGIN_SPHINX=NO \ -DPLUGIN_TOKUDB=NO \ -DPLUGIN_AUTH_PAM=NO \ -DPLUGIN_AUTH_GSSAPI=NO \ -DPLUGIN_AUTH_GSSAPI_CLIENT=NO \ -DPLUGIN_CRACKLIB_PASSWORD_CHECK=NO \ -DWITH_ASAN=OFF \ -DWITH_EMBEDDED_SERVER=ON \ -DWITH_EXTRA_CHARSETS=complex \ -DWITH_INNODB_BZIP2=OFF \ -DWITH_INNODB_LZ4=OFF \ -DWITH_INNODB_LZMA=ON \ -DWITH_INNODB_LZO=OFF \ -DWITH_INNODB_SNAPPY=OFF \ -DWITH_JEMALLOC=NO \ -DWITH_LIBARCHIVE=system \ -DWITH_LIBNUMA=NO \ -DWITH_LIBWRAP=OFF \ -DWITH_LIBWSEP=OFF \ -DWITH_MARIABACKUP=ON \ -DWITH_PCRE=system \ -DWITH_READLINE=ON \ -DWITH_SYSTEMD=no \ -DWITH_SSL=system \ -DWITH_VALGRIND=OFF \ -DWITH_ZLIB=system \ -DSKIP_TESTS=ON # Disables the client lib tests since a running server is needed make -j8 } check() { cd "$builddir" make test } package() { cd "$builddir" make DESTDIR="$pkgdir/" install install -Dm 755 "$startdir"/$pkgname.initd \ "$pkgdir"/etc/init.d/$pkgname # use small example config as default, which has tcp disabled install -Dm 640 -o mysql "$pkgdir"/usr/share/mysql/my-medium.cnf \ "$pkgdir"/etc/mysql/my.cnf # mysql-test includes one executable that doesn't belong under # /usr/share, so move it and provide a symlink mv "$pkgdir"/usr/mysql-test/lib/My/SafeProcess/my_safe_process \ "$pkgdir"/usr/bin ln -s ../../../../bin/my_safe_process \ "$pkgdir"/usr/mysql-test/lib/My/SafeProcess/my_safe_process } dev() { default_dev replaces="libmysqlclient mysql-dev" provides="mysql-dev=$pkgver-r$pkgrel" mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/mysql_config "$subpkgdir"/usr/bin/ } _client_libs() { pkgdesc="MariaDB client library" replaces="mariadb libmysqlclient" depends="mariadb-common" mkdir -p "$subpkgdir"/usr/lib \ "$subpkgdir"/usr/share/mysql mv "$pkgdir"/usr/lib/libmariadb.so* \ "$subpkgdir"/usr/lib/ } common() { pkgdesc="MariaDB common files for both server and client" replaces="mysql-common" depends= mkdir -p "$subpkgdir"/usr/share/mysql \ "$subpkgdir"/etc \ "$subpkgdir"/usr/lib/mysql/plugin mv "$pkgdir"/etc/mysql "$subpkgdir"/etc/ mv "$pkgdir"/usr/lib/mysql/plugin/dialog.so \ "$pkgdir"/usr/lib/mysql/plugin/mysql_clear_password.so \ "$subpkgdir"/usr/lib/mysql/plugin/ 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/mysql/$l \ "$subpkgdir"/usr/share/mysql/ done } mytest() { pkgdesc="The test suite distributed with MariaDB" mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/mysql_client_test \ "$pkgdir"/usr/mysql-test \ "$pkgdir"/usr/bin/my_safe_process \ "$subpkgdir"/usr/bin/ } client() { pkgdesc="Client for the MariaDB database" depends="mariadb-common" install="" local bins="myisam_ftdump mysql mysqlaccess mysqladmin mysqlcheck mysqldump mysqldumpslow mysql_find_rows mysql_fix_extensions mysqlimport mysqlshow mysql_waitpid" mkdir -p "$subpkgdir"/usr/bin/ for i in $bins; do mv "$pkgdir"/usr/bin/${i} "$subpkgdir"/usr/bin/ done } bench() { pkgdesc="MariaDB benchmark scripts and data" replaces="mariadb" mkdir -p "$subpkgdir"/usr/share/ mv "$pkgdir"/usr/sql-bench "$subpkgdir"/usr/share } _compat() { pkgdesc="Dummy package for $1 migration" depends="$2" mkdir -p "$subpkgdir" } mysql() { _compat mysql mariadb; } _compat_client() { _compat mysql-client mariadb-client; } _compat_bench() { _compat mysql-bench mariadb-client; } sha512sums="39c198009f8b19f4a08226ef9842b50e24636580b67c1c92d59c61cce3aa1edbd466e253c281dfcdfc58ab573ae9a59aaacb0ce3e8b82222043ddd849fc3e239 mariadb-10.2.10.tar.gz 06751768cb00d2e433655635c38d267ef25084a5830ff40e719ac579223c7192dc34b43f919ab6faf480094632327511cbd22456064dde2d04dc15648b9e3b9f mariadb.initd 88d9084c8ca3a94e6e1a7fa91091f577ee063f4b13046cc805f61f3be37993b98c79665e5995d8b6b7fa10efbe00fcbde638db5b0b59f0d5e0e951b24b5108e9 fix-mysql-install-db-path.patch 5bcba79cf228eea794334f8f2f4a23b43bcec423bdd6391a0f853545380ada6fa616b920f4be05d0eeaec918d43f238722606da418f184ecd5f685ee9275662b fix-ucontext-check.patch 81d2a95bfbce35fab6e1780f4201320e5621f470591020d707801dcf31f5fad3cb5d7b781a186b2914c6559a8fdc8f13e31e7cdde0af360ad56cedf80e491bc0 ppc-remove-glibc-dep.patch 70da971aa78815495098205bcbd28428430aa83c3f1050fec0231ca86af9d9def2d2108a48ee08d86812c8dc5ad8ab1ef4e17a49b4936ed5187ae0f6a7ef8f63 pcre.cmake.patch"