aboutsummaryrefslogtreecommitdiff
path: root/net-mgmt
diff options
context:
space:
mode:
authorMark Felder <feld@FreeBSD.org>2018-02-04 14:01:50 +0000
committerMark Felder <feld@FreeBSD.org>2018-02-04 14:01:50 +0000
commit4917e3305196b7fccd33e6be0c75e695a7de5ad8 (patch)
treef748f984bc57082698c6158a1fa4e411be31f7f6 /net-mgmt
parent2d34d654aed13779f57ff3f5868fbabde94939f9 (diff)
downloadports-4917e3305196b7fccd33e6be0c75e695a7de5ad8.tar.gz
ports-4917e3305196b7fccd33e6be0c75e695a7de5ad8.zip
Notes
Diffstat (limited to 'net-mgmt')
-rw-r--r--net-mgmt/Makefile1
-rw-r--r--net-mgmt/unifi-devel/Makefile75
-rw-r--r--net-mgmt/unifi-devel/distinfo3
-rw-r--r--net-mgmt/unifi-devel/files/unifi.in60
-rw-r--r--net-mgmt/unifi-devel/pkg-descr6
5 files changed, 145 insertions, 0 deletions
diff --git a/net-mgmt/Makefile b/net-mgmt/Makefile
index d64e05ed22e6..93177dfbd17a 100644
--- a/net-mgmt/Makefile
+++ b/net-mgmt/Makefile
@@ -366,6 +366,7 @@
SUBDIR += torrus
SUBDIR += triton-guesttools
SUBDIR += unbound_exporter
+ SUBDIR += unifi-devel
SUBDIR += unifi5
SUBDIR += victorops-nagios
SUBDIR += vidalia
diff --git a/net-mgmt/unifi-devel/Makefile b/net-mgmt/unifi-devel/Makefile
new file mode 100644
index 000000000000..756d7634fde3
--- /dev/null
+++ b/net-mgmt/unifi-devel/Makefile
@@ -0,0 +1,75 @@
+# Created by: Alban MAIRE <a.maire@s2mi.fr>
+# $FreeBSD$
+
+PORTNAME= unifi
+PORTVERSION= 5.7.15
+PORTREVISION= 0
+CATEGORIES= net-mgmt java
+MASTER_SITES= http://dl.ubnt.com/unifi/${PORTVERSION}-${UNIFI_BUILD}/
+PKGNAMESUFFIX= -devel
+DISTNAME= unifi_sysvinit_all
+EXTRACT_SUFX= .deb
+DIST_SUBDIR= ${PORTNAME}-${PORTVERSION}
+
+MAINTAINER= feld@FreeBSD.org
+COMMENT= UniFi Controller v5
+
+RUN_DEPENDS= mongodb>0:databases/mongodb \
+ snappyjava>0:archivers/snappy-java
+
+SUB_LIST+= USERS=${USERS} GROUPS=${GROUPS} JAVASHAREDIR=${JAVASHAREDIR} \
+ JAVA=${JAVA}
+
+EXTRACT_CMD= /usr/bin/ar
+EXTRACT_BEFORE_ARGS= -p
+EXTRACT_AFTER_ARGS= data.tar.xz | ${TAR} -xf -
+
+UNIFI_BUILD= e9b882be05
+
+CONFLICTS= unifi5-*
+
+USES= cpe
+CPE_VENDOR= ubnt
+CPE_PRODUCT= unifi_controller
+USE_JAVA= yes
+JAVA_VERSION= 1.8
+JAVA_OS= native
+JAVA_VENDOR= openjdk bsdjava
+JAVA_RUN= yes
+
+NO_BUILD= yes
+NO_ARCH= yes
+
+USE_RC_SUBR= unifi
+
+USERS= unifi
+GROUPS= unifi
+
+NO_WRKSUBDIR= yes
+
+CONFLICTS= unifi2-* unifi3-* unifi4-*
+
+DIR_LIST= conf data logs run work
+
+post-patch:
+ ${RM} ${WRKSRC}/usr/lib/unifi/lib/snappy-java-1.1.2.6.jar ${WRKSRC}/usr/lib/unifi/bin/*
+ (cd ${WRKSRC}/usr/lib/unifi/lib && ${LN} -s ${JAVAJARDIR}/snappy-java.jar snappy-java-1.1.2.6.jar)
+ ${RM} -r ${WRKSRC}/usr/lib/unifi/lib/native
+
+do-install:
+ ${MKDIR} ${STAGEDIR}${JAVASHAREDIR}/unifi
+ (cd ${WRKSRC}/usr/lib/unifi && ${COPYTREE_SHARE} \* ${STAGEDIR}${JAVASHAREDIR}/unifi/)
+ ${LN} -sf ${PREFIX}/bin/mongod ${STAGEDIR}${JAVASHAREDIR}/unifi/bin/mongod
+# Create directories that will be writable by unifi
+.for i in data logs run work
+ ${MKDIR} ${STAGEDIR}/${JAVASHAREDIR}/unifi/${i}
+.endfor
+
+post-install:
+ @${FIND} -s ${STAGEDIR}${JAVASHAREDIR}/unifi -not -type d | ${SORT} | \
+ ${SED} -e 's#^${STAGEDIR}${PREFIX}/##' >> ${TMPPLIST}
+.for dir in ${DIR_LIST}
+ @${ECHO} "@dir(unifi,wheel,) ${JAVASHAREDIR}/unifi/${dir}" >> ${TMPPLIST}
+.endfor
+
+.include <bsd.port.mk>
diff --git a/net-mgmt/unifi-devel/distinfo b/net-mgmt/unifi-devel/distinfo
new file mode 100644
index 000000000000..b777ed33f3e2
--- /dev/null
+++ b/net-mgmt/unifi-devel/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1517752289
+SHA256 (unifi-5.7.15/unifi_sysvinit_all.deb) = 93684bcc311bd56ab74765e7b78bba9689f760d3457f044d3284c32a0f6fa820
+SIZE (unifi-5.7.15/unifi_sysvinit_all.deb) = 63651966
diff --git a/net-mgmt/unifi-devel/files/unifi.in b/net-mgmt/unifi-devel/files/unifi.in
new file mode 100644
index 000000000000..4a59ad775dba
--- /dev/null
+++ b/net-mgmt/unifi-devel/files/unifi.in
@@ -0,0 +1,60 @@
+#!/bin/sh
+#
+# Created by: Mark Felder <feld@FreeBSD.org>
+# $FreeBSD$
+#
+
+# PROVIDE: unifi
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+
+#
+# Add the following line to /etc/rc.conf to enable `unifi':
+#
+# unifi_enable="YES"
+
+. /etc/rc.subr
+name=unifi
+
+rcvar=unifi_enable
+load_rc_config ${name}
+
+: ${unifi_enable:=NO}
+: ${unifi_user:=%%USERS%%}
+: ${unifi_group:=%%GROUPS%%}
+: ${unifi_chdir=%%JAVASHAREDIR%%/unifi}
+: ${unifi_javaflags:="-Djava.awt.headless=true -Xmx1024M"}
+
+pidfile="/var/run/unifi/${name}.pid"
+procname=%%JAVA%%
+command="/usr/sbin/daemon"
+command_args="-f -p ${pidfile} %%JAVA%% ${unifi_javaflags} -jar lib/ace.jar start"
+start_precmd=start_precmd
+stop_precmd=stop_precmd
+stop_postcmd=stop_postcmd
+
+start_precmd()
+{
+ if [ ! -e /var/run/unifi ] ; then
+ install -d -o %%USERS%% -g %%GROUPS%% /var/run/unifi;
+ fi
+}
+
+stop_precmd()
+{
+ if [ -r ${pidfile} ]; then
+ _UNIFIPID=$(check_pidfile ${pidfile} ${procname})
+ export _UNIFI_CHILDREN=$(pgrep -P ${_UNIFIPID})
+ fi
+}
+
+stop_postcmd()
+{
+ if ! [ -z ${_UNIFI_CHILDREN} ]; then
+ echo "Cleaning up leftover child processes."
+ kill $sig_stop ${_UNIFI_CHILDREN}
+ wait_for_pids ${_UNIFI_CHILDREN}
+ fi
+}
+
+run_rc_command "$1"
diff --git a/net-mgmt/unifi-devel/pkg-descr b/net-mgmt/unifi-devel/pkg-descr
new file mode 100644
index 000000000000..2a2b768bbadb
--- /dev/null
+++ b/net-mgmt/unifi-devel/pkg-descr
@@ -0,0 +1,6 @@
+The UniFi Controller allows you to manage Wireless, Routing & Switching,
+VoIP and Video of Ubiquiti Networks.
+
+This port tracks the development releases.
+
+WWW: http://wiki.ubnt.com/UniFi_FAQ