unifi6: Add 6.0.22

Changelog is too exhaustive, to be found at
https://community.ui.com/releases/UniFi-Network-Controller-6-0-22/910ceffc-f0e9-4518-86c1-df5eeee34695

There also was version 6.0.20 that had a serious flaw.
This commit is contained in:
Juraj Lutter 2020-09-21 21:05:14 +00:00
parent 6838b520df
commit 2445bb812c
7 changed files with 9590 additions and 0 deletions

2
unifi6/DESCR Normal file
View File

@ -0,0 +1,2 @@
UniFi is a web portal for setting up and provisioning network products
made by Ubiquiti Networks, inc.

91
unifi6/Makefile Normal file
View File

@ -0,0 +1,91 @@
# $NetBSD: Makefile,v 1.19 2020/08/30 06:03:53 tnn Exp $
DISTNAME= unifi-6.0.22
CATEGORIES= net
MASTER_SITES= -http://dl.ubnt.com/unifi/${PKGVERSION_NOREV}/UniFi.unix.zip
EXTRACT_SUFX= .zip
# Updates must be tested to not only build but actually function under
# at least NetBSD 8/amd64 with actual UBNT hardware.
MAINTAINER= gdt@NetBSD.org
HOMEPAGE= https://www.ubnt.com/download/unifi/
# The content that belongs in NEWS are often in a blog.
#BLOGPAGE= https://community.ui.com/releases
COMMENT= Provisioning software for network products made by Ubiquiti
LICENSE= ubiquiti-license
# Bundled firmware images cannot be redistributed
RESTRICTED= No permission to redistribute
NO_BIN_ON_CDROM= ${RESTRICTED}
NO_BIN_ON_FTP= ${RESTRICTED}
NO_SRC_ON_CDROM= ${RESTRICTED}
NO_SRC_ON_FTP= ${RESTRICTED}
DISTFILES= ${DEFAULT_DISTFILES}
EXTRACT_ONLY= ${DEFAULT_DISTFILES}
# Unifi bundles snappy-java-1.0.5.jar, which contains native code.
# We can use the bundled snappy-java but we must recompile the native portion
# because it only ship linux binaries. The rcd script takes care of loading the
# correct library.
SNAPPY_JAVA= snappy-java-1.0.5.4
SITES.${SNAPPY_JAVA}.tar.gz= -https://github.com/xerial/snappy-java/archive/${SNAPPY_JAVA:S/snappy-java-//}.tar.gz
DISTFILES+= ${SNAPPY_JAVA}.tar.gz
EXTRACT_ONLY+= ${SNAPPY_JAVA}.tar.gz
SNAPPY= snappy-1.0.5
SITES.${SNAPPY}.tar.gz= http://download.openpkg.org/components/cache/snappy/ \
http://ftp.NetBSD.org/pub/pkgsrc/distfiles/snappy-java10/
DISTFILES+= ${SNAPPY}.tar.gz
EXTRACT_ONLY+= ${SNAPPY}.tar.gz
CHECK_SHLIBS_SKIP= unifi/lib/native/*
INSTALLATION_DIRS= unifi
# Emulated JDK doesn't work due to epoll issues. Also, would require
# matching emulated native libraries, and we only compile actual
# native libaries.
PKG_JVMS_ACCEPTED= openjdk8
PKGSRC_MAKE_ENV+= JAVA_HOME=${PKG_JAVA_HOME}
USE_LANGUAGES= c c++ # for snappy JNI library
USE_TOOLS+= gmake pax
WRKSRC= ${WRKDIR}/UniFi
# Upstream documents 3.4.15, but 3.4.4 actually works. Avoid mongodb4 because it
# has a problematic license.
DEPENDS+= mongodb>=3.4.4:../../databases/mongodb3
FILES_SUBST+= UNIFI_USER=${UNIFI_USER:Q} UNIFI_GROUP=${UNIFI_GROUP:Q}
FILES_SUBST+= JAVA=${PKG_JAVA_HOME}/bin/java
RCD_SCRIPTS= unifi
UNIFI_USER?= unifi
UNIFI_GROUP?= unifi
PKG_USERS_VARS= UNIFI_USER
PKG_GROUPS_VARS= UNIFI_GROUP
PKG_GROUPS= ${UNIFI_GROUP}
PKG_USERS= ${UNIFI_USER}:${UNIFI_GROUP}
.for d in data logs run work
OWN_DIRS_PERMS+= ${PREFIX}/unifi/${d} ${UNIFI_USER} ${UNIFI_GROUP} 0700
.endfor
.include "../../mk/bsd.prefs.mk"
post-extract:
# drop executable bit
find ${WRKSRC} -type f -print0 | xargs -0 chmod -x
mkdir ${WRKDIR}/${SNAPPY_JAVA}/target
ln -s ${WRKDIR}/${SNAPPY} ${WRKDIR}/${SNAPPY_JAVA}/target
do-build:
# bundled mongod is a linux binary; replace with symlink to native binary
rm -f ${WRKSRC}/bin/mongod
ln -s ${PREFIX}/bin/mongod ${WRKSRC}/bin/mongod
cd ${WRKDIR}/${SNAPPY_JAVA} && ${BUILD_MAKE_CMD} native
do-install:
cd ${WRKSRC} && pax -rw . ${DESTDIR}${PREFIX}/unifi
${INSTALL_LIB} ${WRKDIR}/${SNAPPY_JAVA}/target/snappy-1.0.5-Default/libsnappyjava.so ${DESTDIR}${PREFIX}/unifi/lib
.include "../../mk/java-vm.mk"
.include "../../mk/bsd.pkg.mk"

9426
unifi6/PLIST Normal file

File diff suppressed because it is too large Load Diff

16
unifi6/distinfo Normal file
View File

@ -0,0 +1,16 @@
$NetBSD: distinfo,v 1.14 2020/08/30 06:03:53 tnn Exp $
SHA1 (snappy-1.0.5.tar.gz) = 3a3df859cf33f78f8e945c3f67f28685f0f38bb1
RMD160 (snappy-1.0.5.tar.gz) = c9dec9a8a2faac7bf85b79bcf82f8080713103aa
SHA512 (snappy-1.0.5.tar.gz) = 4f772673dd1bf482f13db0f09299b46d0ee47b7052c43e69c2c5361d352031152f3132c25faf86ffcf1bfbe0e68625d7eef8fa669be873b568adfc160a82f25b
Size (snappy-1.0.5.tar.gz) = 1731382 bytes
SHA1 (snappy-java-1.0.5.4.tar.gz) = 2a67400be7e5967ee28c87f32ea4776f26494f2c
RMD160 (snappy-java-1.0.5.4.tar.gz) = 30d12e9717b012bf5b214deecf59f3d02c36996b
SHA512 (snappy-java-1.0.5.4.tar.gz) = 4fce5c0c0ce294ba789fd33dd8aeed92b6c58e004ac8e569ee1840fe4fbeb47b1f3edff75619aee0ebbda65476ec56b15a4aeead360d98dbc3d45d295ab028bd
Size (snappy-java-1.0.5.4.tar.gz) = 6041905 bytes
SHA1 (unifi-6.0.22.zip) = f328e91a5baa1c89683a479573f7436c98f75cae
RMD160 (unifi-6.0.22.zip) = d179a0216ac1ff293b89f0bd27ad804854b6c3fb
SHA512 (unifi-6.0.22.zip) = 99e510a2c7f13929b436a73b5cb5d8d8ce48cfa4464bc610dd588c2af30cbb0f4b8c0fd8058a2108f2c3f0850f492445f6b1b9c1b6d84bfdb5e2af7cbe261283
Size (unifi-6.0.22.zip) = 183238039 bytes
SHA1 (patch-snappy-java_Makefile) = ce9e30d266787890e82675cfaa2603ae4709eaab
SHA1 (patch-snappy-java_Makefile.common) = ba9e39d1bc6e34e2fa4704831ba51feccfbb0638

23
unifi6/files/unifi.sh Normal file
View File

@ -0,0 +1,23 @@
#!@RCD_SCRIPTS_SHELL@
# PROVIDE: unifi
# REQUIRE: DAEMON
# KEYWORD: shutdown
if [ -f /etc/rc.subr ]
then
. /etc/rc.subr
fi
name="unifi"
rcvar=$name
unifi_user="@UNIFI_USER@"
unifi_group="@UNIFI_GROUP@"
unifi_chdir="@PREFIX@/unifi"
command="@JAVA@"
java_args="-Djava.awt.headless=true -Xmx1024M -Djava.net.preferIPv4Stack=true -Dorg.xerial.snappy.lib.path=@PREFIX@/unifi/lib -Dorg.xerial.lib.name=libsnappyjava.so -jar lib/ace.jar"
command_args="${java_args} start &"
stop_cmd="cd ${unifi_chdir} && ${command} ${java_args} stop"
load_rc_config $name
run_rc_command "$1"

View File

@ -0,0 +1,17 @@
$NetBSD: patch-snappy-java_Makefile,v 1.1 2017/06/24 14:16:37 tnn Exp $
It tries to download a distfile with curl. We manage this manually.
--- ../snappy-java-1.0.5.4/Makefile.orig 2014-07-04 05:20:00.000000000 +0000
+++ ../snappy-java-1.0.5.4/Makefile
@@ -20,9 +20,7 @@ $(SNAPPY_ARCHIVE):
@mkdir -p $(@D)
curl -o$@ http://snappy.googlecode.com/files/snappy-$(VERSION).tar.gz
-$(SNAPPY_UNPACKED): $(SNAPPY_ARCHIVE)
- tar xvfz $< -C $(TARGET)
- touch $@
+$(SNAPPY_UNPACKED):
jni-header: $(SRC)/org/xerial/snappy/SnappyNative.h

View File

@ -0,0 +1,15 @@
$NetBSD: patch-snappy-java_Makefile.common,v 1.1 2017/06/24 14:16:37 tnn Exp $
Don't produce a broken shared library.
--- ../snappy-java-1.0.5.4/Makefile.common.orig 2014-07-04 05:20:00.000000000 +0000
+++ ../snappy-java-1.0.5.4/Makefile.common
@@ -54,7 +54,7 @@ CROSS_PREFIX :=
Default_CXX := $(CROSS_PREFIX)g++
Default_STRIP := $(CROSS_PREFIX)strip
Default_CXXFLAGS := -I$(JAVA_HOME)/include -Ilib/inc_mac -O2 -fPIC -fvisibility=hidden
-Default_LINKFLAGS := -shared -static
+Default_LINKFLAGS := -shared
Default_LIBNAME := libsnappyjava.so
Default_SNAPPY_FLAGS :=