[arch-commits] Commit in cacti/trunk (6 files)

David Runge dvzrv at archlinux.org
Mon Jun 10 19:59:13 UTC 2019


    Date: Monday, June 10, 2019 @ 19:59:13
  Author: dvzrv
Revision: 479789

upgpkg: cacti 1.2.4-1

Upgrading to 1.2.4. Adding default uwsgi configuration. Installing as separate user/group cacti.
Moving all state files, logs, etc. to their respective FHS compliant locations. Adding install file to explain changes.

Added:
  cacti/trunk/cacti.install
  cacti/trunk/cacti.sysusers
  cacti/trunk/cacti.tmpfiles
    (from rev 479788, cacti/trunk/tmpfiles.conf)
  cacti/trunk/cacti.uwsgi
Modified:
  cacti/trunk/PKGBUILD
Deleted:
  cacti/trunk/tmpfiles.conf

----------------+
 PKGBUILD       |  159 ++++++++++++++++++++++++++++++++++++++++++++-----------
 cacti.install  |    9 +++
 cacti.sysusers |    1 
 cacti.tmpfiles |   17 +++++
 cacti.uwsgi    |   38 +++++++++++++
 tmpfiles.conf  |    2 
 6 files changed, 194 insertions(+), 32 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2019-06-10 18:50:23 UTC (rev 479788)
+++ PKGBUILD	2019-06-10 19:59:13 UTC (rev 479789)
@@ -3,22 +3,37 @@
 # Contributor: tuxbubling <tuxbubling at jabber.fr>
 
 pkgname=cacti
-pkgver=1.2.2
+pkgver=1.2.4
 pkgrel=1
 pkgdesc="Network graphing solution using RRDTool"
 arch=('any')
 url="https://www.cacti.net"
 license=('GPL2')
-depends=('rrdtool' 'mariadb' 'php-gd' 'net-snmp' 'xorg-fonts-100dpi')
+depends=('php-gd' 'php-snmp' 'rrdtool' 'ttf-dejavu')
+optdepends=('mariadb: use local MySQL server'
+            'php-fpm: run in fastCGI process manager'
+            'uwsgi: run as local application container')
 backup=('etc/webapps/cacti/.htaccess'
         'etc/webapps/cacti/config.php')
 source=("https://www.${pkgname}.net/downloads/${pkgname}-${pkgver}.tar.gz"
-        'tmpfiles.conf')
-sha512sums=('4a41aff20f06ad56f4723e52084d1a09e3b3eb017e8f1c957f700e4e2f9b12e8f0e599cb56611241c6fcc59bbd6bf957e948631f3beca72e2a7fdadacc473c65'
-            '6d25f182141ca7d13388f7241eb27d783ea99b991c0b147382f8ec9eeeb521303531f8ad9dd7c968cb36b7bb657cb517b8c7f46fd1d777e1b10923d76e4efbd6')
+        "${pkgname}.uwsgi"
+        "${pkgname}.sysusers"
+        "${pkgname}.tmpfiles")
+install="${pkgname}.install"
+sha512sums=('b3b296a59eb5ba2c83ddc4fb7c44f121808a5444daa9d87cf4be5364d80ed91034b0ea1a68e117a555e87a5ae574e8de890ddbc16fe543b4c4888ecb259efbe5'
+            'a87241b12226fcad9e161d0f4cd344161015b5fa8e2f1f3af4431d22bd87aad8a4f9553226baed98d48376819e75266a50fd796b1c884b4e597ccf38a5e4de01'
+            '847e2b791de44d0790a2fdb81c77c8af9a66da9d44500f3f8a8d1c0f406d3a20082cc8fef1c6afe4de93ad989d35c79c9809abe14693a9ac6ea74d4696e3b6c1'
+            'e833e411f74e77773c32589ba83cb1b2f28ca9b35931626480ab7daa63420d47ecfc3061e6703323646b69e1d98536b6f3afdd36faa483fb13aac9b818af0c6e')
 
 prepare() {
+  # adding default .htaccess
+  echo "Require all denied" > "${pkgname}-htaccess"
   cd "${pkgname}-${pkgver}"
+  # setting correct install path for spine
+  sed -e 's|/usr/local/spine/bin/spine|/usr/bin/spine|g' \
+      -i install/functions.php
+  # setting correct path for dejavu font
+  sed -e 's|/usr/share/fonts/dejavu/|/usr/share/fonts/TTF/|g' -i lib/rrd.php
   # remove unneeded executable bits
   find . -executable -type f -and -not -path "*scripts*" -exec chmod -c 644 {} \;
 }
@@ -25,38 +40,122 @@
 
 package() {
   cd "${pkgname}-${pkgver}"
-  install -vDm 644 {CHANGELOG,README.md} -t "${pkgdir}/usr/share/doc/${pkgname}"
-  rm -v {CHANGELOG,LICENSE,README.md}
-  # create directories
-  install -vdm 0755 "${pkgdir}/usr/share/webapps/${pkgname}" \
-    "${pkgdir}/etc/webapps/${pkgname}" \
-    "${pkgdir}/var/log/" "${pkgdir}/var/lib/${pkgname}/"
-
-  # move sources
-  cp -av "../${pkgname}-${pkgver}"/* \
-    "${pkgdir}/usr/share/webapps/${pkgname}"
-
-  # move and symlink configuration
-  echo "Require all denied" >> "${pkgdir}/etc/webapps/${pkgname}/.htaccess"
-  mv "${pkgdir}/usr/share/webapps/${pkgname}/include/config.php" \
-    "${pkgdir}/etc/webapps/${pkgname}"
+  # webapp
+  install -vDm 644 include/config.php -t "${pkgdir}/etc/webapps/${pkgname}"
+  rm -v include/config.php
+  install -vDm 644 *.{php,sql} -t "${pkgdir}/usr/share/webapps/${pkgname}"
+  install -vDm 644 cli/{*.php,.htaccess} \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/cli"
+  install -vDm 644 docs/*.{css,html,sql} \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/docs"
+  install -vDm 644 docs/images/*.png \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/docs/images"
+  install -vDm 644 formats/*.{format,php} \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/formats"
+  install -vDm 644 images/*.{gif,ico,png,svg} \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/images"
+  install -vDm 644 include/{*.{php,js},cacti_version} \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/include"
+  install -vDm 644 include/content/{*.{html,php},README} \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/include/content"
+  install -vDm 644 include/fa/index.php \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/include/fa"
+  install -vDm 644 include/fa/css/*.{css,php} \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/include/fa/css"
+  install -vDm 644 include/fa/less/*.{less,php} \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/include/fa/less"
+  install -vDm 644 include/fa/scss/*.{php,scss} \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/include/fa/scss"
+  install -vDm 644 include/fa/webfonts/*.{eot,php,svg,ttf,woff,woff2} \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/include/fa/webfonts"
+  install -vDm 644 include/fonts/*.ttf \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/include/fonts"
+  install -vDm 644 include/js/*.{js,php} \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/include/js"
+  install -vDm 644 include/js/LC_MESSAGES/*.{js,php} \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/include/js/LC_MESSAGES"
+  install -vDm 644 include/themes/index.php \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/include/themes"
+  for theme in {classic,dark,modern,paper-plane,paw,sunrise}; do
+    install -vDm 644 include/themes/${theme}/*.{css,js,php} \
+      -t "${pkgdir}/usr/share/webapps/${pkgname}/include/themes/${theme}"
+    install -vDm 644 include/themes/${theme}/default/*.{css,gif,php,png} \
+      -t "${pkgdir}/usr/share/webapps/${pkgname}/include/themes/${theme}/default"
+    install -vDm 644 include/themes/${theme}/images/*.{gif,ico,png,svg} \
+      -t "${pkgdir}/usr/share/webapps/${pkgname}/include/themes/${theme}/images"
+    install -vDm 644 include/themes/${theme}/images/128/*.png \
+      -t "${pkgdir}/usr/share/webapps/${pkgname}/include/themes/${theme}/images/128"
+  done
+  cp -av include/vendor "${pkgdir}/usr/share/webapps/${pkgname}/include/"
+  install -vDm 644 install/*.{css,csv,js,php} \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/install"
+  install -vDm 644 install/templates/*.gz \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/install/templates"
+  install -vDm 644 install/upgrades/*.php \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/install/upgrades"
+  install -vDm 644 lib/*.php \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/lib"
+  install -vDm 644 locales/index.php \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/locales"
+  install -vDm 644 locales/LC_MESSAGES/*.{mo,php} \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/locales/LC_MESSAGES"
+  install -vDm 644 locales/po/*.{php,po,pot} \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/locales/po"
+  install -vDm 644 mibs/{index.php,*-MIB} \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/mibs"
+  install -vDm 644 plugins/index.php \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/plugins"
+  # config
+  install -vDm 644 "${srcdir}/${pkgname}-htaccess" \
+    "${pkgdir}/etc/webapps/${pkgname}/.htaccess"
   ln -sv "/etc/webapps/${pkgname}/.htaccess" \
     "${pkgdir}/usr/share/webapps/${pkgname}/.htaccess"
   ln -sv "/etc/webapps/${pkgname}/config.php" \
     "${pkgdir}/usr/share/webapps/${pkgname}/include/config.php"
-
-  # move and symlink var directory
-  mv -v "${pkgdir}/usr/share/webapps/${pkgname}/rra" \
-    "${pkgdir}/var/lib/${pkgname}/rra"
+  # state
+  install -vdm 750 "${pkgdir}/var/lib/${pkgname}"
+  install -vDm 644 rra/.htaccess -t "${pkgdir}/var/lib/${pkgname}/rra"
   ln -sv "/var/lib/${pkgname}/rra" \
     "${pkgdir}/usr/share/webapps/${pkgname}/rra"
-
-  # move and symlink log directory
-  mv -v "${pkgdir}/usr/share/webapps/${pkgname}/log" \
-    "${pkgdir}/var/log/${pkgname}"
+  install -vDm 644 resource/index.php \
+    -t "${pkgdir}/var/lib/${pkgname}/resource"
+  install -vDm 644 resource/snmp_queries/*.{php,xml} \
+    -t "${pkgdir}/var/lib/${pkgname}/resource/snmp_queries/"
+  install -vDm 644 resource/script_server/*.{php,xml} \
+    -t "${pkgdir}/var/lib/${pkgname}/resource/script_server/"
+  install -vDm 644 resource/script_queries/*.{php,xml} \
+    -t "${pkgdir}/var/lib/${pkgname}/resource/script_queries/"
+  ln -sv "/var/lib/${pkgname}/resource" \
+    "${pkgdir}/usr/share/webapps/${pkgname}/resource"
+  install -vDm 644 scripts/*.{php,pl,sh} \
+    -t "${pkgdir}/var/lib/${pkgname}/scripts"
+  ln -sv "/var/lib/${pkgname}/scripts" \
+    "${pkgdir}/usr/share/webapps/${pkgname}/scripts"
+  # cache
+  install -vdm 750 "${pkgdir}/var/cache/${pkgname}"
+  install -vDm 644 cache/boost/index.php \
+    -t "${pkgdir}/var/cache/${pkgname}/boost"
+  install -vDm 644 cache/mibcache/index.php \
+    -t "${pkgdir}/var/cache/${pkgname}/mibcache"
+  install -vDm 644 cache/realtime/index.php \
+    -t "${pkgdir}/var/cache/${pkgname}/realtime"
+  install -vDm 644 cache/spikekill/index.php \
+    -t "${pkgdir}/var/cache/${pkgname}/spikekill"
+  ln -sv "/var/cache/${pkgname}" \
+    "${pkgdir}/usr/share/webapps/${pkgname}/cache"
+  # log
+  install -vdm 750 "${pkgdir}/var/log/${pkgname}"
+  install -vDm 644 log/.htaccess -t "${pkgdir}/var/log/${pkgname}"
   ln -sv "/var/log/${pkgname}" "${pkgdir}/usr/share/webapps/${pkgname}/log"
-
+  # docs
+  install -vDm 644 {CHANGELOG,README.md} -t "${pkgdir}/usr/share/doc/${pkgname}"
   # tmpfiles.d
-  install -vDm 644 "${srcdir}/tmpfiles.conf" \
+  install -vDm 644 "${srcdir}/${pkgname}.tmpfiles" \
     "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf"
+  # sysusers.d
+  install -vDm 644 "${srcdir}/${pkgname}.sysusers" \
+    "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
+  # uwsgi config
+  install -vDm 644 "${srcdir}/${pkgname}.uwsgi" \
+    "${pkgdir}/etc/uwsgi/${pkgname}.ini"
 }

Added: cacti.install
===================================================================
--- cacti.install	                        (rev 0)
+++ cacti.install	2019-06-10 19:59:13 UTC (rev 479789)
@@ -0,0 +1,9 @@
+post_upgrade() {
+  local new_package_version="$1"
+  local old_package_version="$2"
+  if [ $(vercmp "${old_package_version}" "1.2.2") -le 0 ]; then
+cat <<EOF
+The webapp now needs to be run as its own user/group: cacti/cacti.
+EOF
+  fi
+}

Added: cacti.sysusers
===================================================================
--- cacti.sysusers	                        (rev 0)
+++ cacti.sysusers	2019-06-10 19:59:13 UTC (rev 479789)
@@ -0,0 +1 @@
+u cacti - "Cacti user" -

Copied: cacti/trunk/cacti.tmpfiles (from rev 479788, cacti/trunk/tmpfiles.conf)
===================================================================
--- cacti.tmpfiles	                        (rev 0)
+++ cacti.tmpfiles	2019-06-10 19:59:13 UTC (rev 479789)
@@ -0,0 +1,17 @@
+z /etc/webapps/cacti/*.php 0640 cacti cacti
+d %L/cacti 0750 cacti cacti
+z %L/cacti/*.log - cacti cacti
+d %S/cacti 0750 cacti cacti
+d %S/cacti/rra - cacti cacti
+z %S/cacti/rra/*.rrd - cacti cacti
+d %S/cacti/resource 755 cacti cacti
+d %S/cacti/resource/snmp_queries 755 cacti cacti
+d %S/cacti/resource/script_server 755 cacti cacti
+d %S/cacti/resource/script_queries 755 cacti cacti
+d %S/cacti/scripts 755 cacti cacti
+d %t/cacti 755 cacti cacti
+d %C/cacti 750 cacti cacti
+d %C/cacti/boost 755 cacti cacti
+d %C/cacti/mibcache 755 cacti cacti
+d %C/cacti/realtime 755 cacti cacti
+d %C/cacti/spikekill 755 cacti cacti

Added: cacti.uwsgi
===================================================================
--- cacti.uwsgi	                        (rev 0)
+++ cacti.uwsgi	2019-06-10 19:59:13 UTC (rev 479789)
@@ -0,0 +1,38 @@
+[uwsgi]
+procname-master = %n
+plugins = php
+master = true
+socket = /run/cacti/%n.sock
+stats = /run/cacti/%n-stats.sock
+uid = cacti
+gid = cacti
+processes = 10
+cheaper = 2
+cheaper-step = 1
+idle = 600
+die-on-idle = true
+; reload whenever this config file changes
+touch-reload = %p
+
+php-allowed-ext = .php
+php-docroot = /usr/share/webapps/%n
+php-index = index.php
+php-set = date.timezone=Europe/Berlin
+php-set = open_basedir=/tmp/:/usr/share/webapps/%n:/etc/webapps/%n:/var/cache/%n:/var/lib/%n:/var/log/%n:/proc/meminfo:/usr/bin/rrdtool:/usr/bin/snmpget:/usr/bin/snmpwalk:/usr/bin/snmpbulkwalk:/usr/bin/snmpgetnext:/usr/bin/snmptrap:/usr/bin/sendmail:/usr/bin/php:/usr/bin/spine:/usr/share/fonts/TTF/
+php-set = memory_limit = 512M
+php-set = max_execution_time = 60
+php-set = session.save_path=/tmp
+php-set = session.gc_maxlifetime  21600
+php-set = session.gc_divisor  500
+php-set = session.gc_probability  1
+php-set = post_max_size=64M
+php-set = upload_max_filesize=64M
+php-set = extension=gd.so
+php-set = extension=gettext.so
+php-set = extension=gmp.so
+php-set = extension=pdo_mysql.so
+php-set = extension=ldap.so
+php-set = extension=snmp
+php-set = extension=sockets.so
+
+cron = -5 -1 -1 -1 -1 /usr/bin/php -d date.timezone=Europe/Berlin -d memory_limit=512M -d max_execution_time=60 -d extension=gd -d extension=gettext -d extension=gmp -d extension=pdo_mysql -d extension=ldap -d extension=snmp -d extension=sockets /usr/share/webapps/cacti/poller.php

Deleted: tmpfiles.conf
===================================================================
--- tmpfiles.conf	2019-06-10 18:50:23 UTC (rev 479788)
+++ tmpfiles.conf	2019-06-10 19:59:13 UTC (rev 479789)
@@ -1,2 +0,0 @@
-d /var/log/cacti 0755 http http
-d /var/lib/cacti/rra 0755 http http



More information about the arch-commits mailing list