# Contributor: Valery Kartel <valery.kartel@gmail.com>
# Maintainer: Jeff Bilyk <jbilyk@gmail.com>
pkgname=cacti
pkgver=1.1.24
pkgrel=0
pkgdesc="The complete rrdtool-based graphing solution"
url="http://www.cacti.net"
arch="noarch"
license="GPL2+"
pkgusers="cacti"
pkggroups="www-data"
depends="bash perl coreutils net-snmp-tools rrdtool ttf-dejavu"
makedepends=""
subpackages="$pkgname-doc $pkgname-lang $pkgname-setup \
	$pkgname-php5:_php $pkgname-php7:_php
	"
install="$pkgname.pre-install $pkgname-setup.post-install"
source="http://www.cacti.net/downloads/$pkgname-$pkgver.tar.gz
	$pkgname.crontab
	$pkgname.nginx.conf
	$pkgname.php-fpm.conf
	"
builddir="$srcdir/$pkgname-$pkgver"

package() {
	cd "$builddir"

	mkdir -p "$pkgdir"/usr/share/webapps/$pkgname \
		"$pkgdir"/var/lib/$pkgname \
		"$pkgdir"/etc/$pkgname \
		"$pkgdir"/var/log

	cp -r * "$pkgdir"/usr/share/webapps/$pkgname/ || return 1
	install -Dm600 "$srcdir"/$pkgname.crontab "$pkgdir"/etc/crontabs/$pkgname

	# remove development data
	rm -fr "$pkgdir"/usr/share/webapps/$pkgname/locales/po \
		"$pkgdir"/usr/share/webapps/$pkgname/locales/update-pot.sh

	# switch to system fonts
	rm -fr "$pkgdir"/usr/share/webapps/$pkgname/include/fonts
	ln -s /usr/share/fonts/ttf-dejavu \
		"$pkgdir"/var/lib/$pkgname/fonts
	ln -s /var/lib/$pkgname/fonts \
		"$pkgdir"/usr/share/webapps/$pkgname/include/fonts

	# symlink to help webserver find relative path
	ln -s . "$pkgdir"/usr/share/webapps/$pkgname/$pkgname

	# move variable and writable data to cacti's home
	local dir; for dir in cache plugins resource rra scripts; do
		mv "$pkgdir"/usr/share/webapps/$pkgname/$dir \
			"$pkgdir"/var/lib/$pkgname/$dir || return 1
		chown -R $pkgusers:$pkggroups "$pkgdir"/var/lib/$pkgname/$dir
		ln -s /var/lib/$pkgname/$dir "$pkgdir"/usr/share/webapps/$pkgname/$dir
	done

	# move log to /var/log
	mv "$pkgdir"/usr/share/webapps/$pkgname/log \
		"$pkgdir"/var/log/$pkgname || return 1
	chown -R $pkgusers:$pkggroups "$pkgdir"/var/log/$pkgname
	ln -s /var/log/$pkgname "$pkgdir"/usr/share/webapps/$pkgname/log

	# move config to /etc
	mv "$pkgdir"/usr/share/webapps/$pkgname/include/config.php \
		"$pkgdir"/etc/$pkgname/config.php || return 1
	ln -s /etc/$pkgname/config.php \
		"$pkgdir"/usr/share/webapps/$pkgname/include/config.php
}

doc() {
	default_doc || return 1

	mkdir -p "$subpkgdir"/usr/share/webapps/$pkgname
	cd "$pkgdir"/usr/share/webapps/$pkgname
	mv docs "$subpkgdir"/usr/share/webapps/$pkgname/

	local file;
	for file in $(find ./ -name "LICENSE" -o -name "NEWS" \
			 -o -name "README*" -o -name "VERSION" \
			 -o -name "CHANGELOG" -o -name "*.rst")
	do
		mkdir -p "$subpkgdir"/usr/share/webapps/$pkgname/${file%/*}
		mv $file "$subpkgdir"/usr/share/webapps/$pkgname/$file
	done

	install -Dm644 "$srcdir"/$pkgname.nginx.conf \
		"$subpkgdir"/usr/share/webapps/$pkgname/docs/txt/nginx.conf
}

lang() {
	pkgdesc="$pkgdesc (localisations)"
	install_if="lang $pkgname=$pkgver-r$pkgrel"

	mkdir -p "$subpkgdir"/usr/share/webapps/$pkgname/locales/LC_MESSAGES \
		"$subpkgdir"/usr/share/webapps/$pkgname/include/js/LC_MESSAGES \
		"$subpkgdir"/usr/share/webapps/$pkgname/include/phpmailer/language

	# cacti l10n
	mv "$pkgdir"/usr/share/webapps/$pkgname/locales/LC_MESSAGES/* \
		"$subpkgdir"/usr/share/webapps/$pkgname/locales/LC_MESSAGES

	# jquery l10n
	mv "$pkgdir"/usr/share/webapps/$pkgname/include/js/LC_MESSAGES/* \
		"$subpkgdir"/usr/share/webapps/$pkgname/include/js/LC_MESSAGES

	# phpmailer l10n
	mv "$pkgdir"/usr/share/webapps/$pkgname/include/phpmailer/language/*lang*.php \
		"$subpkgdir"/usr/share/webapps/$pkgname/include/phpmailer/language
}

setup() {
	pkgdesc="$pkgdesc (initial setup)"
	depends="$pkgname $pkgname-doc"

	mkdir -p "$subpkgdir"/usr/share/webapps/$pkgname
	mv "$pkgdir"/usr/share/webapps/$pkgname/install \
		"$pkgdir"/usr/share/webapps/$pkgname/*.sql \
		"$subpkgdir"/usr/share/webapps/$pkgname/
}

_php() {
	local php=${subpkgname#$pkgname-}
	pkgdesc="$pkgdesc ($php dependencies)"
	install_if="$php-config $pkgname=$pkgver-r$pkgrel"
	depends="$php $php-gd $php-gmp $php-json $php-ldap $php-pdo_mysql
		$php-openssl $php-posix $php-snmp $php-sockets $php-xml $php-zlib"

	# cacti's php-fpm pool config
	install -Dm644 "$srcdir"/$pkgname.php-fpm.conf \
		"$subpkgdir"/etc/$php/php-fpm.d/$pkgname.conf
}

sha512sums="85599b3cd5c3aad79f1d5213558df3047329484704ef54963fc14a31257f762d4ab3f3d201073e7ba62700f60c9a14d458c8eb193f263ef5edad62ce3c544ed7  cacti-1.1.24.tar.gz
70f47dbbca76489fc3a84452ee8065f9571ee627b3e346cd3c866501d723a609372c4fbd7e53c4bdcdb22439d876d78847f8902dfa43f3f66b2329639e795ab9  cacti.crontab
9b3fe765c6196c0e4988efaa7236d8a8b945725548371b4a0e2a371de374c9577a908d58dcef5a4e59e089ca923cfeb7c5ddea9ee983a5115239052cf9b8ab59  cacti.nginx.conf
695a5e8439ef0ed29068c87b1d711f66c5a24cf31c3c213784f83d6aef8608a07e99bfa2343a6487762572b6022926c3846f704494c7806e9a1aa2c49e18513b  cacti.php-fpm.conf"