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 |