Accepting request 932595 from devel:languages:python:mailman

- 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

OBS-URL: https://build.opensuse.org/request/show/932595
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-mailman?expand=0&rev=14
This commit is contained in:
Dominique Leuenberger 2021-11-22 22:03:59 +00:00 committed by Git OBS Bridge
commit 53e2773f74
8 changed files with 78 additions and 121 deletions

View File

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

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

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

View File

@ -1,3 +1,33 @@
-------------------------------------------------------------------
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>

2
python-mailman.rpmlintrc Normal file
View File

@ -0,0 +1,2 @@
addFilter("incoherent-logrotate-file /etc/logrotate.d/mailman")
addFilter("zero-length /usr/lib/python3.6/site-packages/mailman/templates/.*")

View File

@ -37,9 +37,10 @@
%{?!python_module:%define python_module() python3-%{**}}
%define pythons python3
Name: python-mailman%{psuffix}
Version: 3.3.4
Version: 3.3.5
Release: 0
Summary: A mailing list manager
Group: Productivity/Networking/Email/Mailinglists
License: GPL-3.0-only
URL: https://www.list.org
Source0: https://files.pythonhosted.org/packages/source/m/mailman/mailman-%{version}.tar.gz
@ -55,15 +56,17 @@ Source22: mailman-notify.service
Source23: mailman-notify.timer
#
Source30: README.SUSE.md
Source31: python-mailman.rpmlintrc
#
Source100: https://gitlab.com/mailman/mailman/-/raw/master/src/mailman/testing/ssl_test_cert.crt
Source101: https://gitlab.com/mailman/mailman/-/raw/master/src/mailman/testing/ssl_test_key.key
# whitespace fix
Patch0: python-mailman-test_interact_default_banner.patch
# Based on https://gitlab.com/mailman/mailman/-/commit/5d27492403f80c4b4ea1820b3d6f821bd8401ca8
Patch1: support-click-8-0.patch
# Support SQLAlchemy 1.4 ... maybe backward compatible
Patch2: support-sqlalchemy-1-4.patch
Patch1: support-sqlalchemy-1-4.patch
# Suppprt Alembic 1.7.x
Patch2: support-alembic-1-7.patch
#
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
@ -76,12 +79,12 @@ Requires: python-authheaders >= 0.9.2
Requires: python-authres >= 1.0.1
Requires: python-click >= 7.0
Requires: python-dnspython >= 1.14.0
Requires: python-falcon > 1.0.0
Requires: python-flufl.bounce
Requires: python-flufl.i18n >= 2.0
Requires: python-flufl.lock >= 3.1
Requires: python-falcon > 3.0.0
Requires: python-flufl.bounce >= 4.0
Requires: python-flufl.i18n >= 3.2
Requires: python-flufl.lock >= 5.1
Requires: python-gunicorn
Requires: python-importlib_resources >= 1.1.0
Requires: python-importlib-resources >= 1.1.0
Requires: python-lazr.config
Requires: python-passlib
Requires: python-python-dateutil >= 2.0
@ -104,13 +107,13 @@ BuildRequires: %{python_module authheaders >= 0.9.2}
BuildRequires: %{python_module authres >= 1.0.1}
BuildRequires: %{python_module click >= 7.0}
BuildRequires: %{python_module dnspython >= 1.14.0}
BuildRequires: %{python_module falcon > 1.0.0}
BuildRequires: %{python_module flufl.bounce}
BuildRequires: %{python_module flufl.i18n >= 2.0}
BuildRequires: %{python_module flufl.lock >= 3.1}
BuildRequires: %{python_module falcon > 3.0.0}
BuildRequires: %{python_module flufl.bounce >= 4.0}
BuildRequires: %{python_module flufl.i18n >= 3.2}
BuildRequires: %{python_module flufl.lock >= 5.1}
BuildRequires: %{python_module flufl.testing}
BuildRequires: %{python_module gunicorn}
BuildRequires: %{python_module importlib_resources >= 1.1.0}
BuildRequires: %{python_module importlib-resources >= 1.1.0}
BuildRequires: %{python_module lazr.config}
BuildRequires: %{python_module mailman >= %{version}}
BuildRequires: %{python_module nose2}
@ -189,6 +192,7 @@ 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

24
support-alembic-1-7.patch Normal file
View File

@ -0,0 +1,24 @@
Index: mailman-3.3.5/setup.py
===================================================================
--- mailman-3.3.5.orig/setup.py 2021-11-17 14:13:41.906620492 +0100
+++ mailman-3.3.5/setup.py 2021-11-17 14:14:51.339103855 +0100
@@ -111,7 +111,7 @@ case second 'm'. Any other spelling is
},
install_requires = [
'aiosmtpd>=1.4.1',
- 'alembic>=1.6.2,<1.7',
+ 'alembic>=1.6.2,<1.8',
'atpublic',
'authheaders>=0.9.2',
'authres>=1.0.1',
Index: mailman-3.3.5/src/mailman.egg-info/requires.txt
===================================================================
--- mailman-3.3.5.orig/src/mailman.egg-info/requires.txt 2021-09-29 05:25:10.000000000 +0200
+++ mailman-3.3.5/src/mailman.egg-info/requires.txt 2021-11-17 14:15:21.459313543 +0100
@@ -1,5 +1,5 @@
aiosmtpd>=1.4.1
-alembic<1.7,>=1.6.2
+alembic<1.8,>=1.6.2
atpublic
authheaders>=0.9.2
authres>=1.0.1

View File

@ -1,104 +0,0 @@
From 5d27492403f80c4b4ea1820b3d6f821bd8401ca8 Mon Sep 17 00:00:00 2001
From: Mark Sapiro <mark@msapiro.net>
Date: Tue, 11 May 2021 18:14:59 -0700
Subject: [PATCH] Require click >=8.0.0 and fix the tests it breaks.
---
setup.py | 2 +-
src/mailman/commands/docs/import.rst | 1 +
src/mailman/commands/tests/test_cli_addmembers.py | 8 ++++----
src/mailman/commands/tests/test_cli_delmembers.py | 4 ++--
src/mailman/commands/tests/test_cli_syncmembers.py | 8 ++++----
5 files changed, 12 insertions(+), 11 deletions(-)
Index: mailman-3.3.4/setup.py
===================================================================
--- mailman-3.3.4.orig/setup.py
+++ mailman-3.3.4/setup.py
@@ -115,7 +115,7 @@ case second 'm'. Any other spelling is
'atpublic',
'authheaders>=0.9.2',
'authres>=1.0.1',
- 'click>=7.0.0',
+ 'click>=8.0.0',
'dnspython>=1.14.0',
'falcon>1.0.0',
'flufl.bounce',
Index: mailman-3.3.4/src/mailman/commands/docs/import.rst
===================================================================
--- mailman-3.3.4.orig/src/mailman/commands/docs/import.rst
+++ mailman-3.3.4/src/mailman/commands/docs/import.rst
@@ -58,5 +58,6 @@ import, the mailing list's "real name" w
Import
>>> command('mailman import21 import@example.com ' + pickle_file)
+ Importing ...
>>> print(mlist.display_name)
Test
Index: mailman-3.3.4/src/mailman/commands/tests/test_cli_addmembers.py
===================================================================
--- mailman-3.3.4.orig/src/mailman/commands/tests/test_cli_addmembers.py
+++ mailman-3.3.4/src/mailman/commands/tests/test_cli_addmembers.py
@@ -57,8 +57,8 @@ class TestCLIAddMembers(unittest.TestCas
result.output,
'Usage: addmembers [OPTIONS] FILENAME LISTSPEC\n'
'Try \'addmembers --help\' for help.\n\n'
- 'Error: Invalid value for \'FILENAME\': Could not open '
- 'file: bad: No such file or directory\n')
+ 'Error: Invalid value for \'FILENAME\': '
+ '\'bad\': No such file or directory\n')
def test_already_subscribed_with_display_name(self):
subscribe(self._mlist, 'Anne')
@@ -265,8 +265,8 @@ class TestCLIAddMembers(unittest.TestCas
'Usage: addmembers [OPTIONS] FILENAME LISTSPEC\n'
'Try \'addmembers --help\' for help.\n\n'
'Error: Invalid value for \'--delivery\' / \'-d\': '
- 'invalid choice: bogus. (choose from regular, mime, '
- 'plain, summary, disabled)\n')
+ '\'bogus\' is not one of \'regular\', \'mime\', '
+ '\'plain\', \'summary\', \'disabled\'.\n')
def test_invite_member(self):
with NamedTemporaryFile('w', buffering=1, encoding='utf-8') as infp:
Index: mailman-3.3.4/src/mailman/commands/tests/test_cli_delmembers.py
===================================================================
--- mailman-3.3.4.orig/src/mailman/commands/tests/test_cli_delmembers.py
+++ mailman-3.3.4/src/mailman/commands/tests/test_cli_delmembers.py
@@ -56,8 +56,8 @@ class TestCLIDelMembers(unittest.TestCas
result.output,
'Usage: delmembers [OPTIONS]\n'
'Try \'delmembers --help\' for help.\n\n'
- 'Error: Invalid value for \'--file\' / \'-f\': Could not open '
- 'file: bad: No such file or directory\n')
+ 'Error: Invalid value for \'--file\' / \'-f\': '
+ '\'bad\': No such file or directory\n')
def test_not_subscribed_without_display_name(self):
with NamedTemporaryFile('w', buffering=1, encoding='utf-8') as infp:
Index: mailman-3.3.4/src/mailman/commands/tests/test_cli_syncmembers.py
===================================================================
--- mailman-3.3.4.orig/src/mailman/commands/tests/test_cli_syncmembers.py
+++ mailman-3.3.4/src/mailman/commands/tests/test_cli_syncmembers.py
@@ -58,8 +58,8 @@ class TestCLISyncMembers(unittest.TestCa
result.output,
'Usage: syncmembers [OPTIONS] FILENAME LISTSPEC\n'
'Try \'syncmembers --help\' for help.\n\n'
- 'Error: Invalid value for \'FILENAME\': Could not open '
- 'file: bad: No such file or directory\n')
+ 'Error: Invalid value for \'FILENAME\': '
+ '\'bad\': No such file or directory\n')
def test_sync_invalid_email(self):
with NamedTemporaryFile('w', buffering=1, encoding='utf-8') as infp:
@@ -374,8 +374,8 @@ class TestCLISyncMembers(unittest.TestCa
'Usage: syncmembers [OPTIONS] FILENAME LISTSPEC\n'
'Try \'syncmembers --help\' for help.\n\n'
'Error: Invalid value for \'--delivery\' / \'-d\': '
- 'invalid choice: bogus. (choose from regular, mime, '
- 'plain, summary, disabled)\n')
+ '\'bogus\' is not one of \'regular\', \'mime\', '
+ '\'plain\', \'summary\', \'disabled\'.\n')
def test_override_no_welcome(self):
self._mlist.send_welcome_message = False

View File

@ -88,3 +88,4 @@ Index: mailman-3.3.4/src/mailman/commands/tests/test_cli_delmembers.py
members = list(self._mlist.members.members)
self.assertEqual(len(members), 1)
self.assertEqual(str(members[0].address),