[48493] trunk/dports/databases

jmr at macports.org jmr at macports.org
Mon Mar 23 13:20:36 PDT 2009


Revision: 48493
          http://trac.macports.org/changeset/48493
Author:   jmr at macports.org
Date:     2009-03-23 13:20:35 -0700 (Mon, 23 Mar 2009)
Log Message:
-----------
New port: mysql-zrm (#15266)

Added Paths:
-----------
    trunk/dports/databases/mysql-zrm/
    trunk/dports/databases/mysql-zrm/Portfile
    trunk/dports/databases/mysql-zrm/files/
    trunk/dports/databases/mysql-zrm/files/patch-mysql-zrm-4
    trunk/dports/databases/mysql-zrm/files/patch-mysql-zrm-backup-0
    trunk/dports/databases/mysql-zrm/files/patch-mysql-zrm-scheduler-3
    trunk/dports/databases/mysql-zrm/files/patch-mysql-zrm-verify-backup-1
    trunk/dports/databases/mysql-zrm/files/patch-zrm-pre-scheduler-2

Added: trunk/dports/databases/mysql-zrm/Portfile
===================================================================
--- trunk/dports/databases/mysql-zrm/Portfile	                        (rev 0)
+++ trunk/dports/databases/mysql-zrm/Portfile	2009-03-23 20:20:35 UTC (rev 48493)
@@ -0,0 +1,96 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+# $Id$
+
+PortSystem		1.0
+
+name			mysql-zrm
+version			2.0
+categories		databases sysutils
+maintainers		bitwrangler.com:kmayer
+description		Zmanda Recovery Manager for MySQL
+long_description	Zmanda Recovery Manager (ZRM) \
+	for MySQL simplifies the life of a Database Administrator \
+	who needs an easy-to-use yet flexible and robust backup and \
+	recovery solution for MySQL server. You can find a \
+	quick start guide at: http://www.zmanda.com/quick-mysql-backup.html
+homepage		http://www.zmanda.com/backup-mysql.html
+platforms       	darwin
+master_sites		http://www.zmanda.com/downloads/community/ZRM-MySQL/${version}/Source/
+distname		MySQL-zrm-${version}
+checksums		md5 13a82abeb181d265af553770d1db6718 \
+				sha1 fbc38a346755fb228296af2a447cb5fd74d5d246
+depends_lib		port:p5-dbi \
+			port:p5-xml-parser
+use_configure		no
+patchfiles		patch-mysql-zrm-backup-0 \
+			patch-mysql-zrm-verify-backup-1 \
+			patch-zrm-pre-scheduler-2 \
+			patch-mysql-zrm-scheduler-3 \
+			patch-mysql-zrm-4
+destroot.keepdirs	${destroot}${prefix}/var/lib/mysql-zrm \
+			${destroot}${prefix}/var/log/mysql-zrm
+
+post-patch {
+	# Not the most efficient way to do this, but much more readable
+	foreach f [exec find ${worksrcpath} -type f -print] {
+		reinplace "s|/opt/csw/bin|${prefix}/bin|" ${f}
+		reinplace "s|/usr/bin/perl|${prefix}/bin/perl|" ${f}
+		reinplace "s|/usr/bin/mysql-zrm|${prefix}/bin/mysql-zrm|" ${f}
+		reinplace "s|/usr/lib/mysql-zrm|${prefix}/lib/mysql-zrm|" ${f}
+		reinplace "s|/usr/share/mysql-zrm|${prefix}/share/mysql-zrm|" ${f}
+		reinplace "s|/etc/mysql-zrm|${prefix}/etc/mysql-zrm|" ${f}
+		reinplace "s|/var/lib|${prefix}/var/lib|" ${f}
+		reinplace "s|/var/log|${prefix}/var/log|" ${f}
+	}
+	reinplace "s|@BINPATH@|${prefix}/bin|" \
+		${worksrcpath}/usr/bin/zrm-pre-scheduler \
+		${worksrcpath}/usr/bin/mysql-zrm-scheduler \
+		${worksrcpath}/usr/bin/mysql-zrm
+}
+
+build {}
+
+destroot {
+	xinstall -m 755 -d ${destroot}${prefix}/bin
+	eval xinstall -m 755 [glob ${worksrcpath}/usr/bin/*] \
+		${destroot}${prefix}/bin
+
+	xinstall -m 755 -d ${destroot}${prefix}/lib/mysql-zrm/Data/Report/Plugin
+	xinstall -m 444 ${worksrcpath}/usr/lib/mysql-zrm/Data/Report.pm \
+		${destroot}${prefix}/lib/mysql-zrm/Data
+	xinstall -m 444 ${worksrcpath}/usr/lib/mysql-zrm/Data/Report/Base.pm \
+		${destroot}${prefix}/lib/mysql-zrm/Data/Report
+	eval xinstall -m 444 [glob ${worksrcpath}/usr/lib/mysql-zrm/Data/Report/Plugin/*] \
+		 ${destroot}${prefix}/lib/mysql-zrm/Data/Report/Plugin
+
+	xinstall -m 755 -d ${destroot}${prefix}/lib/mysql-zrm/XML
+	eval xinstall -m 444 [glob ${worksrcpath}/usr/lib/mysql-zrm/XML/*] \
+		${destroot}${prefix}/lib/mysql-zrm/XML
+
+	xinstall -m 755 -d ${destroot}${prefix}/lib/mysql-zrm/ZRM
+	eval xinstall -m 444 [glob ${worksrcpath}/usr/lib/mysql-zrm/ZRM/*] \
+		${destroot}${prefix}/lib/mysql-zrm/ZRM
+
+	xinstall -m 755 -d ${destroot}${prefix}/share/doc/MySQL-zrm-2.0
+	eval xinstall -m 444 [glob ${worksrcpath}/usr/share/doc/MySQL-zrm-2.0/*] \
+		${destroot}${prefix}/share/doc/MySQL-zrm-2.0
+
+	xinstall -m 755 -d ${destroot}${prefix}/share/man/man1
+	eval xinstall -m 444 [glob ${worksrcpath}/usr/share/man/man1/*] \
+		${destroot}${prefix}/share/man/man1
+
+	xinstall -m 755 -d ${destroot}${prefix}/share/man/man5
+	eval xinstall -m 444 [glob ${worksrcpath}/usr/share/man/man5/*] \
+		${destroot}${prefix}/share/man/man5
+
+	xinstall -m 755 -d ${destroot}${prefix}/share/mysql-zrm/plugins
+	eval xinstall -m 444 [glob ${worksrcpath}/usr/share/mysql-zrm/plugins/*] \
+		${destroot}${prefix}/share/mysql-zrm/plugins
+
+	xinstall -m 755 -d ${destroot}${prefix}/etc/mysql-zrm
+	eval xinstall -m 644 [glob ${worksrcpath}/etc/mysql-zrm/*] \
+		${destroot}${prefix}/etc/mysql-zrm
+
+	xinstall -m 755 -d ${destroot}${prefix}/var/lib/mysql-zrm
+	xinstall -m 755 -d ${destroot}${prefix}/var/log/mysql-zrm
+}


Property changes on: trunk/dports/databases/mysql-zrm/Portfile
___________________________________________________________________
Added: svn:keywords
   + Id
Added: svn:eol-style
   + native

Added: trunk/dports/databases/mysql-zrm/files/patch-mysql-zrm-4
===================================================================
--- trunk/dports/databases/mysql-zrm/files/patch-mysql-zrm-4	                        (rev 0)
+++ trunk/dports/databases/mysql-zrm/files/patch-mysql-zrm-4	2009-03-23 20:20:35 UTC (rev 48493)
@@ -0,0 +1,11 @@
+--- ./usr/bin/mysql-zrm.orig	2008-04-07 10:40:12.000000000 -1000
++++ ./usr/bin/mysql-zrm	2008-05-12 09:22:26.000000000 -1000
+@@ -27,7 +27,7 @@
+ $ENV{'PATH'} = "/usr/local/bin:/opt/csw/bin:/usr/bin:/usr/sbin:/sbin:/bin:/usr/ucb";
+ 
+ #path where ZRM utilities are installed
+-my $ZRM_BINPATH="/usr/bin";
++my $ZRM_BINPATH="@BINPATH@";
+ 
+ my $USAGE="--action <backup|restore|schedule-backup|report|list|getconf|purge|parse-binlogs|check|verify-backup|extract-backup|abort-backup>\nHelp on individual action items can be obtained by specifying --help with the required action.\nFor example: 'mysql-zrm --action backup --help'";
+ 

Added: trunk/dports/databases/mysql-zrm/files/patch-mysql-zrm-backup-0
===================================================================
--- trunk/dports/databases/mysql-zrm/files/patch-mysql-zrm-backup-0	                        (rev 0)
+++ trunk/dports/databases/mysql-zrm/files/patch-mysql-zrm-backup-0	2009-03-23 20:20:35 UTC (rev 48493)
@@ -0,0 +1,20 @@
+--- ./usr/bin/mysql-zrm-backup.orig	2008-04-07 10:40:12.000000000 -1000
++++ ./usr/bin/mysql-zrm-backup	2008-05-08 10:36:55.000000000 -1000
+@@ -38,7 +38,7 @@
+ 
+ $SIG{'TERM'} = sub { $abort_flag = 1; };
+ 
+-my $MD5SUM="md5sum";
++my $MD5SUM="md5";
+ my $MAILCMD="mail";
+ 
+ #Neither mysqlhotcopy not mysqldump will do a --flush-logs 
+@@ -1504,7 +1504,7 @@
+ 				    $inputs{"synchronous-checksum"} == 1 ){
+ 					my $file = $File::Find::fullname;
+ 					if( -f $file ){
+-						my $x = $MD5SUM." -b "."\"$file\"";
++						my $x = $MD5SUM." \"$file\"";
+         					$x = &execCmdAndGetOutput($x);
+ 						if( !defined $x ){
+ 							&printError( "Could not get md5 checksum\n" );

Added: trunk/dports/databases/mysql-zrm/files/patch-mysql-zrm-scheduler-3
===================================================================
--- trunk/dports/databases/mysql-zrm/files/patch-mysql-zrm-scheduler-3	                        (rev 0)
+++ trunk/dports/databases/mysql-zrm/files/patch-mysql-zrm-scheduler-3	2009-03-23 20:20:35 UTC (rev 48493)
@@ -0,0 +1,22 @@
+--- ./usr/bin/mysql-zrm-scheduler.orig	2008-04-07 10:40:12.000000000 -1000
++++ ./usr/bin/mysql-zrm-scheduler	2008-05-12 09:19:31.000000000 -1000
+@@ -36,8 +36,8 @@
+ my $confdir="/etc/mysql-zrm";
+ my $def_dest="/var/lib/mysql-zrm";         # backup root
+ my $logfile="$logdir/$prog.log";
+-my $zrm="/usr/bin/mysql-zrm";
+-my $pre_scheduler="/usr/bin/zrm-pre-scheduler";
++my $zrm="@BINPATH@/mysql-zrm";
++my $pre_scheduler="@BINPATH@/zrm-pre-scheduler";
+ my $zrm_pre_backup="$pre_scheduler --action backup";
+ my $zrm_backup="$zrm --action backup";
+ my $zrm_purge="$zrm --action purge";
+@@ -160,7 +160,7 @@
+     my $date=`date +%Y%m%d%H%M%S`;
+     chomp($date);
+     my $report_out="$name.$date.html";  # report name is $backupsetname.timestamp.html
+-    my $reporter="/usr/bin/mysql-zrm-reporter";
++    my $reporter="@BINPATH@/mysql-zrm-reporter";
+     # generate html output
+     if ( $inputs{'html-report-directory'} && $inputs{'html-report-directory'} ne "" ) {
+       system "$reporter", "--where", "backup-set=$name", "--latest", "--type", "html", "--output", "$report_out";

Added: trunk/dports/databases/mysql-zrm/files/patch-mysql-zrm-verify-backup-1
===================================================================
--- trunk/dports/databases/mysql-zrm/files/patch-mysql-zrm-verify-backup-1	                        (rev 0)
+++ trunk/dports/databases/mysql-zrm/files/patch-mysql-zrm-verify-backup-1	2009-03-23 20:20:35 UTC (rev 48493)
@@ -0,0 +1,29 @@
+--- ./usr/bin/mysql-zrm-verify-backup.orig	2008-04-07 10:40:12.000000000 -1000
++++ ./usr/bin/mysql-zrm-verify-backup	2008-05-08 10:37:21.000000000 -1000
+@@ -30,7 +30,7 @@
+ use ZRM::Common;
+ 
+ 
+-my $MD5SUM="md5sum";
++my $MD5SUM="md5";
+ my $CHECKSUM_FILE="zrm_checksum";
+ my $CHECKSUM_PENDING=".checksum_pending";
+ 
+@@ -55,7 +55,7 @@
+ 				$_ ne $EXTRACTED_FILENAME && $_ ne $CHECKSUM_FILE ){
+ 				my $file = $File::Find::fullname;
+ 				if( -f $file ){
+-					my $x = $MD5SUM." -b "."\"$file\"";
++					my $x = $MD5SUM." \"$file\"";
+         				$x = &execCmdAndGetOutput($x);
+ 					if( !defined $x ){
+ 						&printError( "Could not get md5 checksum\n" );
+@@ -120,7 +120,7 @@
+                         if( $_ ne "index" && $_ ne $CHECKSUM_PENDING ){
+                                 my $file = $File::Find::fullname;
+                                 if( -f $file ){
+-                                        my $x = $MD5SUM." -b "."\"$file\"";
++                                        my $x = $MD5SUM." \"$file\"";
+                                         $x = &execCmdAndGetOutput($x);
+                                         if( !defined $x ){
+                                                 &printError( "Could not get md5 checksum\n" );

Added: trunk/dports/databases/mysql-zrm/files/patch-zrm-pre-scheduler-2
===================================================================
--- trunk/dports/databases/mysql-zrm/files/patch-zrm-pre-scheduler-2	                        (rev 0)
+++ trunk/dports/databases/mysql-zrm/files/patch-zrm-pre-scheduler-2	2009-03-23 20:20:35 UTC (rev 48493)
@@ -0,0 +1,29 @@
+--- ./usr/bin/zrm-pre-scheduler.orig	2008-04-07 10:40:12.000000000 -1000
++++ ./usr/bin/zrm-pre-scheduler	2008-05-12 09:12:32.000000000 -1000
+@@ -35,7 +35,7 @@
+ my $oldPATH = $ENV{'PATH'};
+ $ENV{'PATH'} = "/usr/local/bin:/opt/csw/bin:/usr/bin:/usr/sbin:/sbin:/bin:/usr/ucb";
+ 
+-my $zrm_scheduler="/usr/bin/mysql-zrm-scheduler";
++my $zrm_scheduler="@BINPATH@/mysql-zrm-scheduler";
+ my $prog="zrm-pre-scheduler";
+ my $logdir="/var/log/mysql-zrm";
+ my $logfile="$logdir/$prog.log";
+@@ -162,7 +162,7 @@
+ 	if ( $int eq "daily" ) {
+ 	    $mday = $wday = "*";
+ 	}
+-	print OUTF "$min $hr $mday * $wday /usr/bin/$prog ";
++	print OUTF "$min $hr $mday * $wday @BINPATH@/$prog ";
+ 	print OUTF "--action $myaction ";
+         print OUTF "--interval $int " if ( $int );
+ 	print OUTF "--backup-level $lev " if ( $lev );
+@@ -205,7 +205,7 @@
+     my $date=`date +%Y%m%d%H%M%S`;
+     chomp($date);
+     my $report_out="$name.$date.html";  # report name is $backupsetname.timestamp.html
+-    my $reporter="/usr/bin/mysql-zrm-reporter";
++    my $reporter="@BINPATH@/mysql-zrm-reporter";
+ 
+    # generate html output
+     if ( $inputs{'html-report-directory'} && $inputs{'html-report-directory'} ne "" ) {
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20090323/23c82cb2/attachment-0001.html>


More information about the macports-changes mailing list