mailman3: update to 3.3.9

3.3.9

Configuration
* BREAKING CHANGE: logging.http section has now been split into two parts,
  logging.http is for the Mailman internal code and logging.gunicorn is
  for Gunicorn specifically since they have different logging formats.
  This should fix suprious errors with KeyError: t that was often
  confusing for users.
* Python 3.9 is now the minimum supported version of Python.

Bugs fixed
* config.mta.remove_dkim_headers now applies to messages to -owner.
* The master process now robustly detects when runner processes terminate
  and restarts them.
* Setting Postfix transport_file_type: regex without setting something
  for postmap_command: no longer throws an exception.
* When bounce processing disables delivery for a user, the user’s score is
  reset so it will be zero if delivery is enabled.
* The mailman shell command now works and displays the banner with
  use_ipython: yes.
* Bogus Message-ID headers that have been observed in the wild are now fixed.
* Raising StopIteration in a workflow process no longer creates a
  mailman.error log entry.
* The task runner now evicts old, processed bounce events.
* We now require authheaders>=0.15.2.
* Digests no longer contain a bogus Archived-At header.
* Content filtering will no longer add its report to a non-mixed multipart
  message but will wrap the message and add the report to the wrapper.
* The administrivia rule will now decode encoded message bodies.
* Email address validation now accepts quoted local parts and @ in local part.
* The default for max_recipients has been reduced to 10 to avoid possible lost
  mail when a large number of invalid recipients causes the MTA to disconnect.
* Messages preserved or forwarded by content filtering are now the original
  message rather than the content filtered one.
* List welcome and goodbye messages to users with English preferred_language
  now have their Subject: RFC 2047 encoded as needed.
* Bounce processing notifications due to a DSN for multiple users now have
  the DSN attached to each notice.

New Features
* There is a new dmarc_addresses list attribute which is a list of email
  addresses and patterns matching email addresses. If a post is From: an
  address matching one of these, dmarc mitigations will be applied
  regardless of the From: domain’s dmarc policy.
This commit is contained in:
markd 2024-02-12 11:54:05 +00:00
parent dda90484b4
commit 758112f528
4 changed files with 131 additions and 376 deletions

View File

@ -1,8 +1,7 @@
# $NetBSD: Makefile,v 1.7 2023/10/14 01:20:18 markd Exp $
# $NetBSD: Makefile,v 1.8 2024/02/12 11:54:05 markd Exp $
DISTNAME= mailman-3.3.8
DISTNAME= mailman-3.3.9
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
PKGREVISION= 3
CATEGORIES= mail
MASTER_SITES= ${MASTER_SITE_PYPI:=m/mailman/}
@ -16,7 +15,7 @@ PYTHON_VERSIONS_INCOMPATIBLE= 27 38
DEPENDS+= ${PYPKGPREFIX}-aiosmtpd>=1.4.3:../../mail/py-aiosmtpd
DEPENDS+= ${PYPKGPREFIX}-alembic>=1.6.2:../../databases/py-alembic
DEPENDS+= ${PYPKGPREFIX}-atpublic-[0-9]*:../../devel/py-atpublic
DEPENDS+= ${PYPKGPREFIX}-authheaders>=0.14.0:../../mail/py-authheaders
DEPENDS+= ${PYPKGPREFIX}-authheaders>=0.15.2:../../mail/py-authheaders
DEPENDS+= ${PYPKGPREFIX}-authres>=1.0.1:../../mail/py-authres
DEPENDS+= ${PYPKGPREFIX}-click>=8.0.0:../../devel/py-click
DEPENDS+= ${PYPKGPREFIX}-dns>=1.14.0:../../net/py-dns

View File

@ -1,4 +1,4 @@
@comment $NetBSD: PLIST,v 1.1 2023/06/04 03:27:43 markd Exp $
@comment $NetBSD: PLIST,v 1.2 2024/02/12 11:54:05 markd Exp $
bin/mailman
bin/master
bin/runner
@ -514,6 +514,9 @@ ${PYSITELIB}/mailman/database/alembic/versions/15401063d4e3_roster_visibility.py
${PYSITELIB}/mailman/database/alembic/versions/16c2b25c7b_list_subscription_policy.py
${PYSITELIB}/mailman/database/alembic/versions/16c2b25c7b_list_subscription_policy.pyc
${PYSITELIB}/mailman/database/alembic/versions/16c2b25c7b_list_subscription_policy.pyo
${PYSITELIB}/mailman/database/alembic/versions/2156fc3f6f7d_add_dmarc_addresses.py
${PYSITELIB}/mailman/database/alembic/versions/2156fc3f6f7d_add_dmarc_addresses.pyc
${PYSITELIB}/mailman/database/alembic/versions/2156fc3f6f7d_add_dmarc_addresses.pyo
${PYSITELIB}/mailman/database/alembic/versions/2b73fbcc97c9_increase_workflowstate_data_column_size.py
${PYSITELIB}/mailman/database/alembic/versions/2b73fbcc97c9_increase_workflowstate_data_column_size.pyc
${PYSITELIB}/mailman/database/alembic/versions/2b73fbcc97c9_increase_workflowstate_data_column_size.pyo
@ -683,6 +686,9 @@ ${PYSITELIB}/mailman/email/tests/data/bad_email_4.eml
${PYSITELIB}/mailman/email/tests/test_message.py
${PYSITELIB}/mailman/email/tests/test_message.pyc
${PYSITELIB}/mailman/email/tests/test_message.pyo
${PYSITELIB}/mailman/email/tests/test_validate.py
${PYSITELIB}/mailman/email/tests/test_validate.pyc
${PYSITELIB}/mailman/email/tests/test_validate.pyo
${PYSITELIB}/mailman/email/validate.py
${PYSITELIB}/mailman/email/validate.pyc
${PYSITELIB}/mailman/email/validate.pyo
@ -977,37 +983,68 @@ ${PYSITELIB}/mailman/languages/manager.pyo
${PYSITELIB}/mailman/messages/__init__.py
${PYSITELIB}/mailman/messages/__init__.pyc
${PYSITELIB}/mailman/messages/__init__.pyo
${PYSITELIB}/mailman/messages/bg/LC_MESSAGES/mailman.mo
${PYSITELIB}/mailman/messages/bg/LC_MESSAGES/mailman.po
${PYSITELIB}/mailman/messages/bn/LC_MESSAGES/mailman.mo
${PYSITELIB}/mailman/messages/bn/LC_MESSAGES/mailman.po
${PYSITELIB}/mailman/messages/ca/LC_MESSAGES/mailman.mo
${PYSITELIB}/mailman/messages/ca/LC_MESSAGES/mailman.po
${PYSITELIB}/mailman/messages/cs/LC_MESSAGES/mailman.mo
${PYSITELIB}/mailman/messages/cs/LC_MESSAGES/mailman.po
${PYSITELIB}/mailman/messages/de/LC_MESSAGES/mailman.mo
${PYSITELIB}/mailman/messages/de/LC_MESSAGES/mailman.po
${PYSITELIB}/mailman/messages/el/LC_MESSAGES/mailman.mo
${PYSITELIB}/mailman/messages/el/LC_MESSAGES/mailman.po
${PYSITELIB}/mailman/messages/en/LC_MESSAGES/mailman.mo
${PYSITELIB}/mailman/messages/en/LC_MESSAGES/mailman.po
${PYSITELIB}/mailman/messages/eo/LC_MESSAGES/mailman.mo
${PYSITELIB}/mailman/messages/eo/LC_MESSAGES/mailman.po
${PYSITELIB}/mailman/messages/es/LC_MESSAGES/mailman.mo
${PYSITELIB}/mailman/messages/es/LC_MESSAGES/mailman.po
${PYSITELIB}/mailman/messages/fa/LC_MESSAGES/mailman.mo
${PYSITELIB}/mailman/messages/fa/LC_MESSAGES/mailman.po
${PYSITELIB}/mailman/messages/fi/LC_MESSAGES/mailman.mo
${PYSITELIB}/mailman/messages/fi/LC_MESSAGES/mailman.po
${PYSITELIB}/mailman/messages/fr/LC_MESSAGES/mailman.mo
${PYSITELIB}/mailman/messages/fr/LC_MESSAGES/mailman.po
${PYSITELIB}/mailman/messages/he/LC_MESSAGES/mailman.mo
${PYSITELIB}/mailman/messages/he/LC_MESSAGES/mailman.po
${PYSITELIB}/mailman/messages/hu/LC_MESSAGES/mailman.mo
${PYSITELIB}/mailman/messages/hu/LC_MESSAGES/mailman.po
${PYSITELIB}/mailman/messages/id/LC_MESSAGES/mailman.mo
${PYSITELIB}/mailman/messages/id/LC_MESSAGES/mailman.po
${PYSITELIB}/mailman/messages/it/LC_MESSAGES/mailman.mo
${PYSITELIB}/mailman/messages/it/LC_MESSAGES/mailman.po
${PYSITELIB}/mailman/messages/ja/LC_MESSAGES/mailman.mo
${PYSITELIB}/mailman/messages/ja/LC_MESSAGES/mailman.po
${PYSITELIB}/mailman/messages/ko/LC_MESSAGES/mailman.mo
${PYSITELIB}/mailman/messages/ko/LC_MESSAGES/mailman.po
${PYSITELIB}/mailman/messages/mailman.pot
${PYSITELIB}/mailman/messages/nb_NO/LC_MESSAGES/mailman.mo
${PYSITELIB}/mailman/messages/nb_NO/LC_MESSAGES/mailman.po
${PYSITELIB}/mailman/messages/nl/LC_MESSAGES/mailman.mo
${PYSITELIB}/mailman/messages/nl/LC_MESSAGES/mailman.po
${PYSITELIB}/mailman/messages/oc/LC_MESSAGES/mailman.mo
${PYSITELIB}/mailman/messages/oc/LC_MESSAGES/mailman.po
${PYSITELIB}/mailman/messages/pl/LC_MESSAGES/mailman.mo
${PYSITELIB}/mailman/messages/pl/LC_MESSAGES/mailman.po
${PYSITELIB}/mailman/messages/pt/LC_MESSAGES/mailman.mo
${PYSITELIB}/mailman/messages/pt/LC_MESSAGES/mailman.po
${PYSITELIB}/mailman/messages/pt_BR/LC_MESSAGES/mailman.mo
${PYSITELIB}/mailman/messages/pt_BR/LC_MESSAGES/mailman.po
${PYSITELIB}/mailman/messages/ru/LC_MESSAGES/mailman.mo
${PYSITELIB}/mailman/messages/ru/LC_MESSAGES/mailman.po
${PYSITELIB}/mailman/messages/si/LC_MESSAGES/mailman.mo
${PYSITELIB}/mailman/messages/si/LC_MESSAGES/mailman.po
${PYSITELIB}/mailman/messages/sq/LC_MESSAGES/mailman.mo
${PYSITELIB}/mailman/messages/sq/LC_MESSAGES/mailman.po
${PYSITELIB}/mailman/messages/sv/LC_MESSAGES/mailman.mo
${PYSITELIB}/mailman/messages/sv/LC_MESSAGES/mailman.po
${PYSITELIB}/mailman/messages/tr/LC_MESSAGES/mailman.mo
${PYSITELIB}/mailman/messages/tr/LC_MESSAGES/mailman.po
${PYSITELIB}/mailman/messages/uk/LC_MESSAGES/mailman.mo
${PYSITELIB}/mailman/messages/uk/LC_MESSAGES/mailman.po
${PYSITELIB}/mailman/messages/zh_Hans/LC_MESSAGES/mailman.mo
${PYSITELIB}/mailman/messages/zh_Hans/LC_MESSAGES/mailman.po
${PYSITELIB}/mailman/model/__init__.py
${PYSITELIB}/mailman/model/__init__.pyc
@ -1213,6 +1250,10 @@ ${PYSITELIB}/mailman/mta/postfix.pyo
${PYSITELIB}/mailman/mta/tests/__init__.py
${PYSITELIB}/mailman/mta/tests/__init__.pyc
${PYSITELIB}/mailman/mta/tests/__init__.pyo
${PYSITELIB}/mailman/mta/tests/data/__init__.py
${PYSITELIB}/mailman/mta/tests/data/__init__.pyc
${PYSITELIB}/mailman/mta/tests/data/__init__.pyo
${PYSITELIB}/mailman/mta/tests/data/postfix.cfg
${PYSITELIB}/mailman/mta/tests/test_aliases.py
${PYSITELIB}/mailman/mta/tests/test_aliases.pyc
${PYSITELIB}/mailman/mta/tests/test_aliases.pyo
@ -1225,6 +1266,9 @@ ${PYSITELIB}/mailman/mta/tests/test_connection.pyo
${PYSITELIB}/mailman/mta/tests/test_delivery.py
${PYSITELIB}/mailman/mta/tests/test_delivery.pyc
${PYSITELIB}/mailman/mta/tests/test_delivery.pyo
${PYSITELIB}/mailman/mta/tests/test_postfix.py
${PYSITELIB}/mailman/mta/tests/test_postfix.pyc
${PYSITELIB}/mailman/mta/tests/test_postfix.pyo
${PYSITELIB}/mailman/mta/verp.py
${PYSITELIB}/mailman/mta/verp.pyc
${PYSITELIB}/mailman/mta/verp.pyo
@ -1705,6 +1749,31 @@ ${PYSITELIB}/mailman/styles/tests/test_styles.pyo
${PYSITELIB}/mailman/templates/__init__.py
${PYSITELIB}/mailman/templates/__init__.pyc
${PYSITELIB}/mailman/templates/__init__.pyo
${PYSITELIB}/mailman/templates/bg/domain:admin:notice:new-list.txt
${PYSITELIB}/mailman/templates/bg/help.txt
${PYSITELIB}/mailman/templates/bg/list:admin:action:post.txt
${PYSITELIB}/mailman/templates/bg/list:admin:action:subscribe.txt
${PYSITELIB}/mailman/templates/bg/list:admin:action:unsubscribe.txt
${PYSITELIB}/mailman/templates/bg/list:admin:notice:disable.txt
${PYSITELIB}/mailman/templates/bg/list:admin:notice:increment.txt
${PYSITELIB}/mailman/templates/bg/list:admin:notice:pending.txt
${PYSITELIB}/mailman/templates/bg/list:admin:notice:removal.txt
${PYSITELIB}/mailman/templates/bg/list:admin:notice:subscribe.txt
${PYSITELIB}/mailman/templates/bg/list:admin:notice:unrecognized.txt
${PYSITELIB}/mailman/templates/bg/list:admin:notice:unsubscribe.txt
${PYSITELIB}/mailman/templates/bg/list:member:digest:masthead.txt
${PYSITELIB}/mailman/templates/bg/list:member:generic:footer.txt
${PYSITELIB}/mailman/templates/bg/list:user:action:invite.txt
${PYSITELIB}/mailman/templates/bg/list:user:action:subscribe.txt
${PYSITELIB}/mailman/templates/bg/list:user:action:unsubscribe.txt
${PYSITELIB}/mailman/templates/bg/list:user:notice:hold.txt
${PYSITELIB}/mailman/templates/bg/list:user:notice:no-more-today.txt
${PYSITELIB}/mailman/templates/bg/list:user:notice:post.txt
${PYSITELIB}/mailman/templates/bg/list:user:notice:probe.txt
${PYSITELIB}/mailman/templates/bg/list:user:notice:refuse.txt
${PYSITELIB}/mailman/templates/bg/list:user:notice:rejected.txt
${PYSITELIB}/mailman/templates/bg/list:user:notice:warning.txt
${PYSITELIB}/mailman/templates/bg/list:user:notice:welcome.txt
${PYSITELIB}/mailman/templates/ca/domain:admin:notice:new-list.txt
${PYSITELIB}/mailman/templates/ca/help.txt
${PYSITELIB}/mailman/templates/ca/list:admin:action:post.txt
@ -1762,6 +1831,8 @@ ${PYSITELIB}/mailman/templates/de/list:admin:action:post.txt
${PYSITELIB}/mailman/templates/de/list:admin:action:subscribe.txt
${PYSITELIB}/mailman/templates/de/list:admin:action:unsubscribe.txt
${PYSITELIB}/mailman/templates/de/list:admin:notice:disable.txt
${PYSITELIB}/mailman/templates/de/list:admin:notice:increment.txt
${PYSITELIB}/mailman/templates/de/list:admin:notice:pending.txt
${PYSITELIB}/mailman/templates/de/list:admin:notice:removal.txt
${PYSITELIB}/mailman/templates/de/list:admin:notice:subscribe.txt
${PYSITELIB}/mailman/templates/de/list:admin:notice:unrecognized.txt
@ -1897,8 +1968,30 @@ ${PYSITELIB}/mailman/templates/he/list:user:notice:refuse.txt
${PYSITELIB}/mailman/templates/he/list:user:notice:rejected.txt
${PYSITELIB}/mailman/templates/he/list:user:notice:warning.txt
${PYSITELIB}/mailman/templates/he/list:user:notice:welcome.txt
${PYSITELIB}/mailman/templates/hu/list:admin:action:post.txt
${PYSITELIB}/mailman/templates/hu/list:admin:notice:disable.txt
${PYSITELIB}/mailman/templates/hu/list:admin:notice:removal.txt
${PYSITELIB}/mailman/templates/hu/list:user:notice:welcome.txt
${PYSITELIB}/mailman/templates/id/domain:admin:notice:new-list.txt
${PYSITELIB}/mailman/templates/id/help.txt
${PYSITELIB}/mailman/templates/id/list:admin:action:post.txt
${PYSITELIB}/mailman/templates/id/list:admin:action:subscribe.txt
${PYSITELIB}/mailman/templates/id/list:admin:action:unsubscribe.txt
${PYSITELIB}/mailman/templates/id/list:admin:notice:removal.txt
${PYSITELIB}/mailman/templates/id/list:admin:notice:subscribe.txt
${PYSITELIB}/mailman/templates/id/list:admin:notice:unrecognized.txt
${PYSITELIB}/mailman/templates/id/list:admin:notice:unsubscribe.txt
${PYSITELIB}/mailman/templates/id/list:member:digest:masthead.txt
${PYSITELIB}/mailman/templates/id/list:member:generic:footer.txt
${PYSITELIB}/mailman/templates/id/list:user:action:invite.txt
${PYSITELIB}/mailman/templates/id/list:user:action:subscribe.txt
${PYSITELIB}/mailman/templates/id/list:user:action:unsubscribe.txt
${PYSITELIB}/mailman/templates/id/list:user:notice:hold.txt
${PYSITELIB}/mailman/templates/id/list:user:notice:post.txt
${PYSITELIB}/mailman/templates/id/list:user:notice:refuse.txt
${PYSITELIB}/mailman/templates/id/list:user:notice:rejected.txt
${PYSITELIB}/mailman/templates/id/list:user:notice:warning.txt
${PYSITELIB}/mailman/templates/id/list:user:notice:welcome.txt
${PYSITELIB}/mailman/templates/it/__init__.py
${PYSITELIB}/mailman/templates/it/__init__.pyc
${PYSITELIB}/mailman/templates/it/__init__.pyo
@ -1952,6 +2045,31 @@ ${PYSITELIB}/mailman/templates/ko/list:user:notice:refuse.txt
${PYSITELIB}/mailman/templates/ko/list:user:notice:rejected.txt
${PYSITELIB}/mailman/templates/ko/list:user:notice:warning.txt
${PYSITELIB}/mailman/templates/ko/list:user:notice:welcome.txt
${PYSITELIB}/mailman/templates/nl/domain:admin:notice:new-list.txt
${PYSITELIB}/mailman/templates/nl/help.txt
${PYSITELIB}/mailman/templates/nl/list:admin:action:post.txt
${PYSITELIB}/mailman/templates/nl/list:admin:action:subscribe.txt
${PYSITELIB}/mailman/templates/nl/list:admin:action:unsubscribe.txt
${PYSITELIB}/mailman/templates/nl/list:admin:notice:disable.txt
${PYSITELIB}/mailman/templates/nl/list:admin:notice:increment.txt
${PYSITELIB}/mailman/templates/nl/list:admin:notice:pending.txt
${PYSITELIB}/mailman/templates/nl/list:admin:notice:removal.txt
${PYSITELIB}/mailman/templates/nl/list:admin:notice:subscribe.txt
${PYSITELIB}/mailman/templates/nl/list:admin:notice:unrecognized.txt
${PYSITELIB}/mailman/templates/nl/list:admin:notice:unsubscribe.txt
${PYSITELIB}/mailman/templates/nl/list:member:digest:masthead.txt
${PYSITELIB}/mailman/templates/nl/list:member:generic:footer.txt
${PYSITELIB}/mailman/templates/nl/list:user:action:invite.txt
${PYSITELIB}/mailman/templates/nl/list:user:action:subscribe.txt
${PYSITELIB}/mailman/templates/nl/list:user:action:unsubscribe.txt
${PYSITELIB}/mailman/templates/nl/list:user:notice:hold.txt
${PYSITELIB}/mailman/templates/nl/list:user:notice:no-more-today.txt
${PYSITELIB}/mailman/templates/nl/list:user:notice:post.txt
${PYSITELIB}/mailman/templates/nl/list:user:notice:probe.txt
${PYSITELIB}/mailman/templates/nl/list:user:notice:refuse.txt
${PYSITELIB}/mailman/templates/nl/list:user:notice:rejected.txt
${PYSITELIB}/mailman/templates/nl/list:user:notice:warning.txt
${PYSITELIB}/mailman/templates/nl/list:user:notice:welcome.txt
${PYSITELIB}/mailman/templates/oc/help.txt
${PYSITELIB}/mailman/templates/pt/domain:admin:notice:new-list.txt
${PYSITELIB}/mailman/templates/pt/help.txt
@ -1980,6 +2098,8 @@ ${PYSITELIB}/mailman/templates/pt_BR/list:admin:action:post.txt
${PYSITELIB}/mailman/templates/pt_BR/list:admin:action:subscribe.txt
${PYSITELIB}/mailman/templates/pt_BR/list:admin:action:unsubscribe.txt
${PYSITELIB}/mailman/templates/pt_BR/list:admin:notice:disable.txt
${PYSITELIB}/mailman/templates/pt_BR/list:admin:notice:increment.txt
${PYSITELIB}/mailman/templates/pt_BR/list:admin:notice:pending.txt
${PYSITELIB}/mailman/templates/pt_BR/list:admin:notice:removal.txt
${PYSITELIB}/mailman/templates/pt_BR/list:admin:notice:subscribe.txt
${PYSITELIB}/mailman/templates/pt_BR/list:admin:notice:unrecognized.txt
@ -1997,6 +2117,9 @@ ${PYSITELIB}/mailman/templates/pt_BR/list:user:notice:refuse.txt
${PYSITELIB}/mailman/templates/pt_BR/list:user:notice:rejected.txt
${PYSITELIB}/mailman/templates/pt_BR/list:user:notice:warning.txt
${PYSITELIB}/mailman/templates/pt_BR/list:user:notice:welcome.txt
${PYSITELIB}/mailman/templates/ru/list:admin:notice:removal.txt
${PYSITELIB}/mailman/templates/ru/list:member:generic:footer.txt
${PYSITELIB}/mailman/templates/ru/list:user:action:unsubscribe.txt
${PYSITELIB}/mailman/templates/sk/__init__.py
${PYSITELIB}/mailman/templates/sk/__init__.pyc
${PYSITELIB}/mailman/templates/sk/__init__.pyo

View File

@ -1,9 +1,8 @@
$NetBSD: distinfo,v 1.2 2023/10/14 01:20:18 markd Exp $
$NetBSD: distinfo,v 1.3 2024/02/12 11:54:05 markd Exp $
BLAKE2s (mailman-3.3.8.tar.gz) = 5951b7fe7494f6a11783430431f0490ce4fedea3fcf3f678d1869fdee75bece7
SHA512 (mailman-3.3.8.tar.gz) = e0b98cc45d3aeaf0c07d331cb598b918343d611dbae4daf82d7182cc6a88f685ff574f7ac7cd5b0bb1dddb7926cacf18a8ee0dca64da352eff417e7c4a673afe
Size (mailman-3.3.8.tar.gz) = 1676901 bytes
SHA1 (patch-remove_importlib_resources) = 9307f876a7cae9485770cf4a7e1a6ffd39b6d2ab
BLAKE2s (mailman-3.3.9.tar.gz) = c00f96643fcf954124053b5e1433e509e6653d6c93c7dcdd83dd1e7673f21429
SHA512 (mailman-3.3.9.tar.gz) = 28466cae5ca9210faaa9f8c70fe7004d62f91b0a92309d88574bf19dde130cddd15cc3138dd730b15a2d15ce20cfce4b847050de00cf32dafad9a6907d4fb53d
Size (mailman-3.3.9.tar.gz) = 2173293 bytes
SHA1 (patch-src_mailman_config_mailman.cfg) = 6210097dd8e00e88c966afb872cbee57b5f27c93
SHA1 (patch-src_mailman_config_schema.cfg) = 02484fe9f01ef076c81e718246b18ed0ca95c821
SHA1 (patch-src_mailman_core_initialize.py) = 3e40ba21cbbd95c22abe6792774bf63a65573f02

View File

@ -1,366 +0,0 @@
$NetBSD: patch-remove_importlib_resources,v 1.1 2023/10/14 01:20:19 markd Exp $
https://gitlab.com/mailman/mailman/-/commit/1346ffdbd2ad36e3f37732f3217be3b34dc7bc48
Remove dependency on importlib_resources as versions >=6 not compatible.
Therefore now requires at least python3.9
diff --git a/_ext/configplugin.py b/_ext/configplugin.py
index 9ed5c9852657ae62028304aeaa616b22f4c2525e..1979ce855e89b1440a341515daba1b439121e9c8 100644
--- _ext/configplugin.py
+++ _ext/configplugin.py
@@ -23,7 +23,7 @@ import configparser
from docutils import nodes
from docutils.parsers.rst import Directive, directives
from docutils.statemachine import ViewList
-from importlib_resources import files
+from importlib.resources import files
from sphinx.util.nodes import nested_parse_with_titles
diff --git a/setup.py b/setup.py
index 5448b7cf959f7d818fa1f8b56148ebcd886649bc..714468cc4b3a98704437b6ce3a24dae3d5ffe8a5 100644
--- setup.py
+++ setup.py
@@ -121,7 +121,6 @@ case second 'm'. Any other spelling is incorrect.""",
'flufl.bounce>=4.0',
'flufl.i18n>=3.2',
'flufl.lock>=5.1',
- 'importlib_resources>=1.1.0',
'gunicorn',
'lazr.config',
'python-dateutil>=2.0',
diff --git a/src/mailman/archiving/tests/test_mhonarc.py b/src/mailman/archiving/tests/test_mhonarc.py
index 7cb19f35bd43f4388a2d80b10a170c5586faa9e8..b6c009e3614cc2a0c76bc0ae45457cd2cfe0c127 100644
--- src/mailman/archiving/tests/test_mhonarc.py
+++ src/mailman/archiving/tests/test_mhonarc.py
@@ -23,7 +23,7 @@ import shutil
import tempfile
import unittest
-from importlib_resources import path
+from importlib.resources import path
from mailman.app.lifecycle import create_list
from mailman.archiving.mhonarc import MHonArc
from mailman.database.transaction import transaction
diff --git a/src/mailman/bin/tests/test_mailman.py b/src/mailman/bin/tests/test_mailman.py
index 13c02c7c90476ffaac5334cf58a28d76df10fb85..9247877f7b827c267fa3ff469dad7cc022e8a24a 100644
--- src/mailman/bin/tests/test_mailman.py
+++ src/mailman/bin/tests/test_mailman.py
@@ -21,7 +21,7 @@ import unittest
from click.testing import CliRunner
from datetime import timedelta
-from importlib_resources import path
+from importlib.resources import path
from mailman.app.lifecycle import create_list
from mailman.bin.mailman import main
from mailman.config import config
diff --git a/src/mailman/bin/tests/test_master.py b/src/mailman/bin/tests/test_master.py
index 092c337c9c398ee8f9fe6b023755c383c5e3ebb4..75041dd5915c7290ff9cd2773c4b24c25b59ddab 100644
--- src/mailman/bin/tests/test_master.py
+++ src/mailman/bin/tests/test_master.py
@@ -27,7 +27,7 @@ from click.testing import CliRunner
from contextlib import ExitStack, suppress
from datetime import timedelta
from flufl.lock import Lock, TimeOutError
-from importlib_resources import path
+from importlib.resources import path
from io import StringIO
from mailman.bin import master
from mailman.config import config
diff --git a/src/mailman/chains/tests/test_hold.py b/src/mailman/chains/tests/test_hold.py
index da579605d75629c5ead2edb883163de97cc0f219..42da9ed8be10026d96707b34e41248760ae70e24 100644
--- src/mailman/chains/tests/test_hold.py
+++ src/mailman/chains/tests/test_hold.py
@@ -20,7 +20,7 @@
import unittest
from email import message_from_bytes as mfb
-from importlib_resources import read_binary
+from importlib.resources import read_binary
from mailman.app.lifecycle import create_list
from mailman.chains.builtin import BuiltInChain
from mailman.chains.hold import autorespond_to_sender, HoldChain
diff --git a/src/mailman/commands/docs/import.rst b/src/mailman/commands/docs/import.rst
index 66f72be163f7bc7515cded030d672e00608e2dab..e4f741dbb2d3b0f543d30d0914658b5e5e2c8c2e 100644
--- src/mailman/commands/docs/import.rst
+++ src/mailman/commands/docs/import.rst
@@ -26,7 +26,7 @@ You must also specify a pickle file to import.
Too bad the list doesn't exist.
- >>> from importlib_resources import path
+ >>> from importlib.resources import path
>>> with path('mailman.testing', 'config.pck') as pickle_path:
... pickle_file = str(pickle_path)
... command('mailman import21 import@example.com ' + pickle_file)
diff --git a/src/mailman/commands/tests/test_cli_control.py b/src/mailman/commands/tests/test_cli_control.py
index 43364490d6478f7265091b1768fc51ea8244b2c2..b6fdbc10cdcc9f9b8a0abaa1b2e6fd82aedf15aa 100644
--- src/mailman/commands/tests/test_cli_control.py
+++ src/mailman/commands/tests/test_cli_control.py
@@ -29,7 +29,7 @@ from click.testing import CliRunner
from contextlib import ExitStack, suppress
from datetime import datetime, timedelta
from flufl.lock import SEP
-from importlib_resources import path
+from importlib.resources import path
from mailman.bin.master import WatcherState
from mailman.commands.cli_control import reopen, restart, start
from mailman.config import config
diff --git a/src/mailman/commands/tests/test_cli_import.py b/src/mailman/commands/tests/test_cli_import.py
index 5e26a2d9eb57d54f3160335b6ca8b9dd16bd4b01..bf35d9b7a337f9bae0865da4716f4357f67770a7 100644
--- src/mailman/commands/tests/test_cli_import.py
+++ src/mailman/commands/tests/test_cli_import.py
@@ -21,7 +21,7 @@ import unittest
from click.testing import CliRunner
from contextlib import ExitStack
-from importlib_resources import path
+from importlib.resources import path
from mailman.app.lifecycle import create_list
from mailman.commands.cli_import import import21
from mailman.testing.layers import ConfigLayer
diff --git a/src/mailman/config/config.py b/src/mailman/config/config.py
index da0f54233228d53941b550d10a1c21c8c1cf9727..6028b32359d453a42f792d6ba0968d26f5557dd3 100644
--- src/mailman/config/config.py
+++ src/mailman/config/config.py
@@ -24,7 +24,7 @@ import mailman.templates
from configparser import ConfigParser
from contextlib import ExitStack
from flufl.lock import Lock
-from importlib_resources import path, read_text
+from importlib.resources import path, read_text
from lazr.config import as_boolean, ConfigSchema
from mailman import version
from mailman.interfaces.configuration import (
diff --git a/src/mailman/config/tests/test_configuration.py b/src/mailman/config/tests/test_configuration.py
index 7c795740969010b6b03532da36d6b5410d9cd962..00919cf4582b6c463368a4bdc0ae0a3e3e29b6a3 100644
--- src/mailman/config/tests/test_configuration.py
+++ src/mailman/config/tests/test_configuration.py
@@ -22,7 +22,7 @@ import tempfile
import unittest
from contextlib import ExitStack
-from importlib_resources import path
+from importlib.resources import path
from mailman.config.config import (
Configuration,
external_configuration,
diff --git a/src/mailman/core/initialize.py b/src/mailman/core/initialize.py
index c5ff1e219b4a78b88b52dcfd74b807cc2df28495..5ebbb412bbf7e41cdd637940aed772d78e836332 100644
--- src/mailman/core/initialize.py
+++ src/mailman/core/initialize.py
@@ -30,7 +30,7 @@ import logging
import mailman.core.logging
import mailman.config.config
-from importlib_resources import read_text
+from importlib.resources import read_text
from mailman.interfaces.database import IDatabaseFactory
from public import public
from zope.component import getUtility
diff --git a/src/mailman/email/tests/test_message.py b/src/mailman/email/tests/test_message.py
index 439cf64b0455433a109cda6cbd3504dc7da7ba8a..73abfc844537eb02334bb85aaf591d53762d1230 100644
--- src/mailman/email/tests/test_message.py
+++ src/mailman/email/tests/test_message.py
@@ -24,7 +24,7 @@ from email import message_from_binary_file
from email.header import Header
from email.parser import FeedParser
from email.utils import _has_surrogates
-from importlib_resources import path
+from importlib.resources import path
from mailman.app.lifecycle import create_list
from mailman.email.message import Message, UserNotification
from mailman.testing.helpers import (
diff --git a/src/mailman/handlers/tests/test_decorate.py b/src/mailman/handlers/tests/test_decorate.py
index 90134329cec2e73edb7bdab025286dc59ec47f9a..3b8bed2f032715ccaba932b7028d7f8cbde01385 100644
--- src/mailman/handlers/tests/test_decorate.py
+++ src/mailman/handlers/tests/test_decorate.py
@@ -22,7 +22,7 @@ import re
import email
import unittest
-from importlib_resources import open_binary as resource_open
+from importlib.resources import open_binary as resource_open
from mailman.app.lifecycle import create_list
from mailman.config import config
from mailman.email.message import Message
diff --git a/src/mailman/handlers/tests/test_mimedel.py b/src/mailman/handlers/tests/test_mimedel.py
index f7bababe22b458e4fafbaad433f3c2c07db3cacd..c21c599d7fdbeba9fe494e331748fe6021526edf 100644
--- src/mailman/handlers/tests/test_mimedel.py
+++ src/mailman/handlers/tests/test_mimedel.py
@@ -25,7 +25,7 @@ import tempfile
import unittest
from contextlib import contextmanager, ExitStack
-from importlib_resources import open_binary as resource_open, read_text
+from importlib.resources import open_binary as resource_open, read_text
from io import StringIO
from mailman.app.lifecycle import create_list
from mailman.config import config
diff --git a/src/mailman/plugins/docs/intro.rst b/src/mailman/plugins/docs/intro.rst
index b6827627c822ff185277be1c7da79d20808ff625..1e65c991e233a0f9f939c634da645a8e9573b274 100644
--- src/mailman/plugins/docs/intro.rst
+++ src/mailman/plugins/docs/intro.rst
@@ -20,7 +20,7 @@ enabled by adding a section to your ``mailman.cfg`` file, such as:
We have such a configuration file handy.
- >>> from importlib_resources import path
+ >>> from importlib.resources import path
>>> config_file = str(cleanups.enter_context(
... path('mailman.plugins.testing', 'hooks.cfg')))
diff --git a/src/mailman/plugins/testing/layer.py b/src/mailman/plugins/testing/layer.py
index 1ac00463f471e66f09e36019a86af0e5adad0aea..0d40240ace5f918681e27aea8942199882b46735 100644
--- src/mailman/plugins/testing/layer.py
+++ src/mailman/plugins/testing/layer.py
@@ -20,7 +20,7 @@
import os
from contextlib import ExitStack
-from importlib_resources import path
+from importlib.resources import path
from mailman.testing.helpers import (
hackenv,
TestableMaster,
diff --git a/src/mailman/rules/dmarc.py b/src/mailman/rules/dmarc.py
index b9a22f39b52657d229b7648503b9e8a54fb10833..e014937512d634f625af2c247659ab0c7b42e058 100644
--- src/mailman/rules/dmarc.py
+++ src/mailman/rules/dmarc.py
@@ -24,7 +24,7 @@ import dns.resolver
from dns.exception import DNSException
from email.utils import parseaddr
-from importlib_resources import read_binary
+from importlib.resources import read_binary
from lazr.config import as_timedelta
from mailman.config import config
from mailman.core.i18n import _
diff --git a/src/mailman/rules/tests/test_dmarc.py b/src/mailman/rules/tests/test_dmarc.py
index 73777a11f84650c7685f1208c34b1ef35f0e8832..eb31537a085c726b3a53fa9c532c3392fd255d2c 100644
--- src/mailman/rules/tests/test_dmarc.py
+++ src/mailman/rules/tests/test_dmarc.py
@@ -27,7 +27,7 @@ from dns.rdatatype import CNAME, TXT
from dns.resolver import NoAnswer, NoNameservers, NXDOMAIN
from email import message_from_bytes
from http.server import BaseHTTPRequestHandler, HTTPServer
-from importlib_resources import path
+from importlib.resources import path
from lazr.config import as_timedelta
from mailman.app.lifecycle import create_list
from mailman.config import config
diff --git a/src/mailman/runners/tests/test_digest.py b/src/mailman/runners/tests/test_digest.py
index 97d587f8a8b1d6d0b3b8642cc12846ccd6cc21fa..fb75175dbdc4d623a40232ee4b48933967fc4c60 100644
--- src/mailman/runners/tests/test_digest.py
+++ src/mailman/runners/tests/test_digest.py
@@ -24,7 +24,7 @@ import unittest
from email import message_from_binary_file, message_from_bytes
from email.iterators import _structure as structure
from email.mime.text import MIMEText
-from importlib_resources import open_binary
+from importlib.resources import open_binary
from io import StringIO
from mailman.app.lifecycle import create_list
from mailman.config import config
diff --git a/src/mailman/testing/i18n.py b/src/mailman/testing/i18n.py
index 9ce0f20f47f90bb65e4aa592288f76a142ec2d9d..42e8e8b21b3b8aa8f8942c65f355ccfb6aaa12e9 100644
--- src/mailman/testing/i18n.py
+++ src/mailman/testing/i18n.py
@@ -19,7 +19,7 @@
from flufl.i18n import registry
from gettext import GNUTranslations, NullTranslations
-from importlib_resources import open_binary
+from importlib.resources import open_binary
from public import public
diff --git a/src/mailman/testing/layers.py b/src/mailman/testing/layers.py
index 6ea9f67f9e62ca7c0a34a6bb4b2a19580a5bbccc..8afd35752f9dfde4c3c17d94b5e0e1783d610eb2 100644
--- src/mailman/testing/layers.py
+++ src/mailman/testing/layers.py
@@ -32,7 +32,7 @@ import logging
import datetime
import tempfile
-from importlib_resources import files, read_text
+from importlib.resources import files, read_text
from lazr.config import as_boolean
from mailman.config import config
from mailman.core import initialize
diff --git a/src/mailman/utilities/filesystem.py b/src/mailman/utilities/filesystem.py
index 226d54dfe6af7bf1799070287901d5d7b0ec5132..af9bef88a648facb8cec0185af3b8b222d935840 100644
--- src/mailman/utilities/filesystem.py
+++ src/mailman/utilities/filesystem.py
@@ -116,12 +116,12 @@ def first_inexistent_directory(path):
def path(package, module, *args, **kw):
"""Wrap around importlib.resources.path.
- importlib_resources.path (PyPI package we use for compatibility in Python <
+ importlib.resources.path (PyPI package we use for compatibility in Python <
3.7) has now diverged in behavior from importlib.resources.path (in Python
>= 3.7), especially in terms of supporting directories. Even though we can
just jump to the new version of the library, many distributions packaging
- Mailman do not package importlib_resources at all and instead patch the
- source code to simply replace importlib_resources with importlib.resources.
+ Mailman do not package importlib.resources at all and instead patch the
+ source code to simply replace importlib.resources with importlib.resources.
This utility method is meant to keep that patching ability without any
complicated patches to make Mailman work with standard library
@@ -129,7 +129,7 @@ def path(package, module, *args, **kw):
behavior causes problems for us.
"""
# Note to packaging teams: This function will handle both standard library
- # and 3rd party importlib_resources package. Please do not patch it.
+ # and 3rd party importlib.resources package. Please do not patch it.
if module:
module_package = '{}.{}'.format(package, module)
else:
@@ -143,5 +143,5 @@ def path(package, module, *args, **kw):
from importlib.resources import files # pragma: nocover
return files(module_package, *args, **kw) # pragma: nocover
except ImportError: # pragma: nocover
- from importlib_resources import files # pragma: nocover
+ from importlib.resources import files # pragma: nocover
return files(module_package, *args, **kw) # pragma: nocover
diff --git a/src/mailman/utilities/modules.py b/src/mailman/utilities/modules.py
index 0ec9e679b73a4172e4102ab5cd3cc83ccc8d33b5..dc403767197d3e7c1ed55e330b808c799f4ee623 100644
--- src/mailman/utilities/modules.py
+++ src/mailman/utilities/modules.py
@@ -22,7 +22,7 @@ import sys
from contextlib import contextmanager
from importlib import import_module
-from importlib_resources import contents, is_resource, path
+from importlib.resources import contents, is_resource, path
from public import public
diff --git a/src/mailman/utilities/tests/test_import.py b/src/mailman/utilities/tests/test_import.py
index e104c95091fae2ce1a7f762c28161dc53db922ed..9ffdebba0cd1387c81c1202e68d07cfeca04df97 100644
--- src/mailman/utilities/tests/test_import.py
+++ src/mailman/utilities/tests/test_import.py
@@ -23,7 +23,7 @@ import unittest
from contextlib import ExitStack, redirect_stderr
from datetime import datetime, timedelta
from enum import Enum
-from importlib_resources import open_binary
+from importlib.resources import open_binary
from io import StringIO
from mailman.app.lifecycle import create_list
from mailman.config import config
diff --git a/src/mailman/utilities/tests/test_scrubber.py b/src/mailman/utilities/tests/test_scrubber.py
index 8f6de03cdbbbb3690f79740d9d8c77bfc39d9984..9fa2862b10a9f047ed73589db342ee43e0632e37 100644
--- src/mailman/utilities/tests/test_scrubber.py
+++ src/mailman/utilities/tests/test_scrubber.py
@@ -19,7 +19,7 @@
import unittest
-from importlib_resources import open_text
+from importlib.resources import open_text
from mailman.testing.helpers import specialized_message_from_string as mfs
from mailman.utilities import scrubber