| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | # $NetBSD: Makefile,v 1.25 2021/08/13 14:45:53 abs Exp $ | | 1 | # $NetBSD: Makefile,v 1.26 2021/08/13 17:25:06 wiz Exp $ |
2 | | | 2 | |
3 | # Update to 6.2 (wip) is on hold pending reports that the greater | | 3 | # Update to 6.2 (wip) is on hold pending reports that the greater |
4 | # Unifi world thinks it is stable enough. -- gdt, 2021-06-01 | | 4 | # Unifi world thinks it is stable enough. -- gdt, 2021-06-01 |
5 | DISTNAME= unifi-6.0.45 | | 5 | DISTNAME= unifi-6.0.45 |
6 | CATEGORIES= net | | 6 | CATEGORIES= net |
7 | MASTER_SITES= -http://dl.ubnt.com/unifi/${PKGVERSION_NOREV}/UniFi.unix.zip | | 7 | MASTER_SITES= -http://dl.ubnt.com/unifi/${PKGVERSION_NOREV}/UniFi.unix.zip |
8 | EXTRACT_SUFX= .zip | | 8 | EXTRACT_SUFX= .zip |
9 | | | 9 | |
10 | # Updates must be tested to not only build but actually function under | | 10 | # Updates must be tested to not only build but actually function under |
11 | # at least NetBSD 9/amd64 with actual UBNT hardware. | | 11 | # at least NetBSD 9/amd64 with actual UBNT hardware. |
12 | MAINTAINER= gdt@NetBSD.org | | 12 | MAINTAINER= gdt@NetBSD.org |
13 | HOMEPAGE= https://www.ubnt.com/download/unifi/ | | 13 | HOMEPAGE= https://www.ubnt.com/download/unifi/ |
14 | # The content that belongs in NEWS are often in a blog. | | 14 | # The content that belongs in NEWS are often in a blog. |
| @@ -42,78 +42,77 @@ DISTFILES+= ${SNAPPY}.tar.gz | | | @@ -42,78 +42,77 @@ DISTFILES+= ${SNAPPY}.tar.gz |
42 | EXTRACT_ONLY+= ${SNAPPY}.tar.gz | | 42 | EXTRACT_ONLY+= ${SNAPPY}.tar.gz |
43 | | | 43 | |
44 | CHECK_SHLIBS_SKIP= unifi/lib/native/* | | 44 | CHECK_SHLIBS_SKIP= unifi/lib/native/* |
45 | INSTALLATION_DIRS= unifi | | 45 | INSTALLATION_DIRS= unifi |
46 | | | 46 | |
47 | # Emulated JDK doesn't work due to epoll issues. Also, would require | | 47 | # Emulated JDK doesn't work due to epoll issues. Also, would require |
48 | # matching emulated native libraries, and we only compile actual | | 48 | # matching emulated native libraries, and we only compile actual |
49 | # native libaries. | | 49 | # native libaries. |
50 | # NetBSD openjdk11 fails to listen to https, so disable for now | | 50 | # NetBSD openjdk11 fails to listen to https, so disable for now |
51 | PKG_JVMS_ACCEPTED= openjdk8 | | 51 | PKG_JVMS_ACCEPTED= openjdk8 |
52 | PKGSRC_MAKE_ENV+= JAVA_HOME=${PKG_JAVA_HOME} | | 52 | PKGSRC_MAKE_ENV+= JAVA_HOME=${PKG_JAVA_HOME} |
53 | USE_LANGUAGES= c c++ # for snappy JNI library | | 53 | USE_LANGUAGES= c c++ # for snappy JNI library |
54 | USE_TOOLS+= gmake pax | | 54 | USE_TOOLS+= gmake pax |
55 | WRKSRC= ${WRKDIR}/UniFi | | 55 | WRKSRC= ${WRKDIR} |
56 | | | 56 | |
57 | # Upstream documents 3.4.15, but 3.4.4 actually works. Avoid mongodb4 because it | | 57 | # Upstream documents 3.4.15, but 3.4.4 actually works. Avoid mongodb4 because it |
58 | # has a problematic license. | | 58 | # has a problematic license. |
59 | DEPENDS+= mongodb>=3.4.4:../../databases/mongodb3 | | 59 | DEPENDS+= mongodb>=3.4.4:../../databases/mongodb3 |
60 | | | 60 | |
61 | FILES_SUBST+= UNIFI_USER=${UNIFI_USER:Q} UNIFI_GROUP=${UNIFI_GROUP:Q} | | 61 | FILES_SUBST+= UNIFI_USER=${UNIFI_USER:Q} UNIFI_GROUP=${UNIFI_GROUP:Q} |
62 | FILES_SUBST+= JAVA=${PKG_JAVA_HOME}/bin/java | | 62 | FILES_SUBST+= JAVA=${PKG_JAVA_HOME}/bin/java |
63 | RCD_SCRIPTS= unifi | | 63 | RCD_SCRIPTS= unifi |
64 | UNIFI_USER?= unifi | | 64 | UNIFI_USER?= unifi |
65 | UNIFI_GROUP?= unifi | | 65 | UNIFI_GROUP?= unifi |
66 | PKG_USERS_VARS= UNIFI_USER | | 66 | PKG_USERS_VARS= UNIFI_USER |
67 | PKG_GROUPS_VARS= UNIFI_GROUP | | 67 | PKG_GROUPS_VARS= UNIFI_GROUP |
68 | PKG_GROUPS= ${UNIFI_GROUP} | | 68 | PKG_GROUPS= ${UNIFI_GROUP} |
69 | PKG_USERS= ${UNIFI_USER}:${UNIFI_GROUP} | | 69 | PKG_USERS= ${UNIFI_USER}:${UNIFI_GROUP} |
70 | RELRO_SUPPORTED= no | | | |
71 | | | 70 | |
72 | .for d in data logs run work | | 71 | .for d in data logs run work |
73 | OWN_DIRS_PERMS+= ${PREFIX}/unifi/${d} ${UNIFI_USER} ${UNIFI_GROUP} 0700 | | 72 | OWN_DIRS_PERMS+= ${PREFIX}/unifi/${d} ${UNIFI_USER} ${UNIFI_GROUP} 0700 |
74 | .endfor | | 73 | .endfor |
75 | | | 74 | |
76 | .include "../../mk/bsd.prefs.mk" | | 75 | .include "../../mk/bsd.prefs.mk" |
77 | | | 76 | |
78 | post-extract: | | 77 | post-extract: |
79 | # drop executable bit | | 78 | # drop executable bit |
80 | find ${WRKSRC} -type f -print0 | xargs -0 chmod -x | | 79 | find ${WRKSRC}/UniFi -type f -print0 | xargs -0 chmod -x |
81 | mkdir ${WRKDIR}/${SNAPPY_JAVA}/target | | 80 | mkdir ${WRKDIR}/${SNAPPY_JAVA}/target |
82 | ln -s ${WRKDIR}/${SNAPPY} ${WRKDIR}/${SNAPPY_JAVA}/target | | 81 | ln -s ${WRKDIR}/${SNAPPY} ${WRKDIR}/${SNAPPY_JAVA}/target |
83 | # drop platform specific binaries | | 82 | # drop platform specific binaries |
84 | # as far as we know, these are for cloud access to your controller | | 83 | # as far as we know, these are for cloud access to your controller |
85 | ls -R ${WRKDIR}/UniFi/lib/native | | 84 | ls -R ${WRKDIR}/UniFi/lib/native |
86 | rm -rf ${WRKDIR}/UniFi/lib/native/Windows | | 85 | rm -rf ${WRKDIR}/UniFi/lib/native/Windows |
87 | .if (${OPSYS} != "Linux") | | 86 | .if (${OPSYS} != "Linux") |
88 | rm -rf ${WRKDIR}/UniFi/lib/native/Linux | | 87 | rm -rf ${WRKDIR}/UniFi/lib/native/Linux |
89 | .else | | 88 | .else |
90 | .if (${MACHINE_ARCH} != "aarch64") | | 89 | . if (${MACHINE_ARCH} != "aarch64") |
91 | rm -rf ${WRKDIR}/UniFi/lib/native/Linux/aarch64 | | 90 | rm -rf ${WRKDIR}/UniFi/lib/native/Linux/aarch64 |
92 | .endif | | 91 | . endif |
93 | .if (${MACHINE_ARCH} != "armv7") | | 92 | . if (${MACHINE_ARCH} != "armv7") |
94 | rm -rf ${WRKDIR}/UniFi/lib/native/Linux/armv7 | | 93 | rm -rf ${WRKDIR}/UniFi/lib/native/Linux/armv7 |
95 | .endif | | 94 | . endif |
96 | .if (${MACHINE_ARCH} != "x86_64") | | 95 | . if (${MACHINE_ARCH} != "x86_64") |
97 | rm -rf ${WRKDIR}/UniFi/lib/native/Linux/x86_64 | | 96 | rm -rf ${WRKDIR}/UniFi/lib/native/Linux/x86_64 |
98 | .endif | | 97 | . endif |
99 | .endif | | 98 | .endif |
100 | .if (${OPSYS} != "Darwin") | | 99 | .if (${OPSYS} != "Darwin") |
101 | rm -rf ${WRKDIR}/UniFi/lib/native/Mac | | 100 | rm -rf ${WRKDIR}/UniFi/lib/native/Mac |
102 | .else | | 101 | .else |
103 | .if (${MACHINE_ARCH} != "x86_64") | | 102 | . if (${MACHINE_ARCH} != "x86_64") |
104 | rm -rf ${WRKDIR}/UniFi/lib/native/Mac/x86_64 | | 103 | rm -rf ${WRKDIR}/UniFi/lib/native/Mac/x86_64 |
105 | .endif | | 104 | . endif |
106 | .endif | | 105 | .endif |
107 | | | 106 | |
108 | do-build: | | 107 | do-build: |
109 | # bundled mongod is a linux binary; replace with symlink to native binary | | 108 | # bundled mongod is a linux binary; replace with symlink to native binary |
110 | rm -f ${WRKSRC}/bin/mongod | | 109 | rm -f ${WRKSRC}/UniFi/bin/mongod |
111 | ln -s ${PREFIX}/bin/mongod ${WRKSRC}/bin/mongod | | 110 | ln -s ${PREFIX}/bin/mongod ${WRKSRC}/UniFi/bin/mongod |
112 | cd ${WRKDIR}/${SNAPPY_JAVA} && ${BUILD_MAKE_CMD} native | | 111 | cd ${WRKDIR}/${SNAPPY_JAVA} && ${BUILD_MAKE_CMD} native |
113 | | | 112 | |
114 | do-install: | | 113 | do-install: |
115 | cd ${WRKSRC} && pax -rw . ${DESTDIR}${PREFIX}/unifi | | 114 | cd ${WRKSRC}/UniFi && pax -rw . ${DESTDIR}${PREFIX}/unifi |
116 | ${INSTALL_LIB} ${WRKDIR}/${SNAPPY_JAVA}/target/snappy-1.0.5-Default/libsnappyjava.so ${DESTDIR}${PREFIX}/unifi/lib | | 115 | ${INSTALL_LIB} ${WRKDIR}/${SNAPPY_JAVA}/target/snappy-1.0.5-Default/libsnappyjava.so ${DESTDIR}${PREFIX}/unifi/lib |
117 | | | 116 | |
118 | .include "../../mk/java-vm.mk" | | 117 | .include "../../mk/java-vm.mk" |
119 | .include "../../mk/bsd.pkg.mk" | | 118 | .include "../../mk/bsd.pkg.mk" |