Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 17 Mar 2012 01:15:07 +0200
From:      Alex Samorukov <samm@os2.kiev.ua>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        aleksandr.kuzminsky@percona.com
Subject:   ports/166189: [PATCH] databases/xtrabackup: update to 1.6.5
Message-ID:  <E1S8gMV-0001UG-FD@s1.sdv.com.ua>
Resent-Message-ID: <201203162320.q2GNK4IC096964@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>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@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@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@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:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E1S8gMV-0001UG-FD>