APKBUILD 2.9 KB
Newer Older
1 2 3 4
# Maintainer: TBK <alpine@jjtc.eu>
# Contributer: TBK <alpine@jjtc.eu>
pkgname=unifi
_pkgname=UniFi
5 6
pkgver=5.8.23
_pkgver=d5a5bbfda4
7
pkgrel=0
8 9 10 11 12 13 14 15
pkgdesc="The Ubiquiti UniFi network controller"
url="http://wiki.ubnt.com/UniFi_FAQ"
arch="noarch"
license="UniFi-EULA"
depends="openjdk8-jre-base java-snappy mongodb"
install="$pkgname.pre-install"
pkgusers="$pkgname"
pkggroups="$pkgname"
TBK's avatar
TBK committed
16 17 18
options="!check" # No test suite
subpackages="$pkgname-doc $pkgname-openrc"
source="$pkgname-$pkgver.zip::https://dl.ubnt.com/unifi/$pkgver-$_pkgver/$_pkgname.unix.zip
19 20 21 22
	$pkgname.initd
	$pkgname.confd
	$pkgname.logrotated
	"
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
builddir="$srcdir/$_pkgname"

prepare() {
	default_prepare
	# removing libubnt_webrtc_jni.so which disables rtc support
	# which disabled cloud features (afaik)
	rm -rf "$builddir"/lib/native
}

package() {
	cd "$builddir"
	# unifi wants everything in a base directory but we dont
	local basedir="$pkgdir/usr/lib/$pkgname"
	local datadir="$pkgdir/var/lib/$pkgname"
	local webapps="$pkgdir/usr/share/webapps"
	
	mkdir -p $basedir/bin $datadir $webapps

41 42 43 44 45 46 47 48
	install -Dm644 "$srcdir"/$pkgname.logrotated \
		"$pkgdir"/etc/logrotate.d/$pkgname
	install -Dm755 "$srcdir"/$pkgname.initd \
		"$pkgdir"/etc/init.d/$pkgname
	install -Dm644 "$srcdir"/$pkgname.confd \
		"$pkgdir"/etc/conf.d/$pkgname
	install -Dm644 readme.txt \
		"$pkgdir"/usr/share/doc/$pkgname/readme.txt
49 50 51 52 53 54 55 56 57 58

	cp -r webapps $webapps/$pkgname

	local dir; for dir in dl lib conf; do
		cp -r $dir "$basedir"/
	done
	
	local dir; for dir in work data; do
		install -dm 755 -o $pkgname -g $pkgname "$datadir/$dir"
	done
59

60 61 62 63 64 65 66 67
	# link things back to basedir
	ln -sf /usr/bin/mongod $basedir/bin/mongod
	ln -sf /var/log/$pkgname $basedir/logs
	ln -sf /run/$pkgname $basedir/run
	ln -sf /usr/share/webapps/$pkgname $basedir/webapps
	ln -sf /var/lib/$pkgname/data $basedir/data
	ln -sf /var/lib/$pkgname/work $basedir/work
	
TBK's avatar
TBK committed
68 69 70 71 72 73 74 75
	# overwrite with local snappy but
	# first we got to figure out the version
	local file=$(ls lib/ | grep snappy-java)
	local name=${file%.*}
	local version=${name##*-}
	# the java-snappy pkg has a symlink so we use that
	ln -sf /usr/share/java/snappy-java.jar \
		"$basedir"/lib/snappy-java-$version.jar
76 77 78
	
	# make sure datadir is writable by our user
	chown -R $pkgname:$pkgname $datadir
79 80 81

	# tell search engines to do not index
	echo -e "User-Agent:*\nDisallow:/" > "$webapps"/$pkgname/ROOT/robots.txt
82
}
TBK's avatar
TBK committed
83

84
sha512sums="2b42df2a84574ac9e282c7ff59eb86ce29170ea7ef5957690dec8772c90acda3c08c633b3bceeac08bb73ff1460143207a64d2405de19436faf20a042849231b  unifi-5.8.23.zip
85 86 87
b19a7d684ef2ec7c4159417c21185ccd8ce498da25405b69014fdb32e346a0077f7edc5dfc994481d12936aa8dbf22e6baf29571fd0003aaad19609d24c549f4  unifi.initd
d339555a91de7488badbedf8a4c85cff878e7d0720a8cf6a8340f51f3666dcf4878b47a1fff4c9c2846d7af140d11e48e898f8c4dba1f81c1004b76a81f0821e  unifi.confd
9e54d9e1c720b8e50c9af9363105f6ea9ff2cffff7dc67477a7701aacf21ba977424fe9fbaba6a00d5f64310a2e2517e9328a7acb91a4bc06ed237139a8e0d9b  unifi.logrotated"