[arch-commits] Commit in mailman-web/repos (9 files)

David Runge dvzrv at gemini.archlinux.org
Fri Aug 12 19:46:08 UTC 2022


    Date: Friday, August 12, 2022 @ 19:46:08
  Author: dvzrv
Revision: 1265776

archrelease: copy trunk to community-testing-any

Added:
  mailman-web/repos/community-testing-any/
  mailman-web/repos/community-testing-any/PKGBUILD
    (from rev 1265775, mailman-web/trunk/PKGBUILD)
  mailman-web/repos/community-testing-any/mailman-web-0.0.5-django4.patch
    (from rev 1265775, mailman-web/trunk/mailman-web-0.0.5-django4.patch)
  mailman-web/repos/community-testing-any/mailman-web-0.0.5-fhs.patch
    (from rev 1265775, mailman-web/trunk/mailman-web-0.0.5-fhs.patch)
  mailman-web/repos/community-testing-any/mailman-web-qcluster.service
    (from rev 1265775, mailman-web/trunk/mailman-web-qcluster.service)
  mailman-web/repos/community-testing-any/mailman-web.sysusers
    (from rev 1265775, mailman-web/trunk/mailman-web.sysusers)
  mailman-web/repos/community-testing-any/mailman-web.tmpfiles
    (from rev 1265775, mailman-web/trunk/mailman-web.tmpfiles)
  mailman-web/repos/community-testing-any/mailman-web.uwsgi
    (from rev 1265775, mailman-web/trunk/mailman-web.uwsgi)
  mailman-web/repos/community-testing-any/settings.py
    (from rev 1265775, mailman-web/trunk/settings.py)

---------------------------------+
 PKGBUILD                        |   81 ++++++++++
 mailman-web-0.0.5-django4.patch |  300 ++++++++++++++++++++++++++++++++++++++
 mailman-web-0.0.5-fhs.patch     |   51 ++++++
 mailman-web-qcluster.service    |   38 ++++
 mailman-web.sysusers            |    1 
 mailman-web.tmpfiles            |    8 +
 mailman-web.uwsgi               |   30 +++
 settings.py                     |    5 
 8 files changed, 514 insertions(+)

Copied: mailman-web/repos/community-testing-any/PKGBUILD (from rev 1265775, mailman-web/trunk/PKGBUILD)
===================================================================
--- community-testing-any/PKGBUILD	                        (rev 0)
+++ community-testing-any/PKGBUILD	2022-08-12 19:46:08 UTC (rev 1265776)
@@ -0,0 +1,81 @@
+# Maintainer: David Runge <dvzrv at archlinux.org>
+
+pkgname=mailman-web
+pkgver=0.0.5
+pkgrel=4
+pkgdesc="The web interface for Mailman 3"
+arch=(any)
+url="https://gitlab.com/mailman/mailman-web"
+license=(GPL3)
+depends=(hyperkitty postorius python-django python-whoosh)
+makedepends=(python-build python-installer python-setuptools-scm python-wheel)
+optdepends=(
+  'mailman3: for interacting with a local mailman instance'
+  'uwsgi-plugin-python: for running inside uwsgi'
+)
+backup=(
+  etc/webapps/$pkgname/settings.py
+  etc/webapps/$pkgname/urls.py
+)
+options=()
+source=(
+  https://files.pythonhosted.org/packages/source/${pkgname::1}/$pkgname/$pkgname-$pkgver.tar.gz
+  $pkgname-qcluster.service
+  settings.py
+  $pkgname.sysusers
+  $pkgname.tmpfiles
+  $pkgname.uwsgi
+  $pkgname-0.0.5-django4.patch
+  $pkgname-0.0.5-fhs.patch
+)
+sha512sums=('3a46372cbe332754e2fef4088651d6ab5c95ad90f0faaca091cd89eb69d73c8fb222861fafd8312d10b244c76a86c2e4018301fc5c18d15570c3e88c1015e9af'
+            '5440c170f50cbc4c95e0cf4c9d2c8a03759e0d13c2f9c604a6eaedfde9abcc4ae6cc9845d53d58cd4ee06373bab166f3115a59ebac3b77fe1d33ab7054c7c5d7'
+            'cf255da4028a36a21473166a44c4a104b58ed824b81a08548bd89a861f9684bf89d166c4827b8dd5d9e516a9b0a30bbf26733f9a7e3f0d85f1c5c29f3929a3db'
+            '4044b2500dc63ec1cea829d0189428de590755006c38d6f82e5a51af8935409a1ea5a5fb1f676d2331ceb59383cf79730837427eff32ad82f900068684aa3b45'
+            '07aa2af5f72dccdfe32f3f220d798e5e6d57ed6875566e33ad610a05a063861a84aa6bb6d4c9a172711862855e7eae68a19fd6dcd098893f4a365579bd29cf57'
+            '744a0f0af9c5683b50bf43816262917edeb47e954aba1ac7c9d831eddf3c5e63e307811e35161ac3a717b08f7d9c3dface0a2703a7c2a0f6d3a9882ce445109f'
+            'df591eb1deada23166131eb06d8dfaccfbbccf8c61d3befebedd56c6de45f02e0311d6c2d87632cffe2ba335883473de642300af192a5dc4983b6fa6c7381759'
+            '29e43714e32844175a1faab3299d6750909fc6a0a1aa1ae6893aa8ee7ad25241d00268902e963961f1024444384f500297adb360d6914abfa3d27d3eba6e6a0b')
+b2sums=('dcc5fbae4ab17b107e59f02eb83e1f1bb1662f63fb1c6c4731b6a8dec0a2eeeac1986f99022fe7e2049aebbcd8bcb682bf4454fc4691a590f31a4ed4d744f73b'
+        '48d65925bbbe4f17c1d4a656eb533621904fbffee06ff0ce09fbc9ad69cd947269998f31a9a172645d9389d98caf8395e4a3d9fbaafeedbf52b774725d446e29'
+        '40c2583cf72597fbcdfeecabb8aa10cb2fe1e5f9b60669bdc933e4884899325f70ba4ab9f27dc702aacf26f0b0de400b26245c7770a9b3e8cc0b0641478028d6'
+        'c57e70b949947ce3d30053886620221346d87416034cd004dcd91107e55a0123fb37a6c68796168ddabaab467b0f77dd8292e650df05e2e1eed0ec4d63becc2b'
+        '80ca9c95c9bb3ce42bd4e3efbea59bc6cbbdabd35c504ee5c7414b8c657d863119921577fb618e0709631d05704d24698a2575f12aed81cf1cf16cd8ce116ed9'
+        '7f39c6752f54048e1268c94010fa2fbdc6cc7db0c931c616469068ba835330b9cb8ec183978f2047fd8e0aff88b25de7437cbb112dbdad25f795e25f2419f809'
+        '71a20511842ed441269d214a58d0bd56b6d6f1c6a830463c45235e729bf8f88e22b0265be28d156509a2eeef3629db6559e69c3570cb489d87b92075f7e0edcb'
+        '31f793ec8c25248ae2631bf5cf27164e950b95caf73842b07514f22dce386fe9fda35af5f6f6aa00487d194502caa3009502db8bc37d7ed458db63edcb088d82')
+
+prepare() {
+  # add patch for django >= 4.0: https://gitlab.com/mailman/mailman-web/-/merge_requests/23
+  patch -Np1 -d $pkgname-$pkgver -i ../$pkgname-0.0.5-django4.patch
+  # set FHS and packaging compliant default locations
+  patch -Np1 -d $pkgname-$pkgver -i ../$pkgname-0.0.5-fhs.patch
+
+}
+
+build() {
+  cd $pkgname-$pkgver
+  python -m build --wheel --no-isolation
+}
+
+package() {
+  local site_packages=$(python -c "import site; print(site.getsitepackages()[0])")
+
+  cd $pkgname-$pkgver
+  python -m installer --destdir="$pkgdir" dist/*.whl
+
+  # config
+  install -vDm 640 ../settings.py "$pkgdir/etc/webapps/$pkgname/settings.py"
+  install -vDm 640 mailman_web/urls.py "$pkgdir/etc/webapps/$pkgname/urls.py"
+  ln -sfv /etc/webapps/$pkgname/urls.py "$pkgdir$site_packages/${pkgname/-/_}/urls.py"
+
+  install -vdm 750 "$pkgdir/var/lib/$pkgname/data/"
+  install -vdm 755 "$pkgdir/var/lib/$pkgname/static/"
+  install -vdm 750 "$pkgdir/var/log/$pkgname/"
+
+  install -vDm 644 ../$pkgname.uwsgi "$pkgdir/etc/uwsgi/$pkgname.ini"
+  install -vDm 644 ../$pkgname-qcluster.service -t "$pkgdir/usr/lib/systemd/system/"
+  install -vDm 644 ../$pkgname.tmpfiles "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
+  install -vDm 644 ../$pkgname.sysusers "$pkgdir/usr/lib/sysusers.d/$pkgname.conf"
+  install -vDm 644 README.rst -t "$pkgdir/usr/share/doc/$pkgname/"
+}

Copied: mailman-web/repos/community-testing-any/mailman-web-0.0.5-django4.patch (from rev 1265775, mailman-web/trunk/mailman-web-0.0.5-django4.patch)
===================================================================
--- community-testing-any/mailman-web-0.0.5-django4.patch	                        (rev 0)
+++ community-testing-any/mailman-web-0.0.5-django4.patch	2022-08-12 19:46:08 UTC (rev 1265776)
@@ -0,0 +1,300 @@
+diff -ruN a/.flake8 b/.flake8
+--- a/.flake8	1970-01-01 01:00:00.000000000 +0100
++++ b/.flake8	2022-08-12 19:43:01.553759779 +0200
+@@ -0,0 +1,14 @@
++[flake8]
++max-line-length = 79
++output-file = flake8.txt
++max-complexity = 10
++exclude =
++    .git
++    .tox
++    .venv
++    .cache
++    .eggs
++    .pytest*
++    *.egg-info
++    examples
++    doc
+diff -ruN a/.gitignore b/.gitignore
+--- a/.gitignore	2019-03-25 02:16:20.000000000 +0100
++++ b/.gitignore	2022-08-12 19:43:01.560426406 +0200
+@@ -1,4 +1,5 @@
+ *.eggs/
++*.egg-info/
+ *__pycache__/
+ *.db
+ /mailman-web.toml
+diff -ruN a/.gitlab-ci.yml b/.gitlab-ci.yml
+--- a/.gitlab-ci.yml	2019-03-25 02:16:20.000000000 +0100
++++ b/.gitlab-ci.yml	2022-08-12 19:43:01.560426406 +0200
+@@ -1,6 +1,11 @@
++---
++
+ image: maxking/mailman-ci-runner
+ 
+ 
+ docs:
+   script:
+     - tox -e docs
++lint:
++  script:
++    - tox -e lint
+diff -ruN a/docs/conf.py b/docs/conf.py
+--- a/docs/conf.py	2021-01-20 01:10:36.000000000 +0100
++++ b/docs/conf.py	2022-08-12 19:43:01.560426406 +0200
+@@ -65,7 +65,7 @@
+ #
+ # This is also used if you do content translation via gettext catalogs.
+ # Usually you set "language" from the command line for these cases.
+-language = None
++language = 'en'
+ 
+ # List of patterns, relative to source directory, that match files and
+ # directories to ignore when looking for source files.
+@@ -194,6 +194,7 @@
+ 
+ add_module_names = False
+ 
++
+ # -- Modify the docstring
+ def process_docstring(app, what, name, obj, options, lines):
+     if what not in ('module'):
+@@ -205,5 +206,6 @@
+ """.format(pp.pformat(obj)).splitlines())
+     return
+ 
++
+ def setup(app):
+     app.connect('autodoc-process-docstring', process_docstring)
+diff -ruN a/docs/settings.py b/docs/settings.py
+--- a/docs/settings.py	2021-01-20 01:10:36.000000000 +0100
++++ b/docs/settings.py	2022-08-12 19:43:01.560426406 +0200
+@@ -1,8 +1,8 @@
+ # Mailman Web configuration file.
+ # /etc/mailman3/settings.py
+ 
+-from mailman_web.settings.base import *
+-from mailman_web.settings.mailman import *
++from mailman_web.settings.base import *  # noqa: F403
++from mailman_web.settings.mailman import *  # noqa: F403
+ 
+ 
+ #: Default list of admins who receive the emails from error logging.
+@@ -14,7 +14,7 @@
+ DATABASES = {
+     'default': {
+         'ENGINE': 'django.db.backends.postgresql_psycopg2',
+-        'NAME': ‘mailmanweb’,
++        'NAME': 'mailmanweb',
+         'USER': '<db_username>',
+         'PASSWORD': '<password>',
+         'HOST': 'localhost',
+@@ -28,7 +28,7 @@
+ 
+ 
+ # Make sure that this directory is created or Django will fail on start.
+-LOGGING['handlers']['file']['filename'] = '/opt/mailman/web/logs/mailmanweb.log'
++LOGGING['handlers']['file']['filename'] = '/opt/mailman/web/logs/mailmanweb.log'  # noqa: F405,E501
+ 
+ #: See https://docs.djangoproject.com/en/dev/ref/settings/#allowed-hosts
+ ALLOWED_HOSTS = [
+diff -ruN a/mailman_web/manage.py b/mailman_web/manage.py
+--- a/mailman_web/manage.py	2021-02-03 06:09:38.000000000 +0100
++++ b/mailman_web/manage.py	2022-08-12 19:43:01.560426406 +0200
+@@ -3,12 +3,16 @@
+ import sys
+ from pathlib import Path
+ 
++
+ def setup():
+     """Setup environment for Mailman web."""
+     if os.getenv('DJANGO_SETTINGS_MODULE') is not None:
+         return
+ 
+-    MAILMAN_WEB_CONFIG = os.getenv('MAILMAN_WEB_CONFIG', '/etc/mailman3/settings.py')
++    MAILMAN_WEB_CONFIG = os.getenv(
++        'MAILMAN_WEB_CONFIG',
++        '/etc/mailman3/settings.py',
++    )
+ 
+     if not os.path.exists(MAILMAN_WEB_CONFIG):
+         print('Mailman web configuration file at {} does not exist'.format(
+@@ -22,6 +26,7 @@
+ 
+     os.environ['DJANGO_SETTINGS_MODULE'] = config_path.stem
+ 
++
+ def main():
+     setup()
+ 
+diff -ruN a/mailman_web/settings/base.py b/mailman_web/settings/base.py
+--- a/mailman_web/settings/base.py	2021-01-22 22:32:26.000000000 +0100
++++ b/mailman_web/settings/base.py	2022-08-12 19:43:01.560426406 +0200
+@@ -1,5 +1,6 @@
+ # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
+ import os
++from django.contrib.messages import constants as messages
+ from pathlib import Path
+ 
+ #: The base directory for logs and database.
+@@ -130,8 +131,9 @@
+ #:     'OPTIONS': {'charset': 'utf8mb4'}  # Enable utf8 4-byte encodings.
+ #:
+ #: Check out
+-#: `Django documentation <https://docs.djangoproject.com/en/3.0/ref/settings/#databases>`_
+-#: for more details.
++#: `Django documentation
++#: <https://docs.djangoproject.com/en/3.0/ref/settings/#databases>`_ for
++#: more details.
+ DATABASES = {
+     'default': {
+         'ENGINE': 'django.db.backends.sqlite3',
+@@ -146,7 +148,7 @@
+ AUTH_PASSWORD_VALIDATORS = [
+     {
+         'NAME':
+-        'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
++        'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',  # noqa: E501
+     },
+     {
+         'NAME':
+@@ -226,8 +228,6 @@
+ #: https://docs.djangoproject.com/en/dev/topics/email/#email-backends
+ EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
+ 
+-# Compatibility with Bootstrap 3
+-from django.contrib.messages import constants as messages  # flake8: noqa
+ MESSAGE_TAGS = {
+     messages.ERROR: 'danger'
+ }
+@@ -248,9 +248,8 @@
+             'filters': ['require_debug_false'],
+             'class': 'django.utils.log.AdminEmailHandler'
+         },
+-        'file':{
++        'file': {
+             'level': 'INFO',
+-            #'class': 'logging.handlers.RotatingFileHandler',
+             'class': 'logging.handlers.WatchedFileHandler',
+             'filename': os.path.join(BASE_DIR, 'logs', 'mailmanweb.log'),
+             'formatter': 'verbose',
+@@ -283,16 +282,12 @@
+     },
+     'formatters': {
+         'verbose': {
+-            'format': '%(levelname)s %(asctime)s %(process)d %(name)s %(message)s'
++            'format': '%(levelname)s %(asctime)s %(process)d %(name)s %(message)s'  # noqa: E501
+         },
+         'simple': {
+             'format': '%(levelname)s %(message)s'
+         },
+     },
+-    #'root': {
+-    #    'handlers': ['file'],
+-    #    'level': 'INFO',
+-    #},
+ }
+ 
+ #: Current Django Site being served. This is used to customize the web host
+diff -ruN a/mailman_web/settings/mailman.py b/mailman_web/settings/mailman.py
+--- a/mailman_web/settings/mailman.py	2021-04-11 07:33:12.000000000 +0200
++++ b/mailman_web/settings/mailman.py	2022-08-12 19:43:01.560426406 +0200
+@@ -1,5 +1,3 @@
+-import os
+-
+ #: Mailman Core default API Path
+ MAILMAN_REST_API_URL = 'http://localhost:8001'
+ #: Mailman Core API user
+@@ -33,7 +31,7 @@
+ ACCOUNT_AUTHENTICATION_METHOD = "username_email"
+ ACCOUNT_EMAIL_REQUIRED = True
+ ACCOUNT_EMAIL_VERIFICATION = "mandatory"
+-ACCOUNT_UNIQUE_EMAIL  = True
++ACCOUNT_UNIQUE_EMAIL = True
+ 
+ #: Protocol for URLs generated for authentication, like email
+ #: confirmation.
+@@ -42,7 +40,8 @@
+ 
+ #: Extra configuration for Social auth. For these configuration to be used.
+ #: each of the social account providers must be first added in INSTALLED_APPS.
+-#: See :py:data:`mailman_web.settings.base.INSTALLED_APPS` for more configuration.
++#: See :py:data:`mailman_web.settings.base.INSTALLED_APPS` for more
++#: configuration.
+ SOCIALACCOUNT_PROVIDERS = {
+     'openid': {
+         'SERVERS': [
+diff -ruN a/mailman_web/urls.py b/mailman_web/urls.py
+--- a/mailman_web/urls.py	2020-05-26 03:34:31.000000000 +0200
++++ b/mailman_web/urls.py	2022-08-12 19:43:01.560426406 +0200
+@@ -17,19 +17,19 @@
+ # Postorius.  If not, see <http://www.gnu.org/licenses/>.
+ 
+ 
+-from django.conf.urls import include, url
++from django.conf.urls import include
+ from django.contrib import admin
+-from django.urls import reverse_lazy
++from django.urls import path, reverse_lazy
+ from django.views.generic import RedirectView
+ 
+ urlpatterns = [
+-    url(r'^$', RedirectView.as_view(
+-        url=reverse_lazy('list_index'),
+-        permanent=True)),
+-    url(r'^mailman3/', include('postorius.urls')),
+-    url(r'^archives/', include('hyperkitty.urls')),
+-    url(r'', include('django_mailman3.urls')),
+-    url(r'^accounts/', include('allauth.urls')),
+-    # Django admin
+-    url(r'^admin/', admin.site.urls),
++    path(
++        '',
++        RedirectView.as_view(url=reverse_lazy('list_index'), permanent=True),
++    ),
++    path('mailman3/', include('postorius.urls')),
++    path('archives/', include('hyperkitty.urls')),
++    path('', include('django_mailman3.urls')),
++    path('accounts/', include('allauth.urls')),
++    path('admin/', admin.site.urls),
+ ]
+diff -ruN a/mailman_web/wsgi.py b/mailman_web/wsgi.py
+--- a/mailman_web/wsgi.py	2019-10-01 03:56:13.000000000 +0200
++++ b/mailman_web/wsgi.py	2022-08-12 19:43:01.560426406 +0200
+@@ -7,8 +7,6 @@
+ https://docs.djangoproject.com/en/2.2/howto/deployment/wsgi/
+ """
+ 
+-import os
+-
+ from django.core.wsgi import get_wsgi_application
+ from mailman_web.manage import setup
+ 
+diff -ruN a/setup.cfg b/setup.cfg
+--- a/setup.cfg	2021-09-17 17:03:22.707365000 +0200
++++ b/setup.cfg	2022-08-12 19:43:40.623515642 +0200
+@@ -22,7 +22,7 @@
+ 	setuptools
+ 	setuptools-scm
+ install_requires = 
+-	Django<3.1
++	django >=3.2, <4.1
+ 	postorius
+ 	hyperkitty
+ 	whoosh
+diff -ruN a/tox.ini b/tox.ini
+--- a/tox.ini	2021-01-20 01:10:36.000000000 +0100
++++ b/tox.ini	2022-08-12 19:43:01.560426406 +0200
+@@ -1,5 +1,10 @@
+ [tox]
+-envlist = docs
++envlist = docs, lint
++
++[testenv:lint]
++deps = flake8
++basepython = python3
++commands = flake8 .
+ 
+ [testenv:docs]
+ deps = sphinx

Copied: mailman-web/repos/community-testing-any/mailman-web-0.0.5-fhs.patch (from rev 1265775, mailman-web/trunk/mailman-web-0.0.5-fhs.patch)
===================================================================
--- community-testing-any/mailman-web-0.0.5-fhs.patch	                        (rev 0)
+++ community-testing-any/mailman-web-0.0.5-fhs.patch	2022-08-12 19:46:08 UTC (rev 1265776)
@@ -0,0 +1,51 @@
+diff -ruN a/mailman_web/manage.py b/mailman_web/manage.py
+--- a/mailman_web/manage.py	2022-08-12 19:43:01.560426406 +0200
++++ b/mailman_web/manage.py	2022-08-12 21:28:03.814671667 +0200
+@@ -11,7 +11,7 @@
+ 
+     MAILMAN_WEB_CONFIG = os.getenv(
+         'MAILMAN_WEB_CONFIG',
+-        '/etc/mailman3/settings.py',
++        '/etc/webapps/mailman_web/settings.py',
+     )
+ 
+     if not os.path.exists(MAILMAN_WEB_CONFIG):
+diff -ruN a/mailman_web/settings/base.py b/mailman_web/settings/base.py
+--- a/mailman_web/settings/base.py	2022-08-12 19:43:01.560426406 +0200
++++ b/mailman_web/settings/base.py	2022-08-12 21:30:25.527237264 +0200
+@@ -4,7 +4,7 @@
+ from pathlib import Path
+ 
+ #: The base directory for logs and database.
+-BASE_DIR = Path('/opt/mailman/web')
++BASE_DIR = Path('/var/lib/mailman-web')
+ 
+ #: Default list of admins who receive the emails from error logging.
+ ADMINS = (
+@@ -137,7 +137,7 @@
+ DATABASES = {
+     'default': {
+         'ENGINE': 'django.db.backends.sqlite3',
+-        'NAME': os.path.join(BASE_DIR, 'mailman-web.db'),
++        'NAME': BASE_DIR / 'data' / 'mailman-web.de',
+         'HOST': '',
+         'PORT': '',
+     }
+@@ -181,7 +181,7 @@
+ 
+ 
+ #: Default path where static files will be placed.
+-STATIC_ROOT = os.path.join(BASE_DIR, 'static')
++STATIC_ROOT = BASE_DIR / 'static'
+ 
+ #: URL prefix for static files.
+ #: Example: "http://example.com/static/", "http://static.example.com/"
+@@ -251,7 +251,7 @@
+         'file': {
+             'level': 'INFO',
+             'class': 'logging.handlers.WatchedFileHandler',
+-            'filename': os.path.join(BASE_DIR, 'logs', 'mailmanweb.log'),
++            'filename': Path('/var/log/mailman-web/mailmanweb.log'),
+             'formatter': 'verbose',
+         },
+         'console': {

Copied: mailman-web/repos/community-testing-any/mailman-web-qcluster.service (from rev 1265775, mailman-web/trunk/mailman-web-qcluster.service)
===================================================================
--- community-testing-any/mailman-web-qcluster.service	                        (rev 0)
+++ community-testing-any/mailman-web-qcluster.service	2022-08-12 19:46:08 UTC (rev 1265776)
@@ -0,0 +1,38 @@
+[Unit]
+Description=Mailman-web async tasks runner
+Documentation=https://hyperkitty.readthedocs.io/en/latest/install.html#asynchronous-tasks
+After=network.target remote-fs.target
+
+[Service]
+User=mailman-web
+ExecStart=/usr/bin/django-admin qcluster --pythonpath /usr/share/webapps/mailman-web --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/mailman-web
+LogsDirectory=mailman-web
+RuntimeDirectory=mailman-web
+StateDirectory=mailman-web
+
+[Install]
+WantedBy=multi-user.target

Copied: mailman-web/repos/community-testing-any/mailman-web.sysusers (from rev 1265775, mailman-web/trunk/mailman-web.sysusers)
===================================================================
--- community-testing-any/mailman-web.sysusers	                        (rev 0)
+++ community-testing-any/mailman-web.sysusers	2022-08-12 19:46:08 UTC (rev 1265776)
@@ -0,0 +1 @@
+u mailman-web - "GNU Mailman Web" -

Copied: mailman-web/repos/community-testing-any/mailman-web.tmpfiles (from rev 1265775, mailman-web/trunk/mailman-web.tmpfiles)
===================================================================
--- community-testing-any/mailman-web.tmpfiles	                        (rev 0)
+++ community-testing-any/mailman-web.tmpfiles	2022-08-12 19:46:08 UTC (rev 1265776)
@@ -0,0 +1,8 @@
+z /etc/webapps/mailman-web/settings.py 0640 root mailman-web -
+z /etc/webapps/mailman-web/settings_local.py 0640 root mailman-web -
+z /etc/webapps/mailman-web/urls.py 0640 root mailman-web -
+d %L/mailman-web 750 mailman-web mailman-web -
+d %S/mailman-web - mailman-web mailman-web -
+d %S/mailman-web/data 750 mailman-web mailman-web -
+d %S/mailman-web/static - mailman-web mailman-web -
+d %t/mailman-web - mailman-web mailman-web -

Copied: mailman-web/repos/community-testing-any/mailman-web.uwsgi (from rev 1265775, mailman-web/trunk/mailman-web.uwsgi)
===================================================================
--- community-testing-any/mailman-web.uwsgi	                        (rev 0)
+++ community-testing-any/mailman-web.uwsgi	2022-08-12 19:46:08 UTC (rev 1265776)
@@ -0,0 +1,30 @@
+[uwsgi]
+procname-master = %n
+master = true
+plugins = python
+socket = /run/%n/%n.sock
+# uncomment for a stats socket, that can be used with uwsgitop
+# stats = /run/%n/%n-stats.sock
+uid = mailman-web
+gid = mailman-web
+chmod-socket = 660
+chown-socket = mailman-web:http
+processes = 10
+cheaper = 2
+cheaper-step = 1
+idle = 120
+die-on-idle = true
+module=mailman_web.wsgi:application
+# Add to python import path.
+pythonpath = /etc/webapps/%n/
+home = /
+touch-reload = %p
+vacuum = true
+attach-daemon = django-admin qcluster --pythonpath /etc/webapps/%n --settings settings
+cron2 = minute=0,hour=0,day=0,week=0,month=0,unique=1 /usr/bin/django-admin runjobs yearly --pythonpath /etc/webapps/%n --settings settings
+cron2 = minute=0,hour=0,day=0,week=0,unique=1 /usr/bin/django-admin runjobs monthly --pythonpath /etc/webapps/%n --settings settings
+cron2 = minute=0,hour=0,day=0,unique=1 /usr/bin/django-admin runjobs weekly --pythonpath /etc/webapps/%n --settings settings
+cron2 = minute=0,hour=0,unique=1 django-admin runjobs daily --pythonpath /etc/webapps/%n --settings settings
+cron2 = minute=0,unique=1 /usr/bin/django-admin runjobs hourly --pythonpath /etc/webapps/%n --settings settings
+cron2 = minute=-15,unique=1 /usr/bin/django-admin runjobs quarter_hourly --pythonpath /etc/webapps/%n --settings settings
+cron2 = unique=1 /usr/bin/django-admin runjobs minutely --pythonpath /etc/webapps/%n --settings settings

Copied: mailman-web/repos/community-testing-any/settings.py (from rev 1265775, mailman-web/trunk/settings.py)
===================================================================
--- community-testing-any/settings.py	                        (rev 0)
+++ community-testing-any/settings.py	2022-08-12 19:46:08 UTC (rev 1265776)
@@ -0,0 +1,5 @@
+# mailman-web config
+from mailman_web.settings.base import *
+from mailman_web.settings.mailman import *
+
+# modifications to the file should begin below this comment



More information about the arch-commits mailing list