diff options
-rw-r--r-- | dev-db/mysql/Manifest | 2 | ||||
-rw-r--r-- | dev-db/mysql/files/my.cnf-8.0.distro-client | 21 | ||||
-rw-r--r-- | dev-db/mysql/files/my.cnf-8.0.distro-server | 28 | ||||
-rw-r--r-- | dev-db/mysql/metadata.xml | 1 | ||||
-rw-r--r-- | dev-db/mysql/mysql-8.0.17_pre1.ebuild (renamed from dev-db/mysql/mysql-8.0.17_pre.ebuild) | 72 |
5 files changed, 90 insertions, 34 deletions
diff --git a/dev-db/mysql/Manifest b/dev-db/mysql/Manifest index d07218b8b2bd..e62e6cdd3383 100644 --- a/dev-db/mysql/Manifest +++ b/dev-db/mysql/Manifest @@ -17,4 +17,4 @@ DIST mysql-extras-20181111-2314Z.tar.bz2 329013 BLAKE2B fa928b699ef0e6f092e028fc DIST mysql-extras-20190303-1852Z.tar.bz2 331026 BLAKE2B ee033fce8f1b6a58f1f690710fb9709a585cd45564b35e71d4f840a3a7f83a5d80f53c24236c9976319abd89c68c62c74a7111517f1b9721d3cbd0898bf0dd8d SHA512 30361a0b848ed27f9170b1116458a9bc13b1b585c5fa1933c99927541c31e9bda4008b0563f2fc7db286f998089ebebf1fe3f18fce7a45e62acbf769ac62d8c1 DIST mysql-extras-20190524-1046Z.tar.bz2 331517 BLAKE2B e6d48e34b0a7f7176de8740971f8151923beb20a520df73c22d44005059ef6779ad5aa8437e30018b9bbfe1d6d69043cbd8522b6f3662746205193b44372a6b3 SHA512 2f7238578f3aabd1701e1c54da36bc0100c9479871e3c77b22131fd6cde865037307f93b3343ea5e52251c45ef35cdc52cc2dec5a26d44fd41700598282c5c2c DIST mysql-extras-20190604-1109Z.tar.bz2 331780 BLAKE2B 48b6f6ff36818ba3d1d9c0580b0ff5e2343d92a42ee78b6804841d7c4f511adcdc3d5cd0590f769f308ca52e271c07cb34219450f9b86e918ddcd0a4b956e18e SHA512 19a85ba5a4c2de1688f39feb6ce1c1802e4d886436dc02afe1ba508b91365a0ac67d668cf7126588145ee55641992ad71b0d094246a94c89065876b9bb897425 -DIST mysql-extras-20190802-0031Z.tar.bz2 332871 BLAKE2B 233b25bc0f3fb215c273210f688a9864fe98ace95859d5e5e530d7f9a77a1fa08bdb0ef773fa8db3858b512479e0b13fcbc3cc5bea3ece695393a9db02e3babf SHA512 b74a9058f5ee439cac7063844b2a462e3b0ce6f906198bbb2aa966b93bfc2fb060d1d68cb4c0aafc4d1100338e48befcc53f4f5f74fa59aca305eee5882a971b +DIST mysql-extras-20190802-1549Z.tar.bz2 335077 BLAKE2B c4c4e38d30c9e4e02cdbcf4117f020e044374370bf32f6e013aa37ae6794445f3ef12e46abbdb5fefd85a68fe5af6b417363012a64d1fd97d79d478bb4b3749d SHA512 5c19a9ce9fe0d95788cc25fed0c2f987b46fa85accf7440a569066f4ac1b9f8522a0855fa884a128d7ccee17fecc25f4b16a16b3cd962c39f3670819eef2f6dc diff --git a/dev-db/mysql/files/my.cnf-8.0.distro-client b/dev-db/mysql/files/my.cnf-8.0.distro-client new file mode 100644 index 000000000000..5325c1a6d8fd --- /dev/null +++ b/dev-db/mysql/files/my.cnf-8.0.distro-client @@ -0,0 +1,21 @@ +# @GENTOO_PORTAGE_EPREFIX@/etc/mysql/50-distro-client.cnf: The global mysql configuration file. + +# The following options will be passed to all MySQL clients +[client] +socket = @GENTOO_PORTAGE_EPREFIX@/var/run/mysqld/mysqld.sock +character-sets-dir = @GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets +loose-default-character-set = utf8mb4 + +[mysql] +# uncomment the next directive if you are not familiar with SQL +#safe-updates + +[mysqldump] +quick +max_allowed_packet = 16M + +[myisamchk] +character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets + +[myisampack] +character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets diff --git a/dev-db/mysql/files/my.cnf-8.0.distro-server b/dev-db/mysql/files/my.cnf-8.0.distro-server new file mode 100644 index 000000000000..248c68e393ad --- /dev/null +++ b/dev-db/mysql/files/my.cnf-8.0.distro-server @@ -0,0 +1,28 @@ +# @GENTOO_PORTAGE_EPREFIX@/etc/mysql/50-distro-server.cnf: The global mysql configuration file. + +# add a section [mysqld-8.0] for specific configurations +[mysqld] +character-set-server = utf8mb4 +user = mysql +port = 3306 +socket = @GENTOO_PORTAGE_EPREFIX@/var/run/mysqld/mysqld.sock +pid-file = @GENTOO_PORTAGE_EPREFIX@/var/run/mysqld/mysql.pid +log-error = @GENTOO_PORTAGE_EPREFIX@/var/log/mysql/mysqld.err +basedir = @GENTOO_PORTAGE_EPREFIX@/usr +datadir = @DATADIR@ +skip-external-locking +lc_messages_dir = @GENTOO_PORTAGE_EPREFIX@/usr/share/mysql +#Set this to your desired error message language +lc_messages = en_US + +# security: +# using "localhost" in connects uses sockets by default +# skip-networking +bind-address = 127.0.0.1 + +log-bin +server-id = 1 + +# point the following paths to different dedicated disks +tmpdir = @GENTOO_PORTAGE_EPREFIX@/tmp/ +#log-update = @GENTOO_PORTAGE_EPREFIX@/path-to-dedicated-directory/hostname diff --git a/dev-db/mysql/metadata.xml b/dev-db/mysql/metadata.xml index d3fabed9ef6b..e231245763ea 100644 --- a/dev-db/mysql/metadata.xml +++ b/dev-db/mysql/metadata.xml @@ -19,6 +19,7 @@ dev-db/mariadb <flag name="libressl">Enable SSL connections and crypto functions using <pkg>dev-libs/libressl</pkg></flag> <flag name="numa">Enable NUMA support using <pkg>sys-process/numactl</pkg> (NUMA kernel support is also required)</flag> <flag name="profiling">Add support for statement profiling (requires USE=community).</flag> + <flag name="router">Build the MySQL router program</flag> <flag name="server">Build the server program</flag> <flag name="systemtap">Build support for profiling and tracing using <pkg>dev-util/systemtap</pkg></flag> <flag name="test">Install upstream testsuites for end use.</flag> diff --git a/dev-db/mysql/mysql-8.0.17_pre.ebuild b/dev-db/mysql/mysql-8.0.17_pre1.ebuild index b00696209cb5..bc4fb0cad0c3 100644 --- a/dev-db/mysql/mysql-8.0.17_pre.ebuild +++ b/dev-db/mysql/mysql-8.0.17_pre1.ebuild @@ -2,16 +2,16 @@ # Distributed under the terms of the GNU General Public License v2 EAPI="7" -MY_EXTRAS_VER="20190802-0031Z" +MY_EXTRAS_VER="20190802-1549Z" CMAKE_MAKEFILE_GENERATOR=emake # Keeping eutils in EAPI=6 for emktemp in pkg_config inherit cmake-utils eutils flag-o-matic linux-info \ - prefix toolchain-funcs user + prefix toolchain-funcs -MY_PV="${PV//_pre}" +MY_PV="${PV//_pre*}" MY_P="${PN}-${MY_PV}" S="${WORKDIR}/${PN}-${MY_PV}" @@ -32,7 +32,7 @@ DESCRIPTION="A fast, multi-threaded, multi-user SQL database server" LICENSE="GPL-2" SLOT="0/21" IUSE="cjk cracklib debug experimental jemalloc latin1 libressl numa +perl profiling - selinux static static-libs tcmalloc test" + router selinux ssl static tcmalloc test" # Tests always fail when libressl is enabled due to hard-coded ciphers in the tests RESTRICT="libressl? ( test )" @@ -74,10 +74,8 @@ COMMON_DEPEND="net-misc/curl:= >=app-arch/lz4-0_p131:= dev-libs/libedit cjk? ( app-text/mecab:= ) - experimental? ( - dev-libs/libevent:= - net-libs/libtirpc:= - ) + dev-libs/libevent:= + net-libs/libtirpc:= numa? ( sys-process/numactl ) >=sys-libs/zlib-1.2.3:0= jemalloc? ( dev-libs/jemalloc:0= ) @@ -86,8 +84,10 @@ COMMON_DEPEND="net-misc/curl:= sys-process/procps:0= ) tcmalloc? ( dev-util/google-perftools:0= ) - !libressl? ( >=dev-libs/openssl-1.0.0:0= ) - libressl? ( dev-libs/libressl:0= ) + ssl? ( + !libressl? ( >=dev-libs/openssl-1.0.0:0= ) + libressl? ( dev-libs/libressl:0= ) + ) " DEPEND="${COMMON_DEPEND} || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) @@ -95,12 +95,18 @@ DEPEND="${COMMON_DEPEND} dev-libs/libevent experimental? ( net-libs/rpcsvc-proto ) static? ( sys-libs/ncurses[static-libs] ) - test? ( dev-perl/JSON ) + test? ( + acct-group/mysql acct-user/mysql + dev-perl/JSON + ) " RDEPEND="${COMMON_DEPEND} !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster selinux? ( sec-policy/selinux-mysql ) - !prefix? ( dev-db/mysql-init-scripts ) + !prefix? ( + acct-group/mysql acct-user/mysql + dev-db/mysql-init-scripts + ) " # For other stuff to bring us in # dev-perl/DBD-mysql is needed by some scripts installed by MySQL @@ -229,19 +235,12 @@ src_prepare() { echo > "${S}/support-files/SELinux/CMakeLists.txt" || die fi - ## Remove bundled libs so we cannot accidentally use them - ## We keep extra/lz4 directory because we use extra/lz4/xxhash.c via sql/CMakeLists.txt:394 - #rm -rv \ - # "${S}"/extra/libevent \ - # "${S}"/extra/zlib \ - # || die - - if use libressl ; then - sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \ - "${S}/cmake/ssl.cmake" || die - fi + # man pages for client-lib tools we don't install + rm \ + man/perror.1 \ + man/zlib_decompress.1 \ + || die - #sed -i 's~ADD_SUBDIRECTORY(storage/ndb)~~' CMakeLists.txt || die cmake-utils_src_prepare } @@ -249,9 +248,7 @@ src_configure(){ # Bug #114895, bug #110149 filter-flags "-O" "-O[01]" - append-cflags -fPIC - - append-cxxflags -felide-constructors -fPIC + append-cxxflags -felide-constructors # bug #283926, with GCC4.4, this is required to get correct behavior. append-flags -fno-strict-aliasing @@ -282,6 +279,7 @@ src_configure(){ ### TODO: make this system but issues with UTF-8 prevent it -DWITH_EDITLINE=system -DWITH_ZLIB=system + -DWITH_SSL=$(usex ssl system wolfssl) -DWITH_LIBWRAP=0 -DENABLED_LOCAL_INFILE=1 -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" @@ -290,8 +288,10 @@ src_configure(){ # The build forces this to be defined when cross-compiling. We pass it # all the time for simplicity and to make sure it is actually correct. -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) + -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DWITH_CURL=system -DWITH_BOOST="${S}/boost" + -DWITH_ROUTER=$(usex router ON OFF) ) if use test ; then mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test ) @@ -299,8 +299,6 @@ src_configure(){ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' ) fi - mycmakeargs+=( -DWITH_SSL=system ) - mycmakeargs+=( -DWITHOUT_CLIENTLIBS=YES ) # client/mysql.cc:1131:16: error: redefinition of ‘struct _hist_entry’ @@ -318,7 +316,6 @@ src_configure(){ -DWITH_PROTOBUF=bundled -DWITH_MECAB=$(usex cjk system OFF) -DWITH_NUMA=$(usex numa ON OFF) - -DWITH_RAPID=$(usex experimental ON OFF) # Our dev-libs/rapidjson doesn't carry necessary fixes for std::regex -DWITH_RAPIDJSON=bundled ) @@ -548,11 +545,11 @@ src_install() { eprefixify "${TMPDIR}/my.cnf" doins "${TMPDIR}/my.cnf" insinto "${MY_SYSCONFDIR#${EPREFIX}}/mysql.d" - cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die + cp "${FILESDIR}/my.cnf-8.0.distro-client" "${TMPDIR}/50-distro-client.cnf" || die eprefixify "${TMPDIR}/50-distro-client.cnf" doins "${TMPDIR}/50-distro-client.cnf" - mycnf_src="my.cnf.distro-server" + mycnf_src="my.cnf-8.0.distro-server" sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ "${FILESDIR}/${mycnf_src}" \ > "${TMPDIR}/my.cnf.ok" || die @@ -564,7 +561,7 @@ src_install() { if use latin1 ; then sed -i \ - -e "/character-set/s|utf8|latin1|g" \ + -e "/character-set/s|utf8mb4|latin1|g" \ "${TMPDIR}/my.cnf.ok" || die fi @@ -575,6 +572,15 @@ src_install() { #Remove mytop if perl is not selected [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop" + if use router ; then + rm -rf \ + "${ED}/usr/LICENSE.router" \ + "${ED}/usr/README.router" \ + "${ED}/usr/run" \ + "${ED}/usr/var" \ + || die + fi + # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them. find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die } |