- 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
This commit is contained in:
commit
1d5a19261b
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")
|
392
python-postorius.changes
Normal file
392
python-postorius.changes
Normal file
@ -0,0 +1,392 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jan 6 16:09:18 UTC 2025 - Andreas Schneider <asn@cryptomilk.org>
|
||||||
|
|
||||||
|
- Add missing python-six BR for running tests
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 18 07:23:45 UTC 2024 - Matej Cepl <mcepl@cepl.eu>
|
||||||
|
|
||||||
|
- %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 <steven.kowalik@suse.com>
|
||||||
|
|
||||||
|
- 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 <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-----
|
301
python-postorius.spec
Normal file
301
python-postorius.spec
Normal file
@ -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 <<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
|
||||||
|
|
||||||
|
%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
|
Loading…
Reference in New Issue
Block a user