Attached is a port for MySQL 8.1. This is not designed to replace the existing MariaDB port, it is designed for interoperability testing, since MySQL and MariaDB have diverged sufficiently such that software designed to support MySQL and MariaDB databases should be tested against both.
A number of patches are required, because OpenBSD doesn't support: * ffsll(3) * EVFILT_USER in kqueue or timer_create(3) * res_ninit(3) * AI_V4MAPPED and AI_ALL * sigwaitinfo * MAP_HUGETLB Most of the patches are simple, though the lack of EVFILT_USER and timer_create(3) required developing an alternative approach for timers that I'm not sure is thread safe. To avoid conflicts with the MariaDB port, this installs into a versioned directory (/usr/local/mysql-8.1). The port current doesn't create the data or socket directories, instead providing instructions to created versioned directories in the README to match what the rc.d script expects. Currently, the port README suggests using the _mysql user, even though the port doesn't create a user. I'm not sure what our practice is here in regards to multiple ports sharing users. Should it create the same _mysql user as the mariadb port? Should it create a different user (e.g. _oracle_mysql)? We previously had a MySQL port that was removed in 2014, so this keeps the same EPOCH and bumps the shared library. All of the shared libraries are installed into the versioned directory, so they shouldn't be picked up by other ports. This passes 100% of databases/ruby-sequel's MySQL integration tests. I haven't done additional testing with it. Is this something anybody wants in ports? Thanks, Jeremy
mysql.tar.gz
Description: application/tar-gz
