Ticket #15266 (closed submission: fixed)
ZRM -- Zmanda Recovery Manager for MySQL -- Portfile
| Reported by: | kmayer@… | Owned by: | macports-tickets@… |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 1.6.0 |
| Keywords: | Cc: | jmr@… | |
| Port: | mysql-zrm |
Description
Submitted for your approval, a mysql backup suite that sucks less.
I've been using ZRM for my MySQL5 backups and find it far less annoying than some of the other alternatives. Since I had to deploy it to multiple machines, I decided to automate it and create a Portfile for others in the community. This initial port is not tested for remote backup servers, but it works fine with local copies of mysql5 (using the default Leopard installation).
This is my first submitted Portfile, I probably made a few stylistic errors, so be gentle.
The source tar ball from zmanda.com has no configuration or installation scripts (although they do have deb & rpm bundles); it's just a destroot-like directory tree. Not exactly like the ports hierarchy, however. I had to write a bunch of reinplace script / patches to move things around, and rewrite paths appropriately.
I have installed this successfully on Tiger & Leopard.
Attachments
Change History
Changed 5 years ago by kmayer@…
- Attachment mysql-zrm.tar added
Portfile Revision 6. MD5 (mysql-zrm.tar) = 3076618ef8d2e5f49d6c29b80c85be97
comment:3 follow-up: ↓ 4 Changed 4 years ago by raimue@…
Just digged up this very old ticket. Sorry for the long delay. Are you still interested in addition and maintaining?
comment:4 in reply to: ↑ 3 Changed 4 years ago by kmayer@…
Replying to raimue@…:
Just digged up this very old ticket. Sorry for the long delay. Are you still interested in addition and maintaining?
Sure! Sign me up!
comment:5 Changed 4 years ago by jmr@…
- Cc jmr@… added; kmayer@… removed
- Status changed from new to closed
- Resolution set to fixed
- Port set to mysql-zrm
- Priority changed from Not set to Normal
Committed in r48493 with a few changes:
- obfuscated maintainer address
- changed ${destroot} to ${destroot}${prefix} in a couple places
- deleted revision line (initial revision should be 0, which is the default)


Here's the port file (from the included tar file), for review
# -*- 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 revision 5 categories databases sysutils maintainers kmayer@bitwrangler.com 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 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 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}/var/lib/mysql-zrm xinstall -m 755 -d ${destroot}/var/log/mysql-zrm }