diff options
author | Conrad Kostecki <conikost@gentoo.org> | 2022-02-09 23:53:46 +0100 |
---|---|---|
committer | Conrad Kostecki <conikost@gentoo.org> | 2022-02-09 23:56:54 +0100 |
commit | f66b68c65f82d22b0d23ecf007e01acb5a0c2a7d (patch) | |
tree | f51a8d8d35d77c3228da1e09ccfd60c0086171c9 /net-wireless | |
parent | x11-misc/xflux-gui: drop 1.2.0-r2 (diff) | |
download | gentoo-f66b68c65f82d22b0d23ecf007e01acb5a0c2a7d.tar.gz gentoo-f66b68c65f82d22b0d23ecf007e01acb5a0c2a7d.tar.bz2 gentoo-f66b68c65f82d22b0d23ecf007e01acb5a0c2a7d.zip |
net-wireless/unifi: force java8
As UniFi needs Java8, we need to force Java8, even, when user-vm or
system-vm is set to a higher version.
This is accompilshed by creating a launcher with java-pkg_dolauncher.
Bug: https://bugs.gentoo.org/792279
Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
Diffstat (limited to 'net-wireless')
-rw-r--r-- | net-wireless/unifi/files/unifi.initd-r2 | 22 | ||||
-rw-r--r-- | net-wireless/unifi/files/unifi.service-r1 | 14 | ||||
-rw-r--r-- | net-wireless/unifi/unifi-7.0.21-r1.ebuild | 96 |
3 files changed, 132 insertions, 0 deletions
diff --git a/net-wireless/unifi/files/unifi.initd-r2 b/net-wireless/unifi/files/unifi.initd-r2 new file mode 100644 index 000000000000..ccab8df7fd7a --- /dev/null +++ b/net-wireless/unifi/files/unifi.initd-r2 @@ -0,0 +1,22 @@ +#!/sbin/openrc-run +# Copyright 1999-2022 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +unifi_exec="/usr/bin/unifi" +unifi_path="/usr/lib/unifi" + +unifi_user="unifi" +unifi_group="unifi" + +name="UniFi Controller" + +start_stop_daemon_args="--chdir ${unifi_path}" + +command="${unifi_exec}" +command_args="start" +command_background=true +command_progress=true +command_user="${unifi_user}:${unifi_group}" + +pidfile="/run/${RC_SVCNAME}.pid" +retry=TERM/60 diff --git a/net-wireless/unifi/files/unifi.service-r1 b/net-wireless/unifi/files/unifi.service-r1 new file mode 100644 index 000000000000..a9b98e25de41 --- /dev/null +++ b/net-wireless/unifi/files/unifi.service-r1 @@ -0,0 +1,14 @@ +[Unit] +Description=UniFi Controller +After=network-online.target + +[Service] +Type=simple +User=unifi +Group=unifi +WorkingDirectory=/usr/lib/unifi +ExecStart=/usr/bin/unifi start +ExecStop=/usr/bin/unifi stop + +[Install] +WantedBy=network.target diff --git a/net-wireless/unifi/unifi-7.0.21-r1.ebuild b/net-wireless/unifi/unifi-7.0.21-r1.ebuild new file mode 100644 index 000000000000..cd05b6851cd0 --- /dev/null +++ b/net-wireless/unifi/unifi-7.0.21-r1.ebuild @@ -0,0 +1,96 @@ +# 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="-ebd087e2ad" + +inherit java-pkg-2 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" +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 bin dl lib webapps + + 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' + + newinitd "${FILESDIR}"/unifi.initd-r2 unifi + systemd_dounit "${FILESDIR}"/unifi.service + + newconfd "${FILESDIR}"/unifi.confd unifi + + echo 'CONFIG_PROTECT="/var/lib/unifi"' > "${T}"/99unifi || die + doenvd "${T}"/99unifi + + einstalldocs +} |