commit:     684ed130d446891ecd16927e0c2703283af52919
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Thu Aug  8 19:41:49 2019 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Thu Aug  8 19:42:16 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=684ed130

dev-db/mysql: bump

- Remove USE=static which is broken upstream:

    CMake Error at scripts/CMakeLists.txt:395 (GET_TARGET_PROPERTY):
      get_target_property() called with non-existent target "libmysql".

- Remove subslot because we don't install any lib anymore (USE=client-lib
  was removed)

- Update DEPEND/RDEPEND

- Die early in pkg_setup instead of src_test

- Limit MTR_PARALLEL to 4 instead of "auto" to avoid test failures
  because other settings like ulimit, fs.aio-max-nr must allow running
  so many servers in parallel. User can still override.

- Disable test "auth_sec.keyring_file_data_qa" by default which won't
  work in sandbox/with user privs.

Package-Manager: Portage-2.3.71, Repoman-2.3.17
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 ...8.0.17_pre1.ebuild => mysql-8.0.17_pre2.ebuild} | 135 +++++++++++----------
 1 file changed, 70 insertions(+), 65 deletions(-)

diff --git a/dev-db/mysql/mysql-8.0.17_pre1.ebuild 
b/dev-db/mysql/mysql-8.0.17_pre2.ebuild
similarity index 92%
rename from dev-db/mysql/mysql-8.0.17_pre1.ebuild
rename to dev-db/mysql/mysql-8.0.17_pre2.ebuild
index a1c1a4d312e..c6e2674b422 100644
--- a/dev-db/mysql/mysql-8.0.17_pre1.ebuild
+++ b/dev-db/mysql/mysql-8.0.17_pre2.ebuild
@@ -6,10 +6,8 @@ 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
+       multiprocessing prefix toolchain-funcs
 
 MY_PV="${PV//_pre*}"
 MY_P="${PN}-${MY_PV}"
@@ -30,9 +28,9 @@ fi
 HOMEPAGE="https://www.mysql.com/";
 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
-       router selinux ssl static tcmalloc test"
+SLOT="0"
+IUSE="cjk cracklib debug jemalloc latin1 libressl numa +perl profiling
+       router selinux ssl tcmalloc test"
 
 # Tests always fail when libressl is enabled due to hard-coded ciphers in the 
tests
 RESTRICT="libressl? ( test )"
@@ -65,36 +63,32 @@ PATCHES=(
 
 # Be warned, *DEPEND are version-dependant
 # These are used for both runtime and compiletime
-COMMON_DEPEND="net-misc/curl:=
-       >=sys-apps/sed-4
-       >=sys-apps/texinfo-4.7-r1
-       sys-libs/ncurses:0=
-       dev-db/mysql-connector-c
-       >=dev-libs/protobuf-3.8
+COMMON_DEPEND="
        >=app-arch/lz4-0_p131:=
+       dev-libs/icu:=
        dev-libs/libedit
-       cjk? ( app-text/mecab:= )
        dev-libs/libevent:=
        net-libs/libtirpc:=
-       numa? ( sys-process/numactl )
        >=sys-libs/zlib-1.2.3:0=
+       cjk? ( app-text/mecab:= )
        jemalloc? ( dev-libs/jemalloc:0= )
        kernel_linux? (
                dev-libs/libaio:0=
                sys-process/procps:0=
        )
-       tcmalloc? ( dev-util/google-perftools:0= )
+       numa? ( sys-process/numactl )
        ssl? (
                !libressl? ( >=dev-libs/openssl-1.0.0:0= )
                libressl? ( dev-libs/libressl:0= )
        )
+       tcmalloc? ( dev-util/google-perftools:0= )
 "
 DEPEND="${COMMON_DEPEND}
        || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
+       dev-libs/re2
+       >=dev-libs/protobuf-3.8
+       net-libs/rpcsvc-proto
        virtual/yacc
-       dev-libs/libevent
-       experimental? ( net-libs/rpcsvc-proto )
-       static? ( sys-libs/ncurses[static-libs] )
        test? (
                acct-group/mysql acct-user/mysql
                dev-perl/JSON
@@ -168,14 +162,39 @@ mysql_init_vars() {
        export MY_DATADIR
 }
 
-pkg_pretend() {
-       if use numa ; then
-               local CONFIG_CHECK="~NUMA"
+pkg_setup() {
+       [[ ${MERGE_TYPE} == binary ]] && return
+
+       if has test ${FEATURES} ; then
+               # Bug #213475 - MySQL _will_ object strenuously if your machine 
is named
+               # localhost. Also causes weird failures.
+               [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must 
NOT be named localhost"
 
-               local WARNING_NUMA="This package expects NUMA support in kernel 
which this system does not have at the moment;"
-               WARNING_NUMA+=" Either expect runtime errors, enable NUMA 
support in kernel or rebuild the package without NUMA support"
+               if ! has userpriv ${FEATURES} ; then
+                       die "Testing with FEATURES=-userpriv is no longer 
supported by upstream. Tests MUST be run as non-root."
+               fi
+
+               local aio_max_nr=$(sysctl -n fs.aio-max-nr 2>/dev/null)
+               [[ -z "${aio_max_nr}" || ${aio_max_nr} -lt 250000 ]] \
+                       && die "FEATURES=test will require fs.aio-max-nr=250000 
at minimum!"
 
-               check_extra_config
+               if use latin1 ; then
+                       # Upstream only supports tests with default charset
+                       die "Testing with USE=latin1 is not supported."
+               fi
+       fi
+
+       if use kernel_linux ; then
+               if use numa ; then
+                       linux-info_get_any_version
+
+                       local CONFIG_CHECK="~NUMA"
+
+                       local WARNING_NUMA="This package expects NUMA support 
in kernel which this system does not have at the moment;"
+                       WARNING_NUMA+=" Either expect runtime errors, enable 
NUMA support in kernel or rebuild the package without NUMA support"
+
+                       check_extra_config
+               fi
        fi
 }
 
@@ -215,6 +234,7 @@ pkg_postinst() {
 
 src_unpack() {
        unpack ${A}
+
        # Grab the patches
        [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" 
git-r3_src_unpack
 
@@ -235,7 +255,7 @@ src_prepare() {
                echo > "${S}/support-files/SELinux/CMakeLists.txt" || die
        fi
 
-       # man pages for client-lib tools we don't install
+       # Remove man pages for client-lib tools we don't install
        rm \
                man/my_print_defaults.1 \
                man/perror.1 \
@@ -345,7 +365,7 @@ src_configure(){
 
        mycmakeargs+=(
                -DWITH_EXTRA_CHARSETS=all
-               -DDISABLE_SHARED=$(usex static YES NO)
+               -DDISABLE_SHARED=NO
                -DWITH_DEBUG=$(usex debug)
        )
 
@@ -356,10 +376,6 @@ src_configure(){
                mycmakeargs+=( -DENABLED_PROFILING=ON )
        fi
 
-       if use static ; then
-               mycmakeargs+=( -DWITH_PIC=1 )
-       fi
-
        # Storage engines
        mycmakeargs+=(
                -DWITH_EXAMPLE_STORAGE_ENGINE=0
@@ -380,7 +396,7 @@ src_configure(){
 # Official test instructions:
 # ulimit -n 16500 && \
 # USE='perl server' \
-# FEATURES='test userpriv -usersandbox' \
+# FEATURES='test userpriv' \
 # ebuild mysql-X.X.XX.ebuild \
 # digest clean package
 src_test() {
@@ -397,32 +413,29 @@ src_test() {
        local retstatus_unit
        local retstatus_tests
 
-       # Bug #213475 - MySQL _will_ object strenously if your machine is named
-       # localhost. Also causes weird failures.
-       [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be 
named localhost"
-
-       if [[ $UID -eq 0 ]] ; then
-               die "Testing with FEATURES=-userpriv is no longer supported by 
upstream. Tests MUST be run as non-root."
-       fi
-       has usersandbox $FEATURES && ewarn "Some tests may fail with 
FEATURES=usersandbox"
-
-       if use latin1 ; then
-               # Upstream only supports tests with default charset
-               die "Testing with USE=latin1 is not supported."
-       fi
-
-       einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
-
        # Run CTest (test-units)
        cmake-utils_src_test
        retstatus_unit=$?
 
        # Ensure that parallel runs don't die
        export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
-       # Enable parallel testing, auto will try to detect number of cores
-       # You may set this by hand.
-       # The default maximum is 8 unless MTR_MAX_PARALLEL is increased
-       export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
+
+       if [[ -z "${MTR_PARALLEL}" ]] ; then
+               local -x MTR_PARALLEL=$(makeopts_jobs)
+
+               if [[ ${MTR_PARALLEL} -gt 4 ]] ; then
+                       # Running multiple tests in parallel usually require 
higher ulimit
+                       # and fs.aio-max-nr setting. In addition, tests like 
main.multi_update
+                       # are known to hit timeout when system is busy.
+                       # To avoid test failure we will limit MTR_PARALLEL to 4 
instead of
+                       # using "auto".
+                       local info_msg="Parallel MySQL test suite jobs limited 
to 4 (MAKEOPTS=${MTR_PARALLEL})"
+                       info_msg+=" to avoid test failures. Set MTR_PARALLEL if 
you know what you are doing!"
+                       einfo "${info_msg}"
+                       unset info_msg
+                       MTR_PARALLEL=4
+               fi
+       fi
 
        # create directories because mysqladmin might run out of order
        mkdir -p "${T}"/var-tests{,/log} || die
@@ -433,6 +446,7 @@ src_test() {
        touch "${T}/disabled.def"
 
        local -a disabled_tests
+       disabled_tests+=( "auth_sec.keyring_file_data_qa;0;Won't work with user 
privileges")
        disabled_tests+=( "gis.spatial_analysis_functions_buffer;5452;Known 
rounding error with latest AMD processors (PS)")
        disabled_tests+=( "gis.gis_bugs_crashes;5452;Known rounding error with 
latest AMD processors (PS)")
        disabled_tests+=( "gis.geometry_class_attri_prop;5452;Known rounding 
error with latest AMD processors (PS)")
@@ -443,16 +457,16 @@ src_test() {
        disabled_tests+=( "gis.spatial_utility_function_simplify;5452;Known 
rounding error with latest AMD processors (PS)")
        disabled_tests+=( "gis.spatial_op_testingfunc_mix;5452;Known rounding 
error with latest AMD processors (PS)")
        disabled_tests+=( "gis.spatial_analysis_functions_distance;5452;Known 
rounding error with latest AMD processors (PS)")
+       disabled_tests+=( "main.mysqlslap;1253001;Known failure - no upstream 
bug yet (RH)" )
        disabled_tests+=( "main.window_std_var;0;Known rounding error with 
latest AMD processors -- no upstream bug yet")
        disabled_tests+=( "main.window_std_var_optimized;0;Known rounding error 
with latest AMD processors -- no upstream bug yet")
-       disabled_tests+=( "sys_vars.myisam_data_pointer_size_func;87935;Test 
will fail on slow hardware")
-       disabled_tests+=( "rpl_gtid.rpl_gtid_stm_drop_table;90612;Known test 
failure" )
-       disabled_tests+=( "rpl_gtid.rpl_multi_source_mtr_includes;0;Know 
failure - no upstream bug yet" )
-       disabled_tests+=( "x.connection;0;Know failure - no upstream bug yet" )
-       disabled_tests+=( "main.mysqlslap;1253001;Known failure - no upstream 
bug yet (RH)" )
        disabled_tests+=( "perfschema.idx_threads;0;Know failure - no upstream 
bug yet" )
        disabled_tests+=( "perfschema.idx_session_connect_attrs;0;Know failure 
- no upstream bug yet" )
        disabled_tests+=( "perfschema.idx_session_account_connect_attrs;0;Know 
failure - no upstream bug yet" )
+       disabled_tests+=( "rpl_gtid.rpl_gtid_stm_drop_table;90612;Known test 
failure" )
+       disabled_tests+=( "rpl_gtid.rpl_multi_source_mtr_includes;0;Know 
failure - no upstream bug yet" )
+       disabled_tests+=( "sys_vars.myisam_data_pointer_size_func;87935;Test 
will fail on slow hardware")
+       disabled_tests+=( "x.connection;0;Know failure - no upstream bug yet" )
 
        local test_ds
        for test_infos_str in "${disabled_tests[@]}" ; do
@@ -487,15 +501,6 @@ src_test() {
                einfo "Will run test suite with open file limit set to 16500 
(best test coverage)."
        fi
 
-       local aio_max_nr=$(sysctl -n fs.aio-max-nr 2>/dev/null)
-       if [[ ${aio_max_nr} -lt 250000 ]] ; then
-               if ! sysctl -w fs.aio-max-nr=250000 2>&1 ; then
-                       ewarn "Failed to rais fs.aio-max-nr to >=250000! Expect 
test failures ..."
-               else
-                       einfo "fs.aio-max-nr raised to 250000!"
-               fi
-       fi
-
        # run mysql-test tests
        perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder 
--skip-test=tokudb --skip-test-list="${T}/disabled.def"
        retstatus_tests=$?

Reply via email to