- 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 PORTNAME= boxbackup
PORTVERSION= 0.10 PORTVERSION= 0.11.r${SVNVERSION:C/^[0-9\.]+_[a-z]+_([0-9]+)/\1/}
PORTREVISION= 2
CATEGORIES= sysutils CATEGORIES= sysutils
MASTER_SITES= SF MASTER_SITES= http://www.boxbackup.org/snapshots/%SUBDIR%/
PKGNAMESUFFIX= ${CLIENT_OR_SERVER}-devel
DISTNAME= ${PORTNAME}-${SVNVERSION}
EXTRACT_SUFX= .tgz EXTRACT_SUFX= .tgz
PKGNAMESUFFIX= -devel
MAINTAINER= james@netinertia.co.uk 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 NO_LATEST_LINK= yes
@ -24,17 +31,18 @@ USE_PERL5= yes
USE_AUTOTOOLS= autoconf aclocal autoheader USE_AUTOTOOLS= autoconf aclocal autoheader
ACLOCAL_ARGS+= -I ${WRKSRC}/infrastructure/m4 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 PKGMESSAGE= ${WRKDIR}/pkg-message
OPTIONS= CLIENT "Install the bbackupd client" On \ OPTIONS= CLIENT "Install the bbackupd client" On \
SERVER "Install the bbstored server" On \ SERVER "Install the bbstored server" On \
GNUREADLINE "Enable the use of GNU readline" Off \ GNUREADLINE "Enable the use of GNU readline" Off
TESTS "Allows use of a 'test' target to run tests" Off
.include <bsd.port.pre.mk> .include <bsd.port.pre.mk>
TARGETOS!= ${ECHO_CMD} `${UNAME} -s``${UNAME} -r | ${SED} -e 's/[-(].*//'` | ${TR} A-Z a-z
.if defined(WITH_GNUREADLINE) .if defined(WITH_GNUREADLINE)
CONFIGURE_ARGS+=--enable-gnu-readline CONFIGURE_ARGS+=--enable-gnu-readline
.endif .endif
@ -44,55 +52,48 @@ IGNORE= requires at least CLIENT or SERVER to be defined.\
Please 'make config' again Please 'make config' again
.endif .endif
.if defined(WITHOUT_CLIENT) MANCOMPRESSED= yes
PLIST_SUB+= CLIENT="@comment " .if defined(WITH_CLIENT)
.else USE_RC_SUBR+= bbackupd
USE_RC_SUBR+= bbackupd.sh
PLIST_SUB+= CLIENT="" PLIST_SUB+= CLIENT=""
ALL_TARGET+= parcels/${DISTNAME}-backup-client-${TARGETOS}.tgz ALL_TARGET+= build-backup-client
INSTALL_TARGET+=install-backup-client INSTALL_TARGET+=install-backup-client
.endif MAN5+= bbackupd.conf.5
MAN8+= bbackupd.8 bbackupctl.8 bbackupd-config.8 bbackupquery.8
.if defined(WITHOUT_SERVER) SUB_FILES+= 999.boxbackup
PLIST_SUB+= SERVER="@comment "
.else .else
USE_RC_SUBR+= bbstored.sh PLIST_SUB+= CLIENT="@comment "
PLIST_SUB+= SERVER="" .endif
ALL_TARGET+= parcels/${DISTNAME}-backup-server-${TARGETOS}.tgz
INSTALL_TARGET+=install-backup-server .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 .endif
CONFLICTS= boxbackup-server-[0-9]* boxbackup-client-[0-9]*
.if defined(WITHOUT_CLIENT) .if defined(WITHOUT_CLIENT)
CONFLICTS= boxbackup-client-[0-9]* # if this is a server-only install, CONFLICT with an install of the CLIENT or both
PKGNAMESUFFIX= -server CONFLICTS= boxbackup-client-[0-9]* boxbackup-[0-9]*
CLIENT_OR_SERVER=-server
.elif defined(WITHOUT_SERVER) .elif defined(WITHOUT_SERVER)
CONFLICTS= boxbackup-server-[0-9]* # if this is a client-only install, CONFLICT with an install of the SERVER or both
PKGNAMESUFFIX= -client 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 .endif
post-patch: post-patch:
# Replace hard-coded /etc/box with $PREFIX/etc/box @${REINPLACE_CMD} -e '/html/d' ${WRKSRC}/parcels.txt
@${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
.if !defined(WITHOUT_CLIENT) .if !defined(WITHOUT_CLIENT)
@${CAT} ${FILESDIR}/pkg-message.client >> ${PKGMESSAGE} @${CAT} ${FILESDIR}/pkg-message.client >> ${PKGMESSAGE}
.endif .endif
@ -100,25 +101,22 @@ post-patch:
@${CAT} ${FILESDIR}/pkg-message.server >> ${PKGMESSAGE} @${CAT} ${FILESDIR}/pkg-message.server >> ${PKGMESSAGE}
.endif .endif
.if !defined(WITHOUT_SERVER) post-configure:
pre-install: @${REINPLACE_CMD} -e '/share.doc.boxbackup/d' ${WRKSRC}/parcels/scripts/install-backup-*
@${SETENV} PKG_PREFIX=${PREFIX} \
${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
.endif
post-install: post-install:
.if !defined(WITHOUT_CLIENT) .if !defined(WITHOUT_CLIENT)
@${MKDIR} -m 0700 ${PREFIX}/etc/box/bbackupd @${MKDIR} -m 0700 ${PREFIX}/etc/box/bbackupd
@${MKDIR} ${PREFIX}/etc/periodic/monthly
${INSTALL_SCRIPT} ${WRKDIR}/999.boxbackup ${PREFIX}/etc/periodic/monthly
.endif .endif
.if !defined(WITHOUT_SERVER) .if !defined(WITHOUT_SERVER)
@${MKDIR} -m 0700 ${PREFIX}/etc/box/bbstored @${MKDIR} -m 0700 ${PREFIX}/etc/box/bbstored
.endif .endif
@${CAT} ${PKGMESSAGE} @${CAT} ${PKGMESSAGE}
.if defined(WITH_TESTS)
test: test:
@${ECHO_CMD} "===> Running tests" @${ECHO_CMD} "===> Running tests"
@${MAKE} -C ${WRKSRC} test @${MAKE} -C ${WRKSRC} test
.endif
.include <bsd.port.post.mk> .include <bsd.port.post.mk>

View file

@ -1,2 +1,2 @@
SHA256 (boxbackup-0.10.tgz) = 09e88f4ee26b76b3d6e6a0cf3fc374e55d79dd84e9884dfc6a7635593862d361 SHA256 (boxbackup-0.11_trunk_2979.tgz) = 8d49959c7bd173de468837a6645883b37f5c2d485ba2245f9178b74e8b1f8c9e
SIZE (boxbackup-0.10.tgz) = 842450 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 #!/bin/sh
#
# $FreeBSD$ # $FreeBSD$
# #
# PROVIDE: bbackupd # PROVIDE: bbackupd
# REQUIRE: NETWORKING # REQUIRE: NETWORKING
# KEYWORD: shutdown # KEYWORD: shutdown
# #
# Add the following line to /etc/rc.conf to enable bbackupd: # Add the following line to /etc/rc.conf to enable bbackupd:
# #
#bbackupd_enable="YES" # bbackupd_enable="YES"
#
: ${bbackupd_enable:="NO"}
: ${bbackupd_flags:="%%PREFIX%%/etc/box/bbackupd.conf"}
: ${bbackupd_pidfile:="/var/run/bbackupd.pid"}
. /etc/rc.subr . /etc/rc.subr
name="bbackupd" name="bbackupd"
rcvar=`set_rcvar` rcvar=`set_rcvar`
command="%%PREFIX%%/bin/bbackupd"
extra_commands="reload"
load_rc_config $name 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" run_rc_command "$1"

View file

@ -1,27 +1,28 @@
#!/bin/sh #!/bin/sh
#
# $FreeBSD$ # $FreeBSD$
# #
# PROVIDE: bbstored # PROVIDE: bbstored
# REQUIRE: NETWORKING # REQUIRE: NETWORKING
# KEYWORD: shutdown # KEYWORD: shutdown
# #
# Add the following line to /etc/rc.conf to enable bbstored: # Add the following line to /etc/rc.conf to enable bbstored:
# #
#bbstored_enable="YES" # bbstored_enable="YES"
#
: ${bbstored_enable:="NO"}
: ${bbstored_flags:="%%PREFIX%%/etc/box/bbstored.conf"}
: ${bbstored_pidfile:="/var/run/bbstored.pid"}
. /etc/rc.subr . /etc/rc.subr
name="bbstored" name="bbstored"
rcvar=`set_rcvar` rcvar=`set_rcvar`
command="%%PREFIX%%/bin/bbstored"
extra_commands="reload"
load_rc_config $name 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" 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 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 Please see http://www.boxbackup.org/client.html for client configuration
configuration options options

View file

@ -1,4 +1,4 @@
To run bbstored at startup, add bbstored_enable="YES" to /etc/rc.conf 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 Please see http://www.boxbackup.org/server.html for server configuration
configuration options 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 Once set up, there should be no need for user or administrative
intervention, apart from usual system maintenance. 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%%sbin/bbackupctl
%%CLIENT%%bin/bbackupd %%CLIENT%%sbin/bbackupd
%%CLIENT%%bin/bbackupd-config %%CLIENT%%sbin/bbackupd-config
%%CLIENT%%bin/bbackupquery %%CLIENT%%sbin/bbackupquery
%%SERVER%%bin/bbstoreaccounts %%SERVER%%sbin/bbstoreaccounts
%%SERVER%%bin/bbstored %%SERVER%%sbin/bbstored
%%SERVER%%bin/bbstored-certs %%SERVER%%sbin/bbstored-certs
%%SERVER%%bin/bbstored-config %%SERVER%%sbin/bbstored-config
%%SERVER%%bin/raidfile-config %%SERVER%%sbin/raidfile-config
%%CLIENT%%@exec mkdir -p -m 0700 %D/etc/box/bbackupd %%CLIENT%%@exec mkdir -p -m 0700 %D/etc/box/bbackupd
%%SERVER%%@exec mkdir -p -m 0700 %D/etc/box/bbstored %%SERVER%%@exec mkdir -p -m 0700 %D/etc/box/bbstored
%%CLIENT%%@dirrmtry etc/box/bbackupd %%CLIENT%%@dirrmtry etc/box/bbackupd
%%SERVER%%@dirrmtry etc/box/bbstored %%SERVER%%@dirrmtry etc/box/bbstored
%%CLIENT%%etc/periodic/monthly/999.boxbackup
@dirrmtry etc/periodic/monthly
@dirrmtry etc/periodic
@dirrmtry etc/box @dirrmtry etc/box