# $NetBSD: Makefile.common,v 1.5 2021/08/11 10:24:05 kardel Exp $
# used by sysutils/bareos-clientonly/Makefile

GITHUB_PROJECT=	bareos
VERSION=	20.0.2
GITHUB_TAG=	Release/${VERSION}

DISTNAME=	bareos-${VERSION}
WRKSRC=		${WRKDIR}/${GITHUB_PROJECT}-${GITHUB_TAG:C/\//-/}
CATEGORIES=	sysutils
MASTER_SITES=	${MASTER_SITE_GITHUB:=bareos/}

# also knowledgable: MAINTAINER=	paul@paulbsd.com
MAINTAINER=	kardel@NetBSD.org
HOMEPAGE=	http://www.bareos.org/
LICENSE=	gnu-agpl-v3

# pkgsrc version currently only tested/configured for NetBSD build
ONLY_FOR_PLATFORM=	NetBSD-*-*

USE_LANGUAGES+=	c c++
USE_CMAKE=	yes
CMAKE_ARG_PATH=	..
CONFIGURE_DIRS=	core/_build

PLIST_SUBST+=		PYSITELIB=${PYSITELIB}

REPLACE_PERL+=		core/src/cats/make_catalog_backup.pl.in

SUBST_CLASSES+=		paths
SUBST_STAGE.paths=	pre-configure
SUBST_MESSAGE.paths=	Fixing absolute paths.
SUBST_FILES.paths+=	core/src/cats/make_catalog_backup.pl.in
SUBST_FILES.paths+=	core/scripts/bareos-config-lib.sh.in
SUBST_FILES.paths+=	core/platforms/netbsd/chio-changer
SUBST_SED.paths=	-e 's,"/usr/local,"${PREFIX},g'
SUBST_SED.paths+=	-e 's,"/var/log,"${VARBASE}/log,g'
SUBST_VARS.paths=	LOCALBASE PREFIX PKGVERSION TOOLS_PLATFORM.sh TOOLS_PLATFORM.awk

pre-configure:
	${MKDIR} ${WRKSRC}/core/_build

BUILD_DEFS+=		VARBASE

# file locations
PKG_SYSCONFSUBDIR?=	bareos
BAREOS_PIDDIR?=		${VARBASE}/run/${PKG_SYSCONFSUBDIR}
BAREOS_LOGDIR?=		${VARBASE}/log/${PKG_SYSCONFSUBDIR}
BAREOS_LIBDIR?=		${PREFIX}/lib
BAREOS_WORKINGDIR?=	${VARBASE}/db/${PKG_SYSCONFSUBDIR}

BUILD_DEFS+=		BAREOS_PIDDIR BAREOS_WORKINGDIR

# user/group information
BAREOS_GROUP?=		bareos

PKG_GROUPS=		${BAREOS_GROUP}

CONFIG_TEMPLATE_PATH=	share/examples/${PKG_SYSCONFSUBDIR}/configtemplates

# variables to substitute
FILES_SUBST+=		BAREOS_ETCDIR=${PKG_SYSCONFDIR}
FILES_SUBST+=		BAREOS_PIDDIR=${BAREOS_PIDDIR}
FILES_SUBST+=		BAREOS_LOGDIR=${BAREOS_LOGDIR}
FILES_SUBST+=		BAREOS_GROUP=${BAREOS_GROUP}
FILES_SUBST+=		BAREOS_DIR_USER=${BAREOS_DIR_USER}
FILES_SUBST+=		BAREOS_SD_USER=${BAREOS_SD_USER}

# additional CXX parameters - document pkgsrc origin
CXXFLAGS+=	-DBAREOS_BINARY_INFO=\\\"pkgsrc-compiled\\\"
CXXFLAGS+=	-DBAREOS_JOBLOG_MESSAGE=\\\"'pkgsrc '"${DISTNAME}"\\\"
CXXFLAGS+=	-DBAREOS_SERVICES_MESSAGE=\\\"'pkgsrc-compiled binaries are UNSUPPORTED by bareos.com (https://www.bareos.com).\\n'\\\"

# cmake arguments
CMAKE_ARGS+=	-DCMAKE_INSTALL_PREFIX=${PREFIX}
CMAKE_ARGS+=	-DCMAKE_STAGING_PREFIX=${BUILDLINK_DIR}
CMAKE_ARGS+=	-DCMAKE_CXX_FLAGS="${CXXFLAGS}"
CMAKE_ARGS+=	-Dconfigtemplatedir=${PREFIX}/${CONFIG_TEMPLATE_PATH}
CMAKE_ARGS+=	-Dworkingdir=${VARBASE}/db/${PKG_SYSCONFSUBDIR}/working
CMAKE_ARGS+=	-Dsubsysdir=${VARBASE}/db/${PKG_SYSCONFSUBDIR}
CMAKE_ARGS+=	-Dbsrdir=${VARBASE}/db/${PKG_SYSCONFSUBDIR}/bsr
CMAKE_ARGS+=	-Dlogdir=${BAREOS_LOGDIR}
CMAKE_ARGS+=	-Dlibdir=${BAREOS_LIBDIR}
CMAKE_ARGS+=	-Dpiddir=${BAREOS_PIDDIR}
CMAKE_ARGS+=	-Darchivedir=${VARBASE}/db/${PKG_SYSCONFSUBDIR}/storage
CMAKE_ARGS+=	-Ddir-user=${BAREOS_DIR_USER}
CMAKE_ARGS+=	-Ddir-group=${BAREOS_GROUP}
CMAKE_ARGS+=	-Dsd-user=${BAREOS_SD_USER}
CMAKE_ARGS+=	-Dsd-group=${BAREOS_GROUP}
CMAKE_ARGS+=	-Dfd-user=${REAL_ROOT_USER}
CMAKE_ARGS+=	-Dfd-group=${BAREOS_GROUP}

.include "../../mk/bsd.prefs.mk"

PYTHON_VERSIONS_INCOMPATIBLE=	27

# dependencies
.include "../../mk/atomic64.mk"
.include "../../archivers/lzo/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../lang/python/application.mk"
.include "../../mk/pam.buildlink3.mk"
.include "../../devel/readline/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
.include "../../textproc/jansson/buildlink3.mk"
