/[gentoo-x86]/dev-db/mysql/mysql-5.1.61.ebuild
Gentoo

Contents of /dev-db/mysql/mysql-5.1.61.ebuild

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.10 - (show annotations) (download)
Sun Jan 20 01:46:12 2013 UTC (20 months, 1 week ago) by robbat2
Branch: MAIN
CVS Tags: HEAD
Changes since 1.9: +1 -1 lines
FILE REMOVED
Clean up old 5.1 versions.

(Portage version: 2.2.0_alpha144/cvs/Linux x86_64, unsigned Manifest commit)

1 # Copyright 1999-2012 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/mysql-5.1.61.ebuild,v 1.9 2012/03/03 17:12:21 ranger Exp $
4
5 EAPI="4"
6
7 MY_EXTRAS_VER="20111118-2347Z"
8 # PBXT
9 PBXT_VERSION='1.0.11-6-pre-ga'
10 # XtraDB
11 PERCONA_VER='5.1.45-10' XTRADB_VER='1.0.6-10'
12
13 # Build type
14 BUILD="autotools"
15
16 inherit toolchain-funcs mysql-v2
17
18 # only to make repoman happy. it is really set in the eclass
19 IUSE="$IUSE"
20
21 # REMEMBER: also update eclass/mysql*.eclass before committing!
22 KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-solaris"
23
24 # When MY_EXTRAS is bumped, the index should be revised to exclude these.
25 # This is often broken still
26 EPATCH_EXCLUDE=''
27
28 # Most of these are in the eclass
29 DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
30 >=sys-devel/libtool-2.2.10"
31 RDEPEND="${RDEPEND}"
32
33 # Please do not add a naive src_unpack to this ebuild
34 # If you want to add a single patch, copy the ebuild to an overlay
35 # and create your own mysql-extras tarball, looking at 000_index.txt
36 src_prepare() {
37 sed -i \
38 -e '/^noinst_PROGRAMS/s/basic-t//g' \
39 "${S}"/unittest/mytap/t/Makefile.am
40 mysql-v2_src_prepare
41 }
42
43 # Official test instructions:
44 # USE='berkdb -cluster embedded extraengine perl ssl community' \
45 # FEATURES='test userpriv -usersandbox' \
46 # ebuild mysql-X.X.XX.ebuild \
47 # digest clean package
48 src_test() {
49 # Bug #213475 - MySQL _will_ object strenously if your machine is named
50 # localhost. Also causes weird failures.
51 [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
52
53 emake check || die "make check failed"
54 if ! use "minimal" ; then
55 if [[ $UID -eq 0 ]]; then
56 die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
57 fi
58 has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
59 cd "${S}"
60 einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
61 local retstatus_unit
62 local retstatus_ns
63 local retstatus_ps
64 local t
65 addpredict /this-dir-does-not-exist/t9.MYI
66
67 # Ensure that parallel runs don't die
68 export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
69
70 # archive_gis really sucks a lot, but it's only relevant for the
71 # USE=extraengines case
72 case ${PV} in
73 5.0.42)
74 mysql-v2_disable_test "archive_gis" "Totally broken in 5.0.42"
75 ;;
76
77 5.0.4[3-9]|5.0.[56]*|5.0.70|5.0.87)
78 [ "$(tc-endian)" == "big" ] && \
79 mysql-v2_disable_test \
80 "archive_gis" \
81 "Broken in 5.0.43-70 and 5.0.87 on big-endian boxes only"
82 ;;
83 esac
84
85 # This was a slight testcase breakage when the read_only security issue
86 # was fixed.
87 case ${PV} in
88 5.0.54|5.0.51*)
89 mysql-v2_disable_test \
90 "read_only" \
91 "Broken in 5.0.51-54, output in wrong order"
92 ;;
93 esac
94
95 # Ditto to read_only
96 [ "${PV}" == "5.0.51a" ] && \
97 mysql-v2_disable_test \
98 "view" \
99 "Broken in 5.0.51, output in wrong order"
100
101 # x86-specific, OOM issue with some subselects on low memory servers
102 [ "${PV}" == "5.0.54" ] && \
103 [ "${ARCH/x86}" != "${ARCH}" ] && \
104 mysql-v2_disable_test \
105 "subselect" \
106 "Testcase needs tuning on x86 for oom condition"
107
108 # Broke with the YaSSL security issue that didn't affect Gentoo.
109 [ "${PV}" == "5.0.56" ] && \
110 for t in openssl_1 rpl_openssl rpl_ssl ssl \
111 ssl_8k_key ssl_compress ssl_connect ; do \
112 mysql-v2_disable_test \
113 "$t" \
114 "OpenSSL tests broken on 5.0.56"
115 done
116
117 # New test was broken in first time
118 # Upstream bug 41066
119 # http://bugs.mysql.com/bug.php?id=41066
120 [ "${PV}" == "5.0.72" ] && \
121 mysql-v2_disable_test \
122 "status2" \
123 "Broken in 5.0.72, new test is broken, upstream bug #41066"
124
125 # The entire 5.0 series has pre-generated SSL certificates, they have
126 # mostly expired now. ${S}/mysql-tests/std-data/*.pem
127 # The certs really SHOULD be generated for the tests, so that they are
128 # not expiring like this. We cannot do so ourselves as the tests look
129 # closely as the cert path data, and we do not have the CA key to regen
130 # ourselves. Alternatively, upstream should generate them with at least
131 # 50-year validity.
132 #
133 # Known expiry points:
134 # 4.1.*, 5.0.0-5.0.22, 5.1.7: Expires 2013/09/09
135 # 5.0.23-5.0.77, 5.1.7-5.1.22?: Expires 2009/01/27
136 # 5.0.78-5.0.90, 5.1.??-5.1.42: Expires 2010/01/28
137 #
138 # mysql-test/std_data/untrusted-cacert.pem is MEANT to be
139 # expired/invalid.
140 case ${PV} in
141 5.0.*|5.1.*|5.4.*|5.5.*)
142 for t in openssl_1 rpl_openssl rpl.rpl_ssl rpl.rpl_ssl1 ssl ssl_8k_key \
143 ssl_compress ssl_connect rpl.rpl_heartbeat_ssl ; do \
144 mysql-v2_disable_test \
145 "$t" \
146 "These OpenSSL tests break due to expired certificates"
147 done
148 ;;
149 esac
150
151 # These are also failing in MySQL 5.1 for now, and are believed to be
152 # false positives:
153 #
154 # main.mysql_comment, main.mysql_upgrade, main.information_schema,
155 # funcs_1.is_columns_mysql funcs_1.is_tables_mysql funcs_1.is_triggers:
156 # fails due to USE=-latin1 / utf8 default
157 #
158 # main.mysql_client_test:
159 # segfaults at random under Portage only, suspect resource limits.
160 #
161 # main.not_partition:
162 # Failure reason unknown at this time, must resolve before package.mask
163 # removal FIXME
164 case ${PV} in
165 5.1.*|5.4.*|5.5.*)
166 for t in main.mysql_client_test main.mysql_comments \
167 main.mysql_upgrade \
168 main.information_schema \
169 main.not_partition funcs_1.is_columns_mysql \
170 funcs_1.is_tables_mysql funcs_1.is_triggers; do
171 mysql-v2_disable_test "$t" "False positives in Gentoo"
172 done
173 ;;
174 esac
175
176 # New failures in 5.1.50/5.1.51, reported by jmbsvicetto.
177 # These tests are picking up a 'connect-timeout' config from somewhere,
178 # which is not valid, and since it does not have 'loose-' in front of
179 # it, it's causing a failure
180 case ${PV} in
181 5.1.5*|5.4.*|5.5.*|6*)
182 for t in rpl.rpl_mysql_upgrade main.log_tables_upgrade ; do
183 mysql-v2_disable_test "$t" \
184 "False positives in Gentoo: connect-timeout"
185 done
186 ;;
187 esac
188
189 use profiling && use community \
190 || mysql-v2_disable_test main.profiling \
191 "Profiling test needs profiling support"
192
193 if [ "${PN}" == "mariadb" ]; then
194 for t in \
195 parts.part_supported_sql_func_ndb \
196 parts.partition_auto_increment_ndb ; do
197 mysql-v2_disable_test $t "ndb not supported in mariadb"
198 done
199 fi
200
201 # This fail with XtraDB in place of normal InnoDB
202 # TODO: test if they are broken with the rest of the Percona patches
203 if xtradb_patch_available && use xtradb ; then
204 for t in main.innodb innodb.innodb_bug51378 \
205 main.information_schema_db main.mysqlshow \
206 main.innodb-autoinc main.innodb_bug21704 \
207 main.innodb_bug44369 main.innodb_bug46000 \
208 main.index_merge_innodb \
209 innodb.innodb innodb.innodb_misc1 innodb.innodb_bug52663 \
210 innodb.innodb-autoinc innodb.innodb-autoinc-44030 \
211 innodb.innodb_bug21704 innodb.innodb_bug44369 \
212 innodb.innodb_bug46000 innodb.innodb_bug48024 \
213 innodb.innodb_bug49164 innodb.innodb_bug51920 \
214 innodb.innodb_bug54044 \
215 ; do
216 mysql-v2_disable_test $t "tests broken in xtradb"
217 done
218 fi
219
220 if ! use extraengine ; then
221 # bug 332565
222 for t in main.range ; do
223 mysql-v2_disable_test $t "Test $t requires USE=extraengine"
224 done
225 # bug 401673
226 for t in federated.federated_plugin ; do
227 mysql-v2_disable_test $t "Test $t requires USE=extraengine (Need federated engine)"
228 done
229 fi
230
231 # create directories because mysqladmin might make out of order
232 mkdir -p "${S}"/mysql-test/var-{ps,ns}{,/log}
233
234 # We run the test protocols seperately
235 emake test-unit
236 retstatus_unit=$?
237 [[ $retstatus_unit -eq 0 ]] || eerror "test-unit failed"
238
239 emake test-ns force="--force --vardir=${S}/mysql-test/var-ns"
240 retstatus_ns=$?
241 [[ $retstatus_ns -eq 0 ]] || eerror "test-ns failed"
242 has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
243
244 emake test-ps force="--force --vardir=${S}/mysql-test/var-ps"
245 retstatus_ps=$?
246 [[ $retstatus_ps -eq 0 ]] || eerror "test-ps failed"
247 has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
248
249 # TODO:
250 # When upstream enables the pr and nr testsuites, we need those as well.
251
252 # Cleanup is important for these testcases.
253 pkill -9 -f "${S}/ndb" 2>/dev/null
254 pkill -9 -f "${S}/sql" 2>/dev/null
255 failures=""
256 [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
257 [[ $retstatus_ns -eq 0 ]] || failures="${failures} test-ns"
258 [[ $retstatus_ps -eq 0 ]] || failures="${failures} test-ps"
259 has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
260 [[ -z "$failures" ]] || die "Test failures: $failures"
261 einfo "Tests successfully completed"
262 else
263 einfo "Skipping server tests due to minimal build."
264 fi
265 }

  ViewVC Help
Powered by ViewVC 1.1.20