ports/166189: [PATCH] databases/xtrabackup: update to 1.6.5
Alex Samorukov
samm at os2.kiev.ua
Fri Mar 16 23:20:05 UTC 2012
>Number: 166189
>Category: ports
>Synopsis: [PATCH] databases/xtrabackup: update to 1.6.5
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: update
>Submitter-Id: current-users
>Arrival-Date: Fri Mar 16 23:20:04 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator: Alex Samorukov
>Release: FreeBSD 7.4-RELEASE-p6 i386
>Organization:
Net-Art
>Environment:
System: FreeBSD s1.sdv.com.ua 7.4-RELEASE-p6 FreeBSD 7.4-RELEASE-p6 #10: Tue Mar 6 21:00:42 EET
>Description:
- Update to 1.6.5
- Fix CLANG build
- Update description
Some comments: This port using a lot of different tools to build because it
internally builds part of patched MySQL 5.5 and 5.1.
Added file(s):
- files/patch-build.sh
Removed file(s):
- files/patch-Makefile
- files/patch-innobackupex
Port maintainer (aleksandr.kuzminsky at percona.com) is cc'd.
Generated with FreeBSD Port Tools 0.99_4 (mode: update, diff: ports)
>How-To-Repeat:
>Fix:
--- xtrabackup-1.6.5.patch begins here ---
diff -ruN --exclude=CVS /usr/ports/databases/xtrabackup/Makefile ./Makefile
--- /usr/ports/databases/xtrabackup/Makefile 2010-05-25 21:12:14.000000000 +0300
+++ ./Makefile 2012-03-16 22:35:41.000000000 +0200
@@ -6,37 +6,74 @@
#
PORTNAME= xtrabackup
-PORTVERSION= 1.1
+PORTVERSION= 1.6.5
CATEGORIES= databases
-MASTER_SITES= http://www.percona.com/downloads/XtraBackup/XtraBackup-1.1/source/ \
- http://launchpadlibrarian.net/41612347/
+MASTER_SITES= ${MASTER_SITE_MYSQL_GRP} \
+ http://downloads.skysql.com/archives/mysql-5.5/:mysql55 \
+ http://downloads.mysql.com/archives/mysql-5.5/:mysql55 \
+ http://www.percona.com/downloads/%SUBDIR%/:xtrabackup,libtar,percsrc51,percsrc55 \
+ http://samm.kiev.ua/percona/:percsrc51,percsrc55 \
+ ftp://ftp.feep.net/pub/software/libtar/:libtar
+DISTFILES= mysql-${MYSQL51_SRCVER}.tar.gz:mysql51 mysql-${MYSQL55_SRCVER}.tar.gz:mysql55 \
+ xtrabackup-${PORTVERSION}.tar.gz:xtrabackup libtar-1.2.11.tar.gz:libtar \
+ Percona-Server-5.1.59-13.0-patches.tar.gz:percsrc51 \
+ Percona-Server-5.5.16-22.0-patches.tar.gz:percsrc55
+EXTRACT_ONLY= xtrabackup-${PORTVERSION}.tar.gz
MAINTAINER= aleksandr.kuzminsky at percona.com
COMMENT= OpenSource version of InnoDB backup with support of Percona extensions
-GNU_CONFIGURE= yes
+LICENSE= GPLv2
+
+# MySQL 5.5 using CMAKE, quilt is requiered by build.sh
+BUILD_DEPENDS= bash:${PORTSDIR}/shells/bash quilt:${PORTSDIR}/devel/quilt \
+ cmake:${PORTSDIR}/devel/cmake bison:${PORTSDIR}/devel/bison
+
+# autotool is in use for 5.1 builds
MAKE_JOBS_SAFE= yes
USE_GMAKE= yes
+USE_PERL5= yes
+USE_AUTOTOOLS= automake autoheader autoconf libtool aclocal
-CONFIGURE_ARGS= --localstatedir=/var/db/mysql \
- --without-debug \
- --without-readline \
- --without-libedit \
- --without-server \
- --with-libwrap \
- --with-low-memory \
- --enable-thread-safe-client \
- --with-named-thread-libs="${PTHREAD_LIBS}"
-
-PLIST_FILES= bin/xtrabackup bin/tar4ibd bin/innobackupex-1.5.1
-
-post-build:
- cd ${WRKSRC}/storage/innobase/xtrabackup && ${GMAKE}
- cd ${WRKSRC}/libtar-1.2.11 && ./configure && ${GMAKE}
+# use MASTER_SITE_MYSQL for the MySQL 5.1
+MASTER_SITE_MYSQL_GRP= ${MASTER_SITE_MYSQL:S@%SUBDIR%/@%SUBDIR%/:mysql51 at g}
+MASTER_SITE_SUBDIR= MySQL-5.1/:mysql51 community/:libtar \
+ XtraBackup/XtraBackup-1.6.5/source/:xtrabackup \
+ Percona-Server-5.1/Percona-Server-5.1.59-13.0/source/:percsrc51 \
+ Percona-Server-5.5/Percona-Server-5.5.16-22.0/source/:percsrc55
+
+# port needs MySQL sources to build
+MYSQL51_SRCVER=5.1.59
+MYSQL55_SRCVER=5.5.16
+
+PLIST_FILES= bin/xtrabackup bin/xtrabackup_51 bin/xtrabackup_55 bin/tar4ibd bin/innobackupex
+
+pre-build:
+ ${CP} ${DISTDIR}/xtrabackup-${PORTVERSION}.tar.gz ${DISTDIR}/libtar-1.2.11.tar.gz \
+ ${DISTDIR}/mysql-${MYSQL51_SRCVER}.tar.gz ${DISTDIR}/mysql-${MYSQL55_SRCVER}.tar.gz \
+ ${DISTDIR}/Percona-Server-5.1.59-13.0-patches.tar.gz \
+ ${DISTDIR}/Percona-Server-5.5.16-22.0-patches.tar.gz ${WRKSRC}
+
+do-build:
+ cd ${WRKSRC} && ./utils/build.sh 5.1
+ cd ${WRKSRC} && ./utils/build.sh xtradb
+ cd ${WRKSRC} && ./utils/build.sh xtradb55
do-install:
- @${INSTALL_PROGRAM} ${WRKSRC}/storage/innobase/xtrabackup/xtrabackup ${PREFIX}/bin
- @${INSTALL_SCRIPT} ${WRKSRC}/storage/innobase/xtrabackup/innobackupex-1.5.1 ${PREFIX}/bin
+ @${INSTALL_PROGRAM} ${WRKSRC}/Percona-Server/storage/innodb_plugin/xtrabackup/xtrabackup ${PREFIX}/bin
+ @${INSTALL_PROGRAM} ${WRKSRC}/Percona-Server-5.5/storage/innobase/xtrabackup/xtrabackup_55 ${PREFIX}/bin
+ @${INSTALL_PROGRAM} ${WRKSRC}/mysql-5.1/storage/innobase/xtrabackup/xtrabackup_51 ${PREFIX}/bin
+ @${INSTALL_SCRIPT} ${WRKSRC}/innobackupex ${PREFIX}/bin
@${INSTALL_PROGRAM} ${WRKSRC}/libtar-1.2.11/libtar/tar4ibd ${PREFIX}/bin
+# autoconf is running by build.sh
+do-configure:
+run-autotools-aclocal:
+run-autotools-automake:
+run-autotools-autoconf:
+run-autotools-autoheader:
+run-autotools-libtoolize:
+patch-autotools-libtool:
+ @${TRUE}
+
.include <bsd.port.mk>
diff -ruN --exclude=CVS /usr/ports/databases/xtrabackup/distinfo ./distinfo
--- /usr/ports/databases/xtrabackup/distinfo 2011-03-20 14:48:10.000000000 +0200
+++ ./distinfo 2012-03-16 22:35:41.000000000 +0200
@@ -1,2 +1,12 @@
-SHA256 (xtrabackup-1.1.tar.gz) = ce9d25c365e5459a5c51a54dc325789ec810d40a03649b67954a313029ab9f02
-SIZE (xtrabackup-1.1.tar.gz) = 23918777
+SHA256 (mysql-5.1.59.tar.gz) = f87b99b73c0d936ed892326ebd4c90b1d5c7d5d2ac8832fc62f538db99fb04f7
+SIZE (mysql-5.1.59.tar.gz) = 24325443
+SHA256 (mysql-5.5.16.tar.gz) = 38a88d5f3a4e0ab1c6722662a2c858c63fd98f0925691400282cb23f1ea29b70
+SIZE (mysql-5.5.16.tar.gz) = 23816508
+SHA256 (xtrabackup-1.6.5.tar.gz) = b9c789a6304712483d9e457a6a39f0c16c9bd028aa0124f7689f814833fdf990
+SIZE (xtrabackup-1.6.5.tar.gz) = 933213
+SHA256 (libtar-1.2.11.tar.gz) = 4a2eefb6b7088f41de57356e5059cbf1f917509b4a810f7c614625a378e87bb8
+SIZE (libtar-1.2.11.tar.gz) = 145354
+SHA256 (Percona-Server-5.1.59-13.0-patches.tar.gz) = 76f9398d1637c9cfc1b64e35cd272b70ddc71cfb6f00abd2fe6e62918fa920b5
+SIZE (Percona-Server-5.1.59-13.0-patches.tar.gz) = 1203994
+SHA256 (Percona-Server-5.5.16-22.0-patches.tar.gz) = 30d14443027cbcef4266385adfeb385af62cf5551ca044ae83539673497be4be
+SIZE (Percona-Server-5.5.16-22.0-patches.tar.gz) = 1141266
diff -ruN --exclude=CVS /usr/ports/databases/xtrabackup/files/patch-Makefile ./files/patch-Makefile
--- /usr/ports/databases/xtrabackup/files/patch-Makefile 2010-05-25 22:35:48.000000000 +0300
+++ ./files/patch-Makefile 1970-01-01 03:00:00.000000000 +0300
@@ -1,33 +0,0 @@
---- storage/innobase/xtrabackup/Makefile.orig 2010-05-25 17:07:27.336100000 +0000
-+++ storage/innobase/xtrabackup/Makefile 2010-05-25 17:07:35.679748000 +0000
-@@ -1,4 +1,4 @@
--LIBS= -lpthread
-+LIBS= -lpthread -lz
- DEFS= -DUNIV_LINUX -DMYSQL_SERVER
-
- #x86 Linux
-@@ -32,7 +32,7 @@
- INC= -I. -I.. -I./../include -I./../../include -I./../../../include
- INNODBOBJS= ../ha_innodb_la-btr0btr.o ../ha_innodb_la-btr0cur.o ../ha_innodb_la-btr0pcur.o ../ha_innodb_la-btr0sea.o ../ha_innodb_la-buf0buddy.o ../ha_innodb_la-buf0buf.o ../ha_innodb_la-buf0flu.o ../ha_innodb_la-buf0lru.o ../ha_innodb_la-buf0rea.o ../ha_innodb_la-data0data.o ../ha_innodb_la-data0type.o ../ha_innodb_la-dict0boot.o ../ha_innodb_la-dict0crea.o ../ha_innodb_la-dict0dict.o ../ha_innodb_la-dict0load.o ../ha_innodb_la-dict0mem.o ../ha_innodb_la-dyn0dyn.o ../ha_innodb_la-eval0eval.o ../ha_innodb_la-eval0proc.o ../ha_innodb_la-fil0fil.o ../ha_innodb_la-fsp0fsp.o ../ha_innodb_la-fut0fut.o ../ha_innodb_la-fut0lst.o ../ha_innodb_la-ha0ha.o ../ha_innodb_la-ha0storage.o ../ha_innodb_la-hash0hash.o ../ha_innodb_la-ibuf0ibuf.o ../ha_innodb_la-lock0iter.o ../ha_innodb_la-lock0lock.o ../ha_innodb_la-log0log.o ../ha_innodb_la-log0recv.o ../ha_innodb_la-mach0data.o ../ha_innodb_la-mem0mem.o ../ha_innodb_la-mem0pool.o ../ha_innodb_la-mtr0log.o ../ha_innodb_la-mtr0mtr.o ../ha_innodb_la
-os0file.o ../ha_innodb_la-os0proc.o ../ha_innodb_la-os0sync.o ../ha_innodb_la-os0thread.o ../ha_innodb_la-page0cur.o ../ha_innodb_la-page0page.o ../ha_innodb_la-page0zip.o ../ha_innodb_la-lexyy.o ../ha_innodb_la-pars0grm.o ../ha_innodb_la-pars0opt.o ../ha_innodb_la-pars0pars.o ../ha_innodb_la-pars0sym.o ../ha_innodb_la-que0que.o ../ha_innodb_la-read0read.o ../ha_innodb_la-rem0cmp.o ../ha_innodb_la-rem0rec.o ../ha_innodb_la-row0ext.o ../ha_innodb_la-row0ins.o ../ha_innodb_la-row0merge.o ../ha_innodb_la-row0mysql.o ../ha_innodb_la-row0purge.o ../ha_innodb_la-row0row.o ../ha_innodb_la-row0sel.o ../ha_innodb_la-row0uins.o ../ha_innodb_la-row0umod.o ../ha_innodb_la-row0undo.o ../ha_innodb_la-row0upd.o ../ha_innodb_la-row0vers.o ../ha_innodb_la-srv0que.o ../ha_innodb_la-srv0srv.o ../ha_innodb_la-srv0start.o ../ha_innodb_la-sync0arr.o ../ha_innodb_la-sync0rw.o ../ha_innodb_la-sync0sync.o ../ha_innodb_la-thr0loc.o ../ha_innodb_la-trx0purge.o ../ha_innodb_la-trx0rec.o ../ha_innodb_la-trx0ro
ll.o ../ha_innodb_la-trx0rseg.o ../ha_innodb_la-trx0sys.o ../ha_innodb_la-trx0trx.o ../ha_innodb_la-trx0undo.o ../ha_innodb_la-usr0sess.o ../ha_innodb_la-ut0byte.o ../ha_innodb_la-ut0dbg.o ../ha_innodb_la-ut0list.o ../ha_innodb_la-ut0mem.o ../ha_innodb_la-ut0rnd.o ../ha_innodb_la-ut0ut.o ../ha_innodb_la-ut0vec.o ../ha_innodb_la-ut0wqueue.o
- INNODBOBJS= ../libinnobase_a-btr0btr.o ../libinnobase_a-btr0cur.o ../libinnobase_a-btr0pcur.o ../libinnobase_a-btr0sea.o ../libinnobase_a-buf0buddy.o ../libinnobase_a-buf0buf.o ../libinnobase_a-buf0flu.o ../libinnobase_a-buf0lru.o ../libinnobase_a-buf0rea.o ../libinnobase_a-data0data.o ../libinnobase_a-data0type.o ../libinnobase_a-dict0boot.o ../libinnobase_a-dict0crea.o ../libinnobase_a-dict0dict.o ../libinnobase_a-dict0load.o ../libinnobase_a-dict0mem.o ../libinnobase_a-dyn0dyn.o ../libinnobase_a-eval0eval.o ../libinnobase_a-eval0proc.o ../libinnobase_a-fil0fil.o ../libinnobase_a-fsp0fsp.o ../libinnobase_a-fut0fut.o ../libinnobase_a-fut0lst.o ../libinnobase_a-ha0ha.o ../libinnobase_a-ha0storage.o ../libinnobase_a-hash0hash.o ../libinnobase_a-ibuf0ibuf.o ../libinnobase_a-lock0iter.o ../libinnobase_a-lock0lock.o ../libinnobase_a-log0log.o ../libinnobase_a-log0recv.o ../libinnobase_a-mach0data.o ../libinnobase_a-mem0mem.o ../libinnobase_a-mem0pool.o ../libinnobase_a-mtr0log.o ../lib
innobase_a-mtr0mtr.o ../libinnobase_a-os0file.o ../libinnobase_a-os0proc.o ../libinnobase_a-os0sync.o ../libinnobase_a-os0thread.o ../libinnobase_a-page0cur.o ../libinnobase_a-page0page.o ../libinnobase_a-page0zip.o ../libinnobase_a-lexyy.o ../libinnobase_a-pars0grm.o ../libinnobase_a-pars0opt.o ../libinnobase_a-pars0pars.o ../libinnobase_a-pars0sym.o ../libinnobase_a-que0que.o ../libinnobase_a-read0read.o ../libinnobase_a-rem0cmp.o ../libinnobase_a-rem0rec.o ../libinnobase_a-row0ext.o ../libinnobase_a-row0ins.o ../libinnobase_a-row0merge.o ../libinnobase_a-row0mysql.o ../libinnobase_a-row0purge.o ../libinnobase_a-row0row.o ../libinnobase_a-row0sel.o ../libinnobase_a-row0uins.o ../libinnobase_a-row0umod.o ../libinnobase_a-row0undo.o ../libinnobase_a-row0upd.o ../libinnobase_a-row0vers.o ../libinnobase_a-srv0que.o ../libinnobase_a-srv0srv.o ../libinnobase_a-srv0start.o ../libinnobase_a-sync0arr.o ../libinnobase_a-sync0rw.o ../libinnobase_a-sync0sync.o ../libinnobase_a-thr0loc.o ../li
binnobase_a-trx0purge.o ../libinnobase_a-trx0rec.o ../libinnobase_a-trx0roll.o ../libinnobase_a-trx0rseg.o ../libinnobase_a-trx0sys.o ../libinnobase_a-trx0trx.o ../libinnobase_a-trx0undo.o ../libinnobase_a-usr0sess.o ../libinnobase_a-ut0byte.o ../libinnobase_a-ut0dbg.o ../libinnobase_a-ut0list.o ../libinnobase_a-ut0mem.o ../libinnobase_a-ut0rnd.o ../libinnobase_a-ut0ut.o ../libinnobase_a-ut0vec.o ../libinnobase_a-ut0wqueue.o
--MYSQLOBJS= ../../../mysys/libmysys.a ../../../strings/libmystrings.a ../../../zlib/.libs/libzlt.a
-+MYSQLOBJS= ../../../mysys/libmysys.a ../../../strings/libmystrings.a
-
-
-
-@@ -42,7 +42,7 @@
- .c.o:
- $(CC) $(CFLAGS) $(INC) $(DEFS) -c $*.c
-
--all: xtrabackup
-+all: buildobj xtrabackup
-
- xtrabackup : xtrabackup.o $(INNODBOBJS) $(MYSQLOBJS)
- $(CC) $(CFLAGS) xtrabackup.o $(INNODBOBJS) $(MYSQLOBJS) $(LIBS) -o xtrabackup
-@@ -53,3 +53,6 @@
- install:
- cp innobackupex-1.5.1 /usr/bin
- cp xtrabackup /usr/bin
-+
-+buildobj:
-+ cd ../ && $(MAKE) `echo $(INNODBOBJS)|sed 's/..\///g'`
diff -ruN --exclude=CVS /usr/ports/databases/xtrabackup/files/patch-build.sh ./files/patch-build.sh
--- /usr/ports/databases/xtrabackup/files/patch-build.sh 1970-01-01 03:00:00.000000000 +0300
+++ ./files/patch-build.sh 2012-03-16 22:35:41.000000000 +0200
@@ -0,0 +1,37 @@
+--- utils/build.sh 2012-02-10 15:54:51.000000000 +0100
++++ utils/build.sh 2012-03-16 20:53:58.366366222 +0100
+@@ -225,9 +225,14 @@
+ bzr revert
+ bzr pull --overwrite
+ else
+- bzr branch -r tag:Percona-Server-$PS_51_VERSION \
+- lp:percona-server/5.1 $branch_dir
++ #bzr branch -r tag:Percona-Server-$PS_51_VERSION \
++ # lp:percona-server/5.1 $branch_dir
++ tar -xvzf Percona-Server-${PS_51_VERSION}-patches.tar.gz
++ ln -sf Percona-Server-${PS_51_VERSION}-patches $branch_dir
++ ln mysql-${MYSQL_51_VERSION}.tar.gz $branch_dir
+ cd $branch_dir
++ #fix for cmake, from https://bugs.launchpad.net/percona-xtradb/+bug/666223
++ sed -i .orig 's/inline void _increment_page_get_statistics/void _increment_page_get_statistics/' patches/innodb_extend_slow.patch
+ fi
+
+ $MAKE_CMD main
+@@ -283,9 +288,15 @@
+ bzr revert
+ bzr pull --overwrite
+ else
+- bzr branch -r tag:Percona-Server-$PS_55_VERSION \
+- lp:percona-server $branch_dir
++# bzr branch -r tag:Percona-Server-$PS_55_VERSION \
++# lp:percona-server $branch_dir
++ tar -xvzf Percona-Server-${PS_55_VERSION}-patches.tar.gz
++ ln -sf Percona-Server-${PS_55_VERSION}-patches $branch_dir
++ ln mysql-5.5.16.tar.gz $branch_dir
+ cd $branch_dir
++ #fix for cmake, from https://bugs.launchpad.net/percona-xtradb/+bug/666223
++ sed -i .orig 's/inline void _increment_page_get_statistics/void _increment_page_get_statistics/' patches/innodb_extend_slow.patch
++
+ fi
+
+ $MAKE_CMD PERCONA_SERVER=Percona-Server-5.5 main
diff -ruN --exclude=CVS /usr/ports/databases/xtrabackup/files/patch-innobackupex ./files/patch-innobackupex
--- /usr/ports/databases/xtrabackup/files/patch-innobackupex 2010-05-25 21:12:15.000000000 +0300
+++ ./files/patch-innobackupex 1970-01-01 03:00:00.000000000 +0300
@@ -1,11 +0,0 @@
---- storage/innobase/xtrabackup/innobackupex-1.5.1.orig 2010-03-29 02:44:57.000000000 +0300
-+++ storage/innobase/xtrabackup/innobackupex-1.5.1 2010-03-29 02:45:07.000000000 +0300
-@@ -81,7 +81,7 @@
- my $option_no_timestamp = '';
- my $option_slave_info = '';
- my $option_no_lock = '';
--my $option_ibbackup_binary = 'xtrabackup';
-+my $option_ibbackup_binary = '/usr/local/bin/xtrabackup';
-
- my $option_defaults_file = '';
- my $option_incremental = '';
diff -ruN --exclude=CVS /usr/ports/databases/xtrabackup/pkg-descr ./pkg-descr
--- /usr/ports/databases/xtrabackup/pkg-descr 2011-10-23 02:50:22.000000000 +0300
+++ ./pkg-descr 2012-03-16 22:35:41.000000000 +0200
@@ -1,6 +1,6 @@
-Percona XtraBackup is OpenSource online (non-blockable) backup solution for
-InnoDB and XtraDB engines. It works with MySQL 5.0 and 5.1 versions (InnoDB
-Plugin and Barracuda format is supported as of release 0.9.5rc) and also can
-handle MyISAM tables.
+Percona XtraBackup is OpenSource online (non-blockable) backup solution for
+InnoDB and XtraDB engines. It can back up data from InnoDB, XtraDB, and MyISAM
+tables on unmodified MySQL 5.0, 5.1 and 5.5 servers, as well as Percona Server
+with XtraDB.
-WWW: http://www.percona.com/docs/wiki/percona-xtrabackup:start
+WWW: http://www.percona.com/doc/percona-xtrabackup/
--- xtrabackup-1.6.5.patch ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list