ports/153934: [PATCH] sysutils/zfsnap update to v1.9.0
Aldis Berjoza
aldis at bsdroot.lv
Wed Jan 12 16:50:07 UTC 2011
>Number: 153934
>Category: ports
>Synopsis: [PATCH] sysutils/zfsnap update to v1.9.0
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: maintainer-update
>Submitter-Id: current-users
>Arrival-Date: Wed Jan 12 16:50:06 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator: Aldis Berjoza
>Release:
>Organization:
>Environment:
>Description:
Update zfSnap to v1.9.0
What's new:
* Added -e switch. When set exitcode will return number of failed actions
* Added periodic scripts
>How-To-Repeat:
>Fix:
Patch attached with submission follows:
diff -uN zfsnap.bak/Makefile zfsnap/Makefile
--- zfsnap.bak/Makefile 2011-01-12 15:48:27.125586351 +0200
+++ zfsnap/Makefile 2011-01-12 18:43:25.302403795 +0200
@@ -6,7 +6,7 @@
#
PORTNAME= zfsnap
-PORTVERSION= 1.8.2
+PORTVERSION= 1.9.0
CATEGORIES= sysutils
MASTER_SITES= http://files.bsdroot.lv/my/FreeBSD/distfiles/
DISTNAME= zfSnap-${PORTVERSION}
@@ -14,13 +14,32 @@
MAINTAINER= aldis at bsdroot.lv
COMMENT= Simple sh script to make zfs rolling snaphosts with cron
-PLIST_FILES= sbin/zfSnap
-
NO_BUILD= yes
WRKSRC= ${WRKDIR}/zfSnap-${REV}
-REV= fe4a95a6b271
+REV= e5a03b3a02c8
+
+PERIODICDIR?= ${PREFIX}/etc/periodic
+PLIST_SUB+= PERIODICDIR="${PERIODICDIR:S,^${PREFIX}/,,}"
+
+do-patch:
+.for period in hourly daily weekly monthly reboot
+ @${SED} -e "s/xPERIODICx/${period}/g" -e "s#xPREFIXx#${PREFIX}/sbin#g" ${WRKSRC}/xPERIODICx_zfSnap.sh > ${WRKSRC}/${period}_zfSnap.sh
+.endfor
+.for period in daily weekly monthly
+ @${SED} -e "s/xPERIODICx/${period}/g" -e "s#xPREFIXx#${PREFIX}/sbin#g" ${WRKSRC}/xPERIODICx_zfSnap_delete.sh > ${WRKSRC}/${period}_zfSnap_delete.sh
+.endfor
do-install:
- ${INSTALL_SCRIPT} ${WRKSRC}/zfSnap.sh ${PREFIX}/sbin/zfSnap
+ @${INSTALL_SCRIPT} ${WRKSRC}/zfSnap.sh ${PREFIX}/sbin/zfSnap
+.for period in hourly daily weekly monthly reboot
+ @${MKDIR} ${PERIODICDIR}/${period}
+ @${INSTALL_SCRIPT} ${WRKSRC}/${period}_zfSnap.sh ${PERIODICDIR}/${period}/402.zfSnap
+.endfor
+.for period in daily weekly monthly
+ @${INSTALL_SCRIPT} ${WRKSRC}/${period}_zfSnap_delete.sh ${PERIODICDIR}/${period}/403.zfSnap_delete
+.endfor
+
+post-install:
+ @${CAT} ${PKGMESSAGE}
.include <bsd.port.mk>
diff -uN zfsnap.bak/distinfo zfsnap/distinfo
--- zfsnap.bak/distinfo 2011-01-12 15:48:27.125586351 +0200
+++ zfsnap/distinfo 2011-01-12 18:43:32.586327590 +0200
@@ -1,2 +1,2 @@
-SHA256 (zfSnap-1.8.2.tar.gz) = d67398b4d24f1e48f7121e774a3aa3812dfd08456a28a4926946df87c5388672
-SIZE (zfSnap-1.8.2.tar.gz) = 3843
+SHA256 (zfSnap-1.9.0.tar.gz) = 2d74dd1c59a4b5cff31076e067f32109d1453eb2ad8ff4036ed7427b8ae9355e
+SIZE (zfSnap-1.9.0.tar.gz) = 4669
diff -uN zfsnap.bak/pkg-message zfsnap/pkg-message
--- zfsnap.bak/pkg-message 1970-01-01 03:00:00.000000000 +0300
+++ zfsnap/pkg-message 2011-01-12 18:40:40.817570108 +0200
@@ -0,0 +1,50 @@
+
+ To run zfSnap periodically you can add these options to your
+ /etc/periodic.conf
+
+ xPERIODICx_zfsnap_enable - Enable xPERIODICx snapshots
+ (values: YES | NO)
+ xPERIODICx_zfsnap_fs - Space separated zfs filesystems
+ to create non-recursive snapshots
+ xPERIODICx_zfsnap_recursive_fs - Space separated zfs filesystems
+ to create recursive snapshots
+ xPERIODICx_zfsnap_ttl - Set Time To Live
+ xPERIODICx_zfsnap_verbose - Verbose output (values: YES | NO)
+ xPERIODICx_zfsnap_flags - zfSnap generic flags
+ (except -v and -d)
+ xPERIODICx_zfsnap_enable_prefix - Create snapshots with prefix
+ (Default = YES)
+ xPERIODICx_zfsnap_prefix - Set prefix to use for new snapshots
+ (Default = "xPERIODICx-")
+ (where xPERIODICx is any of hourly, daily, weekly, monthly, reboot)
+
+ xPERIODICx_zfsnap_delete_enable - Delete old snapshots periodicaly
+ (values: YES | NO)
+ xPERIODICx_zfsnap_delete_flags - zfSnap generic flags
+ (except -v and -d)
+ xPERIODICx_zfsnap_delete_verbose - Verbose output (values: YES | NO)
+ xPERIODICx_zfsnap_delete_prefixes - Space separated list of prefixes
+ of old zfSnap snapshots to delete
+ 'hourly-', 'daily-', 'weekly-',
+ 'monthly-' and 'reboot' prefixes
+ are hardcoded
+ (where xPERIODICx is any of daily, weekly, monthly)
+
+
+ Add these lines to your /etc/crontab
+ 4 * * * * root periodic hourly
+ @reboot root periodic reboot
+
+ NOTE: it is not recommended to delete zfSnap snapshots every hour.
+ Deleting zfs snapshots takes more time than creating them.
+ There for it's better to delete snapshots once per day...
+
+
+ Periodic scripts provide very limited feature set. If you want to use
+ more advanced setup, you need to call zfSnap from crontab directly.
+ This way you can combine all sort of parameter combinations.
+
+ Don't forget to check http://wiki.bsdroot.lv/zfsnap for more info.
+
+ Feedback wellcomed: zfsnap at bsdroot.lv
+
diff -uN zfsnap.bak/pkg-plist zfsnap/pkg-plist
--- zfsnap.bak/pkg-plist 1970-01-01 03:00:00.000000000 +0300
+++ zfsnap/pkg-plist 2011-01-12 18:07:29.828367850 +0200
@@ -0,0 +1,15 @@
+sbin/zfSnap
+%%PERIODICDIR%%/daily/402.zfSnap
+%%PERIODICDIR%%/daily/403.zfSnap_delete
+%%PERIODICDIR%%/hourly/402.zfSnap
+%%PERIODICDIR%%/monthly/402.zfSnap
+%%PERIODICDIR%%/monthly/403.zfSnap_delete
+%%PERIODICDIR%%/reboot/402.zfSnap
+%%PERIODICDIR%%/weekly/402.zfSnap
+%%PERIODICDIR%%/weekly/403.zfSnap_delete
+ at dirrmtry %%PERIODICDIR%%/weekly
+ at dirrmtry %%PERIODICDIR%%/reboot
+ at dirrmtry %%PERIODICDIR%%/monthly
+ at dirrmtry %%PERIODICDIR%%/hourly
+ at dirrmtry %%PERIODICDIR%%/daily
+ at dirrmtry %%PERIODICDIR%%
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list