Gentoo Archives: gentoo-commits

From: Brian Evans <grknight@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/mysql:master commit in: eclass/, dev-db/percona-server/, dev-db/mysql/, dev-db/mariadb-galera/, ...
Date: Sun, 11 Oct 2015 02:20:19
Message-Id: 1444529946.58e3ed850452e08c68d0209c0528ed49b20fe0ee.grknight@gentoo
1 commit: 58e3ed850452e08c68d0209c0528ed49b20fe0ee
2 Author: Brian Evans <grknight <AT> gentoo <DOT> org>
3 AuthorDate: Sun Oct 11 02:19:06 2015 +0000
4 Commit: Brian Evans <grknight <AT> gentoo <DOT> org>
5 CommitDate: Sun Oct 11 02:19:06 2015 +0000
6 URL: https://gitweb.gentoo.org/proj/mysql.git/commit/?id=58e3ed85
7
8 Initial support for libressl
9
10 Needs testing and patches to dev-db/mysql and possibly dev-db/percona-server
11 before committing to the main tree.
12
13 Signed-off-by: Brian Evans <grknight <AT> gentoo.org>
14
15 dev-db/mariadb-galera/metadata.xml | 7 +++++++
16 dev-db/mariadb/metadata.xml | 7 +++++++
17 dev-db/mysql-cluster/metadata.xml | 7 +++++++
18 dev-db/mysql/metadata.xml | 7 +++++++
19 dev-db/percona-server/Manifest | 1 -
20 dev-db/percona-server/metadata.xml | 10 +++++++++-
21 eclass/mysql-multilib.eclass | 27 +++++++++++++++++++--------
22 7 files changed, 56 insertions(+), 10 deletions(-)
23
24 diff --git a/dev-db/mariadb-galera/metadata.xml b/dev-db/mariadb-galera/metadata.xml
25 index e0a0598..6803a9e 100644
26 --- a/dev-db/mariadb-galera/metadata.xml
27 +++ b/dev-db/mariadb-galera/metadata.xml
28 @@ -2,6 +2,10 @@
29 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
30 <pkgmetadata>
31 <herd>mysql</herd>
32 + <maintainer restrict="dev-db/mariadb-galera[libressl]">
33 + <email>hasufell@g.o</email>
34 + <description>Libressl issues. Only assign if it's a direct Libressl issue. Do not directly assign for anything else.</description>
35 + </maintainer>
36 <!--
37 Please note that this list is shared between the following packages:
38 dev-db/mysql
39 @@ -15,8 +19,10 @@ dev-db/mariadb
40 <flag name='extraengine'>Add support for alternative storage engines (Archive, CSV, Blackhole, Federated(X), Partition)</flag>
41 <flag name="jemalloc">Use <pkg>dev-libs/jemalloc</pkg> for allocations.</flag>
42 <flag name='latin1'>Use LATIN1 encoding instead of UTF8</flag>
43 + <flag name='libressl'>Enable SSL connections and crypto functions using <pkg>dev-libs/libressl</pkg></flag>
44 <flag name='minimal'>Install client programs only, no server</flag>
45 <flag name='oqgraph'>Add support for the Open Query GRAPH engine</flag>
46 + <flag name='openssl'>Enable SSL connections and crypto functions using <pkg>dev-libs/openssl</pkg></flag>
47 <flag name='profiling'>Add support for statement profiling (requires USE=community).</flag>
48 <flag name='server'>Build the server program</flag>
49 <flag name='sst-rsync'>Add tools needed to support the rsync SST method</flag>
50 @@ -26,5 +32,6 @@ dev-db/mariadb
51 <flag name='test'>Install upstream testsuites for end use.</flag>
52 <flag name='tokudb'>Add support for TokuDB storage engine</flag>
53 <flag name='tools'>Build the command line tools (mysql, mysqldump, mysqladmin, etc)</flag>
54 + <flag name='yassl'>Enable SSL connections and crypto functions using the bundled yaSSL</flag>
55 </use>
56 </pkgmetadata>
57
58 diff --git a/dev-db/mariadb/metadata.xml b/dev-db/mariadb/metadata.xml
59 index 0f1b981..2d8bff7 100644
60 --- a/dev-db/mariadb/metadata.xml
61 +++ b/dev-db/mariadb/metadata.xml
62 @@ -2,6 +2,10 @@
63 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
64 <pkgmetadata>
65 <herd>mysql</herd>
66 + <maintainer restrict="dev-db/mariadb[libressl]">
67 + <email>hasufell@g.o</email>
68 + <description>Libressl issues. Only assign if it's a direct Libressl issue. Do not directly assign for anything else</description>
69 + </maintainer>
70 <!--
71 Please note that this list is shared between the following packages:
72 dev-db/mysql
73 @@ -21,9 +25,11 @@ dev-db/mariadb
74 <flag name="jemalloc">Use <pkg>dev-libs/jemalloc</pkg> for allocations.</flag>
75 <flag name='latin1'>Use LATIN1 encoding instead of UTF8</flag>
76 <flag name='libevent'>Use libevent for connection handling</flag>
77 + <flag name='libressl'>Enable SSL connections and crypto functions using <pkg>dev-libs/libressl</pkg></flag>
78 <flag name='max-idx-128'>Raise the max index per table limit from 64 to 128</flag>
79 <flag name='minimal'>Install client programs only, no server</flag>
80 <flag name='mroonga'>Add support for the Mroonga engine for interfacing with the Groonga text search</flag>
81 + <flag name='openssl'>Enable SSL connections and crypto functions using <pkg>dev-libs/openssl</pkg></flag>
82 <flag name='oqgraph'>Add support for the Open Query GRAPH engine</flag>
83 <flag name='pam'>Enable the optional PAM authentication plugin for the server</flag>
84 <flag name='pbxt'>Add experimental support for PBXT storage engine</flag>
85 @@ -36,5 +42,6 @@ dev-db/mariadb
86 <flag name='tools'>Build the command line tools (mysql, mysqldump, mysqladmin, etc)</flag>
87 <flag name='test'>Install upstream testsuites for end use.</flag>
88 <flag name='tokudb'>Add support for TokuDB storage engine</flag>
89 + <flag name='yassl'>Enable SSL connections and crypto functions using the bundled yaSSL</flag>
90 </use>
91 </pkgmetadata>
92
93 diff --git a/dev-db/mysql-cluster/metadata.xml b/dev-db/mysql-cluster/metadata.xml
94 index 0fd723f..cb0ff88 100644
95 --- a/dev-db/mysql-cluster/metadata.xml
96 +++ b/dev-db/mysql-cluster/metadata.xml
97 @@ -2,6 +2,10 @@
98 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
99 <pkgmetadata>
100 <herd>mysql</herd>
101 + <maintainer restrict="dev-db/mysql-cluster[libressl]">
102 + <email>hasufell@g.o</email>
103 + <description>Libressl issues. Only assign if it's a direct Libressl issue. Do not directly assign for anything else.</description>
104 + </maintainer>
105 <use>
106 <flag name='cluster'>Add support for NDB clustering</flag>
107 <flag name='community'>Enables the community features from upstream.</flag>
108 @@ -9,10 +13,13 @@
109 <flag name='extraengine'>Add support for alternative storage engines (Archive, CSV, Blackhole, Federated(X), Partition)</flag>
110 <flag name="jemalloc">Use <pkg>dev-libs/jemalloc</pkg> for allocations.</flag>
111 <flag name='latin1'>Use LATIN1 encoding instead of UTF8</flag>
112 + <flag name='libressl'>Enable SSL connections and crypto functions using <pkg>dev-libs/libressl</pkg></flag>
113 + <flag name='openssl'>Enable SSL connections and crypto functions using <pkg>dev-libs/openssl</pkg></flag>
114 <flag name='max-idx-128'>Raise the max index per table limit from 64 to 128</flag>
115 <flag name='minimal'>Install client programs only, no server</flag>
116 <flag name='profiling'>Add support for statement profiling (requires USE=community).</flag>
117 <flag name="systemtap">Build support for profiling and tracing using <pkg>dev-util/systemtap</pkg></flag>
118 <flag name='test'>Install upstream testsuites for end use.</flag>
119 + <flag name='yassl'>Enable SSL connections and crypto functions using the bundled yaSSL</flag>
120 </use>
121 </pkgmetadata>
122
123 diff --git a/dev-db/mysql/metadata.xml b/dev-db/mysql/metadata.xml
124 index 6631eee..4c89be3 100644
125 --- a/dev-db/mysql/metadata.xml
126 +++ b/dev-db/mysql/metadata.xml
127 @@ -2,6 +2,10 @@
128 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
129 <pkgmetadata>
130 <herd>mysql</herd>
131 + <maintainer restrict="dev-db/mysql[libressl]">
132 + <email>hasufell@g.o</email>
133 + <description>Libressl issues. Only assign if it's a direct Libressl issue. Do not directly assign for anything else.</description>
134 + </maintainer>
135 <!--
136 Please note that this list is shared between the following packages:
137 dev-db/mysql
138 @@ -16,6 +20,8 @@ dev-db/mariadb
139 <flag name='extraengine'>Add support for alternative storage engines (Archive, CSV, Blackhole, Federated(X), Partition)</flag>
140 <flag name="jemalloc">Use <pkg>dev-libs/jemalloc</pkg> for allocations.</flag>
141 <flag name='latin1'>Use LATIN1 encoding instead of UTF8</flag>
142 + <flag name='libressl'>Enable SSL connections and crypto functions using <pkg>dev-libs/libressl</pkg></flag>
143 + <flag name='openssl'>Enable SSL connections and crypto functions using <pkg>dev-libs/openssl</pkg></flag>
144 <flag name='max-idx-128'>Raise the max index per table limit from 64 to 128</flag>
145 <flag name='minimal'>Install client programs only, no server</flag>
146 <flag name='pbxt'>Add experimental support for PBXT storage engine</flag>
147 @@ -26,5 +32,6 @@ dev-db/mariadb
148 <flag name='test'>Install upstream testsuites for end use.</flag>
149 <flag name='tools'>Build the command line tools (mysql, mysqldump, mysqladmin, etc)</flag>
150 <flag name='xtradb'>Add experimental support for Percona's InnoDB replacement: XtraDB</flag>
151 + <flag name='yassl'>Enable SSL connections and crypto functions using the bundled yaSSL</flag>
152 </use>
153 </pkgmetadata>
154
155 diff --git a/dev-db/percona-server/Manifest b/dev-db/percona-server/Manifest
156 index 6ea11dc..8e2c81f 100644
157 --- a/dev-db/percona-server/Manifest
158 +++ b/dev-db/percona-server/Manifest
159 @@ -1,3 +1,2 @@
160 -DIST mysql-extras-20150113-1853Z.tar.bz2 1494439 SHA256 420553dc8557d0622ad762ee6924900acc74fd4f367fd3840acab03114fada4d SHA512 b1252d905b71a6f42484eaa796ebcd2f0769affc566e6c277ef3bc0ef9bc446a1c22aac3faa48ef7b9305056a1302b37d7ef86b547c44514528a5956ce61d372 WHIRLPOOL d14f0d88358eb0bbd2c338052ec086ab8260988497ef09da934365ded3c30c7e905ea936a0c9817ccb49d1f6e3408b3f6a438455a2455c65c2f26a9fc6367ff3
161 DIST mysql-extras-20150717-1707Z.tar.bz2 1491956 SHA256 d67cc1e2c581ab7c57122b7d29864643869799893a95a158a18e14201d4ffc10 SHA512 3a7cb07773099e766f8e796d4e555d42874b85285cc2c7c60220370cc6aafc36a60eb340008637298d85d83f529e73392895a81c1438ffccff9eb8f354b29ba9 WHIRLPOOL 11e75f4b696e2547c1da40e69d8ab75df4bf7080426204c040632f24846407b07d71061c09c4ff4a1d21a9d14a94769d8f8ef62421d0aecd99efe832caf4dd22
162 DIST percona-server-5.6.26-74.0.tar.gz 54819177 SHA256 9156038d84bd1190a5b5df963877876584d30bd515ba3ad39e65a532430c1608 SHA512 1874b5e5d40da3ba6a9ea5bf15b7b851b4c067edf3cbca4139c078536000010acaecb8ee94933f5c4482ea091967a30f042b3bd08bef5e3716cae0be8607410e WHIRLPOOL fd8d712d3ed1a785ad455d9d83f537303ad9b58d0562cf73adaba71527ab42513e0682b568aced5601b419e738f9d904d09bb37f387feaa42944795461e96b8e
163
164 diff --git a/dev-db/percona-server/metadata.xml b/dev-db/percona-server/metadata.xml
165 index 8bb7301..d4b579c 100644
166 --- a/dev-db/percona-server/metadata.xml
167 +++ b/dev-db/percona-server/metadata.xml
168 @@ -2,6 +2,10 @@
169 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
170 <pkgmetadata>
171 <herd>mysql</herd>
172 + <maintainer restrict="dev-db/percona-server[libressl]">
173 + <email>hasufell@g.o</email>
174 + <description>Libressl issues. Only assign if it's a direct Libressl issue. Do not directly assign for anything else.</description>
175 + </maintainer>
176 <use>
177 <flag name='client-libs'>Build the libmysqlclient libraries</flag>
178 <flag name='cluster'>Add support for NDB clustering (deprecated)</flag>
179 @@ -10,11 +14,15 @@
180 <flag name='extraengine'>Add support for alternative storage engines (Archive, CSV, Blackhole, Federated(X), Partition)</flag>
181 <flag name="jemalloc">Use <pkg>dev-libs/jemalloc</pkg> for allocations.</flag>
182 <flag name='latin1'>Use LATIN1 encoding instead of UTF8</flag>
183 - <flag name='minimal'>Install client programs only, no server</flag>
184 + <flag name='libressl'>Enable SSL connections and crypto functions using <pkg>dev-libs/libressl</pkg></flag>
185 + <flag name='openssl'>Enable SSL connections and crypto functions using <pkg>dev-libs/openssl</pkg></flag>
186 <flag name='profiling'>Add support for statement profiling (requires USE=community).</flag>
187 <flag name='server'>Build the server program</flag>
188 <flag name="systemtap">Build support for profiling and tracing using <pkg>dev-util/systemtap</pkg></flag>
189 <flag name='test'>Install upstream testsuites for end use.</flag>
190 + <flag name='tokudb'>Add support for TokuDB storage engine</flag>
191 + <flag name='tokudb-backup-plugin'>Builds the TokuDB backup plugin</flag>
192 <flag name='tools'>Build the command line tools (mysql, mysqldump, mysqladmin, etc)</flag>
193 + <flag name='yassl'>Enable SSL connections and crypto functions using the bundled yaSSL</flag>
194 </use>
195 </pkgmetadata>
196
197 diff --git a/eclass/mysql-multilib.eclass b/eclass/mysql-multilib.eclass
198 index 5f84d88..c967901 100644
199 --- a/eclass/mysql-multilib.eclass
200 +++ b/eclass/mysql-multilib.eclass
201 @@ -192,8 +192,10 @@ fi
202 LICENSE="GPL-2"
203 SLOT="0/${SUBSLOT:-0}"
204
205 -IUSE="+community cluster debug embedded extraengine jemalloc latin1
206 - +perl profiling selinux ssl systemtap static static-libs tcmalloc test"
207 +IUSE="+community cluster debug embedded extraengine jemalloc latin1 libressl +openssl
208 + +perl profiling selinux systemtap static static-libs tcmalloc test yassl"
209 +
210 +REQUIRED_USE="^^ ( yassl openssl libressl )"
211
212 ### Begin readline/libedit
213 ### If the world was perfect, we would use external libedit on both to have a similar experience
214 @@ -261,7 +263,7 @@ fi
215
216 REQUIRED_USE="
217 ${REQUIRED_USE} tcmalloc? ( !jemalloc ) jemalloc? ( !tcmalloc )
218 - static? ( !ssl )"
219 + static? ( yassl )"
220
221 #
222 # DEPENDENCIES:
223 @@ -271,7 +273,8 @@ REQUIRED_USE="
224 # These are used for both runtime and compiletime
225 # MULTILIB_USEDEP only set for libraries used by the client library
226 DEPEND="
227 - ssl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] )
228 + openssl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] )
229 + libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP},static-libs?] )
230 kernel_linux? (
231 sys-process/procps:0=
232 dev-libs/libaio:0=
233 @@ -287,18 +290,21 @@ DEPEND="
234 if [[ ${HAS_TOOLS_PATCH} ]] ; then
235 DEPEND+="
236 client-libs? (
237 - ssl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] )
238 + openssl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] )
239 + libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP},static-libs?] )
240 >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?]
241 )
242 !client-libs? (
243 - ssl? ( >=dev-libs/openssl-1.0.0:0=[static-libs?] )
244 + openssl? ( >=dev-libs/openssl-1.0.0:0=[static-libs?] )
245 + libressl? ( dev-libs/libressl:0=[static-libs?] )
246 >=sys-libs/zlib-1.2.3:0=[static-libs?]
247 )
248 tools? ( sys-libs/ncurses:0= ) embedded? ( sys-libs/ncurses:0= )
249 "
250 else
251 DEPEND+="
252 - ssl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] )
253 + openssl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] )
254 + libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP},static-libs?] )
255 >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?]
256 sys-libs/ncurses:0=[${MULTILIB_USEDEP}]
257 "
258 @@ -637,11 +643,16 @@ multilib_src_configure() {
259 -DENABLED_LOCAL_INFILE=1
260 -DMYSQL_UNIX_ADDR=${EPREFIX}/var/run/mysqld/mysqld.sock
261 -DINSTALL_UNIX_ADDRDIR=${EPREFIX}/var/run/mysqld/mysqld.sock
262 - -DWITH_SSL=$(usex ssl system bundled)
263 -DWITH_DEFAULT_COMPILER_OPTIONS=0
264 -DWITH_DEFAULT_FEATURE_SET=0
265 )
266
267 + if use openssl || use libressl ; then
268 + mycmakeargs+=( -DWITH_SSL=system )
269 + else
270 + mycmakeargs+=( -DWITH_SSL=bundled )
271 + fi
272 +
273 if in_iuse client-libs ; then
274 mycmakeargs+=( -DWITHOUT_CLIENTLIBS=$(usex client-libs 0 1) )
275 fi