From 1d5a19261b7a72a4c61658c4fad735d3171d436b653278a67508f8e89d4bd8e1 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Mon, 6 Jan 2025 16:24:09 +0000 Subject: [PATCH] - Add missing python-six BR for running tests OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:mailman/python-postorius?expand=0&rev=68 --- .gitattributes | 23 +++ .gitignore | 1 + README.SUSE.md | 72 +++++++ postorius-1.3.10.tar.gz | 3 + postorius-1.3.10.tar.gz.asc | 16 ++ postorius-1.3.13.tar.gz | 3 + postorius-1.3.13.tar.gz.asc | 16 ++ postorius-manage.sh | 3 + postorius-settings.patch | 31 +++ postorius-v1.3.12.tar.gz | 3 + postorius.uwsgi | 17 ++ python-postorius-rpmlintrc | 5 + python-postorius.changes | 392 ++++++++++++++++++++++++++++++++++++ python-postorius.keyring | 90 +++++++++ python-postorius.spec | 301 +++++++++++++++++++++++++++ 15 files changed, 976 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 README.SUSE.md create mode 100644 postorius-1.3.10.tar.gz create mode 100644 postorius-1.3.10.tar.gz.asc create mode 100644 postorius-1.3.13.tar.gz create mode 100644 postorius-1.3.13.tar.gz.asc create mode 100644 postorius-manage.sh create mode 100644 postorius-settings.patch create mode 100644 postorius-v1.3.12.tar.gz create mode 100644 postorius.uwsgi create mode 100644 python-postorius-rpmlintrc create mode 100644 python-postorius.changes create mode 100644 python-postorius.keyring create mode 100644 python-postorius.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/README.SUSE.md b/README.SUSE.md new file mode 100644 index 0000000..9856475 --- /dev/null +++ b/README.SUSE.md @@ -0,0 +1,72 @@ +Postorius +========= + +## Configuration + +The web application is configured in `/etc/postorius/settings_local.py` which +is included by the default configuration in +/srv/www/webapps/postorius/settings.py. + +1. Optional: Change the default secret for the application: + We already created one, but feel free to replace with a stronger + alternative. + + `/etc/postorius/settings_local.py`: + + SECRET_KEY = 'something-very-secret' + +2. Make sure to disable debugging when running in production: + + `/etc/postorius/settings_local.py`: + + DEBUG = False + +3. The valid hosts or domain names for the application need to be defined: + + `/etc/postorius/settings_local.py`: + + ALLOWED_HOSTS = [ + 'localhost', + 'lists.example.com' + ] + +4. To be able to configure a running mailman instance configuration options for + its REST API have to be added to postorius' configuration. + + `/etc/postorius/settings_local.py` + + MAILMAN_REST_API_URL = 'http://localhost:8001' + MAILMAN_REST_API_USER = 'rest_admin' + MAILMAN_REST_API_PASS = 'rest_admin_password' + + +5. Add a valid email configuration + + `/etc/postorius/settings_local.py`: + + EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' + EMAIL_HOST = 'localhost' + EMAIL_PORT = 25 + EMAIL_HOST_USER = + EMAIL_HOST_PASSWORD = + +7. Optional: Configure postgres or another database (default: sqlite3) + +6. Create and setup the database + + postorius-manage migrate + +7. Create admin user + + postorius-manage createsuperuser + +## Apache2 + +To configure postorius with Apache and uwsgi, just add the follwing lines to a vhost: + + ProxyPass /.well-known/acme-challenge ! + ProxyPassMatch ^/static ! + ProxyPass / unix:/run/uwsgi/uwsgi-postorius.sock|uwsgi://localhost/ + + Require all granted + diff --git a/postorius-1.3.10.tar.gz b/postorius-1.3.10.tar.gz new file mode 100644 index 0000000..1be7fa8 --- /dev/null +++ b/postorius-1.3.10.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a66c8a8efb4dcb81b5312759d34ad5eb60ddedd8c7efcdb7984408a97d35b5a +size 3491545 diff --git a/postorius-1.3.10.tar.gz.asc b/postorius-1.3.10.tar.gz.asc new file mode 100644 index 0000000..8d9a900 --- /dev/null +++ b/postorius-1.3.10.tar.gz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEEVB6gRIRTOU/3eg7MnZsroGHQpnwFAmU0FPcACgkQnZsroGHQ +pnwAnw/+Iqc/Xw6Y4xug3GGoA5i85HG7Liip8v2ZeRmdarDkqdwkbLpu6n9nonjK +f62zh7YnstzV8hFQde33n2jSuo9IfDh0X7M+sD0JVjZZnoKM5HGA2c+NdsRY6ZIS +aBwMeAsLd03Pzon/3nUMLooQ+QYQfOVhBDEgnPKZMsAZeyY+15Hk/au0Cz2Ssjx2 +JMaQKOKpKAiFmy7kbW5/acJSDLHutJiiCLHzSoZtQZikAvHF1siwkPzN5tS2phzz +4AedQnmb6oPzwHfZpDMqKmMuAXgmFVh8ROS/DWr3ZXnZkhC6mXUeUAN12tidhKG4 +DEMacMu8/XAd8Am9xnm03Q0JWRGqFlLN4efC4ee4bx5wwTju0JHlNkhNkWMr/NDz +NYYQM9Lf9+JGp1DqZK/znQsYNj0ntERs3hLppXSFFK9ColxFllv+qD0FOcFM4slh +0O06Ziy/A0w9XxljAM46fO2GXmw4whGC9INycKByiwQ2p16MFiCr700gfSFS6W6h +JwSzSnH4rHED0iU3joA8J2NyZr93amLXVkhic16Y8YiAJmkBWt0D76yTcpzbFmGo +WTeIPrdusolKnfplph8Z3xHOPGQ/rHhyBmJIYs6MfJtB1rXwYMZdUU5pZuVYRCL2 +1t/0Sy1w/hwWI2Cno0PRmtuxZn4A+WudI2JlKAHFvqSZKymv1XM= +=GWuI +-----END PGP SIGNATURE----- diff --git a/postorius-1.3.13.tar.gz b/postorius-1.3.13.tar.gz new file mode 100644 index 0000000..c8e0c3b --- /dev/null +++ b/postorius-1.3.13.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:602def5c4852900d49e8ad95196a2334e13c31e49d9c0859324879e7c5131a22 +size 3508385 diff --git a/postorius-1.3.13.tar.gz.asc b/postorius-1.3.13.tar.gz.asc new file mode 100644 index 0000000..056e0f3 --- /dev/null +++ b/postorius-1.3.13.tar.gz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEEVB6gRIRTOU/3eg7MnZsroGHQpnwFAmbudAYACgkQnZsroGHQ +pnzlZxAApgSauP24Lb4czStUNVNAz24t/0ibDpwO1ybRnVNz47sVR146W4csI8Op +f1ujcJQLbbRjesrzN06dWCu/J+AbmWjVyCOof8nEH76ahW/98She3YDTzz4ukh+o +saKmdNxqiVTIBjf5xKNL6WaUQ4zUaS/DTlyXGmaTQReluYQ2heVVr75Tcp4zqPBw +kmCaR7Yx8y6pvF8Va8GgVXDZ3oj73zlBXqqeHC2iv0KFV2jl9KaqWei6aWK97QuP +2/vCidDr65FdRUQGJUBk10BaCvjIUo5QL+ZJ0DL1TyqyiykTVYWu+15WBeURmIDV +UwpTsIPhm4DKsgvs4v16QxTaqI6KsC76IY9kwTAl4ba+9piECjamTOL0QIRLA43Q ++x94/bfp9T0n6D2evXUqTGhSqjpGoQhwxC/tCj9cNOLZSbDaEfN4kaiPf06myypz +D7QlzSsAqFPI4U29K/a6azAlBMRzT46cTWShk5vtCDKCr9IRHoSOpBxKRMTg/4V5 +7hbWlSfxyGtWOFppoMndoRHGEHM2DQ99ksHDbPOhBcsOSmufPR+YS9DoHTLEgsp6 +iyaG9x7EJTdPCACWn+73QKU6rt42qptWCNBnW5q6y0ViAByXJTincHYUCc3nU90v +DxyrhimDJj4HmcaEUoX3DkmjllEknL2kEpakpV5JjpAz6cljVbc= +=PF1U +-----END PGP SIGNATURE----- diff --git a/postorius-manage.sh b/postorius-manage.sh new file mode 100644 index 0000000..360f9c6 --- /dev/null +++ b/postorius-manage.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +sudo -u postorius /usr/bin/python3 /srv/www/webapps/mailman/postorius/manage.py "$@" diff --git a/postorius-settings.patch b/postorius-settings.patch new file mode 100644 index 0000000..ecde6ee --- /dev/null +++ b/postorius-settings.patch @@ -0,0 +1,31 @@ +Index: postorius-1.3.7/example_project/settings.py +=================================================================== +--- postorius-1.3.7.orig/example_project/settings.py 2022-10-22 07:10:31.000000000 +0200 ++++ postorius-1.3.7/example_project/settings.py 2022-11-17 16:05:22.163232646 +0100 +@@ -142,7 +142,7 @@ WSGI_APPLICATION = 'wsgi.application' + DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', +- 'NAME': os.path.join(BASE_DIR, 'postorius.db'), ++ 'NAME': '/var/lib/postorius/data/postorius.db', + } + } + +@@ -190,7 +190,7 @@ USE_TZ = True + # Don't put anything in this directory yourself; store your static files + # in apps' "static/" subdirectories and in STATICFILES_DIRS. + # Example: "/var/www/example.com/static/" +-STATIC_ROOT = os.path.join(BASE_DIR, 'static') ++STATIC_ROOT = '/srv/www/webapps/mailman/postorius/static' + + # URL prefix for static files. + # Example: "http://example.com/static/", "http://static.example.com/" +@@ -269,7 +269,7 @@ LOGGING = { + 'level': 'INFO', + #'class': 'logging.handlers.RotatingFileHandler', + 'class': 'logging.handlers.WatchedFileHandler', +- 'filename': os.path.join(BASE_DIR, 'logs', 'postorius.log'), ++ 'filename': '/var/log/postorius/postorius.log', + 'formatter': 'verbose', + }, + }, diff --git a/postorius-v1.3.12.tar.gz b/postorius-v1.3.12.tar.gz new file mode 100644 index 0000000..fdc7218 --- /dev/null +++ b/postorius-v1.3.12.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:933fa3a954774d149737bc986afd6beedf545aafeb1d4aeed7f8653205588f4d +size 3556298 diff --git a/postorius.uwsgi b/postorius.uwsgi new file mode 100644 index 0000000..da9dd10 --- /dev/null +++ b/postorius.uwsgi @@ -0,0 +1,17 @@ +[uwsgi] +#plugin = apparmor +#apparmor-hat = postorius + +uid = postorius +gid = postorius + +processes = 1 +threads = 25 + +socket = /run/uwsgi/uwsgi-postorius.sock +chmod-socket = 660 +chown-socket = wwwrun:www + +plugin = python3 +chdir = /srv/www/webapps/mailman/postorius +module = wsgi diff --git a/python-postorius-rpmlintrc b/python-postorius-rpmlintrc new file mode 100644 index 0000000..bbfad5e --- /dev/null +++ b/python-postorius-rpmlintrc @@ -0,0 +1,5 @@ +addFilter("zero-length") +addFilter("non-standard-gid") +addFilter("non-standard-uid") +addFilter("spurious-executable-perm .*example_project/wsgi.py") +addFilter("obsolete-not-provided python3-postorius") diff --git a/python-postorius.changes b/python-postorius.changes new file mode 100644 index 0000000..3f2a00b --- /dev/null +++ b/python-postorius.changes @@ -0,0 +1,392 @@ +------------------------------------------------------------------- +Mon Jan 6 16:09:18 UTC 2025 - Andreas Schneider + +- Add missing python-six BR for running tests + +------------------------------------------------------------------- +Mon Nov 18 07:23:45 UTC 2024 - Matej Cepl + +- %defattr is evil! Rather have a long (and readable) list of + %attr in front of every line +- one consequence of using %defattr is that we were changing + ownership of /srv/www, which any individual web server has no + business to do. + +------------------------------------------------------------------- +Thu Nov 14 03:16:20 UTC 2024 - Steve Kowalik + +- Use correct PDM package to build, it's pdm-backend. +- Due to bsc#1231027, add /srv/www to %files. + +------------------------------------------------------------------- +Sat Sep 21 07:30:43 UTC 2024 - Andreas Schneider + +- Update to version 1.3.13 + * See https://gitlab.com/mailman/postorius/-/blob/v1.3.13/src/postorius/doc/news.rst + or packaged news.rst file. +- Re-added GPG signature + +------------------------------------------------------------------- +Sun Sep 15 20:19:37 UTC 2024 - Andreas Schneider + +- Update to version 1.3.12 + * See https://gitlab.com/mailman/postorius/-/blob/v1.3.12/src/postorius/doc/news.rst + or packaged news.rst file. +- Removed GPG signature as the download links don't work + +------------------------------------------------------------------- +Sun Jun 23 08:40:28 UTC 2024 - Andreas Schneider + +- Update to version 1.3.11 + * See https://gitlab.com/mailman/postorius/-/blob/v1.3.11/src/postorius/doc/news.rst + or packaged news.rst file. + +------------------------------------------------------------------- +Thu Mar 7 09:40:26 UTC 2024 - Andreas Schneider + +- Validate source tarball +- Split out system user + +------------------------------------------------------------------- +Mon Mar 4 09:51:32 UTC 2024 - Ben Greiner + +- Provide postorius name and group in web package (rpm 4.19) + +------------------------------------------------------------------- +Thu Feb 29 20:31:42 UTC 2024 - Ben Greiner + +- Simplify python flavor selection + * Go back to primary python3 on Tumbleweed + * Use SLE15 python module pythons on 15.x +- Build PEP517 wheel + +------------------------------------------------------------------- +Mon Nov 6 11:47:26 UTC 2023 - Marcus Rueckert + +- make it easy to run a build without testsuite + osc build --without=testsuite + +------------------------------------------------------------------- +Mon Nov 6 00:11:33 UTC 2023 - Marcus Rueckert + +- make it easier to notice to keep buildrequires and runtime + requires version limits in sync. This will also help us to notice + early when the version of other libraries do not match the + requires encoded in the source code. + +------------------------------------------------------------------- +Thu Nov 2 10:42:19 UTC 2023 - Andreas Schneider + +- Update to version 1.3.10 + * See https://gitlab.com/mailman/postorius/-/blob/v1.3.10/src/postorius/doc/news.rst + or the file news.rst in the postorius package + +------------------------------------------------------------------- +Sun Jul 2 06:30:47 UTC 2023 - Andreas Schneider + +- Fix uwsgi requirement + +------------------------------------------------------------------- +Sat Jul 1 08:17:01 UTC 2023 - Andreas Schneider + +- Use sle15_python_module_pythons + +------------------------------------------------------------------- +Fri Jun 30 07:27:48 UTC 2023 - Andreas Schneider + +- Fix building on Leap + +------------------------------------------------------------------- +Sun Jun 25 08:12:39 UTC 2023 - Andreas Schneider + +- Update to version 1.3.8 + * The buttons and confirmation page for removing members have been revised in + an attempt to reduce accidental removal of all members. (Fixes #545) + * Add bounce score for members in the Members table (See #12) + * Add support for Python 3.11. +- Use sle15_python_module_pythons + +------------------------------------------------------------------- +Thu Nov 17 15:07:07 UTC 2022 - Andreas Schneider + +- Update to version 1.3.7 + * Fix a bug where various form(s) allowed setting empty values for + delivery_mode and language. (Fixes #540, #522) + * Rename labels description and info fields as 'Short Description' and 'Long + Description' to signify what they mean. (Fixes #510) + * Use date to format the dates in 'List Metrics' section in the List summary + page. (Fixes #508) + * Sort the list of languages in all Select elements alphabetically so they + are easier to naviate with screen readers. (Fixes #498) + * Add support for Django 4.0 + * A couple of unit tests are now marked expectedFailure due to + https://gitlab.com/mailman/mailman/-/merge_requests/997. (See #548) + * Translate template names in the “New Templates” page (See #547) + * Translate the section names in the MailingList->"Settings" tab. (See #550) + * Add support for Django 4.1 + * Add support for Python 3.10 + * Remove support for Django < 3.2 + * Remove support for Python < 3.7 + * Replace the use of mock with unittest.mock + * Change the way role is selector in the List index page to allow use of the + * filtering without javascript enabled dropdowns. It also enhances usability + by enabling the roles that are currently active by default. (See #544) + * Show the number of files in each Mailman queue under 'System Information' + tab for Admins. (Fixes #480) +- Removed postorius-fix-django-4.0-compatibility.patch +- Add BR for django debug toolbar + +------------------------------------------------------------------- +Wed Jul 6 14:30:03 UTC 2022 - Andreas Schneider + +- Add missing makemigritions on update + +------------------------------------------------------------------- +Wed Jul 6 13:19:16 UTC 2022 - Ben Greiner + +- Fix Requires for %{mypython}-uwsgi-python3 on Tumbleweed vs. + uwsgi-python3 on 15.x + +------------------------------------------------------------------- +Tue Jul 5 07:29:07 UTC 2022 - Andreas Schneider + +- Fix Requires for uwsgi-python3 + +------------------------------------------------------------------- +Mon Jul 4 15:18:15 UTC 2022 - Ben Greiner + +- Use Python 3.9 like the rest of mailman3 + +------------------------------------------------------------------- +Thu Jun 9 17:23:56 UTC 2022 - Andreas Schneider + +- Fix BR for mailman3 (package has been renamed) + +------------------------------------------------------------------- +Thu May 26 07:56:37 UTC 2022 - pgajdos@suse.com + +- python-mock is not required for build + +------------------------------------------------------------------- +Mon Feb 21 07:31:26 UTC 2022 - Andreas Schneider + +- Make compatible with django 4.0 + * Added postorius-fix-django-4.0-compatibility.patch + +------------------------------------------------------------------- +Thu Nov 18 18:03:59 UTC 2021 - Matej Cepl + +- Fix missing minimal requirements on Django. + +------------------------------------------------------------------- +Thu Nov 18 08:02:22 UTC 2021 - Andreas Schneider + +- Update to version 1.3.6 + - Security: + - Check that a user owns the email address they are trying + to unsubscribe. This fixes a bug in which any logged-in + user could unsubscribe any email address from any mailing + list, leaking whether that address was subscribed + originally. (CVE-2021-40347) + - UI: + - Add 'Delivery Mode' and 'Moderation Action' columns to + - List members page. Add support to list and handle pending + un-subscription requests. + - Add support to specify a reason when handling + (un)subscription requests + - Success messages to mass subscribes now properly + distinguish subscription from invitation and indicate + possible pending confirmation or approval. + - User profile dropdown no longer is too far right. + - Expose archive_rendering_mode in Archiver settings to + choose between plaintext and rich text rendering of emails + in Hyperkitty. + - Allow choosing delivery_mode and delivery_status when + subscribing to a List. + - Redirect to domain_index after domain_edit succeeds. + - Expose new bounce_notify_owner_on_bounce_increment list + setting on Bounce Processing settings, and expose the + corresponding template. + - Expose the forward_unrecognized_bounces_to setting on + Bounce Processing settings. + - Clarified the description of Maximum number of recipients. + - List summary view will now display a table for all + subscriptions with delivery_mode and delivery_status. + - Add a new user management interface for superusrs. + - Allow searching for users in list user views. + - Show both display name and email in user management + interface if available, + - Allow list:admin:notice:pending template to be set in + Postorius. + - Other: + - Use mass-subscription API in core for Mass Removal of + Members. + - Fix a bug where users with multiple subscriptions to a List + couldn't view their Preferences for all addresses. + - Check for pending unsubscription requests and notify user + when the request is pending approval. + - Improve the performance of Members' page by skipping an API + call. + - Improve the performance of List index page for Superuser. + - Skip looking up choosable_domains for non-superuser to + reduce API calls. + - Improve the performance of List owner access checks. + - Add a new APICountingMiddleware to performance testing + purposes. + - Use user_id as subscriber instead of addresses to improve + the efficiency of list index page. + - AUTOCREATE_MAILMAN_USER setting is now removed and + a Mailman user is always created when a User object in + created in Django. Also remove duplicate implementation of + get_mailman_user from MailmanUserManager so that we can use + a single implementation that uses caching for efficient + lookups. Bump bundled jQuery to 3.6.0.slim version. + - Use the full jQuery not the slim version. + - Do not show Ownerships and Moderator roles in the + 'Subscriptions' page under mange new user interface. + - Ascessibility: + - Move the focus to the textarea in mass subscribe page if + there are errors in the form. + +------------------------------------------------------------------- +Wed Jun 2 06:33:53 UTC 2021 - Andreas Schneider + +- Remove the postorius-admin user + +------------------------------------------------------------------- +Tue May 25 19:29:40 UTC 2021 - Andreas Schneider + +- Create static files as part of the build process +- Fixed CVE-2021-31997 + +------------------------------------------------------------------- +Tue May 4 09:34:29 UTC 2021 - Ben Greiner + +- restrict to primary python3 flavor due to mailman + +------------------------------------------------------------------- +Fri Feb 12 10:54:02 UTC 2021 - Andreas Schneider + +- Update to version 1.3.4 + * Update the default Site when creating a domain to match the domain if it is + example.com. (Closes #427) + * Add the ability to subscribe via Primary Address instead of specific + address. (See !516) + * Fix a bug where the user's display name would be ignore when + subscribing. (Closes #429) + * Display a user's name in the pending subscription request list. (Closes #430) + * Set a user's preferrred_address in Core if it isn't already set and the user + has a Primary Address that is verified. + * Use the new APIs in Core to get the count of held messages and pending + subscriptions to improve peroformance of settings page for list + owners. (Fixes #417) + * Show held message is local time of the User. (Closes #434) + * Fix a bug where non-member options page would show an owner's options if the + same email was subscribed as owner and non-member in a list. (Closes #436) + * Switching subscription from one email address to other or Primary Address now + preserves preferences and does not require Moderator approval. (Closes #425) + * Make 'Archives' and 'List Options' urls more prominently visible in the + list summary page as buttons. (Closes #439) + * Added the ability to issue invitations from the mass subscribe view. + * Expose emergency moderation setting for MailingList. + * Fixed some minor HTML errors. (Closes #442) + * Fix the bug where ListOfStringsField couldn't be unset in Postorius. (Closes + #444) + * Allow list:user:action:invite template to be set in Postorius. (Closes + #454) + * Fix a bug where the Bans form would always use default language instead of + current request's language. (Closes #441) + * Fix the URL on cancel buttons in template's confirm delete page. (Closes + #458) + * Use server side filtering for pending subscription requests for moderator + approval. (See !559) + * Allow setting moderation action for a nonmember from Held Message modal. ( + Closes #448) + * Add a new view to confirm subscriptions or new emails for Users using + Postorius. (Fixes #459) + * Fix a bug where membership check compared email addresses in different + cases. (Closes #457) + * Mass removal now accepts address formats with display names and/or angle + brackets. (Closes #455) + * Add support to override send_welcome_message when mass subscribing to + suppress welcome messages. (Closes #99) + * Add support for Django 3.1.x. (See !574) + * The list's send_goodbye_message is now settable on the Automatic + Responses view. (Closes #466) + * Support HYPERKITTY_ENABLE_GRAVATAR setting to control the user gravatar. + (Closes #467) +- Fix building on tumbleweed + +------------------------------------------------------------------- +Sun Dec 20 14:35:33 UTC 2020 - Andreas Schneider + +- Improve documentation (README.SUSE.md) + +------------------------------------------------------------------- +Sat Dec 12 19:19:35 UTC 2020 - Andreas Schneider + +- Fix chdir path in uwsgi config +- Update README.SUSE.md + +------------------------------------------------------------------- +Sat Oct 3 07:55:13 UTC 2020 - Andreas Schneider + +- Create a postorius-web package with webroot files +- Create a postorius-web-uwsgi with uwsgi configuration +- Added postorius-settings.patch + * Sets the FHS default paths + +------------------------------------------------------------------- +Tue Aug 4 02:03:24 UTC 2020 - Stasiek Michalski + +- Update to 1.3.3 + * Expose additional list settings. + * Correct description of Digest Frequency. + * Added links to Reply-To munging articles. + * Fix "Show Headers" button to show the held message headers in the + held message popup. + * Fix the held message popup structure and increase the max width of the popup + to be 800px(modal-lg) for larger screens. + * Fix FILTER_VHOST = True option to try to find the email host corresponding + to the requesting web host. + * Allow specifying a reason when rejecting a held message. + * Allow users to set their preferred language in their preferences. + * Add support to ban addresses for the entire Mailman installation. + * Un-handled HTTPError exception raised from MailmanClient now results in an + error page and proper logging instead of mysterious KeyError in logs. + * Change List settings navigation to be vertical instead of horizontal. + * Move bounce processing settings into a new vertical tab for better + visibility. + * Add URL to edit the Web host for each domain in Domain Index page. Also, show + the SITE_ID for each webhost. + +------------------------------------------------------------------- +Tue Apr 14 08:12:34 UTC 2020 - Paolo Stivanin + +- Update to 1.3.2 (no changelog) + +------------------------------------------------------------------- +Thu Jan 23 15:44:42 UTC 2020 - pgajdos@suse.com + +- the pytest issue in 15 will be fixed on python rpm macros level + +------------------------------------------------------------------- +Fri Jan 17 11:03:31 UTC 2020 - pgajdos@suse.com + +- %check correctly also for 15 + +------------------------------------------------------------------- +Mon Dec 2 10:47:16 UTC 2019 - pgajdos@suse.com + +- call spec-cleaner + +------------------------------------------------------------------- +Wed Nov 27 08:20:57 UTC 2019 - pgajdos@suse.com + +- package example_project in doc + +------------------------------------------------------------------- +Fri Nov 15 08:58:29 UTC 2019 - pgajdos@suse.com + +- initial version 1.3.0 [SLE-7686] + diff --git a/python-postorius.keyring b/python-postorius.keyring new file mode 100644 index 0000000..45104e2 --- /dev/null +++ b/python-postorius.keyring @@ -0,0 +1,90 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=s7HB +-----END PGP PUBLIC KEY BLOCK----- diff --git a/python-postorius.spec b/python-postorius.spec new file mode 100644 index 0000000..a4a8e41 --- /dev/null +++ b/python-postorius.spec @@ -0,0 +1,301 @@ +# +# spec file for package python-postorius +# +# Copyright (c) 2025 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%bcond_without testsuite + +# keep in sync with setup.py +%global django_mailman3_min_version 1.3.13 +%global django_min_version 4.2 +%global django_max_version 5.1 +%global mailmanclient_min_version 3.3.3 + +%global srv_www_dir /srv/www +%global webapps_dir %{srv_www_dir}/webapps + +%global postorius_pkgname postorius + +%global postorius_basedir %{webapps_dir}/mailman/postorius +%global postorius_localedir %{postorius_basedir}/locale +%global postorius_staticdir %{postorius_basedir}/static + +%global postorius_etcdir %{_sysconfdir}/postorius +%global postorius_libdir %{_localstatedir}/lib/postorius +%global postorius_logdir %{_localstatedir}/log/postorius +%global postorius_datadir %{postorius_libdir}/data + +# keep in sync with python-HyperKitty/python-mailman-web +# Always only build one flavor: primary python for TW, python311 from the SLE15 python module for 15.x +%if 0%{?suse_version} >= 1550 +%define pythons python3 +%else +%{?sle15_python_module_pythons} +%endif +%global mypython %pythons +%global mypython_sitelib %{expand:%%{%{mypython}_sitelib}} +%global __mypython %{expand:%%{__%{mypython}}} + +Name: python-postorius +Version: 1.3.13 +Release: 0 +Summary: A web user interface for GNU Mailman +License: GPL-3.0-only +URL: https://gitlab.com/mailman/postorius +# +Source0: https://gitlab.com/mailman/postorius/-/releases/v%{version}/downloads/postorius-%{version}.tar.gz +Source1: https://gitlab.com/mailman/postorius/-/releases/v%{version}/downloads/postorius-%{version}.tar.gz.asc +Source2: python-postorius.keyring +Source3: python-postorius-rpmlintrc +# +Source10: postorius-manage.sh +Source12: postorius.uwsgi +# +Source20: README.SUSE.md +# +Patch0: postorius-settings.patch +# +BuildRequires: %{python_module pip} +BuildRequires: %{python_module pdm-backend} +BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wheel} +BuildRequires: acl +BuildRequires: fdupes +BuildRequires: openssl +BuildRequires: python-rpm-macros +BuildRequires: rsync +BuildRequires: sudo +BuildArch: noarch +%if 0%{?suse_version} >= 1550 +# use the real python3 primary for rpm pythondistdeps.py +BuildRequires: python3-packaging +%endif +# SECTION test requirements +BuildRequires: mailman3 >= 3.3.5 +BuildRequires: %{python_module Django >= %{django_min_version} with %python-Django < %{django_max_version}} +BuildRequires: %{python_module beautifulsoup4} +BuildRequires: %{python_module cmarkgfm} +BuildRequires: %{python_module django-debug-toolbar >= 2.2} +BuildRequires: %{python_module django-mailman3 >= %{django_mailman3_min_version}} +BuildRequires: %{python_module django-requests-debug-toolbar >= 0.0.3} +BuildRequires: %{python_module isort} +BuildRequires: %{python_module mailmanclient >= %{mailmanclient_min_version}} +BuildRequires: %{python_module pytest-django} +BuildRequires: %{python_module pytest} +BuildRequires: %{python_module readme_renderer} +BuildRequires: %{python_module six} +BuildRequires: %{python_module vcrpy} +# /SECTION +%python_subpackages + +%description +A web user interface for GNU Mailman + +%package -n %{postorius_pkgname} +Summary: A web user interface for GNU Mailman +Requires: %{mypython}-django-debug-toolbar >= 2.2.0 +Requires: %{mypython}-django-mailman3 >= %{django_mailman3_min_version} +Requires: %{mypython}-django-requests-debug-toolbar >= 0.0.3 +Requires: %{mypython}-mailmanclient >= %{mailmanclient_min_version} +Requires: %{mypython}-readme_renderer +Requires: (%{mypython}-Django >= %{django_min_version} with %{mypython}-Django < %{django_max_version}) +# help in replacing any previously installed flavor package back to the unprefixed package +%if 0%{?suse_version} < 1550 +Obsoletes: python3-%{postorius_pkgname} < %{version}-%{release} +%endif +Provides: %{mypython}-%{postorius_pkgname} = %{version}-%{release} +Obsoletes: %{mypython}-%{postorius_pkgname} < %{version}-%{release} + +%description -n %{postorius_pkgname} +A web user interface for GNU Mailman + +%package -n %{postorius_pkgname}-web +Summary: The webroot for GNU Mailman +Requires: %{postorius_pkgname} +Requires: acl +Requires: openssl +Requires: sudo +Requires: system-user-%{postorius_pkgname} + +%description -n %{postorius_pkgname}-web +A web user interface for GNU Mailman. + +This package holds the web interface. + +%package -n %{postorius_pkgname}-web-uwsgi +Summary: Postorius - uwsgi configuration +Requires: %{postorius_pkgname}-web +%if 0%{suse_version} >= 1550 || 0%{?sle_version} >= 150500 +Requires: %{mypython}-uwsgi-python3 +%else +Requires: uwsgi-python3 +%endif + +%description -n %{postorius_pkgname}-web-uwsgi +A web user interface for GNU Mailman. + +This package holds the uwsgi configuration. + +%package -n system-user-%{postorius_pkgname} +Summary: System user for HyperKitty +BuildArch: noarch +BuildRequires: sysuser-tools +%sysusers_requires + +%description -n system-user-%{postorius_pkgname} +System user for HyperKitty. + +%prep +%setup -q -n postorius-%{version} +cp %{SOURCE20} . +touch settings_local.py + +# Copy exmaple_project to just build the static files +rsync -a example_project/* build_static_files + +%autopatch -p1 + +tee > %{postorius_pkgname}.sysuser </dev/null || : +/usr/sbin/useradd -g postorius -s /bin/false -r -c "Postorius" -d %{postorius_basedir} postorius &>/dev/null || : + +%post -n %{postorius_pkgname}-web +# We need a SECRET_KEY for manage to work +if ! grep -q "^SECRET_KEY.*" %{postorius_etcdir}/settings_local.py; then + echo "SECRET_KEY='$(openssl rand -base64 48)'" >> %{postorius_etcdir}/settings_local.py +fi +%{_sbindir}/postorius-manage makemigrations --pythonpath /srv/www/webapps/mailman/postorius/ --settings settings +%{_sbindir}/postorius-manage migrate --pythonpath /srv/www/webapps/mailman/postorius/ --settings settings + +%pre -n system-user-%{postorius_pkgname} -f %{postorius_pkgname}.pre + +%files -n %{postorius_pkgname} +%doc README.rst example_project src/postorius/doc/*.rst +%license COPYING +%{mypython_sitelib}/postorius +%{mypython_sitelib}/postorius-%{version}*-info + +%files -n %{postorius_pkgname}-web +%doc README.SUSE.md +%{_sbindir}/postorius-manage +%dir %{webapps_dir} +%dir %{webapps_dir}/mailman + +%dir %{srv_www_dir} +%attr(-,root,postorius) %dir %{postorius_basedir} +%attr(-,root,postorius) %{postorius_basedir}/__init__.py +%attr(-,root,postorius) %{postorius_basedir}/manage.py +%attr(-,root,postorius) %{postorius_basedir}/settings.py +%attr(-,root,postorius) %{postorius_basedir}/settings_local.py +%attr(-,root,postorius) %{postorius_basedir}/test_settings.py +%attr(-,root,postorius) %{postorius_basedir}/urls.py +%attr(-,root,postorius) %{postorius_basedir}/wsgi.py + +%attr(-,root,postorius) %dir %{postorius_basedir}/static +%attr(-,root,postorius) %{postorius_basedir}/static/admin +%attr(-,root,postorius) %{postorius_basedir}/static/django-mailman3 +%attr(-,root,postorius) %{postorius_basedir}/static/postorius +%attr(-,root,postorius) %{postorius_basedir}/static/debug_toolbar + +%attr(750,root,postorius) %dir %{postorius_etcdir} +%attr(640,root,postorius) %config(noreplace) %{postorius_etcdir}/settings_local.py +%attr(750,root,postorius) %dir %{postorius_libdir} +%attr(750,postorius,postorius) %dir %{postorius_datadir} +%attr(750,postorius,postorius) %dir %{postorius_logdir} + +%files -n %{postorius_pkgname}-web-uwsgi +%dir %{_sysconfdir}/uwsgi +%dir %{_sysconfdir}/uwsgi/vassals +%config (noreplace) %{_sysconfdir}/uwsgi/vassals/postorius.ini + +%files -n system-user-%{postorius_pkgname} +%{_sysusersdir}/%{postorius_pkgname}.conf + +%changelog