aboutsummaryrefslogblamecommitdiff
path: root/sysutils/boxbackup-devel/Makefile
blob: a72792aa77e1b4610fd2addcfbff5f9720522c54 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
                                                     


                                                                   
                 
                        
                                                          


                                         
                                 
                                                                       




                                          

                               
                                            
                   

                               
















                                                      


                                                                                            
                                                                                            

      






























                                                              
                                          

                               
                                          

                        
                                                 




















































                                                                                                







                                                                                           





                                          
# Created by: James O'Gorman <james@netinertia.co.uk>

PORTNAME=	boxbackup
PORTVERSION=	0.11.r${SVNVERSION:C/^[0-9\.]+_[a-z]+_([0-9]+)/\1/}
PORTREVISION=	1
CATEGORIES=	sysutils
MASTER_SITES=	http://www.boxbackup.org/snapshots/201108/
PKGNAMESUFFIX=	${CLIENT_OR_SERVER}-devel
DISTNAME=	${PORTNAME}-${SVNVERSION}

MAINTAINER=	ports@FreeBSD.org
COMMENT=	Open-source, completely automatic on-line backup system

LICENSE=	BSD3CLAUSE GPLv2
LICENSE_COMB=	dual
LICENSE_FILE=	${WRKSRC}/LICENSE-DUAL.txt

SVNVERSION=	0.11_trunk_2979

USES=		autoreconf perl5 ssl tar:tgz
GNU_CONFIGURE=	yes
CFLAGS+=	-I${OPENSSLINC}
LDFLAGS+=	-L${OPENSSLLIB}

CONFIGURE_ARGS+=--sysconfdir=${PREFIX}/etc

PKGMESSAGE=	${WRKDIR}/pkg-message

OPTIONS_MULTI=	TYPE
OPTIONS_MULTI_TYPE=	CLIENT SERVER
OPTIONS_DEFINE=	GNUREADLINE
OPTIONS_DEFAULT=	CLIENT SERVER
CLIENT_DESC=		Install the bbackupd client
SERVER_DESC=		Install the bbstored server
GNUREADLINE_DESC=	Enable the use of GNU readline

MAKE_JOBS_UNSAFE=	yes

.include <bsd.port.options.mk>

.if ${SSL_DEFAULT} == base
BROKEN_FreeBSD_12=	field has incomplete type 'EVP_CIPHER_CTX' (aka 'evp_cipher_ctx_st')
BROKEN_FreeBSD_13=	field has incomplete type 'EVP_CIPHER_CTX' (aka 'evp_cipher_ctx_st')
BROKEN_FreeBSD_14=	field has incomplete type 'EVP_CIPHER_CTX' (aka 'evp_cipher_ctx_st')
.endif

CLIENTDIR=	CLIENT
SERVERDIR=	SERVER
CLIENT_FILES=	bbackupd bbackupquery bbackupctl
SERVER_FILES=	bbstored bbstoreaccounts

.if ${PORT_OPTIONS:MGNUREADLINE}
CONFIGURE_ARGS+=--enable-gnu-readline
.endif

.if ${PORT_OPTIONS:MCLIENT}
USE_RC_SUBR+=	bbackupd
PLIST_SUB+=	CLIENT=""
ALL_TARGET+=	build-backup-client
CLIENT_SCRIPTS=	bbackupd-config
SUB_FILES+=	999.boxbackup
.else
PLIST_SUB+=	CLIENT="@comment "
.endif

.if ${PORT_OPTIONS:MSERVER}
USE_RC_SUBR+=	bbstored
USERS+=		_bbstored
GROUPS+=	_bbstored
PLIST_SUB+=	SERVER=""
ALL_TARGET+=	build-backup-server
SERVER_SCRIPTS=	bbstored-certs bbstored-config raidfile-config
.else
PLIST_SUB+=	SERVER="@comment "
.endif

.if ! ${PORT_OPTIONS:MCLIENT}
CONFLICTS=	boxbackup-client boxbackup
CLIENT_OR_SERVER=-server
.elif ! ${PORT_OPTIONS:MSERVER}
CONFLICTS=	boxbackup-server boxbackup
CLIENT_OR_SERVER=-client
.else
CONFLICTS=	boxbackup-server boxbackup-client
.endif

post-patch:
	@${REINPLACE_CMD} -e '/html/d' ${WRKSRC}/parcels.txt
.if ${PORT_OPTIONS:MCLIENT}
	@${CAT} ${FILESDIR}/pkg-message.client >> ${PKGMESSAGE}
.endif
.if ${PORT_OPTIONS:MSERVER}
	@${CAT} ${FILESDIR}/pkg-message.server >> ${PKGMESSAGE}
.endif

post-configure:
	@${REINPLACE_CMD} -e '/share.doc.boxbackup/d' ${WRKSRC}/parcels/scripts/install-backup-*
pre-install:
	(cd ${WRKSRC}/parcels \
	&& ${MV} ./boxbackup-0.11_trunk_2979-backup-client ../CLIENT)

	(cd ${WRKSRC}/parcels \
	&& ${MV} ./boxbackup-0.11_trunk_2979-backup-server ../SERVER)
do-install:
.if ${PORT_OPTIONS:MCLIENT}
	(cd ${WRKSRC}/${CLIENTDIR}/ \
	&& ${INSTALL_PROGRAM} ${CLIENT_FILES} ${STAGEDIR}${PREFIX}/sbin/)

	(cd ${WRKSRC}/${CLIENTDIR}/ \
	&& ${INSTALL_SCRIPT} ${CLIENT_SCRIPTS} ${STAGEDIR}${PREFIX}/sbin/)

	${INSTALL_MAN} ${WRKSRC}/${CLIENTDIR}/bbackupd.conf.5.gz \
	${STAGEDIR}${PREFIX}/man/man5/

	${INSTALL_MAN} ${WRKSRC}/${CLIENTDIR}/bbackupctl.8.gz \
	${WRKSRC}/${CLIENTDIR}/bbackupd-config.8.gz \
	${WRKSRC}/${CLIENTDIR}/bbackupd.8.gz ${WRKSRC}/${CLIENTDIR}/bbackupquery.8.gz \
	${STAGEDIR}${PREFIX}/man/man8/
.endif
.if ${PORT_OPTIONS:MSERVER}
	(cd ${WRKSRC}/${SERVERDIR}/ \
	&& ${INSTALL_PROGRAM} ${SERVER_FILES} ${STAGEDIR}${PREFIX}/sbin/)

	(cd ${WRKSRC}/${SERVERDIR}/ \
	&& ${INSTALL_SCRIPT} ${SERVER_SCRIPTS} ${STAGEDIR}${PREFIX}/sbin/)

	${INSTALL_MAN} ${WRKSRC}/${SERVERDIR}/raidfile.conf.5.gz \
	${WRKSRC}/${SERVERDIR}/bbstored.conf.5.gz \
	${STAGEDIR}${PREFIX}/man/man5/

	${INSTALL_MAN} ${WRKSRC}/${SERVERDIR}/bbstoreaccounts.8.gz \
	${WRKSRC}/${SERVERDIR}/bbstored-certs.8.gz \
	${WRKSRC}/${SERVERDIR}/bbstored-config.8.gz \
	${WRKSRC}/${SERVERDIR}/bbstored.8.gz \
	${WRKSRC}/${SERVERDIR}/raidfile-config.8.gz \
	${STAGEDIR}${PREFIX}/man/man8/
.endif
.if ${PORT_OPTIONS:MCLIENT}
	@${MKDIR} -m 0700 ${STAGEDIR}${PREFIX}/etc/box/bbackupd
	@${MKDIR} ${STAGEDIR}${PREFIX}/etc/periodic/monthly
	${INSTALL_SCRIPT} ${WRKDIR}/999.boxbackup ${STAGEDIR}${PREFIX}/etc/periodic/monthly
.endif
.if ${PORT_OPTIONS:MSERVER}
	@${MKDIR} -m 0700 ${STAGEDIR}${PREFIX}/etc/box/bbstored
.endif

test:
	 @${ECHO_CMD} "===> Running tests"
	 @${MAKE} -C ${WRKSRC} test

.include <bsd.port.mk>