net-mgmt/unifi8: Add new port
Add unifi network application version 8.0.7. Release notes: https://community.ui.com/releases/r/network/8.0.7
This commit is contained in:
parent
cb3015f838
commit
7047c75f94
6 changed files with 214 additions and 0 deletions
|
@ -395,6 +395,7 @@
|
|||
SUBDIR += triton-guesttools
|
||||
SUBDIR += unbound_exporter
|
||||
SUBDIR += unifi7
|
||||
SUBDIR += unifi8
|
||||
SUBDIR += victoria-metrics
|
||||
SUBDIR += virt-viewer
|
||||
SUBDIR += vmutils
|
||||
|
|
98
net-mgmt/unifi8/Makefile
Normal file
98
net-mgmt/unifi8/Makefile
Normal file
|
@ -0,0 +1,98 @@
|
|||
PORTNAME= unifi8
|
||||
PORTVERSION= 8.0.7
|
||||
CATEGORIES= net-mgmt java
|
||||
MASTER_SITES= http://dl.ubnt.com/unifi/%SUBDIR%/:unifi \
|
||||
https://repo1.maven.org/maven2/%SUBDIR%/:jax
|
||||
MASTER_SITE_SUBDIR= ${PORTVERSION}/:unifi \
|
||||
javax/activation/${_JAX_DISTNAME}/${_JAX_VERSION}/:jax
|
||||
DISTFILES= unifi_sysvinit_all.deb:unifi \
|
||||
${_JAX_DISTNAME}-${_JAX_VERSION}.jar:jax
|
||||
DIST_SUBDIR= ${PORTNAME}-${PORTVERSION}
|
||||
EXTRACT_ONLY= unifi_sysvinit_all.deb
|
||||
|
||||
MAINTAINER= otis@FreeBSD.org
|
||||
COMMENT= UniFi Controller v8
|
||||
WWW= https://help.ui.com/hc/en-us/categories/200320654-UniFi-Wireless
|
||||
|
||||
RUN_DEPENDS= snappyjava>0:archivers/snappy-java
|
||||
|
||||
FLAVORS= default externaldb
|
||||
FLAVOR?= ${FLAVORS:[1]}
|
||||
|
||||
externaldb_PKGNAMESUFFIX= -externaldb
|
||||
|
||||
USES= cpe
|
||||
|
||||
CPE_VENDOR= ui
|
||||
CPE_PRODUCT= unifi_controller
|
||||
USE_JAVA= yes
|
||||
JAVA_VERSION= 17
|
||||
JAVA_RUN= jre
|
||||
USE_RC_SUBR= unifi
|
||||
|
||||
CONFLICTS_INSTALL= unifi7
|
||||
|
||||
EXTRACT_CMD= ${AR}
|
||||
EXTRACT_BEFORE_ARGS= -p
|
||||
EXTRACT_AFTER_ARGS= data.tar.xz | ${TAR} -xf -
|
||||
|
||||
NO_ARCH= yes
|
||||
NO_BUILD= yes
|
||||
|
||||
SUB_FILES= pkg-message
|
||||
SUB_LIST+= GROUPS=${GROUPS} \
|
||||
JAVA=${JAVA} \
|
||||
JAVA_HOME=${JAVA_HOME} \
|
||||
JAVASHAREDIR=${JAVASHAREDIR} \
|
||||
USERS=${USERS}
|
||||
|
||||
NO_WRKSUBDIR= yes
|
||||
|
||||
USERS= unifi
|
||||
GROUPS= unifi
|
||||
|
||||
OPTIONS_DEFINE= EXTERNALDB
|
||||
|
||||
.if ${FLAVOR:U} == externaldb
|
||||
OPTIONS_DEFAULT+= EXTERNALDB
|
||||
.endif
|
||||
|
||||
EXTERNALDB_DESC= Use external MongoDB server
|
||||
EXTERNALDB_VARS= PKGMESSAGE+=${WRKSRC}/pkg-message.extdb \
|
||||
SUB_FILES+=pkg-message.extdb
|
||||
EXTERNALDB_VARS_OFF= RUN_DEPENDS+=mongodb44>0:databases/mongodb44
|
||||
|
||||
_DIR_LIST= conf data logs run work
|
||||
_JAX_DISTNAME= javax.activation-api
|
||||
_JAX_VERSION= 1.2.0
|
||||
|
||||
post-extract:
|
||||
${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/${_JAX_DISTNAME}-${_JAX_VERSION}.jar \
|
||||
${WRKSRC}/usr/lib/unifi/lib/
|
||||
|
||||
post-patch:
|
||||
(cd ${WRKSRC}/usr/lib/unifi/lib && \
|
||||
${LN} -f -s ${JAVAJARDIR}/snappy-java.jar snappy-java-*.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/)
|
||||
# Create directories that will be writable by unifi
|
||||
.for i in data logs run work
|
||||
${MKDIR} ${STAGEDIR}/${JAVASHAREDIR}/unifi/${i}
|
||||
.endfor
|
||||
|
||||
do-install-EXTERNALDB-off:
|
||||
${LN} -sf ${PREFIX}/bin/mongod ${STAGEDIR}${JAVASHAREDIR}/unifi/bin/mongod
|
||||
|
||||
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>
|
5
net-mgmt/unifi8/distinfo
Normal file
5
net-mgmt/unifi8/distinfo
Normal file
|
@ -0,0 +1,5 @@
|
|||
TIMESTAMP = 1700570453
|
||||
SHA256 (unifi8-8.0.7/unifi_sysvinit_all.deb) = 4221d7a0f8ce66c58a4f71b70ba6f32e16310429d3fe8165bf0f47bbdb6401a6
|
||||
SIZE (unifi8-8.0.7/unifi_sysvinit_all.deb) = 137857346
|
||||
SHA256 (unifi8-8.0.7/javax.activation-api-1.2.0.jar) = 43fdef0b5b6ceb31b0424b208b930c74ab58fac2ceeb7b3f6fd3aeb8b5ca4393
|
||||
SIZE (unifi8-8.0.7/javax.activation-api-1.2.0.jar) = 56674
|
19
net-mgmt/unifi8/files/pkg-message.extdb.in
Normal file
19
net-mgmt/unifi8/files/pkg-message.extdb.in
Normal file
|
@ -0,0 +1,19 @@
|
|||
[
|
||||
{ type: install
|
||||
message: <<EOM
|
||||
In order to use the external MongoDB server, put the following lines
|
||||
into %%JAVASHAREDIR%%/unifi/data/system.properties file:
|
||||
|
||||
db.mongo.local=false
|
||||
db.mongo.uri=mongodb://ubnt:password@IP_ADDRESS:PORT/unifi-test
|
||||
statdb.mongo.uri=mongodb://ubnt:password@IP_ADDRESS:PORT/unifi-test_stat
|
||||
unifi.db.name=unifi-test
|
||||
|
||||
Adjust username, password, IP_ADDRESS, PORT and database name
|
||||
according to your needs.
|
||||
|
||||
For more information see:
|
||||
https://community.ui.com/questions/External-MongoDB-Server/d311a8f8-43b6-4aeb-859d-eefec9dc1bbc
|
||||
EOM
|
||||
}
|
||||
]
|
89
net-mgmt/unifi8/files/unifi.in
Normal file
89
net-mgmt/unifi8/files/unifi.in
Normal file
|
@ -0,0 +1,89 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# Created by: Mark Felder <feld@FreeBSD.org>
|
||||
|
||||
# PROVIDE: unifi
|
||||
# REQUIRE: LOGIN
|
||||
# KEYWORD: shutdown
|
||||
|
||||
#
|
||||
# Add the following line to /etc/rc.conf to enable `unifi':
|
||||
#
|
||||
# unifi_enable="YES"
|
||||
#
|
||||
# Other configuration settings for unifi that can be set in /etc/rc.conf:
|
||||
#
|
||||
# unifi_user (str)
|
||||
# This is the user that unifi runs as
|
||||
# Set to %%USERS%% by default
|
||||
#
|
||||
# unifi_group (str)
|
||||
# This is the group that unifi runs as
|
||||
# Set to %%GROUPS%% by default
|
||||
#
|
||||
# unifi_chdir (str)
|
||||
# This is the directory that unifi chdirs into before starting
|
||||
# Set to %%JAVASHAREDIR%%/unifi by default
|
||||
#
|
||||
# unifi_java_home (str)
|
||||
# The path to the base directory for the Java to use to run unifi
|
||||
# Defaults to %%JAVA_HOME%%
|
||||
#
|
||||
# unifi_javaflags (str)
|
||||
# Flags passed to Java to run unifi
|
||||
# Set to "-Djava.awt.headless=true -Xmx1024M" by default
|
||||
#
|
||||
|
||||
. /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_java_home=%%JAVA_HOME%%}
|
||||
: ${unifi_javaflags="-Djava.awt.headless=true -Xmx1024M \
|
||||
--add-opens java.base/java.lang=ALL-UNNAMED \
|
||||
--add-opens java.base/java.time=ALL-UNNAMED \
|
||||
--add-opens java.base/sun.security.util=ALL-UNNAMED \
|
||||
--add-opens java.base/java.io=ALL-UNNAMED \
|
||||
--add-opens java.rmi/sun.rmi.transport=ALL-UNNAMED"}
|
||||
|
||||
pidfile="/var/run/unifi/${name}.pid"
|
||||
procname=${unifi_java_home}/bin/java
|
||||
command=/usr/sbin/daemon
|
||||
command_args="-f -p ${pidfile} ${unifi_java_home}/bin/java ${unifi_javaflags} -jar lib/ace.jar start"
|
||||
start_precmd=start_precmd
|
||||
stop_precmd=stop_precmd
|
||||
stop_postcmd=stop_postcmd
|
||||
|
||||
export CLASSPATH=$(echo ${unifi_chdir}/lib/*.jar | tr ' ' ':')
|
||||
|
||||
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"
|
2
net-mgmt/unifi8/pkg-descr
Normal file
2
net-mgmt/unifi8/pkg-descr
Normal file
|
@ -0,0 +1,2 @@
|
|||
The UniFi Controller allows you to manage Wireless, Routing & Switching,
|
||||
VoIP and Video of Ubiquiti Networks.
|
Loading…
Reference in a new issue