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

Diff of /eclass/mysql-autotools.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.10 Revision 1.14
1# Copyright 1999-2012 Gentoo Foundation 1# Copyright 1999-2012 Gentoo Foundation
2# Distributed under the terms of the GNU General Public License v2 2# Distributed under the terms of the GNU General Public License v2
3# $Header: /var/cvsroot/gentoo-x86/eclass/Attic/mysql-autotools.eclass,v 1.10 2012/11/01 23:57:50 robbat2 Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/Attic/mysql-autotools.eclass,v 1.14 2013/01/28 02:13:05 robbat2 Exp $
4 4
5# @ECLASS: mysql-autotools.eclass 5# @ECLASS: mysql-autotools.eclass
6# @MAINTAINER: 6# @MAINTAINER:
7# MySQL Team <mysql-bugs@gentoo.org> 7# MySQL Team <mysql-bugs@gentoo.org>
8# Robin H. Johnson <robbat2@gentoo.org> 8# Robin H. Johnson <robbat2@gentoo.org>
15# The mysql-autotools.eclass provides the support to build the mysql 15# The mysql-autotools.eclass provides the support to build the mysql
16# ebuilds using the autotools build system. This eclass provides 16# ebuilds using the autotools build system. This eclass provides
17# the src_unpack, src_prepare, src_configure, src_compile, scr_install, 17# the src_unpack, src_prepare, src_configure, src_compile, scr_install,
18# pkg_preinst, pkg_postinst, pkg_config and pkg_postrm phase hooks. 18# pkg_preinst, pkg_postinst, pkg_config and pkg_postrm phase hooks.
19 19
20inherit autotools flag-o-matic multilib 20inherit autotools flag-o-matic multilib prefix
21 21
22# 22#
23# HELPER FUNCTIONS: 23# HELPER FUNCTIONS:
24# 24#
25 25
299 299
300 use static && \ 300 use static && \
301 plugins_sta="${plugins_sta} ${plugins_dyn}" && \ 301 plugins_sta="${plugins_sta} ${plugins_dyn}" && \
302 plugins_dyn="" 302 plugins_dyn=""
303 303
304 # Google MySQL, bundle what upstream supports
305 if [[ "${PN}" == "google-mysql" ]]; then
306 for x in innobase innodb_plugin innodb ; do
307 plugins_sta="${plugins_sta//$x}"
308 plugins_dyn="${plugins_dyn//$x}"
309 done
310 plugins_sta="${plugins_sta} innodb_plugin googlestats"
311 myconf="${myconf} --with-perftools-dir=/usr --enable-perftools-tcmalloc"
312 # use system lzo for google-mysql
313 myconf="${myconf} --with-lzo2-dir=/usr"
314 fi
315
304 einfo "Available plugins: ${plugins_avail}" 316 einfo "Available plugins: ${plugins_avail}"
305 einfo "Dynamic plugins: ${plugins_dyn}" 317 einfo "Dynamic plugins: ${plugins_dyn}"
306 einfo "Static plugins: ${plugins_sta}" 318 einfo "Static plugins: ${plugins_sta}"
307 einfo "Disabled plugins: ${plugins_dis}" 319 einfo "Disabled plugins: ${plugins_dis}"
308 320
407 einfo "Adding storage engine: PBXT" 419 einfo "Adding storage engine: PBXT"
408 pushd "${S}"/storage >/dev/null 420 pushd "${S}"/storage >/dev/null
409 i='pbxt' 421 i='pbxt'
410 [ -d "${i}" ] && rm -rf "${i}" 422 [ -d "${i}" ] && rm -rf "${i}"
411 cp -ral "${WORKDIR}/${PBXT_P}" "${i}" 423 cp -ral "${WORKDIR}/${PBXT_P}" "${i}"
424 f="${WORKDIR}/mysql-extras/pbxt/fix-low-priority.patch"
425 [[ -f $f ]] && epatch "$f"
412 popd >/dev/null 426 popd >/dev/null
413 fi 427 fi
414 428
415 rebuilddirlist="." 429 rebuilddirlist="."
416 # This does not seem to be needed presently. robbat2 2010/02/23 430 # This does not seem to be needed presently. robbat2 2010/02/23
459 filter-flags "-fstack-protector-all" 473 filter-flags "-fstack-protector-all"
460 fi 474 fi
461 475
462 CXXFLAGS="${CXXFLAGS} -fno-exceptions -fno-strict-aliasing" 476 CXXFLAGS="${CXXFLAGS} -fno-exceptions -fno-strict-aliasing"
463 CXXFLAGS="${CXXFLAGS} -felide-constructors -fno-rtti" 477 CXXFLAGS="${CXXFLAGS} -felide-constructors -fno-rtti"
478 # storage/googlestats, sql/ in google-mysql are using C++ templates
479 # implicitly. Upstream might be interested in this, exclude
480 # -fno-implicit-templates for google-mysql for now.
464 mysql_version_is_at_least "5.0" \ 481 mysql_version_is_at_least "5.0" \
482 && [[ "${PN}" != "google-mysql" ]] \
465 && CXXFLAGS="${CXXFLAGS} -fno-implicit-templates" 483 && CXXFLAGS="${CXXFLAGS} -fno-implicit-templates"
466 export CXXFLAGS 484 export CXXFLAGS
467 485
468 # bug #283926, with GCC4.4, this is required to get correct behavior. 486 # bug #283926, with GCC4.4, this is required to get correct behavior.
469 append-flags -fno-strict-aliasing 487 append-flags -fno-strict-aliasing
580 if use latin1 ; then 598 if use latin1 ; then
581 sed -i \ 599 sed -i \
582 -e "/character-set/s|utf8|latin1|g" \ 600 -e "/character-set/s|utf8|latin1|g" \
583 "${TMPDIR}/my.cnf.ok" 601 "${TMPDIR}/my.cnf.ok"
584 fi 602 fi
603 eprefixify "${TMPDIR}/my.cnf.ok"
585 newins "${TMPDIR}/my.cnf.ok" my.cnf 604 newins "${TMPDIR}/my.cnf.ok" my.cnf
586 605
587 # Minimal builds don't have the MySQL server 606 # Minimal builds don't have the MySQL server
588 if ! use minimal ; then 607 if ! use minimal ; then
589 einfo "Creating initial directories" 608 einfo "Creating initial directories"
590 # Empty directories ... 609 # Empty directories ...
591 diropts "-m0750" 610 diropts "-m0750"
611 keepdir "${MY_DATADIR#${EPREFIX}}"
592 if [[ "${PREVIOUS_DATADIR}" != "yes" ]] ; then 612 if [[ "${PREVIOUS_DATADIR}" != "yes" ]] ; then
593 dodir "${MY_DATADIR#${EPREFIX}}"
594 keepdir "${MY_DATADIR#${EPREFIX}}"
595 chown -R mysql:mysql "${D}/${MY_DATADIR}" 613 chown -R mysql:mysql "${D}/${MY_DATADIR}"
596 fi 614 fi
597 615
598 diropts "-m0755" 616 diropts "-m0755"
599 for folder in "${MY_LOGDIR#${EPREFIX}}" "/var/run/mysqld" ; do 617 for folder in "${MY_LOGDIR#${EPREFIX}}" "/var/run/mysqld" ; do

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.14

  ViewVC Help
Powered by ViewVC 1.1.20