- Update to SVN Version 0.11_trunk_2979

- Fix and rename rc scripts
- Pacify portlint(1)
- Use USERS/GROUPS
- Add LICENSE
- Fix COMMENT

PR:		ports/159966 ports/160618
Submitted by:	James O'Gorman <james@netinertia.co.uk> (maintainer)
Approved by:	wxs (mentor)
This commit is contained in:
Ryan Steinmetz 2011-09-16 20:54:53 +00:00
parent 7a811a41df
commit 69669dd88f
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=281860
13 changed files with 160 additions and 256 deletions

View File

@ -6,15 +6,22 @@
#
PORTNAME= boxbackup
PORTVERSION= 0.10
PORTREVISION= 2
PORTVERSION= 0.11.r${SVNVERSION:C/^[0-9\.]+_[a-z]+_([0-9]+)/\1/}
CATEGORIES= sysutils
MASTER_SITES= SF
MASTER_SITES= http://www.boxbackup.org/snapshots/%SUBDIR%/
PKGNAMESUFFIX= ${CLIENT_OR_SERVER}-devel
DISTNAME= ${PORTNAME}-${SVNVERSION}
EXTRACT_SUFX= .tgz
PKGNAMESUFFIX= -devel
MAINTAINER= james@netinertia.co.uk
COMMENT= An open source, completely automatic on-line backup system for UNIX
COMMENT= Open source, completely automatic on-line backup system for Unix
LICENSE= BSD GPLv2
LICENSE_COMB= dual
LICENSE_FILE= ${WRKSRC}/LICENSE-DUAL.txt
MASTER_SITE_SUBDIR=201108
SVNVERSION= 0.11_trunk_2979
NO_LATEST_LINK= yes
@ -24,17 +31,18 @@ USE_PERL5= yes
USE_AUTOTOOLS= autoconf aclocal autoheader
ACLOCAL_ARGS+= -I ${WRKSRC}/infrastructure/m4
# Box now defaults to /etc for configuration. Linux devs make me sad.
# Override this.
CONFIGURE_ARGS+=--sysconfdir=${PREFIX}/etc
PKGMESSAGE= ${WRKDIR}/pkg-message
OPTIONS= CLIENT "Install the bbackupd client" On \
SERVER "Install the bbstored server" On \
GNUREADLINE "Enable the use of GNU readline" Off \
TESTS "Allows use of a 'test' target to run tests" Off
GNUREADLINE "Enable the use of GNU readline" Off
.include <bsd.port.pre.mk>
TARGETOS!= ${ECHO_CMD} `${UNAME} -s``${UNAME} -r | ${SED} -e 's/[-(].*//'` | ${TR} A-Z a-z
.if defined(WITH_GNUREADLINE)
CONFIGURE_ARGS+=--enable-gnu-readline
.endif
@ -44,55 +52,48 @@ IGNORE= requires at least CLIENT or SERVER to be defined.\
Please 'make config' again
.endif
.if defined(WITHOUT_CLIENT)
PLIST_SUB+= CLIENT="@comment "
.else
USE_RC_SUBR+= bbackupd.sh
MANCOMPRESSED= yes
.if defined(WITH_CLIENT)
USE_RC_SUBR+= bbackupd
PLIST_SUB+= CLIENT=""
ALL_TARGET+= parcels/${DISTNAME}-backup-client-${TARGETOS}.tgz
ALL_TARGET+= build-backup-client
INSTALL_TARGET+=install-backup-client
.endif
.if defined(WITHOUT_SERVER)
PLIST_SUB+= SERVER="@comment "
MAN5+= bbackupd.conf.5
MAN8+= bbackupd.8 bbackupctl.8 bbackupd-config.8 bbackupquery.8
SUB_FILES+= 999.boxbackup
.else
USE_RC_SUBR+= bbstored.sh
PLIST_SUB+= SERVER=""
ALL_TARGET+= parcels/${DISTNAME}-backup-server-${TARGETOS}.tgz
INSTALL_TARGET+=install-backup-server
PLIST_SUB+= CLIENT="@comment "
.endif
.if defined(WITH_SERVER)
USE_RC_SUBR+= bbstored
USERS+= _bbstored
GROUPS+= _bbstored
PLIST_SUB+= SERVER=""
ALL_TARGET+= build-backup-server
INSTALL_TARGET+=install-backup-server
MAN5+= bbstored.conf.5 raidfile.conf.5
MAN8+= bbstored.8 bbstoreaccounts.8 bbstored-certs.8 bbstored-config.8 raidfile-config.8
.else
PLIST_SUB+= SERVER="@comment "
.endif
CONFLICTS= boxbackup-server-[0-9]* boxbackup-client-[0-9]*
.if defined(WITHOUT_CLIENT)
CONFLICTS= boxbackup-client-[0-9]*
PKGNAMESUFFIX= -server
# 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 defined(WITHOUT_SERVER)
CONFLICTS= boxbackup-server-[0-9]*
PKGNAMESUFFIX= -client
# 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:
# Replace hard-coded /etc/box with $PREFIX/etc/box
@${REINPLACE_CMD} -e 's,%%PREFIX%%,${PREFIX},' \
${WRKSRC}/lib/common/BoxPortsAndFiles.h
# Fix path to perl
@${FIND} ${WRKSRC} -name "*.pl" -exec \
${REINPLACE_CMD} -e 's,/usr/bin/perl,${PERL},g' {} \;
@${REINPLACE_CMD} -e 's,/usr/bin/perl,${PERL},g' \
${WRKSRC}/bin/bbackupd/bbackupd-config \
${WRKSRC}/bin/bbstored/bbstored-certs \
${WRKSRC}/bin/bbstored/bbstored-config \
${WRKSRC}/lib/raidfile/raidfile-config
@${FIND} ${WRKSRC} -name "Makefile.extra" -exec \
${REINPLACE_CMD} -e 's,perl,${PERL},g' {} \;
@${REINPLACE_CMD} -e 's,perl ,${PERL} ,g' \
${WRKSRC}/test/bbackupd/testfiles/bbackupd.conf \
${WRKSRC}/infrastructure/makebuildenv.pl
@${REINPLACE_CMD} -e 's,"perl ,PERL_EXECUTABLE " ,g' \
${WRKSRC}/test/backupstorefix/testbackupstorefix.cpp
# Fix hard-coded g++
@${REINPLACE_CMD} -e 's,g++,${CXX},' \
${WRKSRC}/infrastructure/makebuildenv.pl
@${REINPLACE_CMD} -e '/html/d' ${WRKSRC}/parcels.txt
.if !defined(WITHOUT_CLIENT)
@${CAT} ${FILESDIR}/pkg-message.client >> ${PKGMESSAGE}
.endif
@ -100,25 +101,22 @@ post-patch:
@${CAT} ${FILESDIR}/pkg-message.server >> ${PKGMESSAGE}
.endif
.if !defined(WITHOUT_SERVER)
pre-install:
@${SETENV} PKG_PREFIX=${PREFIX} \
${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
.endif
post-configure:
@${REINPLACE_CMD} -e '/share.doc.boxbackup/d' ${WRKSRC}/parcels/scripts/install-backup-*
post-install:
.if !defined(WITHOUT_CLIENT)
@${MKDIR} -m 0700 ${PREFIX}/etc/box/bbackupd
@${MKDIR} ${PREFIX}/etc/periodic/monthly
${INSTALL_SCRIPT} ${WRKDIR}/999.boxbackup ${PREFIX}/etc/periodic/monthly
.endif
.if !defined(WITHOUT_SERVER)
@${MKDIR} -m 0700 ${PREFIX}/etc/box/bbstored
.endif
@${CAT} ${PKGMESSAGE}
.if defined(WITH_TESTS)
test:
@${ECHO_CMD} "===> Running tests"
@${MAKE} -C ${WRKSRC} test
.endif
.include <bsd.port.post.mk>

View File

@ -1,2 +1,2 @@
SHA256 (boxbackup-0.10.tgz) = 09e88f4ee26b76b3d6e6a0cf3fc374e55d79dd84e9884dfc6a7635593862d361
SIZE (boxbackup-0.10.tgz) = 842450
SHA256 (boxbackup-0.11_trunk_2979.tgz) = 8d49959c7bd173de468837a6645883b37f5c2d485ba2245f9178b74e8b1f8c9e
SIZE (boxbackup-0.11_trunk_2979.tgz) = 2185279

View File

@ -0,0 +1,66 @@
#!/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
rc=0
case "$monthly_boxbackup_compare_enable" in
[Yy][Ee][Ss])
echo
echo "Running Box Backup store compare:"
%%PREFIX%%/sbin/bbackupquery -q "compare -c $monthly_boxbackup_compare_args" quit
# Return codes:
# 1 Comparison was exact
# 2 Differences were found
# 3 An error occured
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

View File

@ -1,27 +1,28 @@
#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: bbackupd
# REQUIRE: NETWORKING
# KEYWORD: shutdown
#
# Add the following line to /etc/rc.conf to enable bbackupd:
#
#bbackupd_enable="YES"
#
: ${bbackupd_enable:="NO"}
: ${bbackupd_flags:="%%PREFIX%%/etc/box/bbackupd.conf"}
: ${bbackupd_pidfile:="/var/run/bbackupd.pid"}
# bbackupd_enable="YES"
. /etc/rc.subr
name="bbackupd"
rcvar=`set_rcvar`
command="%%PREFIX%%/bin/bbackupd"
extra_commands="reload"
load_rc_config $name
: ${bbackupd_enable:="NO"}
: ${bbackupd_flags:="%%PREFIX%%/etc/box/bbackupd.conf"}
pidfile=${bbackupd_pidfile:-"/var/run/bbackupd.pid"}
command="%%PREFIX%%/sbin/bbackupd"
extra_commands="reload"
run_rc_command "$1"

View File

@ -1,27 +1,28 @@
#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: bbstored
# REQUIRE: NETWORKING
# KEYWORD: shutdown
#
# Add the following line to /etc/rc.conf to enable bbstored:
#
#bbstored_enable="YES"
#
: ${bbstored_enable:="NO"}
: ${bbstored_flags:="%%PREFIX%%/etc/box/bbstored.conf"}
: ${bbstored_pidfile:="/var/run/bbstored.pid"}
# bbstored_enable="YES"
. /etc/rc.subr
name="bbstored"
rcvar=`set_rcvar`
command="%%PREFIX%%/bin/bbstored"
extra_commands="reload"
load_rc_config $name
: ${bbstored_enable:="NO"}
: ${bbstored_flags:="%%PREFIX%%/etc/box/bbstored.conf"}
pidfile=${bbstored_pidfile:-"/var/run/bbstored.pid"}
command="%%PREFIX%%/sbin/bbstored"
extra_commands="reload"
run_rc_command "$1"

View File

@ -1,35 +0,0 @@
--- configure.ac.orig Thu Mar 16 22:26:39 2006
+++ configure.ac Thu Mar 16 22:28:31 2006
@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.59)
-AC_INIT([Box Backup], 0.09, [box@fluffy.co.uk])
+AC_INIT([Box Backup], 0.10, [box@fluffy.co.uk])
AC_CONFIG_SRCDIR([lib/common/Box.h])
AC_CONFIG_HEADERS([lib/common/BoxConfig.h])
@@ -26,6 +26,12 @@
# Use -rdynamic if we have gcc. This is needed for backtrace
AC_SUBST([LDADD_RDYNAMIC], ['-rdynamic'])
fi
+AC_PATH_PROG([PERL], [perl], [no])
+if test "x$PERL" != "xno"; then
+ AC_DEFINE_UNQUOTED([PERL_EXECUTABLE], ["$PERL"], [Location of the perl executable])
+else
+ AC_MSG_ERROR([[perl executable was not found]])
+fi
### Checks for libraries.
@@ -208,8 +214,8 @@
# Configure the Box build system
echo
-perl ./infrastructure/makebuildenv.pl &&
- perl ./infrastructure/makeparcels.pl
+$PERL ./infrastructure/makebuildenv.pl &&
+ $PERL ./infrastructure/makeparcels.pl
# Write summary of important info
cat <<EOC

View File

@ -1,25 +0,0 @@
--- lib/common/BoxPortsAndFiles.h.orig Thu Mar 16 19:28:09 2006
+++ lib/common/BoxPortsAndFiles.h Thu Mar 16 19:28:38 2006
@@ -53,7 +53,7 @@
// Backup store daemon
#define BOX_PORT_BBSTORED (BOX_PORT_BASE+1)
-#define BOX_FILE_BBSTORED_DEFAULT_CONFIG "/etc/box/bbstored.conf"
+#define BOX_FILE_BBSTORED_DEFAULT_CONFIG "%%PREFIX%%/etc/box/bbstored.conf"
// directory within the RAIDFILE root for the backup store daemon
#define BOX_RAIDFILE_ROOT_BBSTORED "backup"
@@ -61,11 +61,11 @@
#ifdef WIN32
#define BOX_FILE_BBACKUPD_DEFAULT_CONFIG "C:\\Program Files\\Box Backup\\bbackupd.conf"
#else
-#define BOX_FILE_BBACKUPD_DEFAULT_CONFIG "/etc/box/bbackupd.conf"
+#define BOX_FILE_BBACKUPD_DEFAULT_CONFIG "%%PREFIX%%/etc/box/bbackupd.conf"
#endif
// RaidFile conf location default
-#define BOX_FILE_RAIDFILE_DEFAULT_CONFIG "/etc/box/raidfile.conf"
+#define BOX_FILE_RAIDFILE_DEFAULT_CONFIG "%%PREFIX%%/etc/box/raidfile.conf"
// Default name of the named pipe
#define BOX_NAMED_PIPE_NAME L"\\\\.\\pipe\\boxbackup"

View File

@ -1,4 +1,4 @@
To run bbackupd at startup, add bbackupd_enable="YES" to /etc/rc.conf
Please see http://www.fluffy.co.uk/boxbackup/client.html for client
configuration options
Please see http://www.boxbackup.org/client.html for client configuration
options

View File

@ -1,4 +1,4 @@
To run bbstored at startup, add bbstored_enable="YES" to /etc/rc.conf
Please see http://www.fluffy.co.uk/boxbackup/server.html for server
configuration options
Please see http://www.boxbackup.org/server.html for server configuration
options

View File

@ -1,69 +0,0 @@
#! /bin/sh
#
# ex:ts=4
ask() {
local question default answer
question=$1
default=$2
if [ -z "${PACKAGE_BUILDING}" -a -z "${BATCH}" ]; then
read -p "${question} [${default}]? " answer
fi
echo ${answer:-${default}}
}
yesno() {
local question default answer
question=$1
default=$2
while :; do
answer=$(ask "${question}" "${default}")
case "${answer}" in
[Yy]*) return 0;;
[Nn]*) return 1;;
esac
echo "Please answer yes or no."
done
}
delete_account() {
local u pw
u=$1
pw=`pw usershow ${u} >/dev/null 2>&1`
if [ $? -eq 0 ]; then
if yesno "Do you want me to remove user \"${u}\"" n; then
pw userdel -n ${u}
echo "Done."
fi
fi
}
case $2 in
DEINSTALL)
if ps -axc | grep -qw bbstored; then
if yesno "bbstored is still running. Shall I stop it?" y; then
killall bbstored
sleep 2
else
echo "OK ... I hope you know what you are doing."
fi
fi
if ps -axc | grep -qw bbackupd; then
if yesno "bbackupd is still running. Shall I stop it?" y; then
killall bbackupd
sleep 2
else
echo "OK ... I hope you know what you are doing."
fi
fi
delete_account _bbstored
;;
esac

View File

@ -10,4 +10,4 @@ The system is designed to be easy to set up and run, and cheap to use.
Once set up, there should be no need for user or administrative
intervention, apart from usual system maintenance.
WWW: http://www.fluffy.co.uk/boxbackup/
WWW: http://www.boxbackup.org/

View File

@ -1,36 +0,0 @@
#!/bin/sh
# $FreeBSD$
case $2 in
PRE-INSTALL)
USER=_bbstored
GROUP=${USER}
UID=505
GID=${UID}
if pw group show "${GROUP}" 2>/dev/null; then
echo "You already have a group \"${GROUP}\", so I will use it."
else
if pw groupadd ${GROUP} -g ${GID}; then
echo "Added group \"${GROUP}\"."
else
echo "Adding group \"${GROUP}\" failed..."
exit 1
fi
fi
if pw user show "${USER}" 2>/dev/null; then
echo "You already have a user \"${USER}\", so I will use it."
else
if pw useradd ${USER} -u ${UID} -g ${GROUP} -h - \
-d /nonexistent -c "Box Backup Store Daemon"
then
echo "Added user \"${USER}\"."
else
echo "Adding user \"${USER}\" failed..."
exit 1
fi
fi
;;
esac

View File

@ -1,14 +1,17 @@
%%CLIENT%%bin/bbackupctl
%%CLIENT%%bin/bbackupd
%%CLIENT%%bin/bbackupd-config
%%CLIENT%%bin/bbackupquery
%%SERVER%%bin/bbstoreaccounts
%%SERVER%%bin/bbstored
%%SERVER%%bin/bbstored-certs
%%SERVER%%bin/bbstored-config
%%SERVER%%bin/raidfile-config
%%CLIENT%%sbin/bbackupctl
%%CLIENT%%sbin/bbackupd
%%CLIENT%%sbin/bbackupd-config
%%CLIENT%%sbin/bbackupquery
%%SERVER%%sbin/bbstoreaccounts
%%SERVER%%sbin/bbstored
%%SERVER%%sbin/bbstored-certs
%%SERVER%%sbin/bbstored-config
%%SERVER%%sbin/raidfile-config
%%CLIENT%%@exec mkdir -p -m 0700 %D/etc/box/bbackupd
%%SERVER%%@exec mkdir -p -m 0700 %D/etc/box/bbstored
%%CLIENT%%@dirrmtry etc/box/bbackupd
%%SERVER%%@dirrmtry etc/box/bbstored
%%CLIENT%%etc/periodic/monthly/999.boxbackup
@dirrmtry etc/periodic/monthly
@dirrmtry etc/periodic
@dirrmtry etc/box