diff options
-rw-r--r-- | sysutils/zfsnap2/Makefile | 12 | ||||
-rw-r--r-- | sysutils/zfsnap2/files/patch-periodic_xPERIODICx__zfsnap.sh | 48 | ||||
-rw-r--r-- | sysutils/zfsnap2/pkg-plist | 23 |
3 files changed, 70 insertions, 13 deletions
diff --git a/sysutils/zfsnap2/Makefile b/sysutils/zfsnap2/Makefile index 8c8df4c6a508..71fa4b376539 100644 --- a/sysutils/zfsnap2/Makefile +++ b/sysutils/zfsnap2/Makefile @@ -4,7 +4,7 @@ PORTNAME= zfsnap DISTVERSIONPREFIX= v DISTVERSION= 2.0.0-beta3 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= sysutils PKGNAMESUFFIX= 2 @@ -23,14 +23,22 @@ OPTIONS_SUB= yes PORTDOCS= AUTHORS NEWS PORTABILITY README.md +PERIODICDIR?= ${PREFIX}/etc/periodic + post-patch: @${REINPLACE_CMD} -e "s,# ZFSNAP_LIB_DIR=.*,ZFSNAP_LIB_DIR=${PREFIX}/share/zfsnap,g" ${WRKSRC}/sbin/zfsnap.sh +.for period in daily weekly monthly + @${SED} -e "s/xPERIODICx/${period}/g" -e "s#xPREFIXx#${PREFIX}/sbin#g" ${WRKSRC}/periodic/xPERIODICx_zfsnap.sh > ${WRKSRC}/periodic/${period}_zfsnap.sh +.endfor do-install: ${INSTALL_SCRIPT} ${WRKSRC}/sbin/zfsnap.sh ${STAGEDIR}${PREFIX}/sbin/zfsnap cd ${WRKSRC}/share && ${COPYTREE_SHARE} zfsnap ${STAGEDIR}${PREFIX}/share/ cd ${WRKSRC} && ${COPYTREE_SHARE} completion ${STAGEDIR}${PREFIX}/share/zfsnap - cd ${WRKSRC} && ${COPYTREE_SHARE} periodic ${STAGEDIR}${PREFIX}/share/zfsnap +.for period in daily weekly monthly + @${MKDIR} ${STAGEDIR}${PERIODICDIR}/${period} + ${INSTALL_SCRIPT} ${WRKSRC}/periodic/${period}_zfsnap.sh ${STAGEDIR}${PERIODICDIR}/${period}/402.zfsnap +.endfor ${INSTALL_MAN} ${WRKSRC}/man/man8/zfsnap.8 ${STAGEDIR}${MAN8PREFIX}/man/man8/zfsnap.8 ${MKDIR} ${STAGEDIR}${DOCSDIR} .for file in ${PORTDOCS} diff --git a/sysutils/zfsnap2/files/patch-periodic_xPERIODICx__zfsnap.sh b/sysutils/zfsnap2/files/patch-periodic_xPERIODICx__zfsnap.sh new file mode 100644 index 000000000000..3b8bf6daee22 --- /dev/null +++ b/sysutils/zfsnap2/files/patch-periodic_xPERIODICx__zfsnap.sh @@ -0,0 +1,48 @@ +--- periodic/xPERIODICx_zfsnap.sh.orig 2020-07-28 02:17:05 UTC ++++ periodic/xPERIODICx_zfsnap.sh +@@ -11,23 +11,29 @@ fi + + # xPERIODICx_zfsnap_enable - Enable xPERIODICx snapshots (values: YES | NO) + # xPERIODICx_zfsnap_flags - `zfsnap snapshot` flags +-# 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_delete_flags - `zfsnap destroy` flags ++# xPERIODICx_zfsnap_fs - Space-separated ZFS filesystems to manage non-recursive snapshots ++# xPERIODICx_zfsnap_recursive_fs - Space-separated ZFS filesystems to manage recursive snapshots + # xPERIODICx_zfsnap_ttl - Explicit TTL value + # xPERIODICx_zfsnap_verbose - Verbose output (values: YES | NO) + # xPERIODICx_zfsnap_enable_prefix - Create snapshots with prefix (values: YES | NO) (Default = YES) + # xPERIODICx_zfsnap_prefix - set prefix for snapshots (Default = xPERIODICx) ++# xPERIODICx_zfsnap_delete_prefixes - Space-separated list of prefixes of expired zfsnap snapshots to delete + + case "${xPERIODICx_zfsnap_enable-"NO"}" in + [Yy][Ee][Ss]) +- OPTIONS="$xPERIODICx_zfsnap_flags" ++ CREATE_OPTIONS="$xPERIODICx_zfsnap_flags" ++ DESTROY_OPTIONS="$xPERIODICx_zfsnap_delete_flags" + + case "${xPERIODICx_zfsnap_verbose-"NO"}" in +- [Yy][Ee][Ss]) OPTIONS="$OPTIONS -v" ;; ++ [Yy][Ee][Ss]) ++ CREATE_OPTIONS="$CREATE_OPTIONS -v" ++ DESTROY_OPTIONS="$DESTROY_OPTIONS -v" ++ ;; + esac + + case "${xPERIODICx_zfsnap_enable_prefix-"YES"}" in +- [Yy][Ee][Ss]) OPTIONS="$OPTIONS -p ${xPERIODICx_zfsnap_prefix:-"xPERIODICx-"}" ;; ++ [Yy][Ee][Ss]) CREATE_OPTIONS="$CREATE_OPTIONS -p ${xPERIODICx_zfsnap_prefix:-"xPERIODICx-"}" ;; + esac + + case 'xPERIODICx' in +@@ -49,7 +55,9 @@ case "${xPERIODICx_zfsnap_enable-"NO"}" in + ;; + esac + +- xPREFIXx/zfsnap snapshot $OPTIONS -a ${xPERIODICx_zfsnap_ttl:-"$default_ttl"} $xPERIODICx_zfsnap_fs -r $xPERIODICx_zfsnap_recursive_fs ++ # Destroy before create, just in case the pool is out of space ++ xPREFIXx/zfsnap destroy $DESTROY_OPTIONS -p "hourly- daily- weekly- monthly- reboot- $xPERIODICx_zfsnap_delete_prefixes" $xPERIODICx_zfsnap_fs -r $xPERIODICx_zfsnap_recursive_fs && \ ++ xPREFIXx/zfsnap snapshot $CREATE_OPTIONS -a ${xPERIODICx_zfsnap_ttl:-"$default_ttl"} $xPERIODICx_zfsnap_fs -r $xPERIODICx_zfsnap_recursive_fs + exit $? + ;; + diff --git a/sysutils/zfsnap2/pkg-plist b/sysutils/zfsnap2/pkg-plist index 9f841ff0fbbb..56ef029c0bd3 100644 --- a/sysutils/zfsnap2/pkg-plist +++ b/sysutils/zfsnap2/pkg-plist @@ -1,13 +1,14 @@ +etc/bash_completion.d/zfsnap.sh +etc/periodic/daily/402.zfsnap +etc/periodic/monthly/402.zfsnap +etc/periodic/weekly/402.zfsnap man/man8/zfsnap.8.gz sbin/zfsnap -share/zfsnap/commands/destroy.sh -share/zfsnap/commands/recurseback.sh -share/zfsnap/commands/snapshot.sh -share/zfsnap/completion/zfsnap-completion.bash -share/zfsnap/completion/zfsnap-completion.tcsh -share/zfsnap/completion/zfsnap-completion.zsh -share/zfsnap/core.sh -share/zfsnap/periodic/xPERIODICx_zfsnap_delete.sh -share/zfsnap/periodic/xPERIODICx_zfsnap.sh -%%BASH%%etc/bash_completion.d/zfsnap.sh -%%ZSH%%share/zsh/site-functions/_zfsnap +%%DATADIR%%/commands/destroy.sh +%%DATADIR%%/commands/recurseback.sh +%%DATADIR%%/commands/snapshot.sh +%%DATADIR%%/completion/zfsnap-completion.bash +%%DATADIR%%/completion/zfsnap-completion.tcsh +%%DATADIR%%/completion/zfsnap-completion.zsh +%%DATADIR%%/core.sh +share/zsh/site-functions/_zfsnap |