aboutsummaryrefslogtreecommitdiffstats
path: root/misc/openhab2/Makefile
blob: ff3206b66c8f8c8b95341dc2f1882c05dbcb7d91 (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
# Created by: Alexander Leidinger

PORTNAME=   openhab2
PORTVERSION=    2.5.11
PORTREVISION=   0
CATEGORIES= misc java
MASTER_SITES=   https://bintray.com/openhab/mvn/download_file?file_path=org%2Fopenhab%2Fdistro%2Fopenhab%2F${PORTVERSION}/
DISTNAME=   openhab-${PORTVERSION}

MAINTAINER= netchild@FreeBSD.org
COMMENT=    Vendor and technology agnostic open source smart-home software

LICENSE=    EPL
LICENSE_FILE=   ${WRKSRC}/LICENSE.TXT

USE_JAVA=   yes
JAVA_VERSION=   1.8
JAVA_RUN=   yes
USE_RC_SUBR=    openhab2
SUB_FILES=  pkg-message update.freebsd
NO_WRKSUBDIR=   yes
NO_ARCH=    yes

USERS=  openhab
GROUPS= openhab

PLIST_SUB=  PORTVERSION=${PORTVERSION}

post-patch:
    @${REINPLACE_CMD} -e "s:%%LOCALBASE%%:${LOCALBASE}:g" ${WRKSRC}/runtime/bin/setenv

do-build:
.for conf in services/runtime.cfg services/addons.cfg html/index.html transform/en.map transform/de.map
    ${MV} ${WRKSRC}/conf/${conf} ${WRKSRC}/conf/${conf}.sample
.endfor
    ${RM} -r ${WRKSRC}/runtime/bin/contrib
    ${RM} ${WRKSRC}/*.ps1 ${WRKSRC}/*.bat ${WRKSRC}/runtime/bin/*.ps1 ${WRKSRC}/runtime/bin/*.bat \
        ${WRKSRC}/runtime/bin/*.psm1 \
        ${WRKSRC}/runtime/bin/setenv.bak \
        ${WRKSRC}/runtime/bin/setenv.orig

do-install:
    ${MKDIR} ${STAGEDIR}${PREFIX}/etc/${PORTNAME}
    ${MKDIR} ${STAGEDIR}${PREFIX}/libexec/${PORTNAME}
    ${MKDIR} ${STAGEDIR}${PREFIX}/share/${PORTNAME}
    ${MKDIR} ${STAGEDIR}/var/log/${PORTNAME}
    ${MKDIR} ${STAGEDIR}/var/db/${PORTNAME}
    ${MKDIR} ${STAGEDIR}/var/db/${PORTNAME}/home
    ${MKDIR} ${STAGEDIR}/var/db/${PORTNAME}/persistence
    ${MKDIR} ${STAGEDIR}/var/db/${PORTNAME}/persistence/db4o
    ${MKDIR} ${STAGEDIR}/var/db/${PORTNAME}/persistence/rrd4j
    ${MKDIR} ${STAGEDIR}/var/db/${PORTNAME}/persistence/mapdb
    ${MKDIR} ${STAGEDIR}/var/db/${PORTNAME}/backups
    ${MKDIR} ${STAGEDIR}/var/db/${PORTNAME}/userdata
    ${MKDIR} ${STAGEDIR}/var/db/${PORTNAME}/userdata/etc
    ${MKDIR} ${STAGEDIR}/var/db/${PORTNAME}/userdata/etc/scripts
    ${MKDIR} ${STAGEDIR}/var/db/${PORTNAME}/userdata/tmp
    ${MKDIR} ${STAGEDIR}/var/run/${PORTNAME}
    (cd ${WRKSRC}/conf && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/etc/${PORTNAME})
    (cd ${WRKSRC} && ${COPYTREE_BIN} runtime ${STAGEDIR}${PREFIX}/libexec/${PORTNAME})
    (cd ${WRKSRC} && ${COPYTREE_BIN} addons ${STAGEDIR}${PREFIX}/libexec/${PORTNAME})
.for script in start.sh start_debug.sh
    ${INSTALL_SCRIPT} ${WRKSRC}/${script} ${STAGEDIR}${PREFIX}/libexec/${PORTNAME}/
.endfor
    ${INSTALL_SCRIPT} ${WRKDIR}/update.freebsd ${STAGEDIR}${PREFIX}/libexec/${PORTNAME}/runtime/bin/
    (cd ${WRKSRC}/userdata && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/share/${PORTNAME})

gen-plist:
    ${FIND} ${STAGEDIR} -type f | sed -e "s:${STAGEDIR}${PREFIX}/::g ; s:${PORTVERSION}:%%PORTVERSION%%:g" | sort -u | grep libexec/ >pkg-plist.new
    echo '@owner openhab' >>pkg-plist.new
    echo '@group openhab' >>pkg-plist.new
    ${FIND} ${STAGEDIR}${DATADIR} -type f | sed -E -e "s:${STAGEDIR}${DATADIR}/(.*):@sample %%DATADIR%%/\\1 /var/db/openhab2/userdata/\\1:g ; s:${PORTVERSION}:%%PORTVERSION%%:g" | sort -u >>pkg-plist.new
    ${FIND} ${STAGEDIR}${ETCDIR} -type d | sort -u | sed -e "s:${STAGEDIR}${ETCDIR}:@dir %%ETCDIR%%:g ; s:${PORTVERSION}:%%PORTVERSION%%:g"  >>pkg-plist.new
    ${FIND} ${STAGEDIR}${ETCDIR} -type f | sort -u | sed -E -e "s:${STAGEDIR}${ETCDIR}/:%%ETCDIR%%/:g ; s:${PORTVERSION}:%%PORTVERSION%%:g ; s:(.*.sample)$:@sample(openhab,openhab,640) \\1:" >>pkg-plist.new
    ${FIND} ${STAGEDIR}/var/db/${PORTNAME} -type d | sort -ru | sed -e "s:${STAGEDIR}:@dir :g" >>pkg-plist.new
    echo "@dir /var/log/${PORTNAME}" >>pkg-plist.new
    echo "@dir /var/run/${PORTNAME}" >>pkg-plist.new

.include <bsd.port.mk>