From 2728578dab9ef34949b7f281dcbd740c355e9bfec9eab8e7e4c8345e74d47ea3 Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Fri, 19 Nov 2021 21:32:21 +0000 Subject: [PATCH 1/3] Accepting request 932465 from home:gladiac:mailman3 - Update to 3.3.5 * https://gitlab.com/mailman/mailman/-/blob/3.3.5/src/mailman/docs/NEWS.rst - Added support-alembic-1-7.patch - Removed obsolete support-click-8-0.patch - Added rpmlintrc OBS-URL: https://build.opensuse.org/request/show/932465 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:mailman/python-mailman?expand=0&rev=53 --- mailman-3.3.4.tar.gz | 3 - mailman-3.3.5.tar.gz | 3 + python-mailman.changes | 9 +++ python-mailman.rpmlintrc | 2 + python-mailman.spec | 68 ++++++++++++----------- support-alembic-1-7.patch | 24 ++++++++ support-click-8-0.patch | 104 ----------------------------------- support-sqlalchemy-1-4.patch | 1 + 8 files changed, 75 insertions(+), 139 deletions(-) delete mode 100644 mailman-3.3.4.tar.gz create mode 100644 mailman-3.3.5.tar.gz create mode 100644 python-mailman.rpmlintrc create mode 100644 support-alembic-1-7.patch delete mode 100644 support-click-8-0.patch diff --git a/mailman-3.3.4.tar.gz b/mailman-3.3.4.tar.gz deleted file mode 100644 index e3d9510..0000000 --- a/mailman-3.3.4.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5add3e80146a704664cc398cd6b9b046c70fa8e57211d8936cec57b484183d07 -size 1578084 diff --git a/mailman-3.3.5.tar.gz b/mailman-3.3.5.tar.gz new file mode 100644 index 0000000..1c8ab14 --- /dev/null +++ b/mailman-3.3.5.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9fb38d9b516d9fdeb9c9f961a7630330cda46c490b91defc94b2c16683eeaf8a +size 1771305 diff --git a/python-mailman.changes b/python-mailman.changes index 5de99bd..b2c9c44 100644 --- a/python-mailman.changes +++ b/python-mailman.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Wed Nov 17 08:15:44 UTC 2021 - Andreas Schneider + +- Update to 3.3.5 + * https://gitlab.com/mailman/mailman/-/blob/3.3.5/src/mailman/docs/NEWS.rst +- 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 diff --git a/python-mailman.rpmlintrc b/python-mailman.rpmlintrc new file mode 100644 index 0000000..af7090f --- /dev/null +++ b/python-mailman.rpmlintrc @@ -0,0 +1,2 @@ +addFilter("incoherent-logrotate-file /etc/logrotate.d/mailman") +addFilter("zero-length /usr/lib/python3.6/site-packages/mailman/templates/.*") diff --git a/python-mailman.spec b/python-mailman.spec index fe8410f..d78fba4 100644 --- a/python-mailman.spec +++ b/python-mailman.spec @@ -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,42 +56,44 @@ 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 Requires: logrotate -Requires: python-SQLAlchemy >= 1.2.3 -Requires: python-aiosmtpd >= 1.4.1 -Requires: python-alembic -Requires: python-atpublic -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-gunicorn -Requires: python-importlib_resources >= 1.1.0 -Requires: python-lazr.config -Requires: python-passlib -Requires: python-python-dateutil >= 2.0 -Requires: python-requests -Requires: python-setuptools -Requires: python-zope.component -Requires: python-zope.configuration -Requires: python-zope.event -Requires: python-zope.interface >= 5.0 +Requires: python3-SQLAlchemy >= 1.2.3 +Requires: python3-aiosmtpd >= 1.4.1 +Requires: python3-alembic +Requires: python3-atpublic +Requires: python3-authheaders >= 0.9.2 +Requires: python3-authres >= 1.0.1 +Requires: python3-click >= 7.0 +Requires: python3-dnspython >= 1.14.0 +Requires: python3-falcon > 3.0.0 +Requires: python3-flufl.bounce >= 4.0 +Requires: python3-flufl.i18n >= 3.2 +Requires: python3-flufl.lock >= 5.1 +Requires: python3-gunicorn +Requires: python3-importlib-resources >= 1.1.0 +Requires: python3-lazr.config +Requires: python3-passlib +Requires: python3-python-dateutil >= 2.0 +Requires: python3-requests +Requires: python3-setuptools +Requires: python3-zope.component +Requires: python3-zope.configuration +Requires: python3-zope.event +Requires: python3-zope.interface >= 5.0 Requires(post): update-alternatives Requires(postun):update-alternatives Provides: mailman = %{version} @@ -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 diff --git a/support-alembic-1-7.patch b/support-alembic-1-7.patch new file mode 100644 index 0000000..4c33583 --- /dev/null +++ b/support-alembic-1-7.patch @@ -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 diff --git a/support-click-8-0.patch b/support-click-8-0.patch deleted file mode 100644 index 04dcd8c..0000000 --- a/support-click-8-0.patch +++ /dev/null @@ -1,104 +0,0 @@ -From 5d27492403f80c4b4ea1820b3d6f821bd8401ca8 Mon Sep 17 00:00:00 2001 -From: Mark Sapiro -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 diff --git a/support-sqlalchemy-1-4.patch b/support-sqlalchemy-1-4.patch index 246f057..9ec76ee 100644 --- a/support-sqlalchemy-1-4.patch +++ b/support-sqlalchemy-1-4.patch @@ -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), + From e850eae4587133eb3d37886396fe938e7b5c7f87f1b5f2a4d9f2c85d6a46e947 Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Fri, 19 Nov 2021 21:35:58 +0000 Subject: [PATCH 2/3] Fix changes OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:mailman/python-mailman?expand=0&rev=54 --- python-mailman.changes | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/python-mailman.changes b/python-mailman.changes index b2c9c44..646ee0d 100644 --- a/python-mailman.changes +++ b/python-mailman.changes @@ -1,8 +1,29 @@ ------------------------------------------------------------------- Wed Nov 17 08:15:44 UTC 2021 - Andreas Schneider -- Update to 3.3.5 - * https://gitlab.com/mailman/mailman/-/blob/3.3.5/src/mailman/docs/NEWS.rst +- 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 From e4cc363209c7f27a3329d2e3aff4396215705e02a31c7cf2f4a05cae2e07c9e3 Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Fri, 19 Nov 2021 21:46:11 +0000 Subject: [PATCH 3/3] Revert python -> python3 in Requires OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:mailman/python-mailman?expand=0&rev=55 --- python-mailman.spec | 46 ++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/python-mailman.spec b/python-mailman.spec index d78fba4..529da67 100644 --- a/python-mailman.spec +++ b/python-mailman.spec @@ -71,29 +71,29 @@ BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: python-rpm-macros Requires: logrotate -Requires: python3-SQLAlchemy >= 1.2.3 -Requires: python3-aiosmtpd >= 1.4.1 -Requires: python3-alembic -Requires: python3-atpublic -Requires: python3-authheaders >= 0.9.2 -Requires: python3-authres >= 1.0.1 -Requires: python3-click >= 7.0 -Requires: python3-dnspython >= 1.14.0 -Requires: python3-falcon > 3.0.0 -Requires: python3-flufl.bounce >= 4.0 -Requires: python3-flufl.i18n >= 3.2 -Requires: python3-flufl.lock >= 5.1 -Requires: python3-gunicorn -Requires: python3-importlib-resources >= 1.1.0 -Requires: python3-lazr.config -Requires: python3-passlib -Requires: python3-python-dateutil >= 2.0 -Requires: python3-requests -Requires: python3-setuptools -Requires: python3-zope.component -Requires: python3-zope.configuration -Requires: python3-zope.event -Requires: python3-zope.interface >= 5.0 +Requires: python-SQLAlchemy >= 1.2.3 +Requires: python-aiosmtpd >= 1.4.1 +Requires: python-alembic +Requires: python-atpublic +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 > 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-lazr.config +Requires: python-passlib +Requires: python-python-dateutil >= 2.0 +Requires: python-requests +Requires: python-setuptools +Requires: python-zope.component +Requires: python-zope.configuration +Requires: python-zope.event +Requires: python-zope.interface >= 5.0 Requires(post): update-alternatives Requires(postun):update-alternatives Provides: mailman = %{version}