1 |
commit: 394c6142969009f50a8bb5296416043608acf55c |
2 |
Author: Brian Evans <grknight <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Aug 31 22:37:06 2014 +0000 |
4 |
Commit: Brian Evans <grknight <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Sep 3 22:11:51 2014 +0000 |
6 |
URL: http://sources.gentoo.org/gitweb/?p=proj/mysql.git;a=commit;h=394c6142 |
7 |
|
8 |
Sync myodbc 5.2.7 from tree |
9 |
|
10 |
--- |
11 |
dev-db/myodbc/files/5.2.7-cxxlinkage.patch | 23 +++++++ |
12 |
.../myodbc/files/5.2.7-mariadb-dynamic-array.patch | 79 ++++++++++++++++++++++ |
13 |
.../{myodbc-5.2.6.ebuild => myodbc-5.2.7.ebuild} | 20 ++++-- |
14 |
3 files changed, 115 insertions(+), 7 deletions(-) |
15 |
|
16 |
diff --git a/dev-db/myodbc/files/5.2.7-cxxlinkage.patch b/dev-db/myodbc/files/5.2.7-cxxlinkage.patch |
17 |
new file mode 100644 |
18 |
index 0000000..a78c89b |
19 |
--- /dev/null |
20 |
+++ b/dev-db/myodbc/files/5.2.7-cxxlinkage.patch |
21 |
@@ -0,0 +1,23 @@ |
22 |
+diff -uarN mysql-connector-odbc-5.3.4-src.orig/cmake/FindMySQL.cmake mysql-connector-odbc-5.3.4-src/cmake/FindMySQL.cmake |
23 |
+--- mysql-connector-odbc-5.3.4-src.orig/cmake/FindMySQL.cmake 2014-06-18 18:50:16.000000000 -0400 |
24 |
++++ mysql-connector-odbc-5.3.4-src/cmake/FindMySQL.cmake 2014-08-20 10:05:00.191485304 -0400 |
25 |
+@@ -105,16 +105,16 @@ |
26 |
+ # Finally remove the dot |
27 |
+ STRING(REGEX REPLACE "[.]" "" MYSQL_NUM_VERSION "${MYSQL_NUM_VERSION}") |
28 |
+ |
29 |
+- IF(MYSQL_CXX_LINKAGE OR MYSQL_NUM_VERSION GREATER 50603) |
30 |
++ IF(MYSQL_CXX_LINKAGE) |
31 |
+ EXECUTE_PROCESS(COMMAND ${MYSQL_CONFIG_EXECUTABLE} "--cxxflags" |
32 |
+ OUTPUT_VARIABLE _mysql_config_output |
33 |
+ ) |
34 |
+ SET(MYSQL_CXX_LINKAGE 1) |
35 |
+- ELSE (MYSQL_CXX_LINKAGE OR MYSQL_NUM_VERSION GREATER 50603) |
36 |
++ ELSE (MYSQL_CXX_LINKAGE) |
37 |
+ EXECUTE_PROCESS(COMMAND ${MYSQL_CONFIG_EXECUTABLE} "--cflags" |
38 |
+ OUTPUT_VARIABLE _mysql_config_output |
39 |
+ ) |
40 |
+- ENDIF(MYSQL_CXX_LINKAGE OR MYSQL_NUM_VERSION GREATER 50603) |
41 |
++ ENDIF(MYSQL_CXX_LINKAGE) |
42 |
+ |
43 |
+ # Remove the stl4port dependency |
44 |
+ STRING(REGEX REPLACE "-library=stlport4" "" _mysql_config_output "${_mysql_config_output}") |
45 |
|
46 |
diff --git a/dev-db/myodbc/files/5.2.7-mariadb-dynamic-array.patch b/dev-db/myodbc/files/5.2.7-mariadb-dynamic-array.patch |
47 |
new file mode 100644 |
48 |
index 0000000..6cfe7cd |
49 |
--- /dev/null |
50 |
+++ b/dev-db/myodbc/files/5.2.7-mariadb-dynamic-array.patch |
51 |
@@ -0,0 +1,79 @@ |
52 |
+diff -aurN a/driver/catalog_no_i_s.c b/driver/catalog_no_i_s.c |
53 |
+--- a/driver/catalog_no_i_s.c 2014-06-18 18:50:16.000000000 -0400 |
54 |
++++ b/driver/catalog_no_i_s.c 2014-08-20 14:08:33.997339096 -0400 |
55 |
+@@ -1093,7 +1093,11 @@ |
56 |
+ unsigned long *lengths; |
57 |
+ SQLRETURN rc= SQL_SUCCESS; |
58 |
+ |
59 |
++#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID > 100001 |
60 |
++ my_init_dynamic_array(&records, sizeof(MY_FOREIGN_KEY_FIELD), 0, 0, MYF(0)); |
61 |
++#else |
62 |
+ my_init_dynamic_array(&records, sizeof(MY_FOREIGN_KEY_FIELD), 0, 0); |
63 |
++#endif |
64 |
+ |
65 |
+ /* Get the list of tables that match szCatalog and szTable */ |
66 |
+ pthread_mutex_lock(&stmt->dbc->lock); |
67 |
+diff -aurN a/driver/desc.c b/driver/desc.c |
68 |
+--- a/driver/desc.c 2014-06-18 18:50:16.000000000 -0400 |
69 |
++++ b/driver/desc.c 2014-08-20 14:07:37.409169269 -0400 |
70 |
+@@ -63,8 +63,12 @@ |
71 |
+ but in desc_get_rec we manually get a pointer to it. This avoids |
72 |
+ having to call set_dynamic after modifying the DESCREC. |
73 |
+ */ |
74 |
++#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID > 100001 |
75 |
++ if (my_init_dynamic_array(&desc->records, sizeof(DESCREC), 0, 0, MYF(0))) |
76 |
++#else |
77 |
+ if (my_init_dynamic_array(&desc->records, sizeof(DESCREC), 0, 0)) |
78 |
++#endif |
79 |
+ { |
80 |
+ x_free((char *)desc); |
81 |
+ return NULL; |
82 |
+ } |
83 |
+@@ -995,9 +1003,15 @@ |
84 |
+ |
85 |
+ /* copy the records */ |
86 |
+ delete_dynamic(&dest->records); |
87 |
++#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID > 100001 |
88 |
++ if (my_init_dynamic_array(&dest->records, sizeof(DESCREC), |
89 |
++ src->records.max_element, |
90 |
++ src->records.alloc_increment, MYF(0))) |
91 |
++#else |
92 |
+ if (my_init_dynamic_array(&dest->records, sizeof(DESCREC), |
93 |
+ src->records.max_element, |
94 |
+ src->records.alloc_increment)) |
95 |
++#endif |
96 |
+ { |
97 |
+ return set_desc_error(dest, "HY001", |
98 |
+ "Memory allocation error", |
99 |
+diff -aurN a/driver/handle.c b/driver/handle.c |
100 |
+--- a/driver/handle.c 2014-06-18 18:50:16.000000000 -0400 |
101 |
++++ b/driver/handle.c 2014-08-20 14:05:00.364248403 -0400 |
102 |
+@@ -403,7 +403,11 @@ |
103 |
+ } |
104 |
+ } |
105 |
+ |
106 |
++#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID > 100001 |
107 |
++ my_init_dynamic_array(*param_bind, sizeof(MYSQL_BIND), elements, 10, MYF(0)); |
108 |
++#else |
109 |
+ my_init_dynamic_array(*param_bind, sizeof(MYSQL_BIND), elements, 10); |
110 |
++#endif |
111 |
+ memset((*param_bind)->buffer, 0, sizeof(MYSQL_BIND) * |
112 |
+ (*param_bind)->max_element); |
113 |
+ |
114 |
+diff -aurN a/driver/parse.c b/driver/parse.c |
115 |
+--- a/driver/parse.c 2014-06-18 18:50:16.000000000 -0400 |
116 |
++++ b/driver/parse.c 2014-08-20 14:03:54.336383876 -0400 |
117 |
+@@ -129,8 +129,13 @@ |
118 |
+ |
119 |
+ /* TODO: Store offsets rather than ptrs. In this case we will be fine |
120 |
+ if work with copy of the originally parsed string */ |
121 |
++#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID > 100001 |
122 |
++ my_init_dynamic_array(&pq->token, sizeof(uint), 20, 10, MYF(0)); |
123 |
++ my_init_dynamic_array(&pq->param_pos, sizeof(uint), 10, 10, MYF(0)); |
124 |
++#else |
125 |
+ my_init_dynamic_array(&pq->token, sizeof(uint), 20, 10); |
126 |
+ my_init_dynamic_array(&pq->param_pos, sizeof(uint), 10, 10); |
127 |
++#endif |
128 |
+ } |
129 |
+ |
130 |
+ return pq; |
131 |
|
132 |
diff --git a/dev-db/myodbc/myodbc-5.2.6.ebuild b/dev-db/myodbc/myodbc-5.2.7.ebuild |
133 |
similarity index 78% |
134 |
rename from dev-db/myodbc/myodbc-5.2.6.ebuild |
135 |
rename to dev-db/myodbc/myodbc-5.2.7.ebuild |
136 |
index 7d1ee67..8f853ad 100644 |
137 |
--- a/dev-db/myodbc/myodbc-5.2.6.ebuild |
138 |
+++ b/dev-db/myodbc/myodbc-5.2.7.ebuild |
139 |
@@ -1,6 +1,6 @@ |
140 |
-# Copyright 1999-2013 Gentoo Foundation |
141 |
+# Copyright 1999-2014 Gentoo Foundation |
142 |
# Distributed under the terms of the GNU General Public License v2 |
143 |
-# $Header: $ |
144 |
+# $Header: /var/cvsroot/gentoo-x86/dev-db/myodbc/myodbc-5.2.7.ebuild,v 1.2 2014/08/20 18:52:50 grknight Exp $ |
145 |
|
146 |
EAPI=5 |
147 |
inherit cmake-utils eutils flag-o-matic versionator |
148 |
@@ -21,7 +21,7 @@ IUSE="" |
149 |
|
150 |
RDEPEND=" |
151 |
dev-db/unixODBC |
152 |
- >=virtual/mysql-4.1 |
153 |
+ >=virtual/mysql-5.5 |
154 |
" |
155 |
DEPEND="${DEPEND} ${RDEPEND}" |
156 |
S=${WORKDIR}/${MY_P} |
157 |
@@ -38,7 +38,9 @@ src_prepare() { |
158 |
echo "TARGET_LINK_LIBRARIES(myodbc-installer odbc)" >> "${S}/installer/CMakeLists.txt" |
159 |
|
160 |
# Patch document path so it doesn't install files to /usr |
161 |
- epatch "${FILESDIR}/cmake-doc-path.patch" |
162 |
+ epatch "${FILESDIR}/cmake-doc-path.patch" \ |
163 |
+ "${FILESDIR}/${PV}-cxxlinkage.patch" \ |
164 |
+ "${FILESDIR}/${PV}-mariadb-dynamic-array.patch" |
165 |
} |
166 |
|
167 |
src_configure() { |
168 |
@@ -48,7 +50,8 @@ src_configure() { |
169 |
-DMYSQL_CXX_LINKAGE=0 |
170 |
-DWITH_UNIXODBC=1 |
171 |
-DRPM_BUILD=1 |
172 |
- -DMYSQL_LIB="$(mysql_config --variable=pkglibdir)/libmysqlclient_r.so" |
173 |
+ -DMYSQLCLIENT_LIB_NAME="libmysqlclient_r.so" |
174 |
+ -DWITH_DOCUMENTATION_INSTALL_PATH=/usr/share/doc/${P} |
175 |
) |
176 |
|
177 |
cmake-utils_src_configure |
178 |
@@ -62,12 +65,14 @@ src_install() { |
179 |
einfo "Building $i" |
180 |
sed \ |
181 |
-e "s,__PN__,${DRIVER_NAME},g" \ |
182 |
- -e "s,__PF__,${PF},g" \ |
183 |
- -e "s,libmyodbc3.so,libmyodbc${SLOT:0:1}.so,g" \ |
184 |
+ -e "s,__PF__,${MAJOR},g" \ |
185 |
+ -e "s,libmyodbc3.so,libmyodbc${SLOT:0:1}a.so,g" \ |
186 |
>"${D}"/usr/share/${PN}-${SLOT}/${i} \ |
187 |
<"${FILESDIR}"/${i}.m4 \ |
188 |
|| die "Failed to build $i" |
189 |
done; |
190 |
+ mv "${D}/usr/bin/myodbc-installer" \ |
191 |
+ "${D}/usr/bin/myodbc-installer-${MAJOR}" || die "failed to move slotted binary" |
192 |
} |
193 |
|
194 |
pkg_config() { |
195 |
@@ -107,4 +112,5 @@ pkg_postinst() { |
196 |
elog "to configure the MySQL ODBC drivers and sources:" |
197 |
elog "emerge --config =${CATEGORY}/${PF}" |
198 |
elog "Please note that the driver name used to form the DSN now includes the SLOT." |
199 |
+ elog "The myodbc-install utility is installed as myodbc-install-${MAJOR}" |
200 |
} |