[arch-commits] Commit in postfixadmin/trunk (5 files)

David Runge dvzrv at archlinux.org
Wed Apr 10 22:24:49 UTC 2019


    Date: Wednesday, April 10, 2019 @ 22:24:49
  Author: dvzrv
Revision: 450919

upgpkg: postfixadmin 3.2.2-1

Installing to /usr/share/webapps/postfixadmin. Installing separate user/group postfixadmin to be used.
Adding runtime dir for webapp. Adding local configuration. Using install for all webapp files. Symlinking template directory.
Installing default configuration for uwsgi. Adding install file notifying the user about the applied changes.

Added:
  postfixadmin/trunk/postfixadmin.install
  postfixadmin/trunk/postfixadmin.sysusers
  postfixadmin/trunk/postfixadmin.tmpfiles
  postfixadmin/trunk/postfixadmin.uwsgi
Modified:
  postfixadmin/trunk/PKGBUILD

-----------------------+
 PKGBUILD              |  144 +++++++++++++++++++++++++++++++++++++-----------
 postfixadmin.install  |   13 ++++
 postfixadmin.sysusers |    1 
 postfixadmin.tmpfiles |    3 +
 postfixadmin.uwsgi    |   26 ++++++++
 5 files changed, 155 insertions(+), 32 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2019-04-10 21:49:28 UTC (rev 450918)
+++ PKGBUILD	2019-04-10 22:24:49 UTC (rev 450919)
@@ -1,43 +1,123 @@
-# Maintainer: Sven-Hendrik Haase <sh at lutzhaase.com>
+# Maintainer: David Runge <dave at sleepmap.de>
+# Contributor: Sven-Hendrik Haase <sh at lutzhaase.com>
 # Contributor: Filip <fila pruda.com>
 pkgname=postfixadmin
-pkgver=3.2
+pkgver=3.2.2
 pkgrel=1
-pkgdesc="A web based interface used to manage mailboxes, virtual domains and aliases created for Postfix"
+pkgdesc="Web based interface to manage Postfix mailboxes, virtual domains and aliases"
 arch=('any')
-license=('GPL')
+license=('GPL2')
 url="http://postfixadmin.sourceforge.net/"
-backup=(etc/webapps/postfixadmin/config.inc.php
-        etc/webapps/postfixadmin/.htaccess)
+backup=('etc/webapps/postfixadmin/config.inc.php'
+        'etc/webapps/postfixadmin/config.local.php'
+        'etc/webapps/postfixadmin/.htaccess'
+        'etc/uwsgi/postfixadmin.ini')
 depends=('php')
-optdepends=('mariadb: MySQL server'
-            'postgresql: PostgreSQL server')
-source=("https://downloads.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-${pkgver}/postfixadmin-${pkgver}.tar.gz")
-sha512sums=('eca4903dc3a22e56585c6f1b028a0f93d2422574faf9458b369b071880af55b36cd52c5ff9b0438c2c129a561404414b5d1f926043b40700fb5e31bffffe6ec7')
+optdepends=('mariadb: use local MySQL server'
+            'postgresql: use local PostgreSQL server'
+            'php-fpm: run in fastCGI process manager'
+            'uwsgi: run as application container')
+source=("https://github.com/postfixadmin/${pkgname}/archive/${pkgname}-${pkgver}.tar.gz"
+        "${pkgname}.sysusers"
+        "${pkgname}.tmpfiles"
+        "${pkgname}.uwsgi")
+install="${pkgname}.install"
+sha512sums=('6c84cb215e69c52c26db0651e5d0d9d8bcb0a63b00d3c197f10fa1f0442a1fde44bb514fb476a1e68a21741d603febac67282961d01270e5969ee13d145121ee'
+            'dc61527dbec79a3b19c8fcbc424fbfbe483cccf99a606e566ea6cd624d46c70a6d87dd8d4da398fedf12b60cfd0cf364c351d6b826e6eee6b2ca8eac0d9efcbe'
+            '7e55c844be7b186d9eb568fe097632651c683582da83e0ee24cd6dd7c5a581fe05e5462174237f542ff8dc5d17a8ab651a77f0087a0c8df01d7b36c7722b1440'
+            '50640e431f9b167d618e5e5f6acd36453270aeb7ef8b714afe8207eba9916c86d4b42a1edb9b73a46a1c732a886efcab01389e007baa5b85295c091b451d5673')
 
+prepare(){
+  mv -v "${pkgname}-${pkgname}-${pkgver}" "${pkgname}-${pkgver}"
+  cd "${pkgname}-${pkgver}"
+  # creating empty local config (for overrides)
+  echo "<?php" > "config.local.php"
+  # creating htaccess file
+  echo "#Require all denied" > .htaccess
+  # remove unneeded executable bits
+  find . -executable -type f \
+    -and -not -path "*scripts*" -exec chmod -c 644 {} \;
+  # remove symlinks
+  find . -type l -exec rm -v {} +
+  # remove unneeded debian directories
+  rm -rv ADDITIONS/squirrelmail-plugin/debian
+}
+
 package() {
-  _destdir=$pkgdir/usr/share/webapps/postfixAdmin
-  _destdir_etc=$pkgdir/etc/webapps/postfixadmin
-  _destdir_doc=$pkgdir/usr/share/doc/postfixadmin
+  cd "${pkgname}-${pkgver}"
 
-  install -dm755 ${_destdir}
-  install -dm755 ${_destdir_etc}
-  install -dm755 ${_destdir_doc}
-
-  cd $srcdir/$pkgname-$pkgver
-  cp -r * ${_destdir}
-
+  # sysusers.d integration
+  install -vDm 644 ../${pkgname}.sysusers \
+    "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
+  # tmpfiles.d integration
+  install -vDm 644 ../${pkgname}.tmpfiles \
+    "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf"
+  # docs
+  install -vDm 644 {README.md,CHANGELOG.TXT} \
+    -t "${pkgdir}/usr/share/doc/${pkgname}/"
+  install -vDm 644 DOCUMENTS/*.txt \
+    -t "${pkgdir}/usr/share/doc/${pkgname}/documents"
+  cp -av ADDITIONS VIRTUAL_VACATION \
+    "${pkgdir}/usr/share/doc/${pkgname}"
+  # webapp
+  install -vDm 644 {common,functions.inc,index}.php phpunit.xml \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}"
+  install -vDm 644 configs/menu.conf \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/configs"
+  install -vDm 644 languages/*.{lang,php} \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/languages/"
+  install -vDm 644 lib/*.{phar,pubkey,php,txt} \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/lib/"
+  install -vDm 644 lib/smarty/{COPYING.lib,smarty_version} \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/lib/smarty"
+  install -vDm 644 lib/smarty/libs/*.{php,tpl} \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/lib/smarty/libs"
+  install -vDm 644 lib/smarty/libs/plugins/*.php \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/lib/smarty/libs/plugins"
+  install -vDm 644 lib/smarty/libs/sysplugins/*.php \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/lib/smarty/libs/sysplugins"
+  install -vDm 644 model/*.php \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/model"
+  install -vDm 644 public/*.php \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/public"
+  (
+    # adding weird symlinks
+    cd "${pkgdir}/usr/share/webapps/${pkgname}/public"
+    ln -sv users/password-change.php .
+    ln -sv users/password-recover.php .
+  )
+  install -vDm 644 public/css/*.css \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/public/css"
+  install -vDm 644 public/images/*.{gif,ico,php,png} \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/public/images"
+  install -vDm 644 public/users/*.{js,php} \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/public/users"
+  install -vDm 644 public/users/css/*.css \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/public/users/css"
+  install -vDm 644 public/users/images/calendar/*.{gif,png} \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/public/users/images/calendar"
+  install -vDm 755 scripts/${pkgname}-cli \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/scripts"
+  install -vDm 644 scripts/*.php \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/scripts"
+  install -vDm 644 scripts/snippets/*.php \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/scripts/snippets"
+  install -vDm 644 templates/*.tpl \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/templates"
+  install -vDm 644 tests/*.php \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}/tests"
   # config
-  mv ${_destdir}/config.inc.php ${_destdir_etc}
-  ln -s /etc/webapps/postfixadmin/config.inc.php ${_destdir}/config.inc.php
-  echo "#Require all denied" >${_destdir_etc}/.htaccess
-  ln -s /etc/webapps/postfixadmin/.htaccess ${_destdir}/.htaccess
-
-  # template cache needs to be writeable
-  mkdir -p ${_destdir}/templates_c
-  chown http:http ${_destdir}/templates_c
-
-  # docs
-  mv ${_destdir}/{*.TXT,tests,ADDITIONS,DOCUMENTS,VIRTUAL_VACATION} ${_destdir_doc}
-  rm -rf ${_destdir}/debian
+  install -vDm 640 config.{inc,local}.php -t "${pkgdir}/etc/webapps/${pkgname}/"
+  ln -sv "/etc/webapps/${pkgname}/config.inc.php" \
+    "${pkgdir}/usr/share/webapps/${pkgname}/config.inc.php"
+  ln -sv "/etc/webapps/${pkgname}/config.local.php" \
+    "${pkgdir}/usr/share/webapps/${pkgname}/config.local.php"
+  install -vDm 644 .htaccess -t "${pkgdir}/etc/webapps/${pkgname}/"
+  ln -sv "/etc/webapps/${pkgname}/.htaccess" \
+    "${pkgdir}/usr/share/webapps/${pkgname}/.htaccess"
+  install -vDm 644 "../${pkgname}.uwsgi" "${pkgdir}/etc/uwsgi/${pkgname}.ini"
+  # template caches
+  install -vdm 755 "${pkgdir}/var/cache/${pkgname}/templates_c"
+  ln -sv "/var/cache/${pkgname}/templates_c" \
+    "${pkgdir}/usr/share/webapps/${pkgname}/"
 }

Added: postfixadmin.install
===================================================================
--- postfixadmin.install	                        (rev 0)
+++ postfixadmin.install	2019-04-10 22:24:49 UTC (rev 450919)
@@ -0,0 +1,13 @@
+post_upgrade() {
+  local new_package_version="$1"
+  local old_package_version="$2"
+  if [ $(vercmp "${old_package_version}" "3.2.0") -le 0 ]; then
+cat <<EOF
+The webapp now needs to be run as its own user/group: postfixadmin/postfixadmin.
+The webapp is now installed to /usr/share/webapps/postfixadmin.
+It's encouraged to move configuration to config.local.php as the default
+configuration in config.inc.php will not be backed up anymore in a future
+release.
+EOF
+  fi
+}

Added: postfixadmin.sysusers
===================================================================
--- postfixadmin.sysusers	                        (rev 0)
+++ postfixadmin.sysusers	2019-04-10 22:24:49 UTC (rev 450919)
@@ -0,0 +1 @@
+u postfixadmin - "PostfixAdmin user" -

Added: postfixadmin.tmpfiles
===================================================================
--- postfixadmin.tmpfiles	                        (rev 0)
+++ postfixadmin.tmpfiles	2019-04-10 22:24:49 UTC (rev 450919)
@@ -0,0 +1,3 @@
+z /etc/webapps/postfixadmin/*.php 0640 postfixadmin postfixadmin
+Z %C/postfixadmin - postfixadmin postfixadmin
+d %t/postfixadmin 755 postfixadmin postfixadmin

Added: postfixadmin.uwsgi
===================================================================
--- postfixadmin.uwsgi	                        (rev 0)
+++ postfixadmin.uwsgi	2019-04-10 22:24:49 UTC (rev 450919)
@@ -0,0 +1,26 @@
+[uwsgi]
+procname-master = postfixadmin
+master = true
+plugins = php
+socket = /run/postfixadmin/%n.sock
+stats = /run/postfixadmin/%n-stats.sock
+uid = postfixadmin
+gid = postfixadmin
+processes = 10
+cheaper = 2
+cheaper-step = 1
+idle = 120
+die-on-idle = true
+
+php-allowed-ext = .php
+php-docroot = /usr/share/webapps/postfixadmin/public
+php-index = index.php
+php-set = date.timezone=Europe/Berlin
+php-set = open_basedir=/tmp/:/usr/share/webapps/postfixadmin/:/etc/webapps/postfixadmin/:/usr/bin/doveadm:/var/cache/postfixadmin
+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 = extension=mysqli.so
+php-set = extension=imap.so
+



More information about the arch-commits mailing list