# Contributor: Pedro Filipe # Contributor: Valery Kartel # Maintainer: Jeff Bilyk pkgname=cacti pkgver=1.2.12 pkgrel=0 pkgdesc="The complete rrdtool-based graphing solution" url="https://www.cacti.net" arch="noarch" license="GPL-2.0-or-later" options="!check" pkgusers=$pkgname pkggroups="www-data" depends="bash perl coreutils net-snmp-tools rrdtool ttf-dejavu" subpackages="$pkgname-doc $pkgname-lang $pkgname-setup $pkgname-php7:_php" install="$pkgname.pre-install $pkgname-setup.post-install" source="https://www.cacti.net/downloads/cacti-$pkgver.tar.gz $pkgname.crontab $pkgname.nginx.conf $pkgname.php-fpm.conf " # secfixes: # 1.2.8-r0: # - CVE-2020-8813 # - CVE-2020-7237 # - CVE-2020-7106 package() { mkdir -p "$pkgdir"/usr/share/webapps/$pkgname \ "$pkgdir"/var/lib/$pkgname \ "$pkgdir"/etc/$pkgname \ "$pkgdir"/var/log cp -r * "$pkgdir"/usr/share/webapps/$pkgname install -Dm600 "$srcdir"/$pkgname.crontab "$pkgdir"/etc/crontabs/$pkgname # fix permissions find "$pkgdir" -perm 755 -type f -exec chmod -x {} \; # 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 chown -R $pkgname: "$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 chown -R $pkgname: "$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 ln -s /etc/$pkgname/config.php \ "$pkgdir"/usr/share/webapps/$pkgname/include/config.php } doc() { default_doc 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/vendor/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/vendor/phpmailer/language/*lang*.php \ "$subpkgdir"/usr/share/webapps/$pkgname/include/vendor/phpmailer/language } setup() { pkgdesc="$pkgdesc (initial setup)" depends="$pkgname $pkgname-doc mariadb-client" 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-mbstring $php-pdo_mysql $php-openssl $php-posix $php-session $php-simplexml $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="df6a512a2e8faa70b8ee0b2ab72ea9e21db465f3978a3ecedf17cd34cb16793d3b0107f01f8cd8400fb15b162c27214680f22657f6f0d59853de88c49966087c cacti-1.2.12.tar.gz 70f47dbbca76489fc3a84452ee8065f9571ee627b3e346cd3c866501d723a609372c4fbd7e53c4bdcdb22439d876d78847f8902dfa43f3f66b2329639e795ab9 cacti.crontab 9b3fe765c6196c0e4988efaa7236d8a8b945725548371b4a0e2a371de374c9577a908d58dcef5a4e59e089ca923cfeb7c5ddea9ee983a5115239052cf9b8ab59 cacti.nginx.conf 056358fc69752fb5129729db91a22d06c97ca452068017ccfe0ede8f2bf42f62e5072415c7db2eb5b9346d6bc54092bc147044e40b2156d8037dfee4a7e55e5b cacti.php-fpm.conf"