From nobody Tue Nov 21 13:10:57 2023 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4SZPrd64gxz51c72; Tue, 21 Nov 2023 13:10:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4SZPrd3V88z3Z0g; Tue, 21 Nov 2023 13:10:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700572257; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=345b0kYQM1+HdZZAMwethml+v+La7AjKPB0ouN6SCJM=; b=QZSBhsoSV8GNRlrOwZldDjo/V6CaLXHWMczQr6Pu6dG4esaRk+CuUQvBPLu1YWpmAIXYoi Dxwl6a/KXkXxV8mssjA1R2EA/hy3ofk885zoIOa2e2AeYnGdRAO5pw0DZmebfOudc8AeVy Qs6TdJr+mFgwTx9Vg5q019PXfecRWL6AJuDaDXgzIm/GWyjckhVLBTksrjbpZe0kVELO9t UgH6RH8PqHRjyjWHYmbo3mSsIRYXVNwF0qTv6j2nhy22R1P0AHhQKWO8dYTT1kHcf8BKA2 qk/GTDzJe7wq6hqYkK4jjpM6epyCLhPSrp+ql/4xKsBztdmOJDOxfpX7VALpPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700572257; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=345b0kYQM1+HdZZAMwethml+v+La7AjKPB0ouN6SCJM=; b=Kv17qkkhKJuJRIGMsl1Wja2eshnMmvX0Kk6MuLXczGA8sgGydQu/LUicbnVrhBc1VPc19b lXr+cmFNKvCcRYJUIPRw1KugmaN3oMpHf2CnCYf3kPJlOSBRh4P3JqYQ5IWB1sxP1LjWmu vqNS0Vt0e7fdNoGeSJnKP+px+v2EYC7ypTw+ghe5FQXeHVqL+OuLhSRjUHXBzx7Ugf0Jdk 4PdASf3jW4MSTDIsjFLGlRBgmskwMSCSpkaIf6ov5wOonXf/BU9n2lrrH3DOhpGu3cvXii jS9moa/c5cl+M8XiLZmwH+0l+A4duLUp7BzEndmhKBDRN0+w1A9CVV89miIugg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700572257; a=rsa-sha256; cv=none; b=kqXl2G0yxlWENfsmRmRRpSwmncUQ8PZB83WyyVFPvsFJuJr6vRwEyan9PXtgECmI6USbDk p1UIeo3SHnWXBC6F84o0Tu2gY68VCRvA/oHR2o/dgrfiy+vZ6sNfhlwIOOMhJNvGIquxSv 9dWl+KCC9146iY/jb3UxS4lcWT85OnIb26RYEl/oNridMJM0Atg9Zr8Tr/TWC/klcNuVs/ xVC6IH1ZXDk6v6J9hPmaD5jQkDCyqFfGnN8lOZ567AK9/dA4UekV+2iFHx5L2WHU6QaVe7 YxSFqrRTJ4JNuLeXuHLx9Kk1FsGWJirU3Pno2V7aDuzmUGsvxsy2NIe7/bP0vA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4SZPrd2Ht6zc66; Tue, 21 Nov 2023 13:10:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ALDAvSF003515; Tue, 21 Nov 2023 13:10:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ALDAvwg003512; Tue, 21 Nov 2023 13:10:57 GMT (envelope-from git) Date: Tue, 21 Nov 2023 13:10:57 GMT Message-Id: <202311211310.3ALDAvwg003512@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Juraj Lutter Subject: git: 7047c75f9472 - main - net-mgmt/unifi8: Add new port List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-all@freebsd.org X-BeenThere: dev-commits-ports-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: otis X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7047c75f9472714adf97183371f22c57c0ddcdc5 Auto-Submitted: auto-generated The branch main has been updated by otis: URL: https://cgit.FreeBSD.org/ports/commit/?id=7047c75f9472714adf97183371f22c57c0ddcdc5 commit 7047c75f9472714adf97183371f22c57c0ddcdc5 Author: Juraj Lutter AuthorDate: 2023-11-21 13:06:59 +0000 Commit: Juraj Lutter CommitDate: 2023-11-21 13:10:32 +0000 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 --- net-mgmt/Makefile | 1 + net-mgmt/unifi8/Makefile | 98 ++++++++++++++++++++++++++++++ net-mgmt/unifi8/distinfo | 5 ++ net-mgmt/unifi8/files/pkg-message.extdb.in | 19 ++++++ net-mgmt/unifi8/files/unifi.in | 89 +++++++++++++++++++++++++++ net-mgmt/unifi8/pkg-descr | 2 + 6 files changed, 214 insertions(+) diff --git a/net-mgmt/Makefile b/net-mgmt/Makefile index 1a5f608f4f53..38163d7ef545 100644 --- a/net-mgmt/Makefile +++ b/net-mgmt/Makefile @@ -395,6 +395,7 @@ SUBDIR += triton-guesttools SUBDIR += unbound_exporter SUBDIR += unifi7 + SUBDIR += unifi8 SUBDIR += victoria-metrics SUBDIR += virt-viewer SUBDIR += vmutils diff --git a/net-mgmt/unifi8/Makefile b/net-mgmt/unifi8/Makefile new file mode 100644 index 000000000000..f8fb7fd01904 --- /dev/null +++ b/net-mgmt/unifi8/Makefile @@ -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 diff --git a/net-mgmt/unifi8/distinfo b/net-mgmt/unifi8/distinfo new file mode 100644 index 000000000000..12276528e91b --- /dev/null +++ b/net-mgmt/unifi8/distinfo @@ -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 diff --git a/net-mgmt/unifi8/files/pkg-message.extdb.in b/net-mgmt/unifi8/files/pkg-message.extdb.in new file mode 100644 index 000000000000..945b333966c7 --- /dev/null +++ b/net-mgmt/unifi8/files/pkg-message.extdb.in @@ -0,0 +1,19 @@ +[ +{ type: install + message: < + +# 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" diff --git a/net-mgmt/unifi8/pkg-descr b/net-mgmt/unifi8/pkg-descr new file mode 100644 index 000000000000..36573c9e0af5 --- /dev/null +++ b/net-mgmt/unifi8/pkg-descr @@ -0,0 +1,2 @@ +The UniFi Controller allows you to manage Wireless, Routing & Switching, +VoIP and Video of Ubiquiti Networks.