blob: 6f2d4e1fa3023492c6202a1348eda1ff5ca02b72 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
|
# 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=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-2019-17358
# - 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
70f47dbbca76489fc3a84452ee8065f9571ee627b3e346cd3c866501d723a609372c4fbd7e53c4bdcdb22439d876d78847f8902dfa43f3f66b2329639e795ab9 cacti.crontab
9b3fe765c6196c0e4988efaa7236d8a8b945725548371b4a0e2a371de374c9577a908d58dcef5a4e59e089ca923cfeb7c5ddea9ee983a5115239052cf9b8ab59 cacti.nginx.conf
056358fc69752fb5129729db91a22d06c97ca452068017ccfe0ede8f2bf42f62e5072415c7db2eb5b9346d6bc54092bc147044e40b2156d8037dfee4a7e55e5b cacti.php-fpm.conf"
|