# Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ EAPI="2" inherit versionator multilib eutils rpm MY_PV=$(replace_version_separator 2 '-') MY_P="xtrabackup-${MY_PV}" MY_MV=$(get_version_component_range 1-2) DESCRIPTION="Percona XtraBackup is OpenSource online (non-blockable) backup tool for InnoDB and XtraDB engines" HOMEPAGE="http://www.percona.com/docs/wiki/percona-xtrabackup:start" SRC_URI="http://www.percona.com/downloads/XtraBackup/XtraBackup-${MY_MV}/source/${MY_P}.rhel5.src.rpm" SLOT="0" IUSE="" LICENSE="GPL-2 public-domain" KEYWORDS="~x86 ~amd64" DEPEND="virtual/mysql" src_prepare() { export MYSQLDIR="${WORKDIR}/$(ls "${WORKDIR}" | grep mysql)" export XTRABACKUPDIR="xtrabackup-${MY_MV}" export XTRADBDIR=$(ls "${WORKDIR}" | grep xtradb) export TARDIR="${WORKDIR}/$(ls "${WORKDIR}" | grep tar)" export INNOBASEDIR="${MYSQLDIR}/storage/innobase" rm -Rf "${INNOBASEDIR}" cp -R "${WORKDIR}/${XTRADBDIR}" "${INNOBASEDIR}" cp -R "${WORKDIR}/${XTRABACKUPDIR}" "${INNOBASEDIR}/xtrabackup" cd "${INNOBASEDIR}" epatch "${INNOBASEDIR}/xtrabackup/fix_innodb_for_backup_xtradb.patch" cd "${TARDIR}" tar_patch="$(ls "${INNOBASEDIR}/xtrabackup" | grep tar4ibd)" epatch "${INNOBASEDIR}/xtrabackup/${tar_patch}" sed -re 's!^INNODBOBJS=\s*\.\./lib.*$!!' -i "${INNOBASEDIR}/xtrabackup/Makefile" } src_configure() { cd "${MYSQLDIR}" econf --sysconfdir=/etc/mysql --with-zlib-dir=bundled --with-extra-charsets=complex cd "${TARDIR}" econf } src_compile() { einfo "Compile tar4idb" cd "${TARDIR}" emake einfo "Compile mysql" cd "${MYSQLDIR}" emake einfo "Compile xtrabackup" cd "${INNOBASEDIR}/xtrabackup" emake all } src_install() { cd "${TARDIR}/libtar" dobin "tar4ibd" cd "${INNOBASEDIR}/xtrabackup" ibex="$(ls | grep innobackupex)" dobin xtrabackup dobin "${ibex}" dosym "/usr/bin/${ibex}" "/usr/bin/innobackupex" }