# Maintainer: Joachim Schlöffel <joachim.schloeffel@financial-service-plus.de>
pkgname=nifi
pkgver=2.12.0
pkgrel=1
pkgdesc="Reliable system for processing and distributing data"
url="https://nifi.apache.org/"
arch="x86_64 aarch64"
license="Apache-2.0"
depends="openjdk21-jre-headless"
makedepends="unzip"
install="$pkgname.pre-install"
pkgusers="nifi"
pkggroups="nifi"
subpackages="
	$pkgname-openrc:_openrc:noarch
	"
options="!check !strip !tracedeps"
source="
	$pkgname-$pkgver-bin.zip::https://dlcdn.apache.org/nifi/$pkgver/nifi-$pkgver-bin.zip
	nifi.confd
	nifi.initd
	nifi.wrapper
	"
package() {
	local _dir

	install -d "$pkgdir"/usr/lib/nifi "$pkgdir"/etc/nifi
	cp -a "$builddir"/. "$pkgdir"/usr/lib/nifi/
	chmod -R a+rX "$pkgdir"/usr/lib/nifi

	cp -a "$pkgdir"/usr/lib/nifi/conf/. "$pkgdir"/etc/nifi/
	rm -r "$pkgdir"/usr/lib/nifi/conf
	ln -s /etc/nifi "$pkgdir"/usr/lib/nifi/conf

	install -d -m 0750 -o nifi -g nifi "$pkgdir"/var/lib/nifi
	for _dir in \
		assets \
		connector_assets \
		content_repository \
		database_repository \
		diagnostics \
		extensions \
		flowfile_repository \
		nar_repository \
		provenance_repository \
		state \
		status_repository \
		work; do
		install -d -m 0750 -o nifi -g nifi "$pkgdir"/var/lib/nifi/$_dir
		ln -s /var/lib/nifi/$_dir "$pkgdir"/usr/lib/nifi/$_dir
	done
	install -d -m 0750 -o nifi -g nifi "$pkgdir"/var/log/nifi
	ln -s /var/log/nifi "$pkgdir"/usr/lib/nifi/logs
	ln -s /run/nifi "$pkgdir"/usr/lib/nifi/run

	chown -R nifi:nifi "$pkgdir"/etc/nifi
	chmod 0750 "$pkgdir"/etc/nifi

	install -Dm755 "$srcdir"/nifi.wrapper "$pkgdir"/usr/bin/nifi
}

_openrc() {
	pkgdesc="$pkgdesc (OpenRC service)"
	depends="$pkgname=$pkgver-r$pkgrel openrc"

	install -Dm755 "$srcdir"/nifi.initd "$subpkgdir"/etc/init.d/nifi
	install -Dm644 "$srcdir"/nifi.confd "$subpkgdir"/etc/conf.d/nifi
}

sha512sums="
5891039ccf15234bb21c2d1ce65027357ca7603ad8fdfc946dd4b6499ab8061fb07a6a56f8e8c5bb7635d446354ca7cc76ba40e55921818931f193a75f247334  nifi-2.12.0-bin.zip
fd576c2d2333aa79f7dac90e83f9cf6e0faed9748ebce0dfc1c18bcd1da0ec1d0da90d4004055bbddcb0f011a0e9efdc08f0eed2f3c19d49b1746019f2be1da9  nifi.confd
9f8a005fcd6a6f75a553321c27c672c4c202e8b86ff5fa0a1bd5eb0e7305592e67d8dc6a915d1f1bc01b39916b0fb0e61478cb6ae5aee4ae8b3be36c80c5662a  nifi.initd
7764c6a53f0fb109ecde4959b438a0eeb669b00eafdbdb2abe5255f4053a237d4e97349594b3bf053abd55a96f8e217aa0cf0fec59a7c14f1db2490e747f713e  nifi.wrapper
"
