aboutsummaryrefslogblamecommitdiffstats
path: root/community/cacti/APKBUILD
blob: 3f1e8b05479d09adfa734ee062ad66b97ff0bf6e (plain) (tree)
1
2
3
4
5
6
7
8
9
                                                
                                                      

                                           
             
        
                                                      
                           
             
                          

                 

                                                               
                                                                          
                                                          
                                                            
                                            
                        

                             
         
 





                     
           




                                                       
                                                    
                                                                                 
 


                                                             









                                                                          
 





                                                                    

                                                                  
                                                                                      
            


                                                     

                                                     



                                                                        
                                                 

                                                                       

 
       
                   















                                                                           

 





                                                                                
                                                                                         









                                                                              

                                                                                              



                                          
                                                      










                                                            


                                                                                          
 


                                                             
 
 
                                                                                                                                                                 
                                                                                                                                                                      
                                                                                                                                               
                                                                                                                                                  
                                                                                                                                                     
# Contributor: Pedro Filipe <xpecex@outlook.com>
# Contributor: Valery Kartel <valery.kartel@gmail.com>
# Maintainer: Jeff Bilyk <jbilyk@gmail.com>
pkgname=cacti
pkgver=1.2.10
pkgrel=1
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
	Fix-one-minor-error-on-upgrade.patch
	$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="8ed9bd895dc5763fabc20e4fb3c78eb2f520b05fca03b6aac843860402cf15e754af1eb9d65412ed10db6e93531806d1ef48957a08f56f2f8b40f235b4413cf3  cacti-1.2.10.tar.gz
da462f69e0c8a9790858803ec834b302eeb1df54a2f769135589f59df885c117ef2737a1a11b257a854179b9ea81d512e5f1202c9a688bfff9eb960ea079d431  Fix-one-minor-error-on-upgrade.patch
70f47dbbca76489fc3a84452ee8065f9571ee627b3e346cd3c866501d723a609372c4fbd7e53c4bdcdb22439d876d78847f8902dfa43f3f66b2329639e795ab9  cacti.crontab
9b3fe765c6196c0e4988efaa7236d8a8b945725548371b4a0e2a371de374c9577a908d58dcef5a4e59e089ca923cfeb7c5ddea9ee983a5115239052cf9b8ab59  cacti.nginx.conf
056358fc69752fb5129729db91a22d06c97ca452068017ccfe0ede8f2bf42f62e5072415c7db2eb5b9346d6bc54092bc147044e40b2156d8037dfee4a7e55e5b  cacti.php-fpm.conf"