diff --git a/net-mgmt/Makefile b/net-mgmt/Makefile index 1a5f608f4f53..38163d7ef545 100644 --- a/net-mgmt/Makefile +++ b/net-mgmt/Makefile @@ -1,427 +1,428 @@ COMMENT = Network management tools SUBDIR += 2ping SUBDIR += TkTopNetFlows SUBDIR += adcli SUBDIR += adguard-exporter SUBDIR += aggregate SUBDIR += aircrack-ng SUBDIR += alertmanager SUBDIR += ap-utils SUBDIR += argus3 SUBDIR += argus3-clients SUBDIR += arpscan SUBDIR += arpwatch SUBDIR += arts++ SUBDIR += bandwhich SUBDIR += bandwidthd SUBDIR += bgpq3 SUBDIR += bgpq4 SUBDIR += bgpuma SUBDIR += bind_exporter SUBDIR += blackbox_exporter SUBDIR += bosun SUBDIR += bpft SUBDIR += braa SUBDIR += bsnmp-regex SUBDIR += bsnmp-ucd SUBDIR += bwm-ng SUBDIR += cacti SUBDIR += cacti-spine SUBDIR += cacti88-spine SUBDIR += carbon-relay-ng SUBDIR += carbonzipper SUBDIR += cdpd SUBDIR += cdpr SUBDIR += cdpsnarf SUBDIR += centreon-clib SUBDIR += check_ipmi_sensor SUBDIR += check_logfiles SUBDIR += check_mk_agent SUBDIR += check_multi SUBDIR += check_mysql_health SUBDIR += check_nwc_health SUBDIR += check_ssl_cert SUBDIR += check_ups_health SUBDIR += chillispot SUBDIR += choparp SUBDIR += cidr SUBDIR += ciscoconf SUBDIR += clog SUBDIR += cnagios SUBDIR += collectd5 SUBDIR += confregdecode SUBDIR += coovachilli SUBDIR += cowpatty SUBDIR += cricket SUBDIR += crmsh SUBDIR += darkstat SUBDIR += devmon SUBDIR += devmon-templates SUBDIR += dhcdrop SUBDIR += dhcp_probe SUBDIR += disco SUBDIR += dnsmap SUBDIR += docsis SUBDIR += driftnet SUBDIR += ehnt SUBDIR += etherape SUBDIR += ettercap SUBDIR += fastnetmon SUBDIR += fence-agents SUBDIR += fetchconfig SUBDIR += flow-tools SUBDIR += flowd SUBDIR += flowviewer SUBDIR += fprobe SUBDIR += glpi-plugins-fusioninventory-server SUBDIR += gnu-ipcalc SUBDIR += gping SUBDIR += grepcidr SUBDIR += grepip SUBDIR += grok_exporter SUBDIR += gsnmp SUBDIR += guifi-snpservices SUBDIR += hastmon SUBDIR += icinga-ipl-i18n SUBDIR += icinga-php-library SUBDIR += icinga-php-thirdparty SUBDIR += icinga2 SUBDIR += icingadb SUBDIR += icingaweb2 SUBDIR += icingaweb2-module-businessprocess SUBDIR += icingaweb2-module-cube SUBDIR += icingaweb2-module-director SUBDIR += icingaweb2-module-elasticsearch SUBDIR += icingaweb2-module-fileshipper SUBDIR += icingaweb2-module-generictts SUBDIR += icingaweb2-module-grafana SUBDIR += icingaweb2-module-graphite SUBDIR += icingaweb2-module-icingadb SUBDIR += icingaweb2-module-idoreports SUBDIR += icingaweb2-module-incubator SUBDIR += icingaweb2-module-jira SUBDIR += icingaweb2-module-map SUBDIR += icingaweb2-module-pdfexport SUBDIR += icingaweb2-module-reactbundle SUBDIR += icingaweb2-module-reporting SUBDIR += icingaweb2-module-vsphere SUBDIR += icingaweb2-module-vspheredb SUBDIR += icingaweb2-module-x509 SUBDIR += icmpmonitor SUBDIR += icmpquery SUBDIR += iftop SUBDIR += intel-snap SUBDIR += ipacctd SUBDIR += ipaudit SUBDIR += ipcad SUBDIR += ipcalc SUBDIR += iprange SUBDIR += ipv6calc SUBDIR += ipv6gen SUBDIR += ipv6mon SUBDIR += irrtoolset SUBDIR += isic SUBDIR += jnettop SUBDIR += kapacitor SUBDIR += kismet SUBDIR += klg SUBDIR += lg SUBDIR += librenms SUBDIR += libsmi SUBDIR += lldpd SUBDIR += mac-telnet SUBDIR += makenl SUBDIR += mbrowse SUBDIR += mdata-client SUBDIR += metronome SUBDIR += midpoint SUBDIR += mk-livestatus SUBDIR += monitoring-plugins SUBDIR += mqtt2prometheus SUBDIR += mrtg SUBDIR += mrtg-ping-probe SUBDIR += mtrace SUBDIR += mysql-snmp SUBDIR += mysqld_exporter SUBDIR += nagcon SUBDIR += nagios SUBDIR += nagios-certexp-plugin SUBDIR += nagios-check_bacula11 SUBDIR += nagios-check_bacula13 SUBDIR += nagios-check_bacula9 SUBDIR += nagios-check_clamav SUBDIR += nagios-check_cpu_usage SUBDIR += nagios-check_dhcp.pl SUBDIR += nagios-check_email_delivery SUBDIR += nagios-check_hdd_health SUBDIR += nagios-check_hp_bladechassis SUBDIR += nagios-check_mysql_slave SUBDIR += nagios-check_netsnmp SUBDIR += nagios-check_ports SUBDIR += nagios-check_postgres SUBDIR += nagios-check_puppet SUBDIR += nagios-check_relayd_status SUBDIR += nagios-check_smartmon SUBDIR += nagios-check_tftp SUBDIR += nagios-check_zpools SUBDIR += nagios-geom SUBDIR += nagios-openldap-plugins SUBDIR += nagios-pf-plugin SUBDIR += nagios-plugins SUBDIR += nagios-snmp-plugins SUBDIR += nagios-snmp-plugins-extras SUBDIR += nagios4 SUBDIR += nagiosgraph SUBDIR += nagiosql SUBDIR += nagnu SUBDIR += nagstamon SUBDIR += nagtail SUBDIR += nagvis SUBDIR += nbtscan SUBDIR += ndoutils SUBDIR += ndpmon SUBDIR += net-snmp SUBDIR += netbox SUBDIR += netdata SUBDIR += netdata-go SUBDIR += netdisco SUBDIR += netdisco-mibs SUBDIR += netdot SUBDIR += netleak SUBDIR += netmagis-common SUBDIR += netmagis-database SUBDIR += netmagis-detecteq SUBDIR += netmagis-metro SUBDIR += netmagis-servers SUBDIR += netmagis-topo SUBDIR += netmagis-utils SUBDIR += netmagis-www SUBDIR += netmask SUBDIR += netspoc SUBDIR += networkmgr SUBDIR += netxms SUBDIR += nfdump SUBDIR += nfs-exporter SUBDIR += nfsen SUBDIR += ng_ipacct SUBDIR += nitpicker SUBDIR += nrpe SUBDIR += nsca SUBDIR += nsca-client SUBDIR += nsca-ng SUBDIR += nsca-ng-client SUBDIR += nsca27 SUBDIR += nsca27-client SUBDIR += nsd_exporter SUBDIR += nstat SUBDIR += nvidia_gpu_prometheus_exporter SUBDIR += observium SUBDIR += ocsinventory-agent SUBDIR += ocsinventory-ocsreports SUBDIR += ocsinventory-server SUBDIR += omping SUBDIR += openbmp SUBDIR += openlldp SUBDIR += openvmps SUBDIR += p0f SUBDIR += p5-AnyEvent-SNMP SUBDIR += p5-BigIP-iControl SUBDIR += p5-Cflow SUBDIR += p5-Cisco-CopyConfig SUBDIR += p5-Cisco-Reconfig SUBDIR += p5-Data-Validate-IP SUBDIR += p5-FusionInventory-Agent SUBDIR += p5-MRTG-Parse SUBDIR += p5-Mon SUBDIR += p5-Monitoring-Livestatus SUBDIR += p5-Monitoring-Plugin SUBDIR += p5-NSNMP SUBDIR += p5-Nagios-Object SUBDIR += p5-Nagios-Plugin SUBDIR += p5-Nagios-Plugin-Beanstalk SUBDIR += p5-Nagios-Plugin-LDAP SUBDIR += p5-Nagios-Plugin_check_raid SUBDIR += p5-Nagios-Plugins-Memcached SUBDIR += p5-Net-ACL SUBDIR += p5-Net-Abuse-Utils SUBDIR += p5-Net-Abuse-Utils-Spamhaus SUBDIR += p5-Net-CIDR SUBDIR += p5-Net-ILO SUBDIR += p5-Net-IP SUBDIR += p5-Net-IP-Match-Regexp SUBDIR += p5-Net-IP-Match-XS SUBDIR += p5-Net-IP-Resolver SUBDIR += p5-Net-IP-XS SUBDIR += p5-Net-IPAddress SUBDIR += p5-Net-IPv4Addr SUBDIR += p5-Net-IPv6Addr SUBDIR += p5-Net-NSCA-Client SUBDIR += p5-Net-Netmask SUBDIR += p5-Net-OpenVPN-Manage SUBDIR += p5-Net-SNMP SUBDIR += p5-Net-SNMP-Util SUBDIR += p5-Net-SNMPTrapd SUBDIR += p5-Net-Telnet-Cisco-IOS SUBDIR += p5-NetAddr-IP SUBDIR += p5-NetAddr-IP-Lite SUBDIR += p5-NetApp SUBDIR += p5-POE-Component-SNMP SUBDIR += p5-RDR-Collector SUBDIR += p5-SNMP-Info SUBDIR += p5-SNMP-MIB-Compiler SUBDIR += p5-SNMP-Simple SUBDIR += p5-SNMP-Trapinfo SUBDIR += p5-SNMP-Util SUBDIR += p5-SNMP_Session SUBDIR += p5-Telnet-Cisco SUBDIR += p5-Tie-NetAddr-IP SUBDIR += p5-Xymon SUBDIR += p5-Xymon-Client SUBDIR += p5-Xymon-Server SUBDIR += p5-Zenoss SUBDIR += p5-jmx4perl SUBDIR += packit SUBDIR += pads SUBDIR += pancho SUBDIR += pandorafms_agent SUBDIR += pandorafms_console SUBDIR += pandorafms_server SUBDIR += pftabled SUBDIR += php-fpm_exporter SUBDIR += php80-snmp SUBDIR += php81-snmp SUBDIR += php82-snmp SUBDIR += php83-snmp SUBDIR += phpfpm_exporter SUBDIR += phpipam SUBDIR += phpweathermap SUBDIR += ping_exporter SUBDIR += pktstat SUBDIR += pmacct SUBDIR += pnp SUBDIR += pnp-icinga2 SUBDIR += portmon SUBDIR += prometheus-collectd-exporter SUBDIR += prometheus1 SUBDIR += prometheus2 SUBDIR += promscale SUBDIR += pushgateway SUBDIR += py-adal SUBDIR += py-aggregate6 SUBDIR += py-arouteserver SUBDIR += py-ciscoconfparse SUBDIR += py-dnsdiag SUBDIR += py-gstat_exporter SUBDIR += py-ipcalc SUBDIR += py-ipy SUBDIR += py-junos-eznc SUBDIR += py-msrest SUBDIR += py-msrestazure SUBDIR += py-napalm SUBDIR += py-napalm-logs SUBDIR += py-ncclient SUBDIR += py-netutils SUBDIR += py-nxapi-plumbing SUBDIR += py-opn-cli SUBDIR += py-pdagent SUBDIR += py-pdagent-integrations SUBDIR += py-phonebox-plugin SUBDIR += py-prometheus-client SUBDIR += py-pyIOSXR SUBDIR += py-pyang SUBDIR += py-pyeapi SUBDIR += py-pynetbox SUBDIR += py-pynxos SUBDIR += py-pypowerwall SUBDIR += py-pysmi SUBDIR += py-pysnmp SUBDIR += py-pysnmp-mibs SUBDIR += py-pyzabbix SUBDIR += py-snmp_passpersist SUBDIR += py-snmpclitools SUBDIR += rackmonkey SUBDIR += rancid3 SUBDIR += rate SUBDIR += rcpd SUBDIR += remarp SUBDIR += resource-agents SUBDIR += riemann SUBDIR += riemann-c-client SUBDIR += rotorouter SUBDIR += routers2 SUBDIR += routers2-extensions SUBDIR += routers2-extras SUBDIR += rrdbot SUBDIR += rs-aggregate SUBDIR += rtrlib SUBDIR += rubygem-blimpy SUBDIR += rubygem-checkson SUBDIR += rubygem-oxidized SUBDIR += rubygem-oxidized-script SUBDIR += rubygem-oxidized-web SUBDIR += rubygem-riemann-client SUBDIR += rubygem-riemann-dash SUBDIR += rubygem-riemann-rabbitmq SUBDIR += rubygem-riemann-tail SUBDIR += rubygem-riemann-tools SUBDIR += rubygem-snmp SUBDIR += rubygem-visage-app SUBDIR += sblim-wbemcli SUBDIR += sdig SUBDIR += seafile-client SUBDIR += seafile-gui SUBDIR += seafile-server SUBDIR += semaphore SUBDIR += sendip SUBDIR += sipcalc SUBDIR += sjitter SUBDIR += smartctl_exporter SUBDIR += smokeping SUBDIR += snmp4nagios SUBDIR += snmptt SUBDIR += softflowd SUBDIR += spectools SUBDIR += ssgless SUBDIR += statsite SUBDIR += subcalc SUBDIR += super_mediator SUBDIR += sysmon SUBDIR += tcpreplay SUBDIR += tcptrack SUBDIR += telegraf SUBDIR += thanos SUBDIR += torrus SUBDIR += triton-guesttools SUBDIR += unbound_exporter SUBDIR += unifi7 + SUBDIR += unifi8 SUBDIR += victoria-metrics SUBDIR += virt-viewer SUBDIR += vmutils SUBDIR += wdiag SUBDIR += whatmask SUBDIR += wifimgr SUBDIR += wmi-client SUBDIR += xymon-client SUBDIR += xymon-server SUBDIR += yaf SUBDIR += zabbix4-agent SUBDIR += zabbix4-java SUBDIR += zabbix4-proxy SUBDIR += zabbix4-server SUBDIR += zabbix5-agent SUBDIR += zabbix5-java SUBDIR += zabbix5-proxy SUBDIR += zabbix5-server SUBDIR += zabbix6-agent SUBDIR += zabbix6-frontend SUBDIR += zabbix6-java SUBDIR += zabbix6-proxy SUBDIR += zabbix6-server SUBDIR += zabbix64-agent SUBDIR += zabbix64-frontend SUBDIR += zabbix64-java SUBDIR += zabbix64-proxy SUBDIR += zabbix64-server .include 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.