commit:     1740d628f659f14df060c62f8b06af57d70ce67a
Author:     Brian Evans <grknight <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 21 17:06:22 2017 +0000
Commit:     Brian Evans <grknight <AT> gentoo <DOT> org>
CommitDate: Mon Aug 21 17:06:22 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1740d628

dev-db/mariadb: Fix bugs relating to multilib, systemd and numa

Bug 628484 - Add USE flag numa to pull in sys-process/numactl for build/runtime
Bug 628458 - Fix systemd case sensitivity in configure merged from 10.1 branch
Bug 628458 - Fix multilib header file changes that lead to build failure

Package-Manager: Portage-2.3.8, Repoman-2.3.3

 dev-db/mariadb/mariadb-10.2.8.ebuild | 30 ++++++++++++++----------------
 dev-db/mariadb/metadata.xml          |  6 +-----
 2 files changed, 15 insertions(+), 21 deletions(-)

diff --git a/dev-db/mariadb/mariadb-10.2.8.ebuild 
b/dev-db/mariadb/mariadb-10.2.8.ebuild
index 8a9288bd01b..218dc395097 100644
--- a/dev-db/mariadb/mariadb-10.2.8.ebuild
+++ b/dev-db/mariadb/mariadb-10.2.8.ebuild
@@ -30,7 +30,7 @@ LICENSE="GPL-2 LGPL-2.1+"
 SLOT="0/${SUBSLOT:-0}"
 IUSE="+backup bindist cracklib debug embedded extraengine galera innodb-lz4
        innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga
-       odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
+       numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
        sst-rsync sst-xtrabackup static static-libs systemd systemtap tcmalloc
        test tokudb xml yassl"
 
@@ -100,6 +100,7 @@ COMMON_DEPEND="
                innodb-lz4? ( app-arch/lz4 )
                innodb-lzo? ( dev-libs/lzo )
                innodb-snappy? ( app-arch/snappy )
+               numa? ( sys-process/numactl )
                oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
                pam? ( virtual/pam:0= )
                systemd? ( sys-apps/systemd:= )
@@ -350,16 +351,19 @@ multilib_src_configure() {
        fi
 
        # bfd.h is only used starting with 10.1 and can be controlled by 
NOT_FOR_DISTRIBUTION
+       # systemtap only works on native ABI  bug 530132
        if multilib_is_native_abi; then
                mycmakeargs+=(
                        -DWITH_READLINE=$(usex bindist 1 0)
                        -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
+                       -DENABLE_DTRACE=$(usex systemtap)
                )
        else
                mycmakeargs+=(
                        -DWITHOUT_TOOLS=1
                        -DWITH_READLINE=1
                        -DNOT_FOR_DISTRIBUTION=0
+                       -DENABLE_DTRACE=0
                )
        fi
 
@@ -399,7 +403,8 @@ multilib_src_configure() {
                        -DINSTALL_SQLBENCHDIR=share/mariadb
                        -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
                        # systemd is only linked to for server notification
-                       -DWITH_SYSTEMD=$(usex systemd)
+                       -DWITH_SYSTEMD=$(usex systemd yes no)
+                       -DWITH_NUMA=$(usex numa ON OFF)
                )
                if use test ; then
                        # This is needed for the new client lib which tests a 
real, open server
@@ -462,17 +467,10 @@ multilib_src_configure() {
                        -DWITHOUT_EMBEDDED_SERVER=1
                        -DEXTRA_CHARSETS=none
                        -DINSTALL_SQLBENCHDIR=
-                       -DWITH_SYSTEMD=NO
+                       -DWITH_SYSTEMD=no
                )
        fi
 
-       # systemtap only works on native ABI  bug 530132
-       if multilib_is_native_abi; then
-               mycmakeargs+=( -DENABLE_DTRACE=$(usex systemtap) )
-       else
-               mycmakeargs+=( -DENABLE_DTRACE=0 )
-       fi
-
        cmake-utils_src_configure
 }
 
@@ -487,9 +485,9 @@ multilib_src_compile() {
 src_install() {
        # headers with ABI specific data
        local MULTILIB_WRAPPED_HEADERS=(
-               /usr/include/mysql/my_config.h
-               /usr/include/mysql/private/embedded_priv.h
-               /usr/include/mysql/mysql_version.h
+               /usr/include/mysql/server/my_config.h
+               /usr/include/mysql/server/private/embedded_priv.h
+               /usr/include/mysql/server/mysql_version.h
                /usr/include/mariadb/mariadb_version.h
                /usr/include/mysql/mariadb_version.h
                /usr/include/mysql/private/probes_mysql_nodtrace.h
@@ -508,12 +506,12 @@ multilib_src_install() {
        mysql_init_vars
 
        # Remove an unnecessary, private config header which will never match 
between ABIs and is not meant to be used
-       if [[ -f "${D}/usr/include/mysql/private/config.h" ]] ; then
-               rm "${D}/usr/include/mysql/private/config.h" || die
+       if [[ -f "${D}/usr/include/mysql/server/private/config.h" ]] ; then
+               rm "${D}/usr/include/mysql/server/private/config.h" || die
        fi
 
        if ! multilib_is_native_abi && use server ; then
-               insinto /usr/include/mysql/private
+               insinto /usr/include/mysql/server/private
                doins "${S}"/sql/*.h
        fi
 

diff --git a/dev-db/mariadb/metadata.xml b/dev-db/mariadb/metadata.xml
index 04e2f81f046..fdd74b49ca9 100644
--- a/dev-db/mariadb/metadata.xml
+++ b/dev-db/mariadb/metadata.xml
@@ -5,11 +5,6 @@
     <email>[email protected]</email>
     <name>MySQL</name>
   </maintainer>
-<!-- 
-Please note that this list is shared between the following packages:
-dev-db/mysql
-dev-db/mariadb
--->
 <use>
   <flag name="backup">Build mariadb-backup which supports SST and hot backup 
of InnoDB, Aria and MyISAM including compression and encryption</flag>
   <flag name="cluster">Add support for NDB clustering (deprecated)</flag>
@@ -27,6 +22,7 @@ dev-db/mariadb
   <flag name="max-idx-128">Raise the max index per table limit from 64 to 
128</flag>
   <flag name="minimal">Install client programs only, no server</flag>
   <flag name="mroonga">Add support for the Mroonga engine for interfacing with 
the Groonga text search</flag>
+  <flag name="numa">Enable NUMA support using sys-process/numactl (NUMA kernel 
support is also required)</flag>
   <flag name="openssl">Enable SSL connections and crypto functions using 
<pkg>dev-libs/openssl</pkg></flag>
   <flag name="oqgraph">Add support for the Open Query GRAPH engine</flag>
   <flag name="pam">Enable the optional PAM authentication plugin for the 
server</flag>

Reply via email to