- Use correct PDM package to build, it's pdm-backend.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:mailman/python-postorius?expand=0&rev=64
This commit is contained in:
commit
5308866e11
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -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
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
72
README.SUSE.md
Normal file
72
README.SUSE.md
Normal file
@ -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 = <username>
|
||||
EMAIL_HOST_PASSWORD = <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/
|
||||
<Directory /srv/www/webapps/mailman/postorius>
|
||||
Require all granted
|
||||
</Directory>
|
3
postorius-1.3.10.tar.gz
Normal file
3
postorius-1.3.10.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1a66c8a8efb4dcb81b5312759d34ad5eb60ddedd8c7efcdb7984408a97d35b5a
|
||||
size 3491545
|
16
postorius-1.3.10.tar.gz.asc
Normal file
16
postorius-1.3.10.tar.gz.asc
Normal file
@ -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-----
|
3
postorius-1.3.13.tar.gz
Normal file
3
postorius-1.3.13.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:602def5c4852900d49e8ad95196a2334e13c31e49d9c0859324879e7c5131a22
|
||||
size 3508385
|
16
postorius-1.3.13.tar.gz.asc
Normal file
16
postorius-1.3.13.tar.gz.asc
Normal file
@ -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-----
|
3
postorius-manage.sh
Normal file
3
postorius-manage.sh
Normal file
@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
sudo -u postorius /usr/bin/python3 /srv/www/webapps/mailman/postorius/manage.py "$@"
|
31
postorius-settings.patch
Normal file
31
postorius-settings.patch
Normal file
@ -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',
|
||||
},
|
||||
},
|
3
postorius-v1.3.12.tar.gz
Normal file
3
postorius-v1.3.12.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:933fa3a954774d149737bc986afd6beedf545aafeb1d4aeed7f8653205588f4d
|
||||
size 3556298
|
17
postorius.uwsgi
Normal file
17
postorius.uwsgi
Normal file
@ -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
|
5
python-postorius-rpmlintrc
Normal file
5
python-postorius-rpmlintrc
Normal file
@ -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")
|
377
python-postorius.changes
Normal file
377
python-postorius.changes
Normal file
@ -0,0 +1,377 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 13 01:19:25 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
|
||||
|
||||
- Use correct PDM package to build, it's pdm-backend.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Sep 21 07:30:43 UTC 2024 - Andreas Schneider <asn@cryptomilk.org>
|
||||
|
||||
- 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 <asn@cryptomilk.org>
|
||||
|
||||
- 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 <asn@cryptomilk.org>
|
||||
|
||||
- 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 <asn@cryptomilk.org>
|
||||
|
||||
- Validate source tarball
|
||||
- Split out system user
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 4 09:51:32 UTC 2024 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Provide postorius name and group in web package (rpm 4.19)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 29 20:31:42 UTC 2024 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- 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 <mrueckert@suse.de>
|
||||
|
||||
- make it easy to run a build without testsuite
|
||||
osc build --without=testsuite
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Nov 6 00:11:33 UTC 2023 - Marcus Rueckert <mrueckert@suse.de>
|
||||
|
||||
- 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 <asn@cryptomilk.org>
|
||||
|
||||
- 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 <asn@cryptomilk.org>
|
||||
|
||||
- Fix uwsgi requirement
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jul 1 08:17:01 UTC 2023 - Andreas Schneider <asn@cryptomilk.org>
|
||||
|
||||
- Use sle15_python_module_pythons
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 30 07:27:48 UTC 2023 - Andreas Schneider <asn@cryptomilk.org>
|
||||
|
||||
- Fix building on Leap
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jun 25 08:12:39 UTC 2023 - Andreas Schneider <asn@cryptomilk.org>
|
||||
|
||||
- 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 <asn@cryptomilk.org>
|
||||
|
||||
- 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 <asn@cryptomilk.org>
|
||||
|
||||
- Add missing makemigritions on update
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 6 13:19:16 UTC 2022 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Fix Requires for %{mypython}-uwsgi-python3 on Tumbleweed vs.
|
||||
uwsgi-python3 on 15.x
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 5 07:29:07 UTC 2022 - Andreas Schneider <asn@cryptomilk.org>
|
||||
|
||||
- Fix Requires for uwsgi-python3
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 4 15:18:15 UTC 2022 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Use Python 3.9 like the rest of mailman3
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 9 17:23:56 UTC 2022 - Andreas Schneider <asn@cryptomilk.org>
|
||||
|
||||
- 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 <asn@cryptomilk.org>
|
||||
|
||||
- Make compatible with django 4.0
|
||||
* Added postorius-fix-django-4.0-compatibility.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Nov 18 18:03:59 UTC 2021 - Matej Cepl <mcepl@suse.com>
|
||||
|
||||
- Fix missing minimal requirements on Django.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Nov 18 08:02:22 UTC 2021 - Andreas Schneider <asn@cryptomilk.org>
|
||||
|
||||
- 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 <asn@cryptomilk.org>
|
||||
|
||||
- Remove the postorius-admin user
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 25 19:29:40 UTC 2021 - Andreas Schneider <asn@cryptomilk.org>
|
||||
|
||||
- Create static files as part of the build process
|
||||
- Fixed CVE-2021-31997
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 4 09:34:29 UTC 2021 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- restrict to primary python3 flavor due to mailman
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 12 10:54:02 UTC 2021 - Andreas Schneider <asn@cryptomilk.org>
|
||||
|
||||
- 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 <asn@cryptomilk.org>
|
||||
|
||||
- Improve documentation (README.SUSE.md)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Dec 12 19:19:35 UTC 2020 - Andreas Schneider <asn@cryptomilk.org>
|
||||
|
||||
- Fix chdir path in uwsgi config
|
||||
- Update README.SUSE.md
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Oct 3 07:55:13 UTC 2020 - Andreas Schneider <asn@cryptomilk.org>
|
||||
|
||||
- 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 <stasiek@michalski.cc>
|
||||
|
||||
- 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 <info@paolostivanin.com>
|
||||
|
||||
- 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]
|
||||
|
90
python-postorius.keyring
Normal file
90
python-postorius.keyring
Normal file
@ -0,0 +1,90 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
13uS0qfwHEvxfNbR011PQGPf7eD4e4i0uh4IcTw=
|
||||
=s7HB
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
299
python-postorius.spec
Normal file
299
python-postorius.spec
Normal file
@ -0,0 +1,299 @@
|
||||
#
|
||||
# spec file for package python-postorius
|
||||
#
|
||||
# Copyright (c) 2024 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 webapps_dir /srv/www/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 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 <<EOF
|
||||
u %{postorius_pkgname} - "Postorius" %{postorius_basedir} -
|
||||
EOF
|
||||
|
||||
%build
|
||||
sed -i 's|^#!/usr/bin/env.*|#!%{__mypython}|' \
|
||||
example_project/manage.py
|
||||
sed -i 's|/usr/bin/python3|%{__mypython}|' %{SOURCE10}
|
||||
sed -i 's|python3|%{mypython}|' %{SOURCE12}
|
||||
|
||||
%pyproject_wheel
|
||||
|
||||
# Build static files
|
||||
install -d -m 0755 build_static_files/logs
|
||||
export PYTHONPATH=$(pwd)/src
|
||||
%python_exec build_static_files/manage.py collectstatic --clear --noinput
|
||||
|
||||
%sysusers_generate_pre %{postorius_pkgname}.sysuser %{postorius_pkgname}
|
||||
|
||||
%install
|
||||
%pyproject_install
|
||||
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||
|
||||
install -d -m 0750 \
|
||||
%{buildroot}%{postorius_etcdir} \
|
||||
%{buildroot}%{postorius_libdir} \
|
||||
%{buildroot}%{postorius_datadir} \
|
||||
%{buildroot}%{postorius_logdir}
|
||||
|
||||
install -d -m 0755 \
|
||||
%{buildroot}%{postorius_basedir} \
|
||||
%{buildroot}%{postorius_localedir} \
|
||||
%{buildroot}%{postorius_staticdir} \
|
||||
|
||||
# Copy static files
|
||||
rsync -a build_static_files/static %{buildroot}%{postorius_basedir}
|
||||
|
||||
rsync -a example_project/* %{buildroot}%{postorius_basedir}
|
||||
chmod -x %{buildroot}%{postorius_basedir}/wsgi.py
|
||||
|
||||
%python_expand rm -rf %{buildroot}%{$python_sitelib}/example_project
|
||||
|
||||
rm -f %{buildroot}%{postorius_basedir}/README.rst
|
||||
rm -f %{buildroot}%{postorius_basedir}/mailman.cfg
|
||||
rm -f %{buildroot}%{postorius_basedir}/logs/.keep
|
||||
|
||||
# Create an empty settings_local.py. This will be filled with a SECRET_KEY in post
|
||||
install -m 0644 settings_local.py %{buildroot}%{postorius_etcdir}/settings_local.py
|
||||
|
||||
ln -svf %{postorius_etcdir}/settings_local.py \
|
||||
%{buildroot}/%{postorius_basedir}/settings_local.py
|
||||
|
||||
%fdupes %{buildroot}%{postorius_basedir}
|
||||
|
||||
# Manage script
|
||||
install -d -m 0755 %{buildroot}%{_sbindir}
|
||||
install -m 0750 %{SOURCE10} %{buildroot}%{_sbindir}/postorius-manage
|
||||
|
||||
install -d -m 0755 %{buildroot}%{_sysconfdir}/uwsgi/vassals
|
||||
install -m 0644 %{SOURCE12} %{buildroot}%{_sysconfdir}/uwsgi/vassals/postorius.ini
|
||||
|
||||
install -d -m 0755 %{buildroot}%{_sysusersdir}
|
||||
install -m 0644 %{postorius_pkgname}.sysuser %{buildroot}%{_sysusersdir}/%{postorius_pkgname}.conf
|
||||
|
||||
%if %{with testsuite}
|
||||
%check
|
||||
export PYTHONPATH="$(pwd):$(pwd)/src"
|
||||
export LANG=C.UTF-8
|
||||
%pytest
|
||||
# clean flavored alternatives created by test setup, because we are going to install the example_project as docs
|
||||
rm -rf build/flavorbin
|
||||
rm -rf build/xdgflavorconfig
|
||||
%endif
|
||||
|
||||
%pre -n %{postorius_pkgname}-web
|
||||
/usr/sbin/groupadd -r postorius &>/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
|
||||
|
||||
%defattr(-,root,postorius)
|
||||
%dir %{postorius_basedir}
|
||||
%{postorius_basedir}/__init__.py
|
||||
%{postorius_basedir}/manage.py
|
||||
%{postorius_basedir}/settings.py
|
||||
%{postorius_basedir}/settings_local.py
|
||||
%{postorius_basedir}/test_settings.py
|
||||
%{postorius_basedir}/urls.py
|
||||
%{postorius_basedir}/wsgi.py
|
||||
|
||||
%dir %{postorius_basedir}/static
|
||||
%{postorius_basedir}/static/admin
|
||||
%{postorius_basedir}/static/django-mailman3
|
||||
%{postorius_basedir}/static/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
|
Loading…
Reference in New Issue
Block a user