blob: 6c8f3455e5e15c247fefd6f9af6c47966efeed95 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# Set this var for any releases except stable
RC_SUFFIX="-4bee620529"
inherit java-pkg-2 readme.gentoo-r1 systemd
DESCRIPTION="A Management Controller for Ubiquiti Networks UniFi APs"
HOMEPAGE="https://www.ubnt.com"
SRC_URI="https://dl.ui.com/unifi/${PV}${RC_SUFFIX}/UniFi.unix.zip -> ${P}.zip"
S="${WORKDIR}/UniFi"
KEYWORDS="-* ~amd64 ~arm64"
LICENSE="Apache-1.0 Apache-2.0 BSD-1 BSD-2 BSD CDDL EPL-1.0 GPL-2 LGPL-2.1 LGPL-3 MIT ubiquiti"
SLOT="0/$(ver_cut 1-2)"
IUSE="systemd system-mongodb"
RESTRICT="bindist mirror"
RDEPEND="
acct-group/unifi
acct-user/unifi
dev-db/mongodb
virtual/jre:1.8
"
BDEPEND="app-arch/unzip"
DOCS=( "readme.txt" )
QA_PREBUILT="usr/lib/unifi/lib/native/Linux/x86_64/*.so"
src_prepare() {
# Remove unneeded files Mac and Windows
rm -r lib/native/{Mac,Windows} || die
if [[ ${CHOST} != aarch64* ]]; then
rm -r lib/native/Linux/aarch64 || die "Failed in removing aarch64 native libraries"
fi
if [[ ${CHOST} != armv7* ]]; then
rm -r lib/native/Linux/armv7 || die "Failed in removing armv7 native libraries"
fi
if [[ ${CHOST} != x86_64* ]]; then
rm -r lib/native/Linux/x86_64 || die "Failed in removing x86_64 native libraries"
fi
if [[ ${CHOST} == aarch64* ]]; then
if ! use systemd; then
rm lib/native/Linux/aarch64/libubnt_sdnotify_jni.so || die
fi
fi
if [[ ${CHOST} == armv7* ]]; then
if ! use systemd; then
rm lib/native/Linux/armv7/libubnt_sdnotify_jni.so || die
fi
fi
if [[ ${CHOST} == x86_64* ]]; then
if ! use systemd; then
rm lib/native/Linux/x86_64/libubnt_sdnotify_jni.so || die
fi
fi
default
}
src_compile() {
:;
}
src_install() {
insinto /usr/lib/unifi
doins -r dl lib webapps
! use system-mongodb && doins -r bin
diropts -o unifi -g unifi
keepdir /var/lib/unifi/{conf,data,run,tmp,work} /var/log/unifi
for symlink in conf data run tmp work; do
dosym ../../../var/lib/unifi/${symlink} /usr/lib/unifi/${symlink}
done
dosym ../../../var/log/unifi /usr/lib/unifi/logs
java-pkg_regjar "${D}"/usr/lib/unifi/lib/*.jar
java-pkg_dolauncher unifi --java_args '-Dorg.xerial.snappy.tempdir=/usr/lib/unifi/tmp -Djava.library.path=' --jar ace.jar --pwd '/usr/lib/unifi'
if use system-mongodb; then
systemd_newunit "${FILESDIR}"/unifi-mongodb.service unifi.service
newinitd "${FILESDIR}"/unifi-mongodb.initd unifi
else
systemd_newunit "${FILESDIR}"/unifi.service-r2 unifi.service
newinitd "${FILESDIR}"/unifi.initd-r2 unifi
fi
newconfd "${FILESDIR}"/unifi.confd unifi
echo 'CONFIG_PROTECT="/var/lib/unifi"' > "${T}"/99unifi || die
doenvd "${T}"/99unifi
einstalldocs
readme.gentoo_create_doc
}
pkg_postinst() {
readme.gentoo_print_elog
}
|