pkgname: mariadb pkgver: '13.0.1' pkgrel: '1' pkgdesc: MariaDB is a fork and a replacement for the MySQL relational database management system. url: 'https://www.mariadb.org/en/about/' arch: x86_64 license: - GPL-2.0-only depends: - shadow makedepends: - lzo - cmake - libevent - boost - libxml2 - cracklib - pcre2 - ruby - libaio - openssl - libxcrypt source: - 'https://repo.paganlinux.eu/sources/pagan-scripts-20260822.tar.gz' - 'https://archive.mariadb.org/mariadb-${pkgver}/source/mariadb-${pkgver}.tar.gz' sha256sums: - 32e0aec88cc56a8afe0b2671debe47d19357792a6ffaffaf6e3db8a021a57072 - cc681a84cc24d2852b93c5bf5fe199084edd553ee72656e10d4b50ec476aa33c hooks: post-install: | name=mariadb version=12.3.2 release=1 INFO="\033[1;36m" NORMAL="\033[0;39m" printf "${INFO} Create a /etc/mysql/my.cnf by comparing it with /etc/mysql/my.cnf.example ${NORMAL}\n" printf "${INFO} Create a database if need by run the command: ${NORMAL}\n" printf "sudo mysql_install_db --basedir=/usr --datadir=/srv/mysql --user=mysql\n" printf "sudo chown -R mysql:mysql /srv/mysql\n" printf "${INFO} Secure MariaDB by running the command: ${NORMAL}\n" printf "sudo /usr/bin/mysql_secure_installation\n" printf "${INFO} Make sure the mysql service is running before ${NORMAL}\n" pre-install: "name=mariadb\nversion=12.3.2\nrelease=1\nINFO=\"\\033[1;36m\"\nNORMAL=\"\\033[0;39m\"\nif ! (getent group\ \ mysql > /dev/null); then\n\tprintf \"${INFO}Creating mysql group${NORMAL}\\n\"\n\tgroupadd -g 40 mysql\nfi\nif ! (getent\ \ passwd mysql > /dev/null); then\n\tprintf \"${INFO}Creating mysql user${NORMAL}\\n\"\n\tuseradd -c 'MySQL Server' -d\ \ /srv/mysql \\\n\t-g mysql -s /usr/bin/false -u 40 mysql\nfi\n" build: | if ! (getent group mysql > /dev/null); then groupadd -g 40 mysql; fi if ! (getent passwd mysql > /dev/null); then useradd -c "MySQL Server" -d /srv/mysql -g mysql -s /usr/bin/false -u 40 mysql; fi # Oficjalny tarball release rozpakowuje się do mariadb-13.0.1 cd ${pkgname}-${pkgver} sed -i "s@data/test@\${INSTALL_MYSQLTESTDIR}@g" sql/CMakeLists.txt if [ -f storage/columnstore/columnstore/cmake/boost.cmake ]; then sed -i 's/regex system/regex/' storage/columnstore/columnstore/cmake/boost.cmake fi mkdir build cd build # oficjalny tarball release zawiera submoduly (wsrep-lib, libmariadb) cmake -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ -DINSTALL_DOCDIR=share/doc/mariadb \ -DINSTALL_DOCREADMEDIR=share/doc/mariadb \ -DINSTALL_MANDIR=share/man \ -DINSTALL_MYSQLSHAREDIR=share/mysql \ -DINSTALL_MYSQLTESTDIR=share/mysql/test \ -DINSTALL_PLUGINDIR=lib/mysql/plugin \ -DINSTALL_SBINDIR=bin \ -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=${PKGDIR} install # Poprawione dowiązanie dla wersji mysql -> mariadb (względne) pushd ${PKGDIR}/usr/include/mysql ln -sf mariadb_version.h mysql_version.h popd install -v -dm 755 ${PKGDIR}/etc/mysql cat > ${PKGDIR}/etc/mysql/my.cnf.example << "EOF" # Begin /etc/mysql/my.cnf [client] port = 3306 socket = /run/mysqld/mysqld.sock [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 skip-networking server-id = 1 innodb_data_home_dir = /srv/mysql innodb_log_group_home_dir = /srv/mysql innodb_data_file_path = ibdata1:12M:autoextend 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 [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 -rf ${PKGDIR}/usr/share/mysql/test # Service cd ${SRCDIR}/pagan-scripts-20260822 make DESTDIR=${PKGDIR} install-sysd-mysqld package: | true