2019-06-26 09:46:43 +00:00
# $OpenBSD: Makefile.inc,v 1.10 2019/06/26 09:46:43 sthen Exp $
2018-05-30 11:38:43 +00:00
COMMENT = controller for Ubiquiti uniFi ( wifi / routing / switching / voip )
2019-05-08 11:20:57 +00:00
MASTER_SITES ? = http :// dl . ubnt . com / unifi / $ { V } $ { BUILD_V : C /^ ([ 1 - 9 a - f ]) /- \1 / } /
2018-05-30 11:38:43 +00:00
2019-03-27 21:20:57 +00:00
JAF = 1.1 . 1
2018-05-30 11:38:43 +00:00
DISTFILES = unifi - $V { UniFi . unix } . zip \
unifi_sh_api - $V { unifi_sh_api } \
snappy - java - $ { SNAPPY_V } . jar : 0 \
UBNT - MIB : 1 \
2019-03-25 03:13:32 +00:00
UBNT - UniFi - MIB : 1 \
2019-03-27 21:20:57 +00:00
activation - $ { JAF } . jar : 2
EXTRACT_ONLY = unifi - $V . zip
2018-05-30 11:38:43 +00:00
PKGNAME = unifi - $V
# newer unifi uses newer snappy-java, but upstream stopped distributing
# openbsd .so's. use a locally built one to replace.
MASTER_SITES0 = https :// spacehopper . org / mirrors /
MASTER_SITES1 = http :// dl . ubnt - ut . com / snmp /
2019-03-27 21:20:57 +00:00
MASTER_SITES2 = http :// central . maven . org / maven2 / javax / activation / activation / $ { JAF } /
2018-05-30 11:38:43 +00:00
CATEGORIES = net
HOMEPAGE = http :// wiki . ubnt . com / UniFi_FAQ
MAINTAINER = Stuart Henderson < sthen @ openbsd . org >
# at least the firmware files are restricted, if not more
2019-06-03 16:06:50 +00:00
PERMIT_PACKAGE = https :// www . ui . com / eula /
PERMIT_DISTFILES = https :// www . ui . com / eula /
2018-05-30 11:38:43 +00:00
MODULES = java
MODJAVA_VER = 1.8 +
2019-02-05 14:38:47 +00:00
# mongodb is amd64-only (and even if that weren't the case,
# building snappy-java for i386 is a pain)
ONLY_FOR_ARCHS = amd64
2018-05-31 21:04:09 +00:00
RUN_DEPENDS = databases / mongodb < 3.6 . 0 \
2018-05-30 11:38:43 +00:00
java / javaPathHelper
NO_BUILD = Yes
NO_TEST = Yes
WRKDIST = $ { WRKDIR } / UniFi
INSTDIR = $ { PREFIX } / share / unifi /
VERSION ? = $V . 0
SUBST_VARS = VERSION
2019-02-19 22:44:40 +00:00
pre - extract :
. if $ { FETCH_PACKAGES : L } != yes
@ if ! [ - r $ { LOCALBASE } / bin / mongo ]; then echo ; \
echo " *** To avoid long jdk/mongodb builds, it is recommended that you " ; sleep . 7 ; \
echo " *** use 'make FETCH_PACKAGES=Yes install' to fetch binary packages " ; sleep . 7 ; \
echo " *** for the dependencies. " ; echo ; sleep 5 ; \
fi
. endif
2018-05-30 11:38:43 +00:00
post - extract :
2019-02-19 22:44:40 +00:00
@ cp $ { FULLDISTDIR } / unifi_sh_api - $V $ { WRKSRC } / unifi_sh_api
2018-06-29 11:24:49 +00:00
do - configure :
@ if ! [ - r $ { WRKSRC } / lib / snappy - java - $ { SNAPPY_V } . jar ]; then echo " ** Version mismatch in snappy-java " ; ls - l $ { WRKSRC } / lib / snappy - java * ; exit 1 ; fi
2018-05-30 11:38:43 +00:00
cp $ { FULLDISTDIR } / snappy - java - $ { SNAPPY_V } . jar $ { WRKSRC } / lib /
2019-03-25 03:13:32 +00:00
@ if [ - r $ { WRKSRC } / lib / activation . jar ]; then echo " ** Check activation.jar, did upstream start including it? " ; ls - l $ { WRKSRC } / lib / activation . jar $ { WRKSRC } / lib / activation . jar ; exit 1 ; fi
2019-03-27 21:20:57 +00:00
cp $ { FULLDISTDIR } / activation - $ { JAF } . jar $ { WRKSRC } / lib / activation . jar
2018-05-30 11:38:43 +00:00
do - install :
$ { INSTALL_DATA_DIR } $ { INSTDIR }{, / backup , / data , / run , / work }
cp - Rp $ { WRKSRC } /* $ { INSTDIR }
ln - fs $ { LOCALBASE } / bin / mongod $ { INSTDIR } / bin / mongod
ln - s / var / log / unifi $ { INSTDIR } / logs
chown - R $ { SHAREOWN } : $ { SHAREGRP } $ { INSTDIR }
2019-05-08 11:20:57 +00:00
find $ { INSTDIR } - type f - exec chmod $ { SHAREMODE } {} +
find $ { INSTDIR } - type d - exec chmod $ { DIRMODE } {} +
2018-05-30 11:38:43 +00:00
$ { SUBST_CMD } - c - m 555 - o $ { BINOWN } - g $ { BINGRP } \
$ { FILESDIR } / unifi . sh $ { PREFIX } / bin / unifi
ln - s unifi $ { PREFIX } / bin / unifi - discover
rm - f $ { INSTDIR } / unifi_sh_api . orig
rm - rf $ { INSTDIR } / lib / native
$ { INSTALL_DATA_DIR } $ { PREFIX } / share / snmp / mibs /
$ { INSTALL_DATA } $ { FULLDISTDIR } / UBNT - { UniFi - ,} MIB \
$ { PREFIX } / share / snmp / mibs /