From 819aa3b86c21282e3bc26794af815e28f898dd88 Mon Sep 17 00:00:00 2001 From: Shaun Amott Date: Tue, 25 May 2010 18:12:15 +0000 Subject: New port: xtrabackup: An OpenSource version of InnoDB backup with support of Percona extensions. PR: ports/145144 [1], ports/144939 [2] Submitted by: Alex Samorukov [1], Aleksandr Kuzminsky [2] --- databases/xtrabackup/Makefile | 42 +++++++++++++++++++++++++++ databases/xtrabackup/distinfo | 3 ++ databases/xtrabackup/files/patch-Makefile | 33 +++++++++++++++++++++ databases/xtrabackup/files/patch-innobackupex | 11 +++++++ databases/xtrabackup/pkg-descr | 9 ++++++ 5 files changed, 98 insertions(+) create mode 100644 databases/xtrabackup/Makefile create mode 100644 databases/xtrabackup/distinfo create mode 100644 databases/xtrabackup/files/patch-Makefile create mode 100644 databases/xtrabackup/files/patch-innobackupex create mode 100644 databases/xtrabackup/pkg-descr (limited to 'databases/xtrabackup') diff --git a/databases/xtrabackup/Makefile b/databases/xtrabackup/Makefile new file mode 100644 index 000000000000..91883f548616 --- /dev/null +++ b/databases/xtrabackup/Makefile @@ -0,0 +1,42 @@ +# New ports collection makefile for: xtrabackup +# Date created: 29 Marc 2010 +# Whom: Alex Samorukov +# +# $FreeBSD$ +# + +PORTNAME= xtrabackup +PORTVERSION= 1.1 +CATEGORIES= databases +MASTER_SITES= http://www.percona.com/downloads/XtraBackup/XtraBackup-1.1/source/ \ + http://launchpadlibrarian.net/41612347/ + +MAINTAINER= aleksandr.kuzminsky@percona.com +COMMENT= OpenSource version of InnoDB backup with support of Percona extensions + +GNU_CONFIGURE= yes +MAKE_JOBS_SAFE= yes +USE_GMAKE= yes + +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} + +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}/libtar-1.2.11/libtar/tar4ibd ${PREFIX}/bin + +.include diff --git a/databases/xtrabackup/distinfo b/databases/xtrabackup/distinfo new file mode 100644 index 000000000000..81023ee68dae --- /dev/null +++ b/databases/xtrabackup/distinfo @@ -0,0 +1,3 @@ +MD5 (xtrabackup-1.1.tar.gz) = 0eb1db10135228e470e5dc86f7f3eeb2 +SHA256 (xtrabackup-1.1.tar.gz) = ce9d25c365e5459a5c51a54dc325789ec810d40a03649b67954a313029ab9f02 +SIZE (xtrabackup-1.1.tar.gz) = 23918777 diff --git a/databases/xtrabackup/files/patch-Makefile b/databases/xtrabackup/files/patch-Makefile new file mode 100644 index 000000000000..13876b2a71ff --- /dev/null +++ b/databases/xtrabackup/files/patch-Makefile @@ -0,0 +1,33 @@ +--- /home/shaun/local/work/dumpster/home/shaun/local/ports/databases/xtrabackup/work/xtrabackup-1.1/storage/innobase/xtrabackup/Makefile.orig 2010-05-25 17:07:27.336100000 +0000 ++++ /home/shaun/local/work/dumpster/home/shaun/local/ports/databases/xtrabackup/work/xtrabackup-1.1/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-trx0roll.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 ../libinnobase_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 ../libinnobase_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 --git a/databases/xtrabackup/files/patch-innobackupex b/databases/xtrabackup/files/patch-innobackupex new file mode 100644 index 000000000000..1b17515373e5 --- /dev/null +++ b/databases/xtrabackup/files/patch-innobackupex @@ -0,0 +1,11 @@ +--- 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 --git a/databases/xtrabackup/pkg-descr b/databases/xtrabackup/pkg-descr new file mode 100644 index 000000000000..03c42b2ad68d --- /dev/null +++ b/databases/xtrabackup/pkg-descr @@ -0,0 +1,9 @@ +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. + +WWW: http://www.percona.com/docs/wiki/percona-xtrabackup:start + +- Alex Samourov +samm@os2.kiev.ua -- cgit v1.2.3