Files

129 lines
5.4 KiB
Tcl

# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
PortSystem 1.0
name boxbackup
version 0.11.1
revision 4
categories sysutils net
license BSD-old
maintainers {ecronin @ecronin} openmaintainer
description completely automatic on-line backup system.
long_description The backup daemon, bbackupd, runs on all machines to \
be backed up. The store server daemon, bbstored runs \
on a central server. Data is sent to the store \
server, which stores all data on local filesystems, \
that is, only on local hard drives. Tape or other \
archive media is not used. \
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.
homepage http://www.boxbackup.org/
master_sites ${homepage}svn/box/packages/
extract.suffix .tgz
checksums rmd160 17553b3ff06d19f353dbadc0166b7dceaa11c271 \
sha256 1328b010477259c4767276dbfebab6580e883336cc9d25696c39991b09cc6d32
depends_lib path:bin/perl:perl5 path:lib/libssl.dylib:openssl port:libedit
configure.args --sysconfdir=${prefix}/etc \
--localstatedir=${prefix}/var/bbackupd \
--mandir=${prefix}/share/man
use_parallel_build no
build.type bsd
post-patch {
reinplace "s|man/man|share/man/man|g" \
${worksrcpath}/infrastructure/makeparcels.pl.in
}
# Update config.guess and config.sub to be able to build on arm64.
depends_build-append port:automake
post-patch {
set automake_dirs [glob -directory ${prefix}/share automake-*]
set automake_dir [lindex [lsort -command vercmp $automake_dirs] end]
copy -force ${automake_dir}/config.guess ${automake_dir}/config.sub \
${worksrcpath}
}
destroot.target install-backup-client
destroot.keepdirs ${destroot}${prefix}/etc/boxbackup/bbackupd \
${destroot}${prefix}/var/bbackupd
post-destroot {
xinstall -d -m 0700 ${destroot}${prefix}/etc/boxbackup/bbackupd
xinstall -d -m 0755 ${destroot}${prefix}/var/bbackupd
# Install the documentation
xinstall -d -m 0755 ${destroot}${prefix}/share/doc/${name}
file copy {*}[glob ${worksrcpath}/docs/htmlguide/*] \
${destroot}${prefix}/share/doc/${name}/
}
variant bdb description {Use Berkeley Data Base to cache bbackupd state} {
depends_lib-append port:db47
configure.args-append --with-bdb-headers=${prefix}/include/db47 \
--with-bdb-lib=${prefix}/lib/db47
}
variant server description {Install bbstored server} {
add_users bbstored group=bbstored realname=BoxBackup\ Server \
home=${prefix}/etc/boxbackup/bbstored
destroot.target-append install-backup-server
destroot.keepdirs-append ${destroot}${prefix}/etc/boxbackup/bbstored
post-destroot {
xinstall -o bbstored -g bbstored -d -m 0770 ${destroot}${prefix}/etc/boxbackup/bbstored
}
}
post-activate {
if {[file isdir ${prefix}/etc/box]} {
ui_warn "${prefix}/etc/box should be moved to ${prefix}/etc/boxbackup to complete upgrade."
}
if {[variant_isset server]} {
if {![file exists ${prefix}/etc/boxbackup/raidfile.conf]} {
ui_warn "${prefix}/etc/boxbackup/raidfile.conf is missing!"
ui_msg "You need to run 'raidfile-config' to create it."
ui_msg "See the documentation on server setup for details:"
#ui_msg " file://${prefix}/share/doc/boxbackup/server.html"
ui_msg " http://www.boxbackup.org/server.html"
}
if {![file exists ${prefix}/etc/boxbackup/bbstored.conf]} {
ui_warn "${prefix}/etc/boxbackup/bbstored.conf is missing!"
ui_msg "You need to run 'bbstored-config' to create it."
ui_msg "See the documentation on server setup for details:"
#ui_msg " file://${prefix}/share/doc/boxbackup/server.html"
ui_msg " http://www.boxbackup.org/server.html"
}
}
if {![file exists ${prefix}/etc/boxbackup/bbackupd.conf]} {
ui_warn "${prefix}/etc/boxbackup/bbackupd.conf is missing!"
ui_msg "You need to run 'bbackupd-config' to create it."
ui_msg "See the documentation on client setup for details:"
#ui_msg " file://${prefix}/share/doc/boxbackup/client.html"
ui_msg " http://www.boxbackup.org/client.html"
}
}
test.run yes
platform darwin {
startupitem.create yes
startupitem.name BoxBackup
startupitem.start "cd ${prefix}/etc/boxbackup"
if {[variant_isset server]} {
startupitem.start-append "\[ -f \"${prefix}/etc/boxbackup/bbstored.conf\" \] \\"
startupitem.start-append "\t&& \[ -f \"${prefix}/etc/boxbackup/raidfile.conf\" \] \\"
startupitem.start-append "\t&& ${prefix}/sbin/bbstored"
}
startupitem.start-append "\[ -f \"${prefix}/etc/boxbackup/bbackupd.conf\" \] \\"
startupitem.start-append "\t&& ${prefix}/sbin/bbackupd"
startupitem.stop "/usr/bin/killall -SIGUSR1 bbackupd"
if {[variant_isset server]} {
startupitem.stop-append "/usr/bin/killall -SIGUSR1 bbstored"
}
}