aboutsummaryrefslogtreecommitdiff
path: root/net/open-isns/Makefile
blob: 56a9a88034b1d0066a943ec70679e3d634e53f8a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# $FreeBSD$

PORTNAME=	open-isns
DISTVERSIONPREFIX=	v
DISTVERSION=	0.101
CATEGORIES=	net

MAINTAINER=	pavelivolkov@gmail.com
COMMENT=	Internet Storage Name Service (iSNS)

LICENSE=	LGPL21

USES=	autoreconf gmake pathfix python:3.6+,test shebangfix

USE_GITHUB=	yes
GH_ACCOUNT=	open-iscsi

USE_LDCONFIG=	yes
USE_RC_SUBR=	isnsd
SHEBANG_FILES=	isnssetup ${TEST_WRKSRC}/*.py ${TEST_WRKSRC}/*.pl
GNU_CONFIGURE=	yes
CONFIGURE_ARGS=	--enable-shared
INSTALL_TARGET=	install install_lib
TEST_ARGS=	LD_LIBRARY_PATH=${WRKSRC}
TEST_WRKSRC=	${WRKSRC}/tests

OPTIONS_DEFINE=	DEV SECURITY SLP
OPTIONS_DEFAULT=	SECURITY
OPTIONS_SUB=	yes

DEV_DESC=	Install Headers & Static lib
SECURITY_DESC=	Enable iSNS authentication
SLP_DESC=	Enable SLP for server discovery

DEV_CONFIGURE_ENABLE=	static
DEV_VARS=	INSTALL_TARGET+=install_hdrs

SECURITY_USES=	ssl
SECURITY_CONFIGURE_WITH=	security
SECURITY_TEST_TARGET=	tests
SECURITY_TEST_TARGET_OFF=	tests-no-security

SLP_LIB_DEPENDS=	libslp.so:net/openslp
SLP_CONFIGURE_WITH=	slp
SLP_CPPFLAGS=	-I${PREFIX}/include
SLP_LDFLAGS=	-L${PREFIX}/lib

_DATABASE_PLACE?=	${DESTDIR}/var/db/isns

.include <bsd.port.options.mk>

post-patch:
	#
	# Move paths to configurations according to the variable ${PREFIX} and ${_DATABASE_PLACE}.
	${REINPLACE_CMD} -E \
		-e "s|(/etc/)|${PREFIX}\1|g" \
		-e "s|^(.*Database[[:blank:]]*=[[:blank:]]*)(.*)$$|\1${_DATABASE_PLACE}|" \
		${WRKSRC}/etc/isnsadm.conf \
		${WRKSRC}/etc/isnsd.conf \
		${WRKSRC}/etc/isnsdd.conf \
		${WRKSRC}/isnssetup \
		${WRKSRC}/include/libisns/paths.h.in
	#
	# Move paths to configurations according to the variables ${PREFIX} and ${_DATABASE_PLACE}, remove the dependencies on the systemd.
	${REINPLACE_CMD} -E \
		-e "1,12s|(/etc)|${PREFIX}\1|" \
		-e "1,12s|^(vardir[[:blank:]]*=[[:blank:]]*)(.*)$$|\1${_DATABASE_PLACE}|" \
		-e "s|^(.*)[[:blank:]]+\\$$\(SYSTEMDDIR\)$$|\1|" \
		-e "/isnsd\.(service|socket)/d" \
		${WRKSRC}/Makefile.in
	#
	# Move paths to configurations according to the variable ${PREFIX}, remove bashism.
	${REINPLACE_CMD} -E \
		-e "1,3s|ba(sh)|\1|" \
		-e "1,27s|(/etc/)|${PREFIX}\1|g" \
		-e "s|^[[:blank:]]*function[[:blank:]]+([^[:blank:]]+)(.*)$$|\1()\2|" \
		${WRKSRC}/tests/genkey

post-patch-SLP-off:
	${REINPLACE_CMD} -E -i.bak-SLP \
		-e "s|^(.*SLPRegister[[:blank:]]*=[[:blank:]]*)(.*)$$|\10|" \
		${WRKSRC}/etc/isnsd.conf

post-install:
	${INSTALL_SCRIPT} ${WRKSRC}/isnssetup ${STAGEDIR}${PREFIX}/sbin
	${FIND} ${STAGEDIR}${PREFIX}/etc/isns -type f -a -name '*.conf' -exec ${MV} '{}' '{}.sample' ';'
.for FILE in sbin/isnsadm sbin/isnsd sbin/isnsdd lib/libisns.so.0
	${STRIP_CMD} ${STAGEDIR}${PREFIX}/${FILE}
.endfor

.include <bsd.port.mk>