- Update to version 3.3.10

* See https://gitlab.com/mailman/mailman/-/blob/v3.3.10/src/mailman/docs/NEWS.rst
    or the file NEWS.rst in this package
- Update to version 3.3.10b2
  * See https://gitlab.com/mailman/mailman/-/blob/v3.3.10b2/src/mailman/docs/NEWS.rst
    or the file NEWS.rst in this package
- Update to version 3.3.10b1
  * See https://gitlab.com/mailman/mailman/-/blob/v3.3.10b1/src/mailman/docs/NEWS.rst
    or the file NEWS.rst in this package
- Removed find-flufl.patch

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:mailman/python-mailman?expand=0&rev=96
This commit is contained in:
Markéta Machová 2024-10-02 07:43:15 +00:00 committed by Git OBS Bridge
commit fc042c69e6
23 changed files with 1098 additions and 0 deletions

23
.gitattributes vendored Normal file
View 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
View File

@ -0,0 +1 @@
.osc

15
README.SUSE.md Normal file
View File

@ -0,0 +1,15 @@
Mailman on SUSE
===============
To run the mailman command use:
sudo -u mailman mailman info
## Configuration
The main config file can be found at `/etc/mailman.cfg`. It is important to add
new sections only below the [path.fhs] section!
## Plugins
The directory for mailman plugins is `/etc/mailman.d`.

3
_multibuild Normal file
View File

@ -0,0 +1,3 @@
<multibuild>
<package>test</package>
</multibuild>

30
find-flufl.patch Normal file
View File

@ -0,0 +1,30 @@
Index: mailman-3.3.9/setup.py
===================================================================
--- mailman-3.3.9.orig/setup.py
+++ mailman-3.3.9/setup.py
@@ -119,8 +119,8 @@ case second 'm'. Any other spelling is
'dnspython>=1.14.0',
'falcon>=3.0.0',
'flufl.bounce>=4.0',
- 'flufl.i18n>=3.2',
- 'flufl.lock>=5.1',
+ 'flufl-i18n>=3.2',
+ 'flufl_lock>=5.1',
'gunicorn',
'lazr.config',
'python-dateutil>=2.0',
Index: mailman-3.3.9/src/mailman.egg-info/requires.txt
===================================================================
--- mailman-3.3.9.orig/src/mailman.egg-info/requires.txt
+++ mailman-3.3.9/src/mailman.egg-info/requires.txt
@@ -7,8 +7,8 @@ click>=8.0.0
dnspython>=1.14.0
falcon>=3.0.0
flufl.bounce>=4.0
-flufl.i18n>=3.2
-flufl.lock>=5.1
+flufl-i18n>=3.2
+flufl_lock>=5.1
gunicorn
lazr.config
python-dateutil>=2.0

3
mailman-3.3.10.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0de478fcf326f25d931938c3744e61c5cd67596b46e5b1e3bb2abf99d5445632
size 2294293

16
mailman-3.3.10.tar.gz.asc Normal file
View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEVB6gRIRTOU/3eg7MnZsroGHQpnwFAmb8y7YACgkQnZsroGHQ
pnx1DA/+MJ+2Oebo0WUMcPsQF/20ytpj2jgdULQlTtl8ePMUlCTjX02VktLXgsbH
USmlDueRBoAj5HIDrJ2dyjHiQCa/uMNZPRxVM3pq59uL9SodkR6GsDuFBOadMxMX
jckVsrtCHTRqNedHwiMW31ltpqG5Cwza+ue6AQMsgA8uMbU124g3UPH4HgIwXRqo
CeoKPaGWUxr8uATMctqRN0zIY6TLGzFC+OOkBu+ybX4HnjKRpUt3SVM5JK8eEGGw
fSeOzRKT5pxkvGQPn1duPBUcKj5S7Tz0t77gcKhoZMELAB1PBeaoOdWvbgI0RFO/
O7blDzFigZDUe2PTjj7PQCRciFI9zDTjFhEw7c41MEGFSYdPyUJ0daqba8M9I2ln
iBKAD+PQ89U3Les542FfzKN1y8G2IQEYKFO4sv1sKqwDOi3dkzsvmPGsltHOKeLu
tFLJcP2PcjKu2o4baQHU8wMWpkTw0lH3jRka0wn1ToaqMQTP/EbWkIcUKh2KOn6V
mI7hQ2dcicgRTzZ1xSTFVLUdXjUag8ZfX48lue4G/Ac5PRQmyOm4T9ULgn3H8vjj
A9jbM5uXfyYH1gENY81z6ZeFCc5CnfKUr/XFu2h65jNlY1fafg4lq5tgEf/FXTTv
iBBXekYl4bUdr8lUpziiOGlU5tmfcjlgDcucawimHLqQp2T07mw=
=nAgW
-----END PGP SIGNATURE-----

3
mailman-3.3.9.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:19b95723a23090b97e5758046cc01ed5b695c9938731a61a6084d7713929d8ca
size 2173293

8
mailman-digests.service Normal file
View File

@ -0,0 +1,8 @@
[Unit]
Description=Sends Mailman digests
[Service]
Type=oneshot
ExecStart=/usr/bin/mailman digests --send
User=mailman
Group=mailman

10
mailman-digests.timer Normal file
View File

@ -0,0 +1,10 @@
[Unit]
Description=Run mailman-digests.service every day
[Timer]
OnCalendar=*-*-* 04:00:00
RandomizedDelaySec=3600
Persistent=true
[Install]
WantedBy=timers.target

8
mailman-notify.service Normal file
View File

@ -0,0 +1,8 @@
[Unit]
Description=Notify list owners/moderators of pending requests.
[Service]
Type=oneshot
ExecStart=/usr/bin/mailman notify
User=mailman
Group=mailman

10
mailman-notify.timer Normal file
View File

@ -0,0 +1,10 @@
[Unit]
Description=Run mailman-notify.service every day
[Timer]
OnCalendar=*-*-* 08:00:00
RandomizedDelaySec=15m
Persistent=true
[Install]
WantedBy=timers.target

2
mailman-tmpfiles.conf Normal file
View File

@ -0,0 +1,2 @@
d /run/lock/mailman 0755 mailman mailman
d /run/mailman 0755 mailman mailman

3
mailman-user.conf Normal file
View File

@ -0,0 +1,3 @@
#Type Name ID GECOS Home directory Shell
u mailman - "mailman daemon user" /var/lib/mailman -
m mailman lock - - -

26
mailman.cfg Normal file
View File

@ -0,0 +1,26 @@
# This is the absolute bare minimum base configuration file. User supplied
# configurations are pushed onto this.
[mailman]
# This address is the "site owner" address. Certain messages which must be
# delivered to a human, but which can't be delivered to a list owner (e.g. a
# bounce from a list owner), will be sent to this address. It should point to
# a human.
site_owner: root@localhost
# Set the paths to be fhs compliant
layout: fhs
[paths.fhs]
ext_dir: /etc/mailman.d
bin_dir: /usr/bin
var_dir: /var/lib/mailman
queue_dir: /var/spool/mailman
log_dir: /var/log/mailman
lock_dir: /run/lock/mailman
pid_file: /run/mailman/master.pid
### ADD NEW SECTIONS AFTER THIS LINE ###
# [webservice]
# admin_user: restadmin
# admin_pass: secret

9
mailman.logrotate Normal file
View File

@ -0,0 +1,9 @@
@LOGDIR@/*.log {
missingok
sharedscripts
su mailman mailman
postrotate
/bin/kill -HUP $(</run/mailman/master.pid) 2>/dev/null || true
@BINDIR@/mailman reopen >/dev/null 2>&1 || true
endscript
}

25
mailman.service Normal file
View File

@ -0,0 +1,25 @@
# It's not recommended to modify this file in-place, because it will be
# overwritten during package upgrades. If you want to customize, the
# best way is to create a file "/etc/systemd/system/mailman3.service",
# containing
# .include /usr/lib/systemd/system/mailman3.service
# ...make your changes here...
# For more info about custom unit files, see
# http://fedoraproject.org/wiki/Systemd#How_do_I_customize_a_unit_file.2F_add_a_custom_unit_file.3F
[Unit]
Description=GNU Mailing List Manager
After=syslog.target network.target
[Service]
Type=forking
PIDFile=/run/mailman/master.pid
User=mailman
Group=mailman
ExecStart=/usr/bin/mailman start --force
ExecReload=/usr/bin/mailman restart
ExecStop=/usr/bin/mailman stop
[Install]
WantedBy=multi-user.target

450
python-mailman.changes Normal file
View File

@ -0,0 +1,450 @@
-------------------------------------------------------------------
Wed Oct 2 07:11:06 UTC 2024 - Andreas Schneider <asn@cryptomilk.org>
- Update to version 3.3.10
* See https://gitlab.com/mailman/mailman/-/blob/v3.3.10/src/mailman/docs/NEWS.rst
or the file NEWS.rst in this package
-------------------------------------------------------------------
Wed Sep 25 08:56:24 UTC 2024 - Andreas Schneider <asn@cryptomilk.org>
- Update to version 3.3.10b2
* See https://gitlab.com/mailman/mailman/-/blob/v3.3.10b2/src/mailman/docs/NEWS.rst
or the file NEWS.rst in this package
-------------------------------------------------------------------
Sun Sep 22 08:58:30 UTC 2024 - Andreas Schneider <asn@cryptomilk.org>
- Update to version 3.3.10b1
* See https://gitlab.com/mailman/mailman/-/blob/v3.3.10b1/src/mailman/docs/NEWS.rst
or the file NEWS.rst in this package
- Removed find-flufl.patch
-------------------------------------------------------------------
Thu Feb 29 17:32:20 UTC 2024 - Benjamin Greiner <code@bnavigator.de>
- Simplify python flavor selection
* Go back to primary python3 on Tumbleweed
* Use SLE15 python module pythons on 15.x
-------------------------------------------------------------------
Thu Feb 15 10:53:34 UTC 2024 - Markéta Machová <mmachova@suse.com>
- Adapt to new RPM 4.19 and properly create mailman user/group (boo#1219674)
- Build on Python 3.12 for the Factory
-------------------------------------------------------------------
Tue Jan 23 09:56:40 UTC 2024 - Markéta Machová <mmachova@suse.com>
- Add patch find-flufl.patch to fix the tests with recent flufl.*
- Don't require importlib-resources on new Pythons, they are already
a part of a standard library
-------------------------------------------------------------------
Mon Nov 6 00:27:43 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 16:02:35 UTC 2023 - Andreas Schneider <asn@cryptomilk.org>
- Require authheaders >= 0.15.2
-------------------------------------------------------------------
Thu Nov 2 08:52:18 UTC 2023 - Andreas Schneider <asn@cryptomilk.org>
- Update to version 3.3.9
* See https://gitlab.com/mailman/mailman/-/blob/v3.3.9/src/mailman/docs/NEWS.rst
or the file NEWS.rst in this package
- Removed mailman-fix-importlib-resources.patch
-------------------------------------------------------------------
Thu Sep 21 08:01:21 UTC 2023 - Andreas Schneider <asn@cryptomilk.org>
- Add missing Pre-require for groupadd
-------------------------------------------------------------------
Fri Aug 18 11:00:46 UTC 2023 - Andreas Schneider <asn@cryptomilk.org>
- Fix issues with importlib_resources for Python 3.11
* Added mailman-fix-importlib-resources.patch
-------------------------------------------------------------------
Sat Jul 1 12:49:02 UTC 2023 - Andreas Schneider <asn@cryptomilk.org>
- Add missing require for psycopg2
-------------------------------------------------------------------
Wed Jun 7 15:40:27 UTC 2023 - Andreas Schneider <asn@cryptomilk.org>
- Move mailman to Python 3.11 on TW and Leap 15.5
-------------------------------------------------------------------
Wed Jun 7 14:53:12 UTC 2023 - Andreas Schneider <asn@cryptomilk.org>
- Allow the mailman group to write to the data directory
* This will hold the postfix database for the domains and we need
to be able to write to it as the postfix user (member of mailman group).
-------------------------------------------------------------------
Thu Mar 30 19:40:53 UTC 2023 - Luiz Angelo Daros de Luca <luizluca@tre-sc.jus.br>
- Compile and include .mo files, used by _() strings
-------------------------------------------------------------------
Mon Feb 6 05:02:02 UTC 2023 - Steve Kowalik <steven.kowalik@suse.com>
- Update to 3.3.8:
* The deprecated SQLAlchemy query.values() method is replaced by
query.with_entities(). This fixes an issue with MariaDB that truncated
the generated postfix_lmtp file. (Closes #1044)
* An uncaught passlib.exc.UnknownHashError in utilities/passwords.py is
now caught and handled appropriately. (Closes #1046)
* Rejection notices for a message with an RFC 2047 encoded Subject: now
display the decoded subject. (Closes #672)
* Don't RFC 2047 encode display names in UserNotifications. Allow sending
utf-8 encoded notifications. (Closes #673)
* Don't replace non-ascii in subjects in notifications. (Closes #673)
* The mailman members command no longer RFC 2047 encodes non-ascii display
names. (Closes #1048)
* Improve the performance of Held message handling by reducing the total
number of database calls required. (Fixes #1026 and #1045)
* Add support for Python 3.10. (Closes #936)
* Add support for Python 3.11 (See !1076)
* Add support for SQLAlchemy 1.4+ (Closes #964)
* Drop support for Python 3.6 since SQLAlchemy 2.0 will drop support for
it and it is EOL by now. (See !1035)
* The fix for #994 in 3.3.6 blocked too many subscription attempts. This is
now corrected and another test added.
- Drop patches now included upstream:
* mailman-support-sqlalchemy-1-4.patch
* python-mailman-test_interact_default_banner.patch
* support-alembic-1-8.patch
* support-attrs-22.patch
* support-sqlalchemy-1-4.patch
-------------------------------------------------------------------
Wed Dec 14 22:47:22 UTC 2022 - Luiz Angelo Daros de Luca <luizluca@tre-sc.jus.br>
- Fix timers target to avoid systemd ordering cycle
-------------------------------------------------------------------
Tue Nov 1 18:23:41 UTC 2022 - Andreas Schneider <asn@cryptomilk.org>
- Bump version requirement for python3-authheaders
-------------------------------------------------------------------
Thu Oct 27 09:03:39 UTC 2022 - Andreas Schneider <asn@cryptomilk.org>
- Update to version 3.3.6
* https://gitlab.com/mailman/mailman/-/blob/3.3.6/src/mailman/docs/NEWS.rst
- Added support-attrs-22.patch
- Removed ARC-message-fail-tests.patch
-------------------------------------------------------------------
Tue Sep 27 12:31:25 UTC 2022 - Markéta Machová <mmachova@suse.com>
- Rewrite support-sqlalchemy-1-4.patch
* to be indeed backward-compatible
* to reflect newer mailman-support-sqlalchemy-1-4.patch
-------------------------------------------------------------------
Wed Aug 31 08:52:38 UTC 2022 - Stefan Schubert <schubi@suse.com>
- Moved logrotate files from user specific directory /etc/logrotate.d
to vendor specific directory /usr/etc/logrotate.d.
-------------------------------------------------------------------
Mon Jul 4 13:14:27 UTC 2022 - Ben Greiner <code@bnavigator.de>
- Go back to Python 3.9 for mailman. Python 3.10 is not supported
and it is unclear whether the test failures are due to the
production code or only in the setup of aiosmtpd in the test
suite. -- https://gitlab.com/mailman/mailman/-/issues/936
-------------------------------------------------------------------
Wed Jun 29 18:14:25 UTC 2022 - Lars Vogdt <lars@linux-schulserver.de>
- added mailman-support-sqlalchemy-1-4.patch (from Andreas Schneider):
The TypeDecorator.cache_ok class-level flag indicates if this custom
TypeDecorator is safe to be used as part of a cache key. This flag defaults to
None which will initially generate a warning when the SQL compiler attempts to
generate a cache key for a statement that uses this type. If the TypeDecorator
is not guaranteed to produce the same bind/result behavior and SQL generation
every time, this flag should be set to False; otherwise if the class produces
the same behavior each time, it may be set to True. See TypeDecorator.cache_ok
for further notes on how this works.
-------------------------------------------------------------------
Mon Jun 13 09:09:17 UTC 2022 - Andreas Schneider <asn@cryptomilk.org>
- Added support-alembic-1-8.patch
- Removed support-alembic-1-7.patch
-------------------------------------------------------------------
Mon Feb 21 06:31:29 UTC 2022 - Steve Kowalik <steven.kowalik@suse.com>
- Clean up a half-completed migration away from python-rpm-macros.
As a consequence, mailman3 now pulls in all dependencies again.
-------------------------------------------------------------------
Thu Jan 20 11:05:31 UTC 2022 - pgajdos@suse.com
- fix obsoletes
-------------------------------------------------------------------
Wed Jan 19 20:26:32 UTC 2022 - Matej Cepl <mcepl@suse.com>
- Add patch ARC-message-fail-tests.patch which allows four tests
to pass with different format of the output.
-------------------------------------------------------------------
Tue Jan 18 08:28:16 UTC 2022 - pgajdos@suse.com
- rename python3-mailman package to mailman3 [bsc#1194497]
-------------------------------------------------------------------
Wed Nov 17 08:15:44 UTC 2021 - Andreas Schneider <asn@cryptomilk.org>
- Update to 3.3.5, which provides many bug fixes and also these new features:
- There is a new bounce_notify_admin_on_bounce_increment list
setting and a corresponding list:admin:notice:increment
template for the notice. This setting, if True, will cause a
notice to be sent to the list admins when a member's bounce
score is incremented, but doesn't disable delivery.
- There is a new moderator_request_life setting in the
[mailman] section of mailman.cfg that controls the lifetime
of pending moderator requests as opposed to pending user
confirmations. Default is 180 days.
- There is a new task runner to do periodic tasks. The current
implementation evicts expired pendings and cache entries
and removes orphaned workflows and orphaned message store
messages. It does these tasks at intervals defined by the
new run_tasks_every setting in the [mailman] section of
mailman.cfg. Default is 1 hour.
- There is a new list:admin:notice:pending template for the
notice from the mailman notify command.
- The nntp runner will now run the gatenews subcommand at
intervals defined by a new gatenews_every setting in the
[nntp] section of mailman.cfg. Default is 5 every minutes.
- Check the REST API password in a way that is resistant to
timing attacks. (CVE-2021-34337)
- Added support-alembic-1-7.patch
- Removed obsolete support-click-8-0.patch
- Added rpmlintrc
-------------------------------------------------------------------
Fri Jul 30 01:57:56 UTC 2021 - Steve Kowalik <steven.kowalik@suse.com>
- Add support-click-8-0.patch:
* Lightly rebased from upstream to support click 8.0
- Add support-sqlalchemy-1-4.patch:
* Support running with SQLAlchemy 1.4
-------------------------------------------------------------------
Tue May 4 09:23:40 UTC 2021 - Ben Greiner <code@bnavigator.de>
- Restrict build to primary python3 in order to avoid conflicting
packages.
-------------------------------------------------------------------
Mon Mar 22 08:09:48 UTC 2021 - Michael Ströder <michael@stroeder.com>
- dropped obsolete gl823_exclude_failing_tests.patch
- Update to 3.3.4
* Bugs
* Require aiosmtpd >= 1.4.1 to allow address local parts longer than 64 bytes
in the lmtp runner. (Closes #836)
* The email join command now honors the digest=<no|mime|plain> option.
(Closes #19)
* Folded ``Message-ID`` headers no longer cause folded smtp.log messages.
(Closes #844)
* Removal of headers from posts to anonymous lists that can reveal the poster
or the poster's domain has been improved. (Closes #848)
* Command line
* The ``notify`` subcommand will now decode an RFC 2047 encoded Subject: for
the report of held messages. (Closes #831)
* The deprecated options ``--add``, ``--del`` and ``--sync`` are now disabled
on the ``mailman members`` command.
* REST
* Improve the speed of Members lookup via REST API. (Related to #700)
* Allow specifying ``delivery_mode`` and ``delivery_status`` when creating a
new Member. (Closes #828)
* Allow filtering members in ``/members/find`` API using ``delivery_status``,
``delivery_mode`` and ``moderation_action``. (See #827)
* New Features
* There is a new setting ``filter_report`` in the ``[mailman]`` section of
mailman.cfg. If this is set to ``yes``, a report of changes by content
filtering will be added to the outgoing message. (Closes #833)
* There is a new setting ``check_max_size_on_filtered_message`` in the
``[mailman]`` section of mailman.cfg. If this is set to ``yes`` and the
list does content filtering, the ``max_message_size`` hold will be based
on the size of the content filtered message. (Closes #377)
* There is a new setting ``anonymous_list_keep_headers`` in the ``[mailman]``
section of mailman.cfg. This is part of improved removal of headers from
posts to anonymous lists. This setting is a space separated list of regexp
patterns. After anonomyzing removes the headers which are known to reveal
the poster or poster's domain, it then removes all headers whose names do
not match (case-insensitively) one of these patterns. The default setting
keeps non X- headers, those X- headers added by Mailman and any X-Spam-
headers.
-------------------------------------------------------------------
Thu Feb 4 22:20:35 UTC 2021 - Matej Cepl <mcepl@suse.com>
- Add gl823_exclude_failing_tests.patch to skip two failing tests
(gl#mailman/mailman#823).
-------------------------------------------------------------------
Wed Feb 3 22:23:10 UTC 2021 - Jan Engelhardt <jengelh@inai.de>
- Modernize specfile. Update summary so it does not fall under
rpmlint name-repeated-in-summary.
-------------------------------------------------------------------
Wed Feb 3 16:31:26 UTC 2021 - Andreas Schneider <asn@cryptomilk.org>
- Fix building on tumbleweed
-------------------------------------------------------------------
Wed Feb 3 09:35:05 UTC 2021 - Michael Ströder <michael@stroeder.com>
- Update to 3.3.3:
* Handle some UnicodeEncodeErrors in creating digests. (Closes #560)
* Increased the size of the data column in the workflowstate table.
(Closes #793)
* Implemented a ``scrubber`` for plain text digests. (Closes #473)
* The ``mailman gatenews`` command now adds ``original_size`` as a message
attribute. (Extends fix for #762)
* Handle FileNotFoundError when creating digest.mmdf file without a
parent directory present. (Closes #699)
* Fixed an issue where content filtering can throw UnicodeEncodeError when
converting HTML to plain text. (Closes #798)
* A bounce for a non-existent list is now handled. (Closes #799)
* RFC 2047 From: headers in emailed ``join`` commands are now decoded.
(Closes #802)
* The ``mailman addmembers`` command now catches and reports a
``SubscriptionPendingError``. (Closes #805)
* RFC 2369 ``List-Owner`` header is now added when these headers are included.
(Closes #809)
* Header filters will now properly match RFC 2047 encoded headers.
(Closes #815)
* Mailman's ``vette`` log discard messages now include the reasons.
(Closes #816)
* Increase the default REST API (gunicorn) timeout to 360 seconds from 30 as
several API endpoinds can be very slow. (Closes #770)
* Header filter rules are now properly processed after deletions and/or
reordering. (Closes #818)
* Folded ``To: list-confirm+token@...`` headers are now parsed correctly.
(Closes: #819)
-------------------------------------------------------------------
Tue Dec 15 19:28:48 UTC 2020 - Andreas Schneider <asn@cryptomilk.org>
- Added mailman-notify.service and mailman-notify.timer
- Added rcmailman* service symlinks
- Added missing logrotate requirement
-------------------------------------------------------------------
Tue Dec 15 09:19:44 UTC 2020 - Andreas Schneider <asn@cryptomilk.org>
- Fix systemd services
-------------------------------------------------------------------
Tue Dec 15 08:57:37 UTC 2020 - Andreas Schneider <asn@cryptomilk.org>
- Add missing services and timers to systemd
-------------------------------------------------------------------
Sat Nov 28 17:49:08 UTC 2020 - Michael Ströder <michael@stroeder.com>
- Update to 3.3.2:
* Support for inviting users to join mailing lists.
* New adddmembers, delmembers and syncmembers command to
manage membership from CLI.
* Addition of new REST API endpoints that return the count of held messages
and subscription requests of much faster page loads in Postorius.
* Addition of support for filtering in some API endpoints like Members
and Subscription requests.
* Support for address= option in email join command to subscribe an address
other then sending address.
* Addition of who email command to lookup memberships.
* Expose emergency field for MailingList resource in REST API.
* Several bug fixes to support new major version of libraries like dnspython,
flufl.* etc.
-------------------------------------------------------------------
Wed Oct 7 05:46:29 UTC 2020 - Andreas Schneider <asn@cryptomilk.org>
- Remove suid bit from /var/lib/mailman/data
-------------------------------------------------------------------
Wed Sep 30 07:18:40 UTC 2020 - pgajdos@suse.com
- remove systemd (build)requires
-------------------------------------------------------------------
Sat Sep 26 10:38:00 UTC 2020 - Andreas Schneider <asn@cryptomilk.org>
- Create mailman user and group
- Create directories for mailman and use FHS directory layout
- Create initial /etc/mailman.cfg
- Create /etc/mailman.d/ directory for extensions
- Add systemd files
-------------------------------------------------------------------
Mon May 25 06:50:41 UTC 2020 - Petr Gajdos <pgajdos@suse.com>
- %python3_only -> %python_alternative
-------------------------------------------------------------------
Fri Apr 24 07:26:05 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
- Update to 3.3.1:
* No obvious changelog
-------------------------------------------------------------------
Thu Jan 23 15:04:12 UTC 2020 - pgajdos@suse.com
- do not require python-cffi, it will be required by
python-PyNaCl
-------------------------------------------------------------------
Tue Jan 14 12:55:34 UTC 2020 - pgajdos@suse.com
- be able to run test on 15
-------------------------------------------------------------------
Tue Dec 10 16:56:29 UTC 2019 - pgajdos@suse.com
- disable src/mailman/commands/tests/test_cli_create.py
https://gitlab.com/mailman/mailman/issues/654
-------------------------------------------------------------------
Mon Dec 2 10:47:14 UTC 2019 - pgajdos@suse.com
- call spec-cleaner
-------------------------------------------------------------------
Mon Dec 2 09:19:40 UTC 2019 - pgajdos@suse.com
- requires setuptools
-------------------------------------------------------------------
Wed Nov 20 16:06:34 UTC 2019 - pgajdos@suse.com
- /usr/sbin instead of /sbin in mailman.cfg
-------------------------------------------------------------------
Tue Nov 5 19:05:56 UTC 2019 - pgajdos@suse.com
- run the testsuite
-------------------------------------------------------------------
Tue Sep 24 13:44:55 UTC 2019 - pgajdos@suse.com
- initial version 3.3.0 [SLE-7686]

90
python-mailman.keyring Normal file
View File

@ -0,0 +1,90 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBFQfvbgBEADMrhxJ0gutmKHBtd92PkRWFO+dKjnWGx5z1Oow5LuV3lxD6BQd
SvrWCD1S8yaOnreJolhy3tYBSQMfnlWesjSkh3QDpedNMKH/2w/a09fNQObB7Ryg
qpnByYl3gcf9soQ1wvi4g3m7Scwv/ZeTwTqw+5Mn6PmGoxst9HcJre9yMJz56FWl
U7uQ2FevRB/9jwmB/rcuVKJ8gYr9haRva4TcSZEFC4mlfuPdVKyspjIKMZEIUwLf
8unfZW0ZCuySiMHW+rsIaeZIhgYy8w6L5i07+agcmFRTr3Hm1M1X20R1MPTgi12N
XXzfyTms7tSRhO/VjbghmceKWPqkfpPlr4U41dXlUGYWcjikz2xdvUB64dmo7qxV
occ2jm0xLo7n10U2kOpwLgDO0b6E5/+LLidyDZshRjMVx4mUG6/7cD58foWupskr
9TxgOq7COI/sGqnLUh7R4rH1/1xcPV1WgbPWCPytc2+S6U6+zFVQCtR5hjKJx0BM
HQfx1PK46CPiOrzdNp+ZvfHjJ8tSy7Fq/vVThCj1+pD8d/YYwqdq1J19Zu/7fgac
oyD3J6FwXb9Ol0EPqmV+GIvCRQfturjH+V2W77aqXcv+oPeyCux4a34x/wDWnwnL
bN+op28Z8yQ0Yin5ZYxwAErlER3G46z5likx/CX6KNkaC4QfZ4q3No0HiwARAQAB
tCZBYmhpbGFzaCBSYWogPG1heGtpbmdAYXN5bmNocm9ub3VzLmluPokCVAQTAQIA
JwIbAwUJEswDAAIeAQIXgAUCV83v6AULCQgHAwUVCgkICwUWAgMBAAAhCRCdmyug
YdCmfBYhBFQeoESEUzlP93oOzJ2bK6Bh0KZ8RoMQAMqsuDuej6Ij1haVTPIcx03A
cb7M2aNEcqFkR0vee4etI+G4dz+wE/MUfXinGEZU7RYGyiOcE37yX9kl2APDTlSh
0V+Oytgr/CP2ZP6jH4a36I4xJWnVJmlYLfWDbpsgc1XaRsT0gn+lRFSaqJormnah
wShZskSVJ2eL0StK//+ntspgenEgKG0WRL5VRprof6g7kr/YvU3Qw1X4LkXO1oyE
GY4w6TOzuKA3nPHvXcV+/jMVfO1PoM1LnJQ7hzOJ+cyqt8ItFYx+2k7P9azQBU3F
njtEr691yIz2zNRPgwtmbyac5aaYDoCrt0UIlCki7UQbHFgGWaklX29IsSnn0508
OAhWxnpgrYWKH+E3ohp3n51hV6vH2MBIJFNg8DDdKZirYAyoJmmj7Mw5TT46h5vg
i8roW8WsCIDhzhZAkpaXU2mrxbJ0rmHgOK55IBxaUmcO4yYzKxXFNtbH+D9KpqkM
s0rpBBGo1sOHyXO6Aw8irwKhpVE9CTT50lHPPg1QHqRreNcDs4nT7vbC4tN68tmr
9+0Rjy0SlouZJiutEIGOMNt7tyMmC03kDgZG6LwDnUVNOU1NeUorK9oQpMGNMwNi
FCW51Lf2MK4bUFESL2b7oaVgTS2QxPmJ59hZ8QDa7q/hCUij94nl89LXYWeM9fjY
FshJWPIw6sMd61LJPvUziQJVBBMBAgAoBQJVMCVkAhsDBQkSzAMABgsJCAcDAgYV
CAIJCgsEFgIDAQIeAQIXgAAhCRCdmyugYdCmfBYhBFQeoESEUzlP93oOzJ2bK6Bh
0KZ8BuQQALYfAMS0/ZGa8K3646F9q7uJvbTUtHe/CyvtmHljF+3fPfiC+wXVvV3P
nFKgPA2DcVgwZNQIBHTOi7QsFOYqr9s2Dj2mQ57BuG4k0nyj2ggIc4c7lXgnh9yG
WEz8JXI0gEA5VVP/TuTKvLxe0x9G2znmvF4796WQY0jqdVF46/rxuYw3UddY9DcC
3HK4M5F/ipUu2kHDeD2VRr40XVTOgftQEu1m63zJyYthUZQNiK91uFgmqj26fZIN
jQ7smfnXMSEpgqcvjMKlsvCr6/FKdR1R9hnhzgXNU0DfbSWUu2EiDjhaWZJJDd4q
At9VbChIL1A7wBO/yEJ2nVKNIOB+eXi5/Uh6ZEXhMD/hgCG5/Oi7j9N8q49mSSpY
Bf+/aU1DcHAYcDqFsATJ817ZdBGEdTTtZQZtqbfXPh6/IzgNEFHhXUI3fHSb/P0K
PiP1vXEvFHLm9QgvUX5OjDLfDmw6Oapr3qWGrS2mI7OiS1iF8N671/m2ggaMnEWw
FxGHCJSj+DlFZ8yjkHcHvwd7owFpBrBfw4EYmLEU/OjttAZtMHpOoC7z8RUJeeHp
x8eGm1RW8J3FQECvqr3v4fTx2cDS5gaFlJT35U0WXpwPsNfo6+b2Nu6B8zVh0HpN
R1zNZLcSaJd2t+NDRsTioxOMhyHMa4vu/2p2NPjBb4gznH/5mLYEtCZBYmhpbGFz
aCBSYWogPHJhai5hYmhpbGFzaDFAZ21haWwuY29tPokCVAQTAQIAJwIbAwUJEswD
AAIeAQIXgAUCV83v6AULCQgHAwUVCgkICwUWAgMBAAAhCRCdmyugYdCmfBYhBFQe
oESEUzlP93oOzJ2bK6Bh0KZ8fMYQAK9kqLJerJdtRBAfeq5+WkQHcmS9hCRWP78P
Od6F7jAwUNVF7QKyl6qBpVpSLBABE7oU8pLlj5tt1kk5VTRmE9KkRWGrRluK4ouh
6avClcGR8wP0a3uTOPkLk+GVTSqtn2lkgpaalkhBpodmCCdb2eQmJna2YWBNZTLU
gN2jBUBwalbqs3XO4HCSsjJ4dJOyN5SLHZTxBcFDZ13OmECnPhlcLuqHTt8x3bpy
eP/71psV2rt5Hf3fTg7/sPKHZCjjIPVxlh8RkaUVK105QzfMWUS9sqJFozfbY62S
bpS2I44pk+U9ShA1/bhayV7mcbnYBF4ssUWzY6GMmcVGo7HGJWGPebpqSvkKrKul
0dJ/vJHJBLuSfqqzLnpUAuZybl31ET7QiyUuATSWjlI70yOZrmZ4cERj4+fGc1HV
XixnuTLdTPO5r8EEElnTyPEkEDPqMINRYppaZJ8OWtTKHtFdQPLWsG47eRhuBPLe
c0Jkqgh17IRiIrgVmGs/aNb11CFDuS2YS9pRjTIETHsYmamP4vXvgCdK+if+JiDr
Tl0E8G6yM+gGPwGqP9nVTXy6VkhEvb6YZPsmnX3aHc6y0HzXvjJQI89vb8T0Vn3e
Baodx9U7PeSLqVj5bQcgGQ6+pD3wDll2Dtol1BoCf/G5zgChw7Y5PIHzfM5t+C5O
ibrkwrGXiQJVBBMBAgAoBQJUH724AhsDBQkSzAMABgsJCAcDAgYVCAIJCgsEFgID
AQIeAQIXgAAhCRCdmyugYdCmfBYhBFQeoESEUzlP93oOzJ2bK6Bh0KZ8oaoP/ArH
ghxbdx6P+ITdJ2c+ex+MUCsRTC94HytJ4m+VJ9KN710IeMHsUlVB8gTBM/k0BWOK
QT7okYwG3FtU19WZNdg5YT88wb0FVd8Co3kboiqWFfMtbaLF6lW+AoZgLdc0AEg1
wGL9XaHxSycsVaIVXaLFCdmYVanrY011+Mrt34uKsdIfODthN2ecistvj4Ze4drJ
Z8m7masHZFnPQEa4g2VNQzVW0nIapgPY4ZJb9XYIYXntIeVRyYxQ6ntGVcT+WQ/B
3Hq3+NJcahwh7t3pLoZeiamfmdyRDCrve0Gk7LoUzfQ18xtCftmW78fIPelLwaQR
66d3ruos1N45dBbvEa1mhv/R8C5mRl3fDo0AA1UHT1oljDQ0tnO/FQiGxZxaKMDO
vuNYtYLutVr4PyXQKZGOidUaZM90/CKnpptUAeW0UVcBo4/fb7OhjeWS9ZjZCb+j
FBSE1PLU/aX/mtbR2KgnQJC/MmFca+6cwYFdj5FZJnQIOqjSGrvhyZnwJkR8MdLo
kbxR9BRuTJo/d7u4IywkBQrGdjyafihwGQ/L/Wn3ktFbYvRlfUFalsw/3FR7N030
Sw/S0IdE3ykbBRfeGo3uAMAsg+nKHhg+H0CLY3vFvgBxjKAFk7wx0HAqoGHzN4Qr
Im9K8VQnxnAlca5eL5i5wzLZoU3x99li140TZvw7uQINBFQfvbgBEACyD56zlmtV
iALFCIl3pYn8hHwGXkJQo5moni2Y5dFI6M2cVCsoQfX7CKPxyxvhbI1LE4Bt+t2s
50U5qSjwFqd23WpBCM0t/m9t//NixhYn+iFUvoCt3SA3Usv+KyUL+dB0E0eoneV0
2SiUOL8yZPDRqKiHiIoR/gctUcVwKrF4bdlwrGfDeLHQSya4wkWngSUgqkzs5BES
tEFyRj1H2qmXaeuu0OfN5RvYpHi9MW5OV0lH5lQbULG+wevsW91tc3S10O0vC2gw
+qR8hFh1v4CGujFKv5S53tYbUrs6hcugjmowc3dW3Xzk1IsecC0bX/j/qY3oDgGz
VY7yDX1xgh6rZ1tgFIUzEbrNEgOYqL2M6OOyGeb5uQwMSXgrskC+kcqGNyCRc+mO
H2RfI0BODcxH0VKYU9rImnCHRZY5apEUGmXlc1A0bLD6/eA/l+G6v7H52lV1/YVg
fI9b0tQjaDiRQiXL5LnuLnXlqkF8TlzQpmlH0CysiSDxI5XVYROwMjJ35iDaiKvt
eteatJPuYQBxPFyKs5ay1MaXHZ6EuIeNPJpEI4i4kE10mC59yK8IfaLEKxAOVVXP
r6+jt7xtI65Ah4WNqHSTHWaxgHPN0Xk2JV9nkicBlPXu0WZJYYhVQx8/1m+FJVPK
/JMp9kw4Xkqgad2GLjhnvVzggx0S94GDAQARAQABiQI8BBgBAgAPBQJUH724AhsM
BQkSzAMAACEJEJ2bK6Bh0KZ8FiEEVB6gRIRTOU/3eg7MnZsroGHQpnw+Aw/+LNP7
syWi2aKBCcPDjRZkFA1Ht6ekCARG3xMVOtG4rPWukxyy1w9vmhiahMQrg2yhRi7E
Mi8DkO0WhyMKXBBTRjGylwuQymMwobcGeq7lAlCqvoHCFaTi/rb7ttFB09zIhJUl
YvCjdwAOa5ojkBq2t6b5mnVbd/XnY9fZ48IroxilZkguJoAUvhlBeVpRPrgEIfA8
DdYadSB1osJ4L+t+MsR9XDhYD2utZOgpAKcOkhhuWeOUXQSPELmuVY3bJUd1SodP
qHSd/EIrqbeFowJ0MOG6petefHds8KsCwA8TurzfzUJMdCM/MnA5feRY0n8PzgFT
8bxk2JoxlfHfvxBnTkg5R16yn9jgGiEeb6Orh8ATsjXO2uYpYmbZBO1EoA7SPXzT
kc4CQRUPP0KNnzDAjIat0SFgjo8WYIzGxfkoaWkUBWvjIXVjcAyHQxNRJ/pbceyb
Ea0GXnxUz00AksBxLmP4h/DoxqUmtflFdeuknu9LDPjiePX3n9SnN+qwqXeP4nbm
f1eZHGCIsFtKIx15SQDI+7IR/KtGa1djFJDsQCZCOHgr4C0nMZBi1pSqDfPvCrgK
WWng6K/K2zy5Vg/ZuleTyaqP3ZnvNqANMo6W7j/ZLGSTmy0uel4A5PbzvmpHWIIw
13uS0qfwHEvxfNbR011PQGPf7eD4e4i0uh4IcTw=
=s7HB
-----END PGP PUBLIC KEY BLOCK-----

5
python-mailman.rpmlintrc Normal file
View File

@ -0,0 +1,5 @@
addFilter("incoherent-logrotate-file /etc/logrotate.d/mailman")
addFilter("zero-length /usr/lib/python3../site-packages/mailman/templates/.*")
addFilter("obsolete-not-provided python3-mailman")
addFilter("explicit-lib-dependency python3.*-passlib")
addFilter("file-not-in-%lang")

309
python-mailman.spec Normal file
View File

@ -0,0 +1,309 @@
#
# spec file for package python-mailman
#
# 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/
#
%global aiosmtpd_min_version 1.4.3
# normally it would be 1.6.2,!=1.7.0 but to avoid super comlex constructs in the spec file ... lets go with the version that we have in TW
%global alembic_min_version 1.12
%global authheaders_min_version 0.16
%global authres_min_version 1.0.1
%global click_min_version 8.0.0
%global dnspython_min_version 1.14.0
%global falcon_min_version 3.1.3
%global flufl_bounce_min_version 4.0
%global flufl_i18n_min_version 3.2
%global flufl_lock_min_version 5.1
%global python_dateutil_min_version 2.0
%global sqlalchemy_min_version 1.4.0
%global zope_interface_min_version 5.0
%define mailman_name mailman
%define mailman_homedir %{_localstatedir}/lib/%{mailman_name}
%define mailman_logdir %{_localstatedir}/log/%{mailman_name}
%define mailman_spooldir %{_localstatedir}/spool/%{mailman_name}
%define mailman_rundir %{_rundir}/%{mailman_name}
%define mailman_lockdir %{_rundir}/lock/%{mailman_name}
%global mailman_services %{mailman_name}.service %{mailman_name}-digests.service %{mailman_name}-digests.timer %{mailman_name}-notify.service %{mailman_name}-notify.timer
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "test"
%define psuffix -test
%bcond_without test
%else
%define psuffix %{nil}
%bcond_with test
%endif
# Keep this in sync with HyperKitty und Postorius
# 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}}
%define plainpython python
Name: python-mailman%{psuffix}
Version: 3.3.10
Release: 0
Summary: A Mailing List Manager
Group: Productivity/Networking/Email/Mailinglists
License: GPL-3.0-only
URL: https://www.list.org
Source0: https://gitlab.com/mailman/mailman/-/releases/v%{version}/downloads/mailman-%{version}.tar.gz
Source1: https://gitlab.com/mailman/mailman/-/releases/v%{version}/downloads/mailman-%{version}.tar.gz.asc
Source2: python-mailman.keyring
#
Source10: mailman.cfg
Source11: mailman.service
Source12: mailman-tmpfiles.conf
Source13: mailman.logrotate
Source14: mailman-user.conf
#
Source20: mailman-digests.service
Source21: mailman-digests.timer
Source22: mailman-notify.service
Source23: mailman-notify.timer
#
Source30: README.SUSE.md
Source31: python-mailman.rpmlintrc
#
BuildRequires: %{python_module pdm}
BuildRequires: %{python_module pdm-backend}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildRequires: sysuser-tools
%if 0%{?suse_version} >= 1550
# use the real python3 primary for rpm pythondistdeps.py
BuildRequires: python3-packaging
%endif
BuildArch: noarch
%if %{with test}
BuildRequires: %{python_module flufl.testing}
BuildRequires: %{python_module nose2}
BuildRequires: %{python_module pytest}
BuildRequires: (mailman3 = %{version} with %mypython-mailman3)
%endif
%description
Mailman is a mailing list manager from the GNU project.
%package -n mailman3
Summary: A mailing list manager
Requires: %{mypython}-SQLAlchemy >= %{sqlalchemy_min_version}
Requires: %{mypython}-aiosmtpd >= %{aiosmtpd_min_version}
Requires: %{mypython}-alembic >= %{alembic_min_version}
Requires: %{mypython}-atpublic
Requires: %{mypython}-authheaders >= %{authheaders_min_version}
Requires: %{mypython}-authres >= %{authres_min_version}
Requires: %{mypython}-click >= %{click_min_version}
Requires: %{mypython}-dnspython >= %{dnspython_min_version}
Requires: %{mypython}-falcon >= %{falcon_min_version}
Requires: %{mypython}-flufl.bounce >= %{flufl_bounce_min_version}
Requires: %{mypython}-flufl.i18n >= %{flufl_i18n_min_version}
Requires: %{mypython}-flufl.lock >= %{flufl_lock_min_version}
Requires: %{mypython}-gunicorn
Requires: %{mypython}-lazr.config
Requires: %{mypython}-passlib
Requires: %{mypython}-psycopg2
Requires: %{mypython}-python-dateutil >= %{python_dateutil_min_version}
Requires: %{mypython}-requests
Requires: %{mypython}-zope.component
Requires: %{mypython}-zope.configuration
Requires: %{mypython}-zope.event
Requires: %{mypython}-zope.interface >= %{zope_interface_min_version}
Requires: logrotate
Requires(pre): /usr/sbin/groupadd
Requires(post): update-alternatives
Requires(postun): update-alternatives
Provides: mailman = %{version}
# help in replacing any previously installed flavor package back to the unprefixed package
%if 0%{?suse_version} < 1550
Requires: %{mypython}-importlib-resources >= 1.1.0
Obsoletes: python3-mailman < %{version}-%{release}
Obsoletes: python3-mailman3 < %{version}-%{release}
%endif
Provides: %{mypython}-mailman = %{version}-%{release}
Obsoletes: %{mypython}-mailman < %{version}-%{release}
Provides: %{mypython}-mailman3 = %{version}-%{release}
Obsoletes: %{mypython}-mailman3 < %{version}-%{release}
%description -n mailman3
Mailman is a mailing list manager from the GNU project.
%package -n system-user-%{mailman_name}
Summary: System user and group mailman
Requires(pre): group(lock)
Requires(pre): group(mail)
%sysusers_requires
%description -n system-user-%{mailman_name}
System user for use by the mailman client.
%prep
%autosetup -p1 -n mailman-%{version}
# README.SUSE.md
cp %{SOURCE30} .
%build
sed -i 's:/sbin:%{_prefix}/bin:' src/mailman/config/mailman.cfg
%pyproject_wheel
./generate_mo.sh
%sysusers_generate_pre %{SOURCE14} mailman system-user-%{mailman_name}.conf
%install
%if !%{with test}
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
install -d -m 0755 \
%{buildroot}%{_sysconfdir} \
%{buildroot}%{_sysconfdir}/%{mailman_name}.d \
%{buildroot}%{_tmpfilesdir} \
%{buildroot}%{_sbindir} \
%{buildroot}%{_unitdir} \
%{buildroot}%{mailman_homedir} \
%{buildroot}%{mailman_homedir}/data \
%{buildroot}%{mailman_rundir} \
%{buildroot}%{mailman_lockdir} \
%{buildroot}%{mailman_logdir} \
%{buildroot}%{mailman_spooldir}
%if 0%{?suse_version} > 1500
install -d -m 0755 %{buildroot}%{_distconfdir}/logrotate.d
install -m 0644 %{SOURCE13} %{buildroot}%{_distconfdir}/logrotate.d/%{mailman_name}
sed -i 's,@LOGDIR@,%{mailman_logdir},g;s,@BINDIR@,%{_bindir},g' \
%{buildroot}%{_distconfdir}/logrotate.d/%{mailman_name}
%else
install -d -m 0755 %{buildroot}%{_sysconfdir}/logrotate.d
install -m 0644 %{SOURCE13} %{buildroot}%{_sysconfdir}/logrotate.d/%{mailman_name}
sed -i 's,@LOGDIR@,%{mailman_logdir},g;s,@BINDIR@,%{_bindir},g' \
%{buildroot}%{_sysconfdir}/logrotate.d/%{mailman_name}
%endif
install -m 0640 %{SOURCE10} %{buildroot}%{_sysconfdir}/%{mailman_name}.cfg
install -m 0644 %{SOURCE11} %{buildroot}%{_unitdir}/%{mailman_name}.service
install -m 0644 %{SOURCE12} %{buildroot}%{_tmpfilesdir}/%{mailman_name}.conf
install -D -m 0644 %{SOURCE14} %{buildroot}%{_sysusersdir}/system-user-%{mailman_name}.conf
install -m 0644 %{SOURCE20} %{buildroot}%{_unitdir}/%{mailman_name}-digests.service
install -m 0644 %{SOURCE21} %{buildroot}%{_unitdir}/%{mailman_name}-digests.timer
install -m 0644 %{SOURCE22} %{buildroot}%{_unitdir}/%{mailman_name}-notify.service
install -m 0644 %{SOURCE23} %{buildroot}%{_unitdir}/%{mailman_name}-notify.timer
ln -s /sbin/service %{buildroot}%{_sbindir}/rc%{mailman_name}
ln -s /sbin/service %{buildroot}%{_sbindir}/rc%{mailman_name}-digests
ln -s /sbin/service %{buildroot}%{_sbindir}/rc%{mailman_name}-notify
%endif
%check
%if %{with test}
export LANG=C.UTF-8
%if 0%{?suse_version} <= 1500
# mailman.rest.tests.test_wsgiapp.TestSupportedContentType
# AssertionError: 'application/json; charset=UTF-8' != 'application/json'
rm src/mailman/rest/tests/test_wsgiapp.py
%endif
# doctest fails miserably
find -name '*.rst' -exec rm {} \;
# used to have ports 902{4,5}
rm src/mailman/mta/tests/test_aliases.py
# PermissionError: [Errno 13] Permission denied: '/usr/bin/master'
rm src/mailman/core/tests/test_logging.py
# PermissionError: [Errno 13] Permission denied: '/usr/bin/master'
rm src/mailman/commands/tests/test_cli_control.py
# do not use well known ports 9024 and 9025
sed -i "s:\(902\):4\1:" src/mailman/testing/testing.cfg
# https://gitlab.com/mailman/mailman/-/issues/1125
rm src/mailman/handlers/tests/test_avoid_duplicates.py
#
%python_exec -m nose2 -v
%endif
%if !%{with test}
%pre -n system-user-%{mailman_name} -f mailman.pre
%pre -n mailman3
%service_add_pre %{mailman_services}
%if 0%{?suse_version} > 1500
# Prepare for migration to /usr/etc; save any old .rpmsave
for i in logrotate.d/%{mailman_name} ; do
test -f %{_sysconfdir}/${i}.rpmsave && mv -v %{_sysconfdir}/${i}.rpmsave %{_sysconfdir}/${i}.rpmsave.old ||:
done
%endif
%if 0%{?suse_version} > 1500
%posttrans -n mailman3
# Migration to /usr/etc, restore just created .rpmsave
for i in logrotate.d/%{mailman_name} ; do
test -f %{_sysconfdir}/${i}.rpmsave && mv -v %{_sysconfdir}/${i}.rpmsave %{_sysconfdir}/${i} ||:
done
%endif
%post -n mailman3
%tmpfiles_create %{_tmpfilesdir}/%{mailman_name}.conf
%service_add_post %{mailman_services}
%preun -n mailman3
%service_del_preun %{mailman_services}
%postun -n mailman3
%service_del_postun %{mailman_services}
%files -n mailman3
%doc README.md README.SUSE.md src/mailman/docs/NEWS.rst
%license COPYING
%{_sbindir}/rc%{mailman_name}*
%{_bindir}/runner
%{_bindir}/mailman
%{_bindir}/master
%{mypython_sitelib}/mailman
%{mypython_sitelib}/mailman-%{version}*-info
%{_unitdir}/%{mailman_name}.service
%{_unitdir}/%{mailman_name}-digests.service
%{_unitdir}/%{mailman_name}-digests.timer
%{_unitdir}/%{mailman_name}-notify.service
%{_unitdir}/%{mailman_name}-notify.timer
%{_tmpfilesdir}/%{mailman_name}.conf
%config(noreplace) %attr(640,root,mailman) %{_sysconfdir}/mailman.cfg
%if 0%{?suse_version} > 1500
%{_distconfdir}/logrotate.d/%{mailman_name}
%else
%config(noreplace) %{_sysconfdir}/logrotate.d/%{mailman_name}
%endif
%dir %attr(750,root,mailman) %{_sysconfdir}/%{mailman_name}.d
%dir %attr(750,mailman,mailman) %{mailman_homedir}
%dir %attr(770,mailman,mail) %{mailman_homedir}/data
%dir %attr(750,mailman,mailman) %{mailman_spooldir}
%dir %attr(750,mailman,mailman) %{mailman_logdir}
%ghost %dir %{mailman_rundir}
%ghost %dir %{_rundir}/lock
%ghost %dir %{mailman_lockdir}
%files -n system-user-%{mailman_name}
%{_sysusersdir}/system-user-%{mailman_name}.conf
%endif
%changelog

21
ssl_test_cert.crt Normal file
View File

@ -0,0 +1,21 @@
-----BEGIN CERTIFICATE-----
MIIDeDCCAmCgAwIBAgIJANA3MRKsRL/OMA0GCSqGSIb3DQEBCwUAMFExCzAJBgNV
BAYTAlVTMQswCQYDVQQIDAJNQTEhMB8GA1UECgwYTWFpbG1hbiB0ZXN0IGNlcnRp
ZmljYXRlMRIwEAYDVQQDDAlsb2NhbGhvc3QwHhcNMTcwNTI3MTYxNzIzWhcNMjcw
NTI1MTYxNzIzWjBRMQswCQYDVQQGEwJVUzELMAkGA1UECAwCTUExITAfBgNVBAoM
GE1haWxtYW4gdGVzdCBjZXJ0aWZpY2F0ZTESMBAGA1UEAwwJbG9jYWxob3N0MIIB
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAycCl/y9Cpm0jW921eIraIieh
cxXPrYed66SxZwoZNt8StaFfNOeqykIiFpUR/5KYc1Sk0yF2tGfFv6l17xG0fuCI
OkH1EynhXZiPbdcvmqF2W6Fa1g5kZJ//KbhK4rRsUEVp/2pHVjMG6toenM+S/1LE
35XiNyIHF6ZeENAb/zR3ikjYH0MSEq2doBmKd9/m48+z5Vb+MbyIG7jbvN3MQ9f/
NXAIwcGf37RO5+yNIcvqTV9SMBAZb1l+rMrsks6Ghr3NoBP1kuqJF5vFropKBx7R
1MKvYm2ISL5UaWbFPYs9A4VhtzhMWBLZGHQPFHnR7dub7et8eiC7fbsdx4uyGwID
AQABo1MwUTAdBgNVHQ4EFgQUe1Q+FbXTQjLoeTuSlxQQCeE+jpQwHwYDVR0jBBgw
FoAUe1Q+FbXTQjLoeTuSlxQQCeE+jpQwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG
9w0BAQsFAAOCAQEANbliLrarZfinHQ+/TQIOdqolsscw7RtyFtB7wA2uqWNsH/77
EYDiv8AhpAQB3dzKwGdapgYgsWUe2awSD67TAJg5XS/h9F1PbbjDYGC9v6T7HDPd
SfGV34LbWmH60rE6B1lwyCACnOXhByFGrdicCm2Z073kTp5L7WuAqpwC1f3aMC0u
9goUWHSfqSIPPIv8yiV0vgKk4kP4KV/gi20x74c31pujExCiVGA4GGTXV9hqmAm7
tZuPTYFN5n60U1tzbFXOuwK6CvCDzWeq27mYwNHTXSJw1GyG4XXM5t2wfSlu/4e4
xDuZwvP0P7hTME5wC7KGeS7daYSWNCDiHa7g6A==
-----END CERTIFICATE-----

28
ssl_test_key.key Normal file
View File

@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDJwKX/L0KmbSNb
3bV4itoiJ6FzFc+th53rpLFnChk23xK1oV8056rKQiIWlRH/kphzVKTTIXa0Z8W/
qXXvEbR+4Ig6QfUTKeFdmI9t1y+aoXZboVrWDmRkn/8puEritGxQRWn/akdWMwbq
2h6cz5L/UsTfleI3IgcXpl4Q0Bv/NHeKSNgfQxISrZ2gGYp33+bjz7PlVv4xvIgb
uNu83cxD1/81cAjBwZ/ftE7n7I0hy+pNX1IwEBlvWX6syuySzoaGvc2gE/WS6okX
m8WuikoHHtHUwq9ibYhIvlRpZsU9iz0DhWG3OExYEtkYdA8UedHt25vt63x6ILt9
ux3Hi7IbAgMBAAECggEATRjFVmLlAVwrauuqcUn+WZbzZ1sqZZGxk174O/vr7sAI
Ekh8bWcqKOhkxmRo4FVQ1KG/6r6a8g3Fz5weaSFG7EU5Sany0UPrzyyBguP8WQbi
h9l9MNeHHbzWcUbvtvpjeblM7EHcyN/vAMghcqMP9WnXuek47QCf3TXCNIKScE8a
sU01o7Lw4CkZOLP9UyLmoKiQpurj7jWOMq10QOG4693dnfcgz7voPZPrt8OnAo7x
ap4ojK9nWfjFHFxpsddBhXBxzXw/U8FxtzYtCbzxL7iYpxpq0GEc/5eF8O+RE4MX
D1uqrkLfVM4HMOgQoFLrSGcPahYSVRrQ3X+lYV+OQQKBgQDotmodstq4T3D+7buY
J3zi+saEDvcPxgy31934jm465WfNiYSrnq5PqJCkzVpYMPuj0O8za75OoyRK2viT
glBKjP0vxNXh91tTi4eU7LCFPNwOwnt+e3tu+eA4klFpQIEUI8PHlEe4VBGlvpsD
DoPHuIHCouAEXhpu/ck58+QxKQKBgQDd8Rshc7h8PY26Rxrzgjob9PvDHxQODodU
iRUAELscSkr4gwYTgmDL4vL+lOog7IAYGmSOsHLJ19wTbLsaPMPfhUh+zXuvwlA5
/01uYFp0UM4ax4DdTGPA5qOAIkLY3rL1x6U0eBf6XJhdG8mTW9SjbD1aCbDGdZk6
9KJVUlDdowKBgD4NHeCLZ1zL+gJP27ynktpnKfXek6xGD/AZhFuZhvT3ZKVerNyi
NDKTbPY0t4lajk7REGcyrI0FXVEEcFHM5qHqVDyfjLRzI4v0YZOpRSxR3Q+mdg10
2aXuxQXwpfqds41uN+8Ir9MLv6TlXSoEfckMfrUqfvdLLFs6GqT0Tn15AoGBANG0
05HUKekasCPms8yKrCVmYcyIPQbbK3vw2uro5CNi/1u5UbB1bMi5dCigxGi/jnk3
1vQMPSoC0Gt6PYAZEmrNISbPOaNk0zE5zgwQ9ucYwuYCw/xWBZtrUensdYU9R5N8
RNlC8EUb4Mt5Sgn2pwCTcZT1uxaKX3KZXBmKYeZJAoGAAtWlzPxgwDglNhhuLpgW
vSOH0lpHlR//Ne7kMPCfG4lrAaPo5VSfQrjlzoF9tlhu0IuRKnwOg4HmFD9COaLA
RWTNDLMxBct5lZNAjgIzI5nZm6VLioCQkAdThzSBTxpGrIR0iDR99RWf/M4p7cK6
tiqX285r1nogUpROl0uraV4=
-----END PRIVATE KEY-----