# Template file for 'burp2-server'
_desc="Network-based backup and restore program"

pkgname=burp2-server
version=2.4.0
revision=3
build_style=gnu-configure
make_install_target=install-all
configure_args="--sysconfdir=/etc/burp"
hostmakedepends="automake libtool pkg-config"
makedepends="acl-devel openssl-devel librsync-devel ncurses-devel uthash
 yajl-devel zlib-devel"
# server depends on client (same binary)
depends="burp2-client"
checkdepends="check-devel"
short_desc="${_desc} - Server"
maintainer="Pierre Bourgin <pierre.bourgin@free.fr>"
license="AGPL-3.0-or-later, BSD-3-Clause, LGPL-2.1-or-later"
homepage="https://burp.grke.org/"
distfiles="https://github.com/grke/burp/archive/${version}.tar.gz"
checksum=995f288fa74489a470e71a4fa8d701578143a543d417dad85059099279f3034b

# 'install-all': also install config files and scripts
conf_files="/etc/burp/burp-server.conf"
make_dirs="/var/spool/burp 0755 root root"

if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
	makedepends+=" musl-legacy-compat"
elif [ "$XBPS_TARGET_LIBC" = "glibc" ]; then
	makedepends+=" libxcrypt-devel"
fi

pre_configure() {
	autoreconf -fi
}

post_install() {
	vsv ${pkgname}

	vdoc "README"
	vdoc "UPGRADING"
	vlicense "LICENSE"

	# files for -doc package
	_docdir="usr/share/examples/burp-doc"
	vmkdir "${_docdir}/server"
	vcopy "configs/server/cron.example" "${_docdir}/server"
	vcopy "configs/server/out_of_date_report_script" "${_docdir}/server"
	vcopy "configs/server/offsite-backup" "${_docdir}/server"

	vmkdir "${_docdir}/server/autoupgrade"
	vcopy "configs/server/autoupgrade/*.script" "${_docdir}/server/autoupgrade"

	vcopy "${DESTDIR}/etc/burp" "${_docdir}"

	vmkdir "${_docdir}/client"
	vcopy "configs/client/cron.example" "${_docdir}/client"
	vcopy "configs/client/zfs_script" "${_docdir}/client"

	# do not define this backup client in server configuration
	rm "${DESTDIR}/etc/burp/clientconfdir/testclient"
}

burp2-client_package() {
	short_desc="${_desc} - Client"
	# openssl binary needed by burp_ca script
	depends="openssl"
	conf_files="/etc/burp/burp.conf"
	# burp2-client (v2.x) does not work with burp-server (v1.x):
	# give a chance to no break everything by refusing upgrade
	conflicts="burp-client"
	make_dirs="/etc/burp/CA-client 0755 root root"
	pkg_install() {
		vmove usr/bin/burp
		vmove usr/bin/burp_ca
		vmove usr/share/man/man8/burp.8
		vmove usr/share/man/man8/burp_ca.8
		vmove etc/burp/CA-client
		vmove etc/burp/burp.conf
		vdoc README
		vlicense LICENSE
	}
}

burp2-doc_package() {
	short_desc="${_desc} - Doc and examples"
	pkg_install() {
		vmove usr/share/doc/burp
		vmove usr/share/examples
	}
}
