1 |
commit: c19a2c08d57e727da20c625d82658875151920b6 |
2 |
Author: Brian Evans <grknight <AT> gentoo <DOT> org> |
3 |
AuthorDate: Fri Nov 10 20:33:20 2017 +0000 |
4 |
Commit: Brian Evans <grknight <AT> gentoo <DOT> org> |
5 |
CommitDate: Fri Nov 10 20:33:20 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c19a2c08 |
7 |
|
8 |
dev-db/mysql-cluster: Fix build issues and tests |
9 |
|
10 |
The conversion to mysql-multilib-r1 was incomplete with the |
11 |
required java eclasses |
12 |
|
13 |
Closes: https://bugs.gentoo.org/637068 |
14 |
Package-Manager: Portage-2.3.13, Repoman-2.3.4 |
15 |
|
16 |
dev-db/mysql-cluster/mysql-cluster-7.4.17.ebuild | 49 ++++++++++++++++++------ |
17 |
1 file changed, 38 insertions(+), 11 deletions(-) |
18 |
|
19 |
diff --git a/dev-db/mysql-cluster/mysql-cluster-7.4.17.ebuild b/dev-db/mysql-cluster/mysql-cluster-7.4.17.ebuild |
20 |
index f7d2b65e0eb..01e3c5a9412 100644 |
21 |
--- a/dev-db/mysql-cluster/mysql-cluster-7.4.17.ebuild |
22 |
+++ b/dev-db/mysql-cluster/mysql-cluster-7.4.17.ebuild |
23 |
@@ -8,15 +8,15 @@ MYSQL_PV_MAJOR="5.6" |
24 |
#fails to build with ninja |
25 |
CMAKE_MAKEFILE_GENERATOR=emake |
26 |
|
27 |
-inherit mysql-multilib-r1 |
28 |
+inherit java-utils-2 mysql-multilib-r1 |
29 |
# only to make repoman happy. it is really set in the eclass |
30 |
IUSE="$IUSE numa" |
31 |
|
32 |
# REMEMBER: also update eclass/mysql*.eclass before committing! |
33 |
KEYWORDS="~amd64 ~x86" |
34 |
- |
35 |
-DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) numa? ( sys-process/numactl )" |
36 |
-RDEPEND="!media-sound/amarok[embedded] numa? ( sys-process/numactl )" |
37 |
+COMMON_DEPEND="numa? ( sys-process/numactl ) dev-libs/libevent:0= ${JAVA_PKG_E_DEPEND}" |
38 |
+DEPEND="${COMMON_DEPEND} || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) >=virtual/jdk-1.6" |
39 |
+RDEPEND="${COMMON_DEPEND} !media-sound/amarok[embedded] >=virtual/jre-1.6" |
40 |
|
41 |
MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}" |
42 |
|
43 |
@@ -30,12 +30,20 @@ PATCHES=( |
44 |
"${MY_PATCH_DIR}"/30000_all_mysql-cluster-multilib-property.patch |
45 |
) |
46 |
|
47 |
+MULTILIB_WRAPPED_HEADERS+=( /usr/include/mysql/storage/ndb/ndb_types.h ) |
48 |
+ |
49 |
# Please do not add a naive src_unpack to this ebuild |
50 |
# If you want to add a single patch, copy the ebuild to an overlay |
51 |
# and create your own mysql-extras tarball, looking at 000_index.txt |
52 |
|
53 |
+pkg_setup() { |
54 |
+ mysql-multilib-r1_pkg_setup |
55 |
+ java-pkg_init |
56 |
+} |
57 |
+ |
58 |
src_prepare() { |
59 |
mysql-multilib-r1_src_prepare |
60 |
+ java-utils-2_src_prepare |
61 |
if use libressl ; then |
62 |
sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \ |
63 |
"${S}/cmake/ssl.cmake" || die |
64 |
@@ -45,10 +53,19 @@ src_prepare() { |
65 |
src_configure() { |
66 |
# validate_password plugin uses exceptions when it shouldn't yet (until 5.7) |
67 |
# disable until we see what happens with it |
68 |
- local MYSQL_CMAKE_NATIVE_DEFINES=( -DWITHOUT_VALIDATE_PASSWORD=1 -DWITH_NUMA=$(usex numa ON OFF) ) |
69 |
+ local MYSQL_CMAKE_NATIVE_DEFINES=( |
70 |
+ -DWITHOUT_VALIDATE_PASSWORD=1 |
71 |
+ -DWITH_NUMA=$(usex numa ON OFF) |
72 |
+ -DWITH_NDBCLUSTER=1 -DWITH_PARTITION_STORAGE_ENGINE=1 |
73 |
+ -DWITHOUT_PARTITION_STORAGE_ENGINE=0 ) |
74 |
mysql-multilib-r1_src_configure |
75 |
} |
76 |
|
77 |
+pkg_preinst() { |
78 |
+ java-utils-2_pkg_preinst |
79 |
+ mysql-multilib-r1_pkg_preinst |
80 |
+} |
81 |
+ |
82 |
# Official test instructions: |
83 |
# USE='extraengine perl openssl' \ |
84 |
# FEATURES='test userpriv -usersandbox' \ |
85 |
@@ -61,6 +78,14 @@ multilib_src_test() { |
86 |
return 0; |
87 |
fi |
88 |
|
89 |
+ _disable_test() { |
90 |
+ local rawtestname reason |
91 |
+ rawtestname="${1}" ; shift |
92 |
+ reason="${@}" |
93 |
+ ewarn "test '${rawtestname}' disabled: '${reason}'" |
94 |
+ echo ${rawtestname} : ${reason} >> "${T}/disabled.def" |
95 |
+ } |
96 |
+ |
97 |
local TESTDIR="${CMAKE_BUILD_DIR}/mysql-test" |
98 |
local retstatus_unit |
99 |
local retstatus_tests |
100 |
@@ -91,6 +116,7 @@ multilib_src_test() { |
101 |
# create symlink for the tests to find mysql_tzinfo_to_sql |
102 |
ln -s "${BUILD_DIR}/sql/mysql_tzinfo_to_sql" "${S}/sql/" |
103 |
|
104 |
+ touch "${T}/disabled.def" |
105 |
# These are failing in MySQL 5.5/5.6 for now and are believed to be |
106 |
# false positives: |
107 |
# |
108 |
@@ -118,16 +144,16 @@ multilib_src_test() { |
109 |
main.mysqlhotcopy_archive main.mysqlhotcopy_myisam \ |
110 |
perfschema.binlog_edge_mix \ |
111 |
perfschema.binlog_edge_stmt \ |
112 |
- rpl.rpl_plugin_load ndb.ndb_tools_connect main.mysql \ |
113 |
- main.mysql_upgrade unit_tests \ |
114 |
+ rpl.rpl_plugin_load main.mysql \ |
115 |
+ main.mysql_upgrade \ |
116 |
; do |
117 |
- mysql-multilib-r1_disable_test "$t" "False positives in Gentoo" |
118 |
+ _disable_test "$t" "False positives in Gentoo" |
119 |
done |
120 |
# ndb.ndbinfo, ndb_binlog.ndb_binlog_index: latin1/utf8 |
121 |
for t in \ |
122 |
- ndb.ndbinfo \ |
123 |
+ ndb.ndbinfo ndb.ndb_tools_connect \ |
124 |
ndb_binlog.ndb_binlog_index ; do |
125 |
- mysql-multilib-r1_disable_test "$t" "False positives in Gentoo (NDB)" |
126 |
+ _disable_test "$t" "False positives in Gentoo (NDB) (Latin1/UTF8)" |
127 |
done |
128 |
|
129 |
# Set file limits higher so tests run |
130 |
@@ -138,7 +164,8 @@ multilib_src_test() { |
131 |
|
132 |
# run mysql-test tests |
133 |
perl mysql-test-run.pl --force --vardir="${T}/var-tests" \ |
134 |
- --suite-timeout=5000 --reorder |
135 |
+ --suite-timeout=5000 --reorder --skip-test-list="${T}/disabled.def" \ |
136 |
+ --nounit-tests |
137 |
retstatus_tests=$? |
138 |
|
139 |
popd > /dev/null || die |