porting percona's xtrabackup (currently version 1.6.4)

claudiu vasadi claudiu.vasadi at gmail.com
Thu Feb 9 20:21:36 UTC 2012


Hi guys,

A bit more progress now:

PORTNAME=    xtrabackup
PORTVERSION=    1.6.4
CATEGORIES=    databases
MASTER_SITES=
http://www.percona.com/downloads/XtraBackup/XtraBackup-1.6.4/source/

MAINTAINER=    claudiu.vasadi at gmail.com
COMMENT=    OpenSource version of InnoDB backup with support of Percona
extensions

MAKE_JOBS_SAFE=    yes

OPTIONS=        INNODB51_BUILTIN    "built-in InnoDB in MySQL 5.1"
off \
                INNODB55        "InnoDB in MySQL 5.5"            off \
        XTRADB51        "Percona Server with XtraDB 5.1"    off \
                XTRADB55        "Percona Server with XtraDB 5.5"    off

BUILD_DEPENDS=  bash:${PORTSDIR}/shells/bash \
        wget:${PORTSDIR}/ftp/wget \
        automake-1.11:${PORTSDIR}/devel/automake

HAS_CONFIGURE=        yes
CONFIGURE_ENV=        AUTO_DOWNLOAD="yes"
CONFIGURE_WRKSRC=    ${WRKSRC}
CONFIGURE_SCRIPT=    utils/build.sh


.include <bsd.port.options.mk>

.if defined(WITH_INNODB51_BUILTIN)
   CONFIGURE_ARGS+=    innodb51_builtin
.endif

.if defined(WITH_INNODB55)
   CONFIGURE_ARGS+=    innodb55
.endif

.if defined(WITH_XTRADB51)
   RUN_DEPENDS+=    bzr:${PORTSDIR}/devel/bazaar-ng
   CONFIGURE_ARGS+=    xtradb51
.endif

.if defined(WITH_XTRADB55)
   RUN_DEPENDS+=        bzr:${PORTSDIR}/devel/bazaar-ng
   CONFIGURE_ARGS+=    xtradb55
.endif


NO_BUILD=        yes
NO_INSTALL=        yes




#
# install process goes here
#

.include <bsd.port.mk>




At this point, the port builds correctly according to the ${OPTIONS}
selected but am stuck @ the installation part now.
The problem is that the "build.sh" script creates a dir for each option
selected and that's where the executable(s) reside. For more info on the
dir name for each option, see
http://www.percona.com/doc/percona-xtrabackup/installation/compiling_xtrabackup.html(the
table at the very bottom).

Basically, I'm left with these points:
# 1) make install (cp the correct executables to the proper location and
adjust line 87 of "innobackupex" to point to the location of the "
xtrabackup" utility)
# 2) man pages
# 3) pkg_plist
# 4) make the port safe (if no option is selected (not by default) warn and
exit)


Any thoughts ?

-- 
Best regards,
Claudiu Vasadi


More information about the freebsd-ports mailing list