/[gentoo-x86]/eclass/mysql.eclass
Gentoo

Contents of /eclass/mysql.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.99 - (hide annotations) (download)
Fri Nov 14 04:48:28 2008 UTC (5 years, 9 months ago) by robbat2
Branch: MAIN
Changes since 1.98: +5 -1 lines
Bug #187642 - community-specific features.

1 chtekk 1.69 # Copyright 1999-2007 Gentoo Foundation
2 vivo 1.1 # Distributed under the terms of the GNU General Public License v2
3 robbat2 1.99 # $Header: /var/cvsroot/gentoo-x86/eclass/mysql.eclass,v 1.98 2008/11/14 01:46:24 robbat2 Exp $
4 vivo 1.1
5 vivo 1.54 # Author: Francesco Riosa (Retired) <vivo@gentoo.org>
6 robbat2 1.86 # Maintainer: MySQL Team <mysql-bugs@gentoo.org>
7     # - Luca Longinotti <chtekk@gentoo.org>
8     # - Robin H. Johnson <robbat2@gentoo.org>
9 chtekk 1.30
10 vivo 1.59 WANT_AUTOCONF="latest"
11     WANT_AUTOMAKE="latest"
12 chtekk 1.69
13 vivo 1.55 inherit eutils flag-o-matic gnuconfig autotools mysql_fx
14 vivo 1.54
15 vivo 1.59 # Shorten the path because the socket path length must be shorter than 107 chars
16     # and we will run a mysql server during test phase
17     S="${WORKDIR}/mysql"
18    
19 vivo 1.65 [[ "${MY_EXTRAS_VER}" == "latest" ]] && MY_EXTRAS_VER="20070108"
20 robbat2 1.86 if [[ "${MY_EXTRAS_VER}" == "live" ]]; then
21 robbat2 1.87 EGIT_PROJECT=mysql-extras
22 robbat2 1.86 EGIT_REPO_URI="git://git.overlays.gentoo.org/proj/mysql-extras.git"
23     inherit git
24     fi
25 vivo 1.54
26 vivo 1.60 if [[ ${PR#r} -lt 60 ]] ; then
27     IS_BITKEEPER=0
28     elif [[ ${PR#r} -lt 90 ]] ; then
29     IS_BITKEEPER=60
30     else
31     IS_BITKEEPER=90
32     fi
33    
34     # MYSQL_VERSION_ID will be:
35     # major * 10e6 + minor * 10e4 + micro * 10e2 + gentoo revision number, all [0..99]
36     # This is an important part, because many of the choices the MySQL ebuild will do
37     # depend on this variable.
38     # In particular, the code below transforms a $PVR like "5.0.18-r3" in "5001803"
39 robbat2 1.88 # We also strip off upstream's trailing letter that they use to respin tarballs
40 chtekk 1.69
41 vivo 1.60 MYSQL_VERSION_ID=""
42 robbat2 1.88 tpv="${PV%[a-z]}"
43     tpv=( ${tpv//[-._]/ } ) ; tpv[3]="${PVR:${#PV}}" ; tpv[3]="${tpv[3]##*-r}"
44 vivo 1.60 for vatom in 0 1 2 3 ; do
45     # pad to length 2
46     tpv[${vatom}]="00${tpv[${vatom}]}"
47     MYSQL_VERSION_ID="${MYSQL_VERSION_ID}${tpv[${vatom}]:0-2}"
48     done
49     # strip leading "0" (otherwise it's considered an octal number by BASH)
50     MYSQL_VERSION_ID=${MYSQL_VERSION_ID##"0"}
51    
52     # Be warned, *DEPEND are version-dependant
53 robbat2 1.90 # These are used for both runtime and compiletime
54 vivo 1.60 DEPEND="ssl? ( >=dev-libs/openssl-0.9.6d )
55     userland_GNU? ( sys-process/procps )
56     >=sys-apps/sed-4
57     >=sys-apps/texinfo-4.7-r1
58     >=sys-libs/readline-4.1
59 chtekk 1.69 >=sys-libs/zlib-1.2.3"
60 vivo 1.60
61 chtekk 1.69 # Having different flavours at the same time is not a good idea
62     for i in "" "-community" ; do
63 vivo 1.60 [[ "${i}" == ${PN#mysql} ]] ||
64     DEPEND="${DEPEND} !dev-db/mysql${i}"
65     done
66    
67 robbat2 1.90 RDEPEND="${DEPEND}
68     !minimal? ( dev-db/mysql-init-scripts )
69     selinux? ( sec-policy/selinux-mysql )"
70    
71     # compile-time-only
72 vivo 1.60 mysql_version_is_at_least "5.1" \
73     || DEPEND="${DEPEND} berkdb? ( sys-apps/ed )"
74    
75 robbat2 1.90 # compile-time-only
76 chtekk 1.69 mysql_version_is_at_least "5.1.12" \
77     && DEPEND="${DEPEND} innodb? ( >=dev-util/cmake-2.4.3 )"
78    
79 robbat2 1.90 # BitKeeper dependency, compile-time only
80     [[ ${IS_BITKEEPER} -eq 90 ]] && DEPEND="${DEPEND} dev-util/bk_client"
81    
82    
83 vivo 1.60 # dev-perl/DBD-mysql is needed by some scripts installed by MySQL
84     PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
85    
86 robbat2 1.81 # Work out the default SERVER_URI correctly
87     if [ -z "${SERVER_URI}" ]; then
88     # The community build is on the mirrors
89     if [ "${PN}" == "mysql-community" ]; then
90     SERVER_URI="mirror://mysql/Downloads/MySQL-${PV%.*}/mysql-${PV//_/-}.tar.gz"
91     # The enterprise source is on the primary site only
92     elif [ "${PN}" == "mysql" ]; then
93     SERVER_URI="ftp://ftp.mysql.com/pub/mysql/src/mysql-${PV//_/-}.tar.gz"
94     fi
95     fi
96    
97 vivo 1.60 # Define correct SRC_URIs
98 robbat2 1.86 SRC_URI="${SERVER_URI}"
99    
100     [[ ${MY_EXTRAS_VER} != live ]] && SRC_URI="${SRC_URI}
101 robbat2 1.73 mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
102 chtekk 1.69 http://g3nt8.org/patches/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
103 vivo 1.60 mysql_version_is_at_least "5.1.12" \
104     && [[ -n "${PBXT_VERSION}" ]] \
105     && SRC_URI="${SRC_URI} pbxt? ( mirror://sourceforge/pbxt/pbxt-${PBXT_VERSION}.tar.gz )"
106    
107     DESCRIPTION="A fast, multi-threaded, multi-user SQL database server."
108     HOMEPAGE="http://www.mysql.com/"
109     LICENSE="GPL-2"
110 chtekk 1.69 SLOT="0"
111 vivo 1.60 IUSE="big-tables debug embedded minimal perl selinux ssl static"
112    
113     mysql_version_is_at_least "4.1" \
114     && IUSE="${IUSE} latin1"
115    
116     mysql_version_is_at_least "4.1.3" \
117     && IUSE="${IUSE} cluster extraengine"
118    
119     mysql_version_is_at_least "5.0" \
120     || IUSE="${IUSE} raid"
121    
122     mysql_version_is_at_least "5.0.18" \
123     && IUSE="${IUSE} max-idx-128"
124    
125     mysql_version_is_at_least "5.1" \
126     && IUSE="${IUSE} innodb"
127    
128     mysql_version_is_at_least "5.1" \
129     || IUSE="${IUSE} berkdb"
130    
131     mysql_version_is_at_least "5.1.12" \
132     && IUSE="${IUSE} pbxt"
133    
134 vivo 1.26 EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install pkg_preinst \
135 swegener 1.36 pkg_postinst pkg_config pkg_postrm
136 vivo 1.1
137 vivo 1.37 #
138     # HELPER FUNCTIONS:
139     #
140    
141 vivo 1.51 bitkeeper_fetch() {
142 vivo 1.56 local reposuf
143     if [[ -z "${1}" ]] ; then
144     local tpv
145     tpv=( ${PV//[-._]/ } )
146     reposuf="mysql-${tpv[0]}.${tpv[1]}"
147     else
148     reposuf="${1}"
149     fi
150 chtekk 1.69 einfo "Using '${reposuf}' repository."
151 vivo 1.56 local repo_uri="bk://mysql.bkbits.net/${reposuf}"
152 chtekk 1.69 ## -- ebk_store_dir: bitkeeper sources store directory
153 vivo 1.51 local ebk_store_dir="${PORTAGE_ACTUAL_DISTDIR-${DISTDIR}}/bk-src"
154 chtekk 1.69 ## -- ebk_fetch_cmd: bitkeeper fetch command
155 vivo 1.51 # always fetch the latest revision, use -r<revision> if a specified revision is wanted
156     # hint: does not work
157     local ebk_fetch_cmd="sfioball"
158 chtekk 1.69 ## -- ebk_update_cmd: bitkeeper update command
159 vivo 1.51 local ebk_update_cmd="update"
160    
161 chtekk 1.69 # addread "/etc/bitkeeper"
162 vivo 1.51 addwrite "${ebk_store_dir}"
163    
164 chtekk 1.69 if [[ ! -d "${ebk_store_dir}" ]] ; then
165     debug-print "${FUNCNAME}: initial checkout, creating bitkeeper directory ..."
166     mkdir -p "${ebk_store_dir}" || die "BK: couldn't mkdir ${ebk_store_dir}"
167 vivo 1.51 fi
168    
169 chtekk 1.69 pushd "${ebk_store_dir}" || die "BK: couldn't chdir to ${ebk_store_dir}"
170 vivo 1.51
171 vivo 1.56 local wc_path=${reposuf}
172 vivo 1.51
173 chtekk 1.69 if [[ ! -d "${wc_path}" ]] ; then
174 vivo 1.51 local options="-r+"
175 chtekk 1.69
176     # first checkout
177     einfo "bitkeeper checkout start -->"
178     einfo " repository: ${repo_uri}"
179    
180     ${ebk_fetch_cmd} ${options} "${repo_uri}" "${wc_path}" \
181     || die "BK: couldn't fetch from ${repo_uri}"
182 vivo 1.51 else
183 chtekk 1.69 if [[ ! -d "${wc_path}/BK" ]] ; then
184 vivo 1.51 popd
185 chtekk 1.69 die "Looks like ${wc_path} is not a bitkeeper path"
186 vivo 1.51 fi
187    
188     # update working copy
189     einfo "bitkeeper update start -->"
190 chtekk 1.69 einfo " repository: ${repo_uri}"
191 vivo 1.51
192     ${ebk_update_cmd} "${repo_uri}" "${wc_path}" \
193 chtekk 1.69 || die "BK: couldn't update from ${repo_uri} to ${wc_path}"
194 vivo 1.51 fi
195    
196 chtekk 1.69 einfo " working copy: ${wc_path}"
197 vivo 1.51 cd "${wc_path}"
198 chtekk 1.69 rsync -rlpgo --exclude="BK/" . "${S}" || die "BK: couldn't export to ${S}"
199 swegener 1.53
200 vivo 1.51 echo
201     popd
202     }
203    
204     mysql_disable_test() {
205     local testname="${1}" ; shift
206     local reason="${@}"
207     local mysql_disable_file="${S}/mysql-test/t/disabled.def"
208     echo ${testname} : ${reason} >> "${mysql_disable_file}"
209 chtekk 1.69 ewarn "test '${testname}' disabled: '${reason}'"
210 vivo 1.51 }
211    
212 vivo 1.8 # void mysql_init_vars()
213     #
214 chtekk 1.30 # Initialize global variables
215     # 2005-11-19 <vivo@gentoo.org>
216    
217 vivo 1.8 mysql_init_vars() {
218 chtekk 1.69 MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="/usr/share/mysql"}
219     MY_SYSCONFDIR=${MY_SYSCONFDIR="/etc/mysql"}
220     MY_LIBDIR=${MY_LIBDIR="/usr/$(get_libdir)/mysql"}
221     MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="/var/lib/mysql"}
222     MY_LOGDIR=${MY_LOGDIR="/var/log/mysql"}
223     MY_INCLUDEDIR=${MY_INCLUDEDIR="/usr/include/mysql"}
224 vivo 1.8
225 robbat2 1.75 if [[ -z "${MY_DATADIR}" ]] ; then
226     MY_DATADIR=""
227 chtekk 1.30 if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
228 robbat2 1.75 MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
229 vivo 1.26 | sed -ne '/datadir/s|^--datadir=||p' \
230     | tail -n1`
231 robbat2 1.75 if [[ -z "${MY_DATADIR}" ]] ; then
232     MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
233 robbat2 1.89 | sed -e 's/.*=\s*//' \
234     | tail -n1`
235 vivo 1.8 fi
236     fi
237 robbat2 1.75 if [[ -z "${MY_DATADIR}" ]] ; then
238     MY_DATADIR="${MY_LOCALSTATEDIR}"
239     einfo "Using default MY_DATADIR"
240 vivo 1.8 fi
241 robbat2 1.75 elog "MySQL MY_DATADIR is ${MY_DATADIR}"
242 vivo 1.8
243 chtekk 1.30 if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
244 robbat2 1.75 if [[ -e "${MY_DATADIR}" ]] ; then
245 robbat2 1.95 # If you get this and you're wondering about it, see bug #207636
246     elog "MySQL datadir found in ${MY_DATADIR}"
247     elog "A new one will not be created."
248 vivo 1.8 PREVIOUS_DATADIR="yes"
249     else
250     PREVIOUS_DATADIR="no"
251     fi
252 chtekk 1.30 export PREVIOUS_DATADIR
253 vivo 1.8 fi
254     fi
255    
256 vivo 1.55 MY_SOURCEDIR=${SERVER_URI##*/}
257     MY_SOURCEDIR=${MY_SOURCEDIR%.tar*}
258    
259 chtekk 1.69 export MY_SHAREDSTATEDIR MY_SYSCONFDIR
260 vivo 1.8 export MY_LIBDIR MY_LOCALSTATEDIR MY_LOGDIR
261 robbat2 1.75 export MY_INCLUDEDIR MY_DATADIR MY_SOURCEDIR
262 vivo 1.8 }
263    
264 vivo 1.37 configure_minimal() {
265 vivo 1.46 # These are things we exclude from a minimal build, please
266     # note that the server actually does get built and installed,
267     # but we then delete it before packaging.
268 robbat2 1.84 local minimal_exclude_list="server embedded-server extra-tools innodb bench berkeley-db row-based-replication readline"
269 vivo 1.37
270 vivo 1.46 for i in ${minimal_exclude_list} ; do
271     myconf="${myconf} --without-${i}"
272     done
273     myconf="${myconf} --with-extra-charsets=none"
274     myconf="${myconf} --enable-local-infile"
275 vivo 1.47
276 cardoe 1.67 if use static ; then
277 vivo 1.47 myconf="${myconf} --with-client-ldflags=-all-static"
278 robbat2 1.80 myconf="${myconf} --disable-shared --with-pic"
279 vivo 1.47 else
280     myconf="${myconf} --enable-shared --enable-static"
281     fi
282 chtekk 1.50
283 chtekk 1.69 if mysql_version_is_at_least "4.1" && ! use latin1 ; then
284 chtekk 1.50 myconf="${myconf} --with-charset=utf8"
285     myconf="${myconf} --with-collation=utf8_general_ci"
286     else
287     myconf="${myconf} --with-charset=latin1"
288     myconf="${myconf} --with-collation=latin1_swedish_ci"
289     fi
290 vivo 1.37 }
291    
292     configure_common() {
293 chtekk 1.39 myconf="${myconf} $(use_with big-tables)"
294 vivo 1.37 myconf="${myconf} --enable-local-infile"
295     myconf="${myconf} --with-extra-charsets=all"
296     myconf="${myconf} --with-mysqld-user=mysql"
297 chtekk 1.39 myconf="${myconf} --with-server"
298 vivo 1.43 myconf="${myconf} --with-unix-socket-path=/var/run/mysqld/mysqld.sock"
299 vivo 1.37 myconf="${myconf} --without-libwrap"
300 chtekk 1.39
301 cardoe 1.67 if use static ; then
302 vivo 1.37 myconf="${myconf} --with-mysqld-ldflags=-all-static"
303     myconf="${myconf} --with-client-ldflags=-all-static"
304 robbat2 1.80 myconf="${myconf} --disable-shared --with-pic"
305 vivo 1.37 else
306     myconf="${myconf} --enable-shared --enable-static"
307     fi
308    
309 cardoe 1.67 if use debug ; then
310 vivo 1.37 myconf="${myconf} --with-debug=full"
311     else
312     myconf="${myconf} --without-debug"
313 vivo 1.51 mysql_version_is_at_least "4.1.3" \
314 cardoe 1.67 && use cluster \
315 vivo 1.37 && myconf="${myconf} --without-ndb-debug"
316     fi
317 chtekk 1.39
318 cardoe 1.67 if mysql_version_is_at_least "4.1" && ! use latin1 ; then
319 vivo 1.37 myconf="${myconf} --with-charset=utf8"
320     myconf="${myconf} --with-collation=utf8_general_ci"
321     else
322     myconf="${myconf} --with-charset=latin1"
323     myconf="${myconf} --with-collation=latin1_swedish_ci"
324     fi
325 chtekk 1.39
326 cardoe 1.67 if use embedded ; then
327 vivo 1.37 myconf="${myconf} --with-embedded-privilege-control"
328     myconf="${myconf} --with-embedded-server"
329     else
330     myconf="${myconf} --without-embedded-privilege-control"
331     myconf="${myconf} --without-embedded-server"
332     fi
333    
334     }
335    
336     configure_40_41_50() {
337     myconf="${myconf} $(use_with perl bench)"
338     myconf="${myconf} --enable-assembler"
339     myconf="${myconf} --with-extra-tools"
340     myconf="${myconf} --with-innodb"
341     myconf="${myconf} --without-readline"
342 vivo 1.51 mysql_version_is_at_least "5.0" || myconf="${myconf} $(use_with raid)"
343 vivo 1.37
344 chtekk 1.69 # --with-vio is not needed anymore, it's on by default and
345     # has been removed from configure
346 cardoe 1.67 if use ssl ; then
347 chtekk 1.69 mysql_version_is_at_least "5.0.4" || myconf="${myconf} --with-vio"
348 vivo 1.62 fi
349    
350     if mysql_version_is_at_least "5.1.11" ; then
351     myconf="${myconf} $(use_with ssl)"
352 vivo 1.37 else
353 vivo 1.62 myconf="${myconf} $(use_with ssl openssl)"
354 vivo 1.37 fi
355 robbat2 1.98
356     if mysql_version_is_at_least "5.0.60" ; then
357     if use berkdb ; then
358     elog "Berkeley DB support was disabled due to build failures"
359     elog "on multiple arches, go to a version earlier than 5.0.60"
360     elog "if you want it again. Gentoo bug #224067."
361     fi
362     myconf="${myconf} --without-berkeley-db"
363     elif use berkdb ; then
364 chtekk 1.77 # The following fix is due to a bug with bdb on SPARC's. See:
365     # http://www.geocrawler.com/mail/msg.php3?msg_id=4754814&list=8
366     # It comes down to non-64-bit safety problems.
367 cardoe 1.76 if use alpha || use amd64 || use hppa || use mips || use sparc ; then
368 chtekk 1.77 elog "Berkeley DB support was disabled due to compatibility issues on this arch"
369 cardoe 1.76 myconf="${myconf} --without-berkeley-db"
370     else
371 chtekk 1.39 myconf="${myconf} --with-berkeley-db=./bdb"
372     fi
373 cardoe 1.76 else
374     myconf="${myconf} --without-berkeley-db"
375 vivo 1.37 fi
376    
377 vivo 1.51 if mysql_version_is_at_least "4.1.3" ; then
378 vivo 1.37 myconf="${myconf} --with-geometry"
379     myconf="${myconf} $(use_with cluster ndbcluster)"
380     fi
381    
382 cardoe 1.67 if mysql_version_is_at_least "4.1.3" && use extraengine ; then
383 vivo 1.37 # http://dev.mysql.com/doc/mysql/en/archive-storage-engine.html
384     myconf="${myconf} --with-archive-storage-engine"
385    
386     # http://dev.mysql.com/doc/mysql/en/csv-storage-engine.html
387     myconf="${myconf} --with-csv-storage-engine"
388    
389     # http://dev.mysql.com/doc/mysql/en/blackhole-storage-engine.html
390     myconf="${myconf} --with-blackhole-storage-engine"
391    
392     # http://dev.mysql.com/doc/mysql/en/federated-storage-engine.html
393     # http://dev.mysql.com/doc/mysql/en/federated-description.html
394     # http://dev.mysql.com/doc/mysql/en/federated-limitations.html
395 vivo 1.51 if mysql_version_is_at_least "5.0.3" ; then
396 chtekk 1.39 elog "Before using the Federated storage engine, please be sure to read"
397     elog "http://dev.mysql.com/doc/mysql/en/federated-limitations.html"
398 vivo 1.37 myconf="${myconf} --with-federated-storage-engine"
399     fi
400     fi
401    
402 robbat2 1.99 if [ "${PN}" == "mysql-community" ]; then
403     myconf="${myconf} --enable-community-features"
404     fi
405    
406 vivo 1.51 mysql_version_is_at_least "5.0.18" \
407 cardoe 1.67 && use max-idx-128 \
408 vivo 1.37 && myconf="${myconf} --with-max-indexes=128"
409     }
410    
411 chtekk 1.39 configure_51() {
412 chtekk 1.40 # TODO: !!!! readd --without-readline
413 chtekk 1.39 # the failure depend upon config/ac-macros/readline.m4 checking into
414 vivo 1.37 # readline.h instead of history.h
415     myconf="${myconf} $(use_with ssl)"
416     myconf="${myconf} --enable-assembler"
417     myconf="${myconf} --with-geometry"
418     myconf="${myconf} --with-readline"
419     myconf="${myconf} --with-row-based-replication"
420     myconf="${myconf} --with-zlib=/usr/$(get_libdir)"
421     myconf="${myconf} --without-pstack"
422 cardoe 1.67 use max-idx-128 && myconf="${myconf} --with-max-indexes=128"
423 chtekk 1.39
424 vivo 1.37 # 5.1 introduces a new way to manage storage engines (plugins)
425     # like configuration=none
426     local plugins="csv,myisam,myisammrg,heap"
427 cardoe 1.67 if use extraengine ; then
428 vivo 1.37 # like configuration=max-no-ndb, archive and example removed in 5.1.11
429 vivo 1.52 plugins="${plugins},archive,blackhole,example,federated,partition"
430 vivo 1.37
431 chtekk 1.39 elog "Before using the Federated storage engine, please be sure to read"
432     elog "http://dev.mysql.com/doc/refman/5.1/en/federated-limitations.html"
433 vivo 1.37 fi
434    
435 cardoe 1.67 if use innodb ; then
436 vivo 1.37 plugins="${plugins},innobase"
437     fi
438    
439     # like configuration=max-no-ndb
440 cardoe 1.67 if use cluster ; then
441 vivo 1.37 plugins="${plugins},ndbcluster"
442     myconf="${myconf} --with-ndb-binlog"
443     fi
444    
445 vivo 1.58 if mysql_version_is_at_least "5.2" ; then
446     plugins="${plugins},falcon"
447     fi
448    
449 vivo 1.37 myconf="${myconf} --with-plugins=${plugins}"
450     }
451    
452 vivo 1.51 pbxt_src_compile() {
453     mysql_init_vars
454    
455     pushd "${WORKDIR}/pbxt-${PBXT_VERSION}" &>/dev/null
456    
457     einfo "Reconfiguring dir '${PWD}'"
458     AT_GNUCONF_UPDATE="yes" eautoreconf
459    
460 chtekk 1.69 local myconf=""
461     myconf="${myconf} --with-mysql=${S} --libdir=${D}/${MY_LIBDIR}"
462 cardoe 1.67 use debug && myconf="${myconf} --with-debug=full"
463 chtekk 1.69 # TODO: is it safe/needed to use econf here ?
464     ./configure ${myconf} || die "Problem configuring PBXT storage engine"
465     # TODO: is it safe/needed to use emake here ?
466     make || die "Problem making PBXT storage engine (${myconf})"
467 vivo 1.51
468     popd
469 chtekk 1.69 # TODO: modify test suite for PBXT
470 vivo 1.51 }
471    
472     pbxt_src_install() {
473     pushd "${WORKDIR}/pbxt-${PBXT_VERSION}" &>/dev/null
474 chtekk 1.69 make install || die "Failed to install PBXT"
475 vivo 1.51 popd
476     }
477    
478 vivo 1.37 #
479     # EBUILD FUNCTIONS
480     #
481 vivo 1.1 mysql_pkg_setup() {
482 robbat2 1.83 if hasq test ${FEATURES} ; then
483     if ! use minimal ; then
484 robbat2 1.91 if [[ $UID -eq 0 ]]; then
485 robbat2 1.96 eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
486 robbat2 1.83 fi
487     fi
488     fi
489 swegener 1.53
490 robbat2 1.93 # Bug #213475 - MySQL _will_ object strenously if your machine is named
491     # localhost. Also causes weird failures.
492     [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
493    
494 chtekk 1.30 # Check for USE flag problems in pkg_setup
495 cardoe 1.67 if use static && use ssl ; then
496 chtekk 1.30 eerror "MySQL does not support being built statically with SSL support enabled!"
497     die "MySQL does not support being built statically with SSL support enabled!"
498     fi
499 vivo 1.1
500 vivo 1.51 if ! mysql_version_is_at_least "5.0" \
501 cardoe 1.67 && use raid \
502     && use static ; then
503 chtekk 1.30 eerror "USE flags 'raid' and 'static' conflict, you cannot build MySQL statically"
504     eerror "with RAID support enabled."
505     die "USE flags 'raid' and 'static' conflict!"
506 vivo 1.1 fi
507    
508 vivo 1.51 if mysql_version_is_at_least "4.1.3" \
509 cardoe 1.67 && ( use cluster || use extraengine ) \
510     && use minimal ; then
511 chtekk 1.30 eerror "USE flags 'cluster' and 'extraengine' conflict with 'minimal' USE flag!"
512     die "USE flags 'cluster' and 'extraengine' conflict with 'minimal' USE flag!"
513 vivo 1.1 fi
514 robbat2 1.83
515     # This should come after all of the die statements
516     enewgroup mysql 60 || die "problem adding 'mysql' group"
517     enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
518 chtekk 1.39
519 vivo 1.51 mysql_check_version_range "4.0 to 5.0.99.99" \
520 cardoe 1.67 && use berkdb \
521 chtekk 1.41 && elog "Berkeley DB support is deprecated and will be removed in future versions!"
522 chtekk 1.30 }
523    
524     mysql_src_unpack() {
525     # Initialize the proper variables first
526     mysql_init_vars
527 vivo 1.1
528 chtekk 1.30 unpack ${A}
529 robbat2 1.86 # Grab the patches
530     [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git_src_unpack
531     # Bitkeeper checkout support
532 vivo 1.55 if [[ ${IS_BITKEEPER} -eq 90 ]] ; then
533 vivo 1.56 if mysql_check_version_range "5.1 to 5.1.99" ; then
534     bitkeeper_fetch "mysql-5.1-ndb"
535 chtekk 1.69 elif mysql_check_version_range "5.2 to 5.2.99" ; then
536 vivo 1.56 bitkeeper_fetch "mysql-5.2-falcon"
537     else
538     bitkeeper_fetch
539     fi
540 vivo 1.55 cd "${S}"
541 chtekk 1.69 einfo "Running upstream autorun over BK sources ..."
542 vivo 1.55 BUILD/autorun.sh
543     else
544     mv -f "${WORKDIR}/${MY_SOURCEDIR}" "${S}"
545     cd "${S}"
546     fi
547 vivo 1.1
548 chtekk 1.30 # Apply the patches for this MySQL version
549 vivo 1.55 EPATCH_SUFFIX="patch"
550 chtekk 1.69 mkdir -p "${EPATCH_SOURCE}" || die "Unable to create epatch directory"
551 robbat2 1.86 # Clean out old items
552     rm -f "${EPATCH_SOURCE}"/*
553     # Now link in right patches
554 vivo 1.55 mysql_mv_patches
555 robbat2 1.86 # And apply
556 chtekk 1.69 epatch
557 vivo 1.1
558 chtekk 1.30 # Additional checks, remove bundled zlib
559 vivo 1.1 rm -f "${S}/zlib/"*.[ch]
560     sed -i -e "s/zlib\/Makefile dnl/dnl zlib\/Makefile/" "${S}/configure.in"
561 chtekk 1.30 rm -f "scripts/mysqlbug"
562 vivo 1.1
563     # Make charsets install in the right place
564 vivo 1.37 find . -name 'Makefile.am' \
565     -exec sed --in-place -e 's!$(pkgdatadir)!'${MY_SHAREDSTATEDIR}'!g' {} \;
566 vivo 1.1
567 vivo 1.55 if mysql_version_is_at_least "4.1" ; then
568 chtekk 1.30 # Remove what needs to be recreated, so we're sure it's actually done
569     find . -name Makefile \
570     -o -name Makefile.in \
571     -o -name configure \
572     -exec rm -f {} \;
573     rm -f "ltmain.sh"
574 vivo 1.37 rm -f "scripts/mysqlbug"
575 chtekk 1.30 fi
576 vivo 1.1
577 vivo 1.51 local rebuilddirlist d
578 vivo 1.1
579 vivo 1.51 if mysql_version_is_at_least "5.1.12" ; then
580 chtekk 1.42 rebuilddirlist="."
581 swegener 1.74 # TODO: check this with a cmake expert
582 cardoe 1.67 use innodb \
583 vivo 1.51 && cmake \
584 chtekk 1.72 -DCMAKE_C_COMPILER=$(type -P $(tc-getCC)) \
585 robbat2 1.82 -DCMAKE_CXX_COMPILER=$(type -P $(tc-getCXX)) \
586 vivo 1.51 "storage/innobase"
587 vivo 1.1 else
588     rebuilddirlist=". innobase"
589     fi
590    
591 chtekk 1.30 for d in ${rebuilddirlist} ; do
592     einfo "Reconfiguring dir '${d}'"
593 vivo 1.4 pushd "${d}" &>/dev/null
594 vivo 1.21 AT_GNUCONF_UPDATE="yes" eautoreconf
595 vivo 1.4 popd &>/dev/null
596 vivo 1.1 done
597    
598 vivo 1.51 if mysql_check_version_range "4.1 to 5.0.99.99" \
599 cardoe 1.67 && use berkdb ; then
600 vivo 1.51 [[ -w "bdb/dist/ltmain.sh" ]] && cp -f "ltmain.sh" "bdb/dist/ltmain.sh"
601 chtekk 1.71 cp -f "/usr/share/aclocal/libtool.m4" "bdb/dist/aclocal/libtool.ac" \
602     || die "Could not copy libtool.m4 to bdb/dist/"
603 betelgeuse 1.97 #These files exist only with libtool-2*, and need to be included.
604     if [ -f '/usr/share/aclocal/ltsugar.m4' ]; then
605     cat "/usr/share/aclocal/ltsugar.m4" >> "bdb/dist/aclocal/libtool.ac"
606     cat "/usr/share/aclocal/ltversion.m4" >> "bdb/dist/aclocal/libtool.ac"
607     cat "/usr/share/aclocal/lt~obsolete.m4" >> "bdb/dist/aclocal/libtool.ac"
608     cat "/usr/share/aclocal/ltoptions.m4" >> "bdb/dist/aclocal/libtool.ac"
609     fi
610 chtekk 1.71 pushd "bdb/dist" &>/dev/null
611     sh s_all \
612     || die "Failed bdb reconfigure"
613 vivo 1.4 popd &>/dev/null
614 vivo 1.1 fi
615     }
616    
617 vivo 1.6 mysql_src_compile() {
618 chtekk 1.30 # Make sure the vars are correctly initialized
619     mysql_init_vars
620 vivo 1.1
621 chtekk 1.42 # $myconf is modified by the configure_* functions
622     local myconf=""
623 vivo 1.1
624 cardoe 1.67 if use minimal ; then
625 chtekk 1.42 configure_minimal
626 vivo 1.1 else
627 chtekk 1.42 configure_common
628 vivo 1.51 if mysql_version_is_at_least "5.1.10" ; then
629 chtekk 1.42 configure_51
630 vivo 1.1 else
631 chtekk 1.42 configure_40_41_50
632 vivo 1.1 fi
633 vivo 1.23 fi
634    
635 chtekk 1.30 # Bug #114895, bug #110149
636 vivo 1.1 filter-flags "-O" "-O[01]"
637 chtekk 1.30
638     # glib-2.3.2_pre fix, bug #16496
639 vivo 1.1 append-flags "-DHAVE_ERRNO_AS_DEFINE=1"
640    
641 vivo 1.48 CXXFLAGS="${CXXFLAGS} -fno-exceptions -fno-strict-aliasing"
642 chtekk 1.34 CXXFLAGS="${CXXFLAGS} -felide-constructors -fno-rtti"
643 vivo 1.51 mysql_version_is_at_least "5.0" \
644 chtekk 1.34 && CXXFLAGS="${CXXFLAGS} -fno-implicit-templates"
645 chtekk 1.39 export CXXFLAGS
646 vivo 1.1
647     econf \
648     --libexecdir="/usr/sbin" \
649     --sysconfdir="${MY_SYSCONFDIR}" \
650     --localstatedir="${MY_LOCALSTATEDIR}" \
651     --sharedstatedir="${MY_SHAREDSTATEDIR}" \
652     --libdir="${MY_LIBDIR}" \
653     --includedir="${MY_INCLUDEDIR}" \
654     --with-low-memory \
655     --with-client-ldflags=-lstdc++ \
656     --enable-thread-safe-client \
657     --with-comment="Gentoo Linux ${PF}" \
658     --without-docs \
659 chtekk 1.39 ${myconf} || die "econf failed"
660 vivo 1.1
661 chtekk 1.30 # TODO: Move this before autoreconf !!!
662 vivo 1.21 find . -type f -name Makefile -print0 \
663     | xargs -0 -n100 sed -i \
664     -e 's|^pkglibdir *= *$(libdir)/mysql|pkglibdir = $(libdir)|;s|^pkgincludedir *= *$(includedir)/mysql|pkgincludedir = $(includedir)|'
665 vivo 1.1
666 chtekk 1.39 emake || die "emake failed"
667 vivo 1.55
668 cardoe 1.67 mysql_version_is_at_least "5.1.12" && use pbxt && pbxt_src_compile
669 vivo 1.1 }
670    
671     mysql_src_install() {
672 chtekk 1.30 # Make sure the vars are correctly initialized
673     mysql_init_vars
674 vivo 1.1
675 chtekk 1.69 emake install DESTDIR="${D}" benchdir_root="${MY_SHAREDSTATEDIR}" || die "emake install failed"
676 vivo 1.55
677 cardoe 1.67 mysql_version_is_at_least "5.1.12" && use pbxt && pbxt_src_install
678 vivo 1.1
679     insinto "${MY_INCLUDEDIR}"
680     doins "${MY_INCLUDEDIR}"/my_{config,dir}.h
681    
682 chtekk 1.30 # Convenience links
683 chtekk 1.69 dosym "/usr/bin/mysqlcheck" "/usr/bin/mysqlanalyze"
684     dosym "/usr/bin/mysqlcheck" "/usr/bin/mysqlrepair"
685     dosym "/usr/bin/mysqlcheck" "/usr/bin/mysqloptimize"
686 vivo 1.1
687 chtekk 1.30 # Various junk (my-*.cnf moved elsewhere)
688     rm -Rf "${D}/usr/share/info"
689 vivo 1.37 for removeme in "mysql-log-rotate" mysql.server* \
690     binary-configure* my-*.cnf mi_test_all*
691     do
692 chtekk 1.30 rm -f "${D}"/usr/share/mysql/${removeme}
693 vivo 1.1 done
694    
695 chtekk 1.69 # Clean up stuff for a minimal build
696 cardoe 1.67 if use minimal ; then
697 chtekk 1.30 rm -Rf "${D}${MY_SHAREDSTATEDIR}"/{mysql-test,sql-bench}
698     rm -f "${D}"/usr/bin/{mysql{_install_db,manager*,_secure_installation,_fix_privilege_tables,hotcopy,_convert_table_format,d_multi,_fix_extensions,_zap,_explain_log,_tableinfo,d_safe,_install,_waitpid,binlog,test},myisam*,isam*,pack_isam}
699 vivo 1.26 rm -f "${D}/usr/sbin/mysqld"
700 chtekk 1.30 rm -f "${D}${MY_LIBDIR}"/lib{heap,merge,nisam,my{sys,strings,sqld,isammrg,isam},vio,dbug}.a
701 vivo 1.1 fi
702    
703 chtekk 1.30 # Configuration stuff
704 vivo 1.51 if mysql_version_is_at_least "4.1" ; then
705 chtekk 1.30 mysql_mycnf_version="4.1"
706     else
707     mysql_mycnf_version="4.0"
708     fi
709 vivo 1.1 insinto "${MY_SYSCONFDIR}"
710 vivo 1.55 doins scripts/mysqlaccess.conf
711 robbat2 1.75 sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
712 chtekk 1.30 "${FILESDIR}/my.cnf-${mysql_mycnf_version}" \
713 vivo 1.9 > "${TMPDIR}/my.cnf.ok"
714 cardoe 1.67 if mysql_version_is_at_least "4.1" && use latin1 ; then
715 chtekk 1.30 sed -e "s|utf8|latin1|g" -i "${TMPDIR}/my.cnf.ok"
716     fi
717 vivo 1.9 newins "${TMPDIR}/my.cnf.ok" my.cnf
718    
719 chtekk 1.30 # Minimal builds don't have the MySQL server
720 cardoe 1.67 if ! use minimal ; then
721 chtekk 1.30 # Empty directories ...
722 vivo 1.1 diropts "-m0750"
723     if [[ "${PREVIOUS_DATADIR}" != "yes" ]] ; then
724 robbat2 1.75 dodir "${MY_DATADIR}"
725     keepdir "${MY_DATADIR}"
726     chown -R mysql:mysql "${D}/${MY_DATADIR}"
727 vivo 1.1 fi
728    
729     diropts "-m0755"
730     for folder in "${MY_LOGDIR}" "/var/run/mysqld" ; do
731     dodir "${folder}"
732     keepdir "${folder}"
733     chown -R mysql:mysql "${D}/${folder}"
734     done
735     fi
736    
737 chtekk 1.30 # Docs
738 vivo 1.1 dodoc README COPYING ChangeLog EXCEPTIONS-CLIENT INSTALL-SOURCE
739 robbat2 1.92 doinfo "${S}"/Docs/mysql.info
740 chtekk 1.30
741     # Minimal builds don't have the MySQL server
742 cardoe 1.67 if ! use minimal ; then
743 vivo 1.1 docinto "support-files"
744     for script in \
745 robbat2 1.92 "${S}"/support-files/my-*.cnf \
746     "${S}"/support-files/magic \
747     "${S}"/support-files/ndb-config-2-node.ini
748 vivo 1.1 do
749     dodoc "${script}"
750     done
751    
752     docinto "scripts"
753 robbat2 1.92 for script in "${S}"/scripts/mysql* ; do
754 vivo 1.4 [[ "${script%.sh}" == "${script}" ]] && dodoc "${script}"
755 vivo 1.1 done
756 robbat2 1.78
757 vivo 1.1 fi
758 vivo 1.4
759 vivo 1.58 mysql_lib_symlinks "${D}"
760 vivo 1.15 }
761    
762     mysql_pkg_preinst() {
763 chtekk 1.30 enewgroup mysql 60 || die "problem adding 'mysql' group"
764     enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
765 vivo 1.1 }
766    
767     mysql_pkg_postinst() {
768 chtekk 1.30 # Make sure the vars are correctly initialized
769 vivo 1.1 mysql_init_vars
770    
771 chtekk 1.30 # Check FEATURES="collision-protect" before removing this
772 chtekk 1.69 [[ -d "${ROOT}/var/log/mysql" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
773 vivo 1.1
774 chtekk 1.30 # Secure the logfiles
775 vivo 1.1 touch "${ROOT}${MY_LOGDIR}"/mysql.{log,err}
776     chown mysql:mysql "${ROOT}${MY_LOGDIR}"/mysql*
777     chmod 0660 "${ROOT}${MY_LOGDIR}"/mysql*
778    
779 vivo 1.55 # Minimal builds don't have the MySQL server
780 cardoe 1.67 if ! use minimal ; then
781 vivo 1.55 docinto "support-files"
782     for script in \
783     support-files/my-*.cnf \
784     support-files/magic \
785     support-files/ndb-config-2-node.ini
786     do
787     dodoc "${script}"
788     done
789    
790     docinto "scripts"
791     for script in scripts/mysql* ; do
792     [[ "${script%.sh}" == "${script}" ]] && dodoc "${script}"
793     done
794 chtekk 1.69
795     einfo
796     elog "You might want to run:"
797     elog "\"emerge --config =${CATEGORY}/${PF}\""
798     elog "if this is a new install."
799     einfo
800 vivo 1.55 fi
801    
802 cardoe 1.67 if mysql_version_is_at_least "5.1.12" && use pbxt ; then
803 chtekk 1.69 # TODO: explain it better
804     elog " mysql> INSTALL PLUGIN pbxt SONAME 'libpbxt.so';"
805     elog " mysql> CREATE TABLE t1 (c1 int, c2 text) ENGINE=pbxt;"
806     elog "if, after that, you cannot start the MySQL server,"
807 vivo 1.63 elog "remove the ${MY_DATADIR}/mysql/plugin.* files, then"
808 chtekk 1.69 elog "use the MySQL upgrade script to restore the table"
809     elog "or execute the following SQL command:"
810     elog " CREATE TABLE IF NOT EXISTS plugin ("
811     elog " name char(64) binary DEFAULT '' NOT NULL,"
812     elog " dl char(128) DEFAULT '' NOT NULL,"
813     elog " PRIMARY KEY (name)"
814     elog " ) CHARACTER SET utf8 COLLATE utf8_bin;"
815 vivo 1.4 fi
816 chtekk 1.69
817 vivo 1.51 mysql_check_version_range "4.0 to 5.0.99.99" \
818 cardoe 1.67 && use berkdb \
819 chtekk 1.41 && elog "Berkeley DB support is deprecated and will be removed in future versions!"
820 vivo 1.1 }
821    
822     mysql_pkg_config() {
823 chtekk 1.30 # Make sure the vars are correctly initialized
824 vivo 1.1 mysql_init_vars
825    
826 robbat2 1.75 [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
827 chtekk 1.30
828 vivo 1.49 if built_with_use ${CATEGORY}/${PN} minimal ; then
829 vivo 1.1 die "Minimal builds do NOT include the MySQL server"
830     fi
831    
832     local pwd1="a"
833     local pwd2="b"
834     local maxtry=5
835    
836 robbat2 1.75 if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then
837 vivo 1.1 ewarn "You have already a MySQL database in place."
838 robbat2 1.75 ewarn "(${ROOT}/${MY_DATADIR}/*)"
839 vivo 1.1 ewarn "Please rename or delete it if you wish to replace it."
840     die "MySQL database already exists!"
841     fi
842    
843     einfo "Creating the mysql database and setting proper"
844 chtekk 1.30 einfo "permissions on it ..."
845 vivo 1.1
846     einfo "Insert a password for the mysql 'root' user"
847     ewarn "Avoid [\"'\\_%] characters in the password"
848 chtekk 1.30 read -rsp " >" pwd1 ; echo
849 vivo 1.1
850 chtekk 1.30 einfo "Retype the password"
851 vivo 1.1 read -rsp " >" pwd2 ; echo
852    
853     if [[ "x$pwd1" != "x$pwd2" ]] ; then
854     die "Passwords are not the same"
855     fi
856    
857     local options=""
858     local sqltmp="$(emktemp)"
859    
860 chtekk 1.30 local help_tables="${ROOT}${MY_SHAREDSTATEDIR}/fill_help_tables.sql"
861 vivo 1.1 [[ -r "${help_tables}" ]] \
862 vivo 1.8 && cp "${help_tables}" "${TMPDIR}/fill_help_tables.sql" \
863 vivo 1.1 || touch "${TMPDIR}/fill_help_tables.sql"
864     help_tables="${TMPDIR}/fill_help_tables.sql"
865    
866 vivo 1.4 pushd "${TMPDIR}" &>/dev/null
867 robbat2 1.85 "${ROOT}/usr/bin/mysql_install_db" >"${TMPDIR}"/mysql_install_db.log 2>&1
868     if [ $? -ne 0 ]; then
869     grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2
870     die "Failed to run mysql_install_db. Please review /var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
871     fi
872 vivo 1.4 popd &>/dev/null
873 robbat2 1.75 [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
874 vivo 1.26 || die "MySQL databases not installed"
875 robbat2 1.94 chown -R mysql:mysql "${ROOT}/${MY_DATADIR}" 2>/dev/null
876     chmod 0750 "${ROOT}/${MY_DATADIR}" 2>/dev/null
877 vivo 1.1
878 vivo 1.51 if mysql_version_is_at_least "4.1.3" ; then
879 vivo 1.1 options="--skip-ndbcluster"
880    
881     # Filling timezones, see
882     # http://dev.mysql.com/doc/mysql/en/time-zone-support.html
883 chtekk 1.30 "${ROOT}/usr/bin/mysql_tzinfo_to_sql" "${ROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null
884 vivo 1.1
885     if [[ -r "${help_tables}" ]] ; then
886     cat "${help_tables}" >> "${sqltmp}"
887     fi
888     fi
889    
890 chtekk 1.30 local socket="${ROOT}/var/run/mysqld/mysqld${RANDOM}.sock"
891     local pidfile="${ROOT}/var/run/mysqld/mysqld${RANDOM}.pid"
892 vivo 1.26 local mysqld="${ROOT}/usr/sbin/mysqld \
893 vivo 1.1 ${options} \
894     --user=mysql \
895     --skip-grant-tables \
896     --basedir=${ROOT}/usr \
897 robbat2 1.75 --datadir=${ROOT}/${MY_DATADIR} \
898 vivo 1.1 --skip-innodb \
899     --skip-bdb \
900     --skip-networking \
901     --max_allowed_packet=8M \
902     --net_buffer_length=16K \
903     --socket=${socket} \
904     --pid-file=${pidfile}"
905 chtekk 1.30 ${mysqld} &
906 vivo 1.1 while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
907 chtekk 1.30 maxtry=$((${maxtry}-1))
908 vivo 1.1 echo -n "."
909     sleep 1
910     done
911    
912 chtekk 1.30 # Do this from memory, as we don't want clear text passwords in temp files
913 vivo 1.1 local sql="UPDATE mysql.user SET Password = PASSWORD('${pwd1}') WHERE USER='root'"
914 chtekk 1.30 "${ROOT}/usr/bin/mysql" \
915 vivo 1.1 --socket=${socket} \
916     -hlocalhost \
917     -e "${sql}"
918    
919 chtekk 1.30 einfo "Loading \"zoneinfo\", this step may require a few seconds ..."
920 vivo 1.1
921 chtekk 1.30 "${ROOT}/usr/bin/mysql" \
922 vivo 1.1 --socket=${socket} \
923     -hlocalhost \
924     -uroot \
925     -p"${pwd1}" \
926     mysql < "${sqltmp}"
927    
928 chtekk 1.30 # Stop the server and cleanup
929 vivo 1.1 kill $(< "${pidfile}" )
930 chtekk 1.30 rm -f "${sqltmp}"
931     einfo "Stopping the server ..."
932 vivo 1.1 wait %1
933 chtekk 1.30 einfo "Done"
934 vivo 1.1 }
935    
936     mysql_pkg_postrm() {
937 chtekk 1.70 : # mysql_lib_symlinks "${D}"
938 vivo 1.25 }

  ViewVC Help
Powered by ViewVC 1.1.20