description="MariaDB is a fork and a replacement for the MySQL relational database management system." url="http://www.mariadb.org/en/about/" packager="tnut " contributors="Pierre,Spiky" makedepends=(lzo cmake libevent boost libxml2 cracklib pcre ruby libaio openssl libxcrypt) run=(shadow mariadb.lib) name=mariadb version=11.2.3 runyx_version=20201011 source=(https://downloads.tuxfamily.org/nutyx/sources/runyx/runyx-${runyx_version}.tar.xz https://ftp.osuosl.org/pub/$name/$name-$version/source/$name-$version.tar.gz) PKGMK_GROUPS=(devel lib man doc service) prepare() { groupadd -g 40 mysql useradd -c "MySQL Server" -d /srv/mysql -g mysql -s /bin/false -u 40 mysql } build() { cd $name-$version sed -i "s@data/test@\${INSTALL_MYSQLTESTDIR}@g" sql/CMakeLists.txt mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ -DINSTALL_DOCDIR=share/doc/mariadb-$version \ -DINSTALL_DOCREADMEDIR=share/doc/mariadb-$version \ -DINSTALL_MANDIR=share/man \ -DINSTALL_MYSQLSHAREDIR=share/mysql \ -DINSTALL_MYSQLTESTDIR=share/mysql/test \ -DINSTALL_PLUGINDIR=lib/mysql/plugin \ -DINSTALL_SBINDIR=sbin \ -DINSTALL_SCRIPTDIR=bin \ -DINSTALL_SQLBENCHDIR=share/mysql/bench \ -DINSTALL_SUPPORTFILESDIR=share/mysql \ -DMYSQL_DATADIR=/srv/mysql \ -DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock \ -DWITH_EXTRA_CHARSETS=complex \ -DWITH_EMBEDDED_SERVER=ON \ -DSKIP_TESTS=ON \ -DWITH_SSL=system \ -DTOKUDB_OK=0 \ .. make make DESTDIR=$PKG install # Make mariadb version seen as mysql version ln -sfv $PKG/usr/include/mysql/{mariadb,mysql}_version.h install -v -dm 755 $PKG/etc/mysql cat > $PKG/etc/mysql/my.cnf.example << "EOF" # Begin /etc/mysql/my.cnf # The following options will be passed to all MySQL clients [client] #password = your_password port = 3306 socket = /run/mysqld/mysqld.sock # The MySQL server [mysqld] port = 3306 socket = /run/mysqld/mysqld.sock datadir = /srv/mysql skip-external-locking key_buffer_size = 16M max_allowed_packet = 1M sort_buffer_size = 512K net_buffer_length = 16K myisam_sort_buffer_size = 8M # Don't listen on a TCP/IP port at all. skip-networking # required unique id between 1 and 2^32 - 1 server-id = 1 # Uncomment the following if you are using BDB tables #bdb_cache_size = 4M #bdb_max_lock = 10000 # Uncomment the following if you are using InnoDB tables innodb_data_home_dir = /srv/mysql innodb_log_group_home_dir = /srv/mysql # All the innodb_xxx values below are the default ones: innodb_data_file_path = ibdata1:12M:autoextend # You can set .._buffer_pool_size up to 50 - 80 % # of RAM but beware of setting memory usage too high innodb_buffer_pool_size = 128M innodb_log_file_size = 48M innodb_log_buffer_size = 16M innodb_flush_log_at_trx_commit = 1 innodb_lock_wait_timeout = 50 [mysqldump] quick max_allowed_packet = 16M [mysql] no-auto-rehash # Remove the next comment character if you are not familiar with SQL #safe-updates [isamchk] key_buffer = 20M sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M [myisamchk] key_buffer_size = 20M sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M [mysqlhotcopy] interactive-timeout # End /etc/mysql/my.cnf EOF # Cleanup rm -r $PKG/usr/share/mysql/test # Service cd $SRC/runyx-${runyx_version} make DESTDIR=$PKG install-sysv-mysql make DESTDIR=$PKG install-runyx-mysql make DESTDIR=$PKG install-sysd-mysqld } service() { cd $PKG bsdtar -r -f \ $PKGMK_PACKAGE_DIR/${name}.${group}${PKGMK_BUILDVER}any.${PKGMK_PACKAGE_EXT} \ etc/rc.d etc/init lib/init lib/systemd rm -r etc/rc.d etc/init lib/init lib/systemd }