[arch-commits] Commit in (8 files)

David Runge dvzrv at archlinux.org
Fri Jan 31 21:45:16 UTC 2020


    Date: Friday, January 31, 2020 @ 21:45:16
  Author: dvzrv
Revision: 560851

Adding hyperkitty as optdepends for mailman3.

Added:
  hyperkitty/
  hyperkitty/repos/
  hyperkitty/trunk/
  hyperkitty/trunk/PKGBUILD
  hyperkitty/trunk/hyperkitty-qcluster.service
  hyperkitty/trunk/hyperkitty.sysusers
  hyperkitty/trunk/hyperkitty.tmpfiles
  hyperkitty/trunk/hyperkitty.uwsgi

-----------------------------+
 PKGBUILD                    |   89 ++++++++++++++++++++++++++++++++++++++++++
 hyperkitty-qcluster.service |   35 ++++++++++++++++
 hyperkitty.sysusers         |    1 
 hyperkitty.tmpfiles         |    4 +
 hyperkitty.uwsgi            |   24 +++++++++++
 5 files changed, 153 insertions(+)

Added: hyperkitty/trunk/PKGBUILD
===================================================================
--- hyperkitty/trunk/PKGBUILD	                        (rev 0)
+++ hyperkitty/trunk/PKGBUILD	2020-01-31 21:45:16 UTC (rev 560851)
@@ -0,0 +1,89 @@
+# Maintainer: David Runge <dvzrv at archlinux.org>
+
+_name=HyperKitty
+pkgname=hyperkitty
+pkgver=1.3.2
+pkgrel=1
+pkgdesc="A web interface to access GNU Mailman v3 archives"
+arch=('any')
+url="https://gitlab.com/mailman/hyperkitty"
+license=('GPL3')
+depends=('python-dateutil' 'python-django' 'python-django-compressor'
+'python-django-extensions' 'python-django-gravatar' 'python-django-haystack'
+'python-django-mailman3' 'python-django-q' 'python-django-rest-framework'
+'python-flufl-lock' 'python-mailmanclient' 'python-networkx' 'python-pytz'
+'python-robot-detection' 'sassc')
+makedepends=('python-isort' 'python-setuptools')
+checkdepends=('python-beautifulsoup4' 'python-coverage' 'python-elasticsearch'
+'python-mock' 'python-pytest' 'python-whoosh')
+optdepends=('uwsgi-plugin-python: for running inside uwsgi'
+            'ruby-sassc: alternative to sassc')
+backup=("etc/uwsgi/${pkgname}.ini"
+        "etc/webapps/${pkgname}/settings.py")
+source=("https://files.pythonhosted.org/packages/source/${_name::1}/${_name}/${_name}-${pkgver}.tar.gz"{,.asc}
+        "${pkgname}-1.3.2-django3.patch::https://gitlab.com/mailman/hyperkitty/-/merge_requests/228.patch"
+        "${pkgname}-qcluster.service"
+        "${pkgname}.sysusers"
+        "${pkgname}.tmpfiles"
+        "${pkgname}.uwsgi")
+sha512sums=('c0c20f0a0d999e08be32f9db52f43660179b2277e80385bb4ef58f2a652b8271e03690282aa3174a3408c48bd7e5ee18c5a8adcee736a45165647cb124cd6293'
+            'SKIP'
+            '04b593949c80362324103726f54a73d5904f053efb5ef90cd3fbdefd90e93c707052bcb8cddf5b64efc1f053f5c51ad76285833448f6fcdff4bdfbf640f6b8c2'
+            'f3ff31e0a725dab5c55692f0da27dfe3625123e48e65b08f3198e790551ba4f2530719f36373eccf8c28a5ebac94ab546a0ca4e51b4fcb5f0bcaf0b356c0a03e'
+            '3267427109b08b8c9336b187381ed14357a07370bdcdfc24da94555020ad0424c5bbebc09e131e981e0540c51db443ffe558209e1bca7c2a1b7b1f602ed0805b'
+            'c7f564f0415721711535d3901f5d893a8456f5593ef562dad81faf7bfab2ae402058768cbbe443c014b76c968efbfe03cf7fc9d0e2bf699b14c07736e1e8d813'
+            '58bbd8c3d7338204b70611630c428e65cdf29c7c134ed291491a3484c565c4dd4a9cd286dfd23d54ec0c973d313ff4d9d7d037c5ce1ec223be0f63d3bb401b55')
+validpgpkeys=('541EA0448453394FF77A0ECC9D9B2BA061D0A67C') # Abhilash Raj <raj.abhilash1 at gmail.com>
+
+prepare() {
+  mv -v "${_name}-${pkgver}" "$pkgname-$pkgver"
+  cd "$pkgname-$pkgver"
+  # removing legacy stuff to be compatible with django3:
+  # https://gitlab.com/mailman/hyperkitty/issues/278
+  patch -Np1 -i "../${pkgname}-1.3.2-django3.patch"
+}
+
+build() {
+  cd "$pkgname-$pkgver"
+  python setup.py build
+}
+
+check() {
+  cd "$pkgname-$pkgver"
+  export PYTHONPATH="build:${PYTHONPATH}"
+  coverage run example_project/manage.py test --settings=hyperkitty.tests.settings_test hyperkitty
+}
+
+package() {
+  cd "$pkgname-$pkgver"
+  local python_stdlib_basepath="$(python -c "from sysconfig import get_path; print(get_path('stdlib'))")"
+  python setup.py install --skip-build \
+    --optimize=1 \
+    --prefix=/usr \
+    --root="${pkgdir}"
+  install -vDm 644 README.rst -t "${pkgdir}/usr/share/doc/${pkgname}"
+  # django project
+  install -vDm 644 example_project/{__init__,manage,urls,wsgi}.py \
+    -t "${pkgdir}/usr/share/webapps/${pkgname}"
+  # symlink locale and static files (instead of generating them)
+  ln -svf "$python_stdlib_basepath/site-packages/${pkgname}/locale/" \
+    "${pkgdir}/usr/share/webapps/${pkgname}"
+  ln -svf "$python_stdlib_basepath/site-packages/${pkgname}/static/" \
+    "${pkgdir}/usr/share/webapps/${pkgname}"
+  # config
+  install -vDm 640 example_project/settings.py \
+    -t "${pkgdir}/etc/webapps/${pkgname}"
+  ln -svf "/etc/webapps/${pkgname}/settings.py" \
+    "${pkgdir}/usr/share/webapps/${pkgname}/settings.py"
+  # systemd service
+  install -vDm 644 "../${pkgname}-qcluster.service" \
+    -t "${pkgdir}/usr/lib/systemd/system"
+  # uwsgi
+  install -vDm 644 "../${pkgname}.uwsgi" "${pkgdir}/etc/uwsgi/${pkgname}.ini"
+  # tmpfiles.d
+  install -vDm 644 "../${pkgname}.tmpfiles" \
+    "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf"
+  # sysusers.d
+  install -vDm 644 "../${pkgname}.sysusers" \
+    "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
+}

Added: hyperkitty/trunk/hyperkitty-qcluster.service
===================================================================
--- hyperkitty/trunk/hyperkitty-qcluster.service	                        (rev 0)
+++ hyperkitty/trunk/hyperkitty-qcluster.service	2020-01-31 21:45:16 UTC (rev 560851)
@@ -0,0 +1,35 @@
+[Unit]
+Description=HyperKitty async tasks runner
+Documentation=https://hyperkitty.readthedocs.io/en/latest/install.html#asynchronous-tasks
+After=network.target remote-fs.target
+
+[Service]
+User=hyperkitty
+ExecStart=/usr/bin/django-admin qcluster --pythonpath /usr/share/webapps/hyperkitty --settings settings
+Restart=always
+StandardError=syslog
+PrivateTmp=true
+ProtectSystem=strict
+ProtectHome=true
+PrivateDevices=true
+ProtectKernelTunables=true
+ProtectControlGroups=true
+NoNewPrivileges=true
+MemoryDenyWriteExecute=true
+LockPersonality=true
+CapabilityBoundingSet=CAP_NET_BIND_SERVICE
+ProtectHostname=true
+ProtectKernelLogs=true
+ProtectKernelModules=true
+RemoveIPC=true
+RestrictAddressFamilies=~AF_PACKET
+RestrictNamespaces=true
+RestrictRealtime=true
+RestrictSUIDSGID=true
+SystemCallArchitectures=native
+SystemCallFilter=@system-service
+SystemCallFilter=~@privileged @resources
+ReadOnlyPaths=/etc/webapps/hyperkitty
+
+[Install]
+WantedBy=multi-user.target

Added: hyperkitty/trunk/hyperkitty.sysusers
===================================================================
--- hyperkitty/trunk/hyperkitty.sysusers	                        (rev 0)
+++ hyperkitty/trunk/hyperkitty.sysusers	2020-01-31 21:45:16 UTC (rev 560851)
@@ -0,0 +1 @@
+u hyperkitty - "GNU Mailman Archiver" -

Added: hyperkitty/trunk/hyperkitty.tmpfiles
===================================================================
--- hyperkitty/trunk/hyperkitty.tmpfiles	                        (rev 0)
+++ hyperkitty/trunk/hyperkitty.tmpfiles	2020-01-31 21:45:16 UTC (rev 560851)
@@ -0,0 +1,4 @@
+z /etc/webapps/hyperkitty/settings.py 0640 root hyperkitty -
+d %L/hyperkitty - hyperkitty hyperkitty -
+d %S/hyperkitty - hyperkitty hyperkitty -
+d %t/hyperkitty - hyperkitty hyperkitty -

Added: hyperkitty/trunk/hyperkitty.uwsgi
===================================================================
--- hyperkitty/trunk/hyperkitty.uwsgi	                        (rev 0)
+++ hyperkitty/trunk/hyperkitty.uwsgi	2020-01-31 21:45:16 UTC (rev 560851)
@@ -0,0 +1,24 @@
+[uwsgi]
+procname-master = hyperkitty
+master = true
+plugins = python
+socket = /run/hyperkitty/%n.sock
+stats = /run/hyperkitty/%n-stats.sock
+uid = hyperkitty
+gid = hyperkitty
+processes = 10
+cheaper = 2
+cheaper-step = 1
+idle = 120
+die-on-idle = true
+chdir = /usr/share/webapps
+module = hyperkitty.wsgi
+home = /
+vacuum = true
+cron2 = minute=0,hour=0,day=0,week=0,month=0,unique=1 /usr/bin/django-admin runjobs yearly  --pythonpath /usr/share/webapps/hyperkitty --settings settings
+cron2 = minute=0,hour=0,day=0,week=0,unique=1 /usr/bin/django-admin runjobs monthly --pythonpath /usr/share/webapps/hyperkitty --settings settings
+cron2 = minute=0,hour=0,day=0,unique=1 /usr/bin/django-admin runjobs weekly  --pythonpath /usr/share/webapps/hyperkitty --settings settings
+cron2 = minute=0,hour=0,unique=1 django-admin runjobs daily   --pythonpath /usr/share/webapps/hyperkitty --settings settings
+cron2 = minute=0,unique=1 /usr/bin/django-admin runjobs hourly  --pythonpath /usr/share/webapps/hyperkitty --settings settings
+cron2 = minute=-15,unique=1 /usr/bin/django-admin runjobs quarter_hourly --pythonpath /usr/share/webapps/hyperkitty --settings settings
+cron2 = unique=1 /usr/bin/django-admin runjobs minutely --pythonpath /usr/share/webapps/hyperkitty --settings settings



More information about the arch-commits mailing list