Index: head/sysutils/boxbackup/Makefile =================================================================== --- head/sysutils/boxbackup/Makefile (revision 470558) +++ head/sysutils/boxbackup/Makefile (revision 470559) @@ -1,109 +1,109 @@ # Created by: James O'Gorman # $FreeBSD$ PORTNAME= boxbackup PORTVERSION= 0.11.1 -PORTREVISION= 5 +PORTREVISION= 6 CATEGORIES= sysutils MASTER_SITES= SF PKGNAMESUFFIX= ${CLIENT_OR_SERVER} MAINTAINER= portmaster@BSDforge.com COMMENT= Open source, completely automatic on-line backup system for Unix LICENSE= BSD3CLAUSE GPLv2 LICENSE_COMB= dual LICENSE_FILE= ${WRKSRC}/LICENSE-DUAL.txt USES= autoreconf perl5 ssl tar:tgz GNU_CONFIGURE= yes CFLAGS+= -I${OPENSSLINC} LDFLAGS+= -L${OPENSSLLIB} -lexecinfo MAKE_JOBS_UNSAFE=yes CONFIGURE_ARGS+=--sysconfdir=${PREFIX}/etc SUB_FILES= pkg-message OPTIONS_DEFINE= READLINE OPTIONS_MULTI= FLAVOUR OPTIONS_MULTI_FLAVOUR= CLIENT SERVER CLIENT_DESC= Install the bbackupd client SERVER_DESC= Install the bbstored server OPTIONS_DEFAULT=CLIENT SERVER .include .if ${PORT_OPTIONS:MREADLINE} CONFIGURE_ARGS+=--enable-gnu-readline .endif MANCOMPRESSED= yes .if ${PORT_OPTIONS:MCLIENT} USE_RC_SUBR+= bbackupd PLIST_SUB+= CLIENT="" SUB_LIST+= CLIENT="" ALL_TARGET+= build-backup-client INSTALL_TARGET+=install-backup-client SUB_FILES+= 999.boxbackup .else PLIST_SUB+= CLIENT="@comment " SUB_LIST+= CLIENT="@comment " .endif .if ${PORT_OPTIONS:MSERVER} USE_RC_SUBR+= bbstored USERS+= _bbstored GROUPS+= _bbstored PLIST_SUB+= SERVER="" SUB_LIST+= SERVER="" ALL_TARGET+= build-backup-server INSTALL_TARGET+=install-backup-server .else PLIST_SUB+= SERVER="@comment " SUB_LIST+= SERVER="@comment " .endif .if ! ${PORT_OPTIONS:MCLIENT} # if this is a server-only install, CONFLICT with an install of the CLIENT or both CONFLICTS= boxbackup-client-[0-9]* boxbackup-[0-9]* CLIENT_OR_SERVER=-server .elif ! ${PORT_OPTIONS:MSERVER} # if this is a client-only install, CONFLICT with an install of the SERVER or both CONFLICTS= boxbackup-server-[0-9]* boxbackup-[0-9]* CLIENT_OR_SERVER=-client .else # if we install boxbackup-[0-9]*, we should CONFLICT with a CLIENT or SERVER only install # PKGNAMESUFFIX is empty at this point CONFLICTS= boxbackup-server-[0-9]* boxbackup-client-[0-9]* .endif post-patch: @${REINPLACE_CMD} -e '/html/d' ${WRKSRC}/parcels.txt post-configure: @${REINPLACE_CMD} -e '/share.doc.boxbackup/d' \ ${WRKSRC}/parcels/scripts/install-backup-* post-install: .for f in bbstoreaccounts bbackupctl bbstored bbackupd bbackupquery ${STRIP_CMD} ${STAGEDIR}${PREFIX}/sbin/${f} .endfor .if ${PORT_OPTIONS:MCLIENT} @${MKDIR} -m 0700 ${STAGEDIR}/${PREFIX}/etc/boxbackup/bbackupd @${MKDIR} ${STAGEDIR}/${PREFIX}/etc/periodic/monthly ${INSTALL_SCRIPT} ${WRKDIR}/999.boxbackup ${STAGEDIR}/${PREFIX}/etc/periodic/monthly .endif .if ${PORT_OPTIONS:MSERVER} @${MKDIR} -m 0700 ${STAGEDIR}/${PREFIX}/etc/boxbackup/bbstored .endif test: @${ECHO_CMD} "===> Running tests" @${MAKE} -C ${WRKSRC} test .include Index: head/sysutils/boxbackup/files/999.boxbackup.in =================================================================== --- head/sysutils/boxbackup/files/999.boxbackup.in (revision 470558) +++ head/sysutils/boxbackup/files/999.boxbackup.in (revision 470559) @@ -1,66 +1,84 @@ #!/bin/sh # # $FreeBSD$ # # Box Backup monthly store compare # # Add the following to /etc/periodic.conf to enable the monthly compare: # monthly_boxbackup_compare_enable="YES" # # By default the script will run "compare -aq". If you want to change this to # run a full compare, add the following to periodic.conf: # monthly_boxbackup_compare_args="-a" # # NOTE: This script will cause the monthly periodic(8) run to take much longer # than usual, depending on the size of your backup store. # # If you wish to run this independently of the monthly job, you can create a # new periodic entry as follows: # # # mkdir /usr/local/etc/periodic/boxbackup # # mv /usr/local/etc/periodic/monthly/999.boxbackup \ # /usr/local/etc/periodic/boxbackup/100.compare # # Then add the following to /etc/crontab: # 30 5 1 * * root periodic boxbackup # # (adjust the timings as necessary) # # You may also wish to add boxbackup_output="root" to periodic.conf so that # mail comes from periodic rather than cron. monthly_boxbackup_compare_enable="NO" monthly_boxbackup_compare_args="-aq" if [ -r /etc/defaults/periodic.conf ] then . /etc/defaults/periodic.conf source_periodic_confs fi +SLEEP=/bin/sleep +JOT=/usr/bin/jot + +random() { + ${JOT} -r 1 0 900 +} + rc=0 case "$monthly_boxbackup_compare_enable" in [Yy][Ee][Ss]) echo echo "Running Box Backup store compare:" + # When non-interactive, sleep to reduce congestion on rkhunter + # site + if [ "$1" != -nodelay ]; then + # In FreeBSD 12.0 the anticongestion function should + # be used instead of a hard-coded sleep + if [ -n "$anticongestion_sleeptime" ]; then + anticongestion + else + ${SLEEP} $(random) + fi + fi %%PREFIX%%/sbin/bbackupquery -q "compare -c $monthly_boxbackup_compare_args" quit # Return codes: # 1 Comparison was exact # 2 Differences were found # 3 An error occurred if [ $? -eq 2 ]; then echo echo "Differences were found. Please check the output." rc=3 elif [ $? -eq 3 ]; then echo echo "An error occurred. Please check the output." rc=3 fi ;; esac exit $rc Index: head/sysutils/boxbackup-devel/Makefile =================================================================== --- head/sysutils/boxbackup-devel/Makefile (revision 470558) +++ head/sysutils/boxbackup-devel/Makefile (revision 470559) @@ -1,145 +1,146 @@ # Created by: James O'Gorman # $FreeBSD$ PORTNAME= boxbackup PORTVERSION= 0.11.r${SVNVERSION:C/^[0-9\.]+_[a-z]+_([0-9]+)/\1/} +PORTREVISION= 1 CATEGORIES= sysutils MASTER_SITES= http://www.boxbackup.org/snapshots/201108/ PKGNAMESUFFIX= ${CLIENT_OR_SERVER}-devel DISTNAME= ${PORTNAME}-${SVNVERSION} MAINTAINER= portmaster@BSDforge.com COMMENT= Open source, completely automatic on-line backup system for UNIX LICENSE= BSD3CLAUSE GPLv2 LICENSE_COMB= dual LICENSE_FILE= ${WRKSRC}/LICENSE-DUAL.txt SVNVERSION= 0.11_trunk_2979 USES= autoreconf perl5 ssl tar:tgz GNU_CONFIGURE= yes CFLAGS+= -I${OPENSSLINC} LDFLAGS+= -L${OPENSSLLIB} CONFIGURE_ARGS+=--sysconfdir=${PREFIX}/etc PKGMESSAGE= ${WRKDIR}/pkg-message OPTIONS_MULTI= TYPE OPTIONS_MULTI_TYPE= CLIENT SERVER OPTIONS_DEFINE= GNUREADLINE OPTIONS_DEFAULT= CLIENT SERVER CLIENT_DESC= Install the bbackupd client SERVER_DESC= Install the bbstored server GNUREADLINE_DESC= Enable the use of GNU readline MAKE_JOBS_UNSAFE= yes .include CLIENTDIR= CLIENT SERVERDIR= SERVER CLIENT_FILES= bbackupd bbackupquery bbackupctl SERVER_FILES= bbstored bbstoreaccounts .if ${PORT_OPTIONS:MGNUREADLINE} CONFIGURE_ARGS+=--enable-gnu-readline .endif .if ${PORT_OPTIONS:MCLIENT} USE_RC_SUBR+= bbackupd PLIST_SUB+= CLIENT="" ALL_TARGET+= build-backup-client CLIENT_SCRIPTS= bbackupd-config SUB_FILES+= 999.boxbackup .else PLIST_SUB+= CLIENT="@comment " .endif .if ${PORT_OPTIONS:MSERVER} USE_RC_SUBR+= bbstored USERS+= _bbstored GROUPS+= _bbstored PLIST_SUB+= SERVER="" ALL_TARGET+= build-backup-server SERVER_SCRIPTS= bbstored-certs bbstored-config raidfile-config .else PLIST_SUB+= SERVER="@comment " .endif .if ! ${PORT_OPTIONS:MCLIENT} CONFLICTS= boxbackup-client-[0-9]* boxbackup-[0-9]* CLIENT_OR_SERVER=-server .elif ! ${PORT_OPTIONS:MSERVER} CONFLICTS= boxbackup-server-[0-9]* boxbackup-[0-9]* CLIENT_OR_SERVER=-client .else CONFLICTS= boxbackup-server-[0-9]* boxbackup-client-[0-9]* .endif post-patch: @${REINPLACE_CMD} -e '/html/d' ${WRKSRC}/parcels.txt .if ${PORT_OPTIONS:MCLIENT} @${CAT} ${FILESDIR}/pkg-message.client >> ${PKGMESSAGE} .endif .if ${PORT_OPTIONS:MSERVER} @${CAT} ${FILESDIR}/pkg-message.server >> ${PKGMESSAGE} .endif post-configure: @${REINPLACE_CMD} -e '/share.doc.boxbackup/d' ${WRKSRC}/parcels/scripts/install-backup-* pre-install: (cd ${WRKSRC}/parcels \ && ${MV} ./boxbackup-0.11_trunk_2979-backup-client ../CLIENT) (cd ${WRKSRC}/parcels \ && ${MV} ./boxbackup-0.11_trunk_2979-backup-server ../SERVER) do-install: .if ${PORT_OPTIONS:MCLIENT} (cd ${WRKSRC}/${CLIENTDIR}/ \ && ${INSTALL_PROGRAM} ${CLIENT_FILES} ${STAGEDIR}${PREFIX}/sbin/) (cd ${WRKSRC}/${CLIENTDIR}/ \ && ${INSTALL_SCRIPT} ${CLIENT_SCRIPTS} ${STAGEDIR}${PREFIX}/sbin/) ${INSTALL_MAN} ${WRKSRC}/${CLIENTDIR}/bbackupd.conf.5.gz \ ${STAGEDIR}${PREFIX}/man/man5/ ${INSTALL_MAN} ${WRKSRC}/${CLIENTDIR}/bbackupctl.8.gz \ ${WRKSRC}/${CLIENTDIR}/bbackupd-config.8.gz \ ${WRKSRC}/${CLIENTDIR}/bbackupd.8.gz ${WRKSRC}/${CLIENTDIR}/bbackupquery.8.gz \ ${STAGEDIR}${PREFIX}/man/man8/ .endif .if ${PORT_OPTIONS:MSERVER} (cd ${WRKSRC}/${SERVERDIR}/ \ && ${INSTALL_PROGRAM} ${SERVER_FILES} ${STAGEDIR}${PREFIX}/sbin/) (cd ${WRKSRC}/${SERVERDIR}/ \ && ${INSTALL_SCRIPT} ${SERVER_SCRIPTS} ${STAGEDIR}${PREFIX}/sbin/) ${INSTALL_MAN} ${WRKSRC}/${SERVERDIR}/raidfile.conf.5.gz \ ${WRKSRC}/${SERVERDIR}/bbstored.conf.5.gz \ ${STAGEDIR}${PREFIX}/man/man5/ ${INSTALL_MAN} ${WRKSRC}/${SERVERDIR}/bbstoreaccounts.8.gz \ ${WRKSRC}/${SERVERDIR}/bbstored-certs.8.gz \ ${WRKSRC}/${SERVERDIR}/bbstored-config.8.gz \ ${WRKSRC}/${SERVERDIR}/bbstored.8.gz \ ${WRKSRC}/${SERVERDIR}/raidfile-config.8.gz \ ${STAGEDIR}${PREFIX}/man/man8/ .endif .if ${PORT_OPTIONS:MCLIENT} @${MKDIR} -m 0700 ${STAGEDIR}${PREFIX}/etc/box/bbackupd @${MKDIR} ${STAGEDIR}${PREFIX}/etc/periodic/monthly ${INSTALL_SCRIPT} ${WRKDIR}/999.boxbackup ${STAGEDIR}${PREFIX}/etc/periodic/monthly .endif .if ${PORT_OPTIONS:MSERVER} @${MKDIR} -m 0700 ${STAGEDIR}${PREFIX}/etc/box/bbstored .endif test: @${ECHO_CMD} "===> Running tests" @${MAKE} -C ${WRKSRC} test .include Index: head/sysutils/boxbackup-devel/files/999.boxbackup.in =================================================================== --- head/sysutils/boxbackup-devel/files/999.boxbackup.in (revision 470558) +++ head/sysutils/boxbackup-devel/files/999.boxbackup.in (revision 470559) @@ -1,66 +1,84 @@ #!/bin/sh # # $FreeBSD$ # # Box Backup monthly store compare # # Add the following to /etc/periodic.conf to enable the monthly compare: # monthly_boxbackup_compare_enable="YES" # # By default the script will run "compare -aq". If you want to change this to # run a full compare, add the following to periodic.conf: # monthly_boxbackup_compare_args="-a" # # NOTE: This script will cause the monthly periodic(8) run to take much longer # than usual, depending on the size of your backup store. # # If you wish to run this independently of the monthly job, you can create a # new periodic entry as follows: # # # mkdir /usr/local/etc/periodic/boxbackup # # mv /usr/local/etc/periodic/monthly/999.boxbackup \ # /usr/local/etc/periodic/boxbackup/100.compare # # Then add the following to /etc/crontab: # 30 5 1 * * root periodic boxbackup # # (adjust the timings as necessary) # # You may also wish to add boxbackup_output="root" to periodic.conf so that # mail comes from periodic rather than cron. monthly_boxbackup_compare_enable="NO" monthly_boxbackup_compare_args="-aq" if [ -r /etc/defaults/periodic.conf ] then . /etc/defaults/periodic.conf source_periodic_confs fi +SLEEP=/bin/sleep +JOT=/usr/bin/jot + +random() { + ${JOT} -r 1 0 900 +} + rc=0 case "$monthly_boxbackup_compare_enable" in [Yy][Ee][Ss]) echo echo "Running Box Backup store compare:" + # When non-interactive, sleep to reduce congestion on rkhunter + # site + if [ "$1" != -nodelay ]; then + # In FreeBSD 12.0 the anticongestion function should + # be used instead of a hard-coded sleep + if [ -n "$anticongestion_sleeptime" ]; then + anticongestion + else + ${SLEEP} $(random) + fi + fi %%PREFIX%%/sbin/bbackupquery -q "compare -c $monthly_boxbackup_compare_args" quit # Return codes: # 1 Comparison was exact # 2 Differences were found # 3 An error occurred if [ $? -eq 2 ]; then echo echo "Differences were found. Please check the output." rc=3 elif [ $? -eq 3 ]; then echo echo "An error occurred. Please check the output." rc=3 fi ;; esac exit $rc