Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-mailman for openSUSE:Factory checked in at 2022-07-28 20:57:41 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-mailman (Old) and /work/SRC/openSUSE:Factory/.python-mailman.new.1533 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-mailman" Thu Jul 28 20:57:41 2022 rev:18 rq:986717 version:3.3.5 Changes: -------- --- /work/SRC/openSUSE:Factory/python-mailman/python-mailman.changes 2022-06-15 00:32:02.938504404 +0200 +++ /work/SRC/openSUSE:Factory/.python-mailman.new.1533/python-mailman.changes 2022-07-28 20:57:44.599416973 +0200 @@ -1,0 +2,21 @@ +Mon Jul 4 13:14:27 UTC 2022 - Ben Greiner <c...@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 <l...@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. + +------------------------------------------------------------------- New: ---- mailman-support-sqlalchemy-1-4.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-mailman.spec ++++++ --- /var/tmp/diff_new_pack.ykuynY/_old 2022-07-28 20:57:45.211418696 +0200 +++ /var/tmp/diff_new_pack.ykuynY/_new 2022-07-28 20:57:45.215418707 +0200 @@ -34,8 +34,17 @@ %define psuffix %{nil} %bcond_with test %endif +%if 0%{?suse_version} >= 1550 +# Newest python supported by mailman is Python 3.9 -- https://gitlab.com/mailman/mailman/-/issues/936 +%define pythons python39 +%define mypython python39 +%define mypython_sitelib %{python39_sitelib} +%else %{?!python_module:%define python_module() python3-%{**}} %define pythons python3 +%define mypython python3 +%define mypython_sitelib %{python3_sitelib} +%endif Name: python-mailman%{psuffix} Version: 3.3.5 Release: 0 @@ -70,41 +79,21 @@ # PATCH-FIX-UPSTREAM ARC-message-fail-tests.patch bsc#[0-9]+ mc...@suse.com # this patch makes things totally awesome Patch3: ARC-message-fail-tests.patch +# Disable cache_ok warnings on console messages: disable caching completely at the moment +Patch4: mailman-support-sqlalchemy-1-4.patch BuildRequires: %{python_module setuptools} BuildRequires: fdupes +BuildRequires: python-rpm-macros +%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 SQLAlchemy >= 1.2.3} -BuildRequires: %{python_module aiosmtpd >= 1.1} -BuildRequires: %{python_module alembic} -BuildRequires: %{python_module atpublic} -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 > 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 lazr.config} -BuildRequires: %{python_module mailman >= %{version}} BuildRequires: %{python_module nose2} -BuildRequires: %{python_module passlib} BuildRequires: %{python_module pytest} -BuildRequires: %{python_module python-dateutil >= 2.0} -BuildRequires: %{python_module requests} -BuildRequires: %{python_module zope.component} -BuildRequires: %{python_module zope.configuration} -BuildRequires: %{python_module zope.event} -BuildRequires: %{python_module zope.interface >= 5.0} -%endif -%if 0%{python3_version_nodots} == 38 -# help in replacing any previously installed multiflavor package back to the primary python3 package -Provides: python38-mailman = %{version}-%{release} -Obsoletes: python38-mailman <= %{version}-%{release} +BuildRequires: mailman3 = %{version} %endif %description @@ -112,35 +101,40 @@ %package -n mailman3 Summary: A mailing list manager +Requires: %{mypython}-SQLAlchemy >= 1.2.3 +Requires: %{mypython}-aiosmtpd >= 1.4.1 +Requires: %{mypython}-alembic +Requires: %{mypython}-atpublic +Requires: %{mypython}-authheaders >= 0.9.2 +Requires: %{mypython}-authres >= 1.0.1 +Requires: %{mypython}-click >= 7.0 +Requires: %{mypython}-dnspython >= 1.14.0 +Requires: %{mypython}-falcon > 3.0.0 +Requires: %{mypython}-flufl.bounce >= 4.0 +Requires: %{mypython}-flufl.i18n >= 3.2 +Requires: %{mypython}-flufl.lock >= 5.1 +Requires: %{mypython}-gunicorn +Requires: %{mypython}-importlib-resources >= 1.1.0 +Requires: %{mypython}-lazr.config +Requires: %{mypython}-passlib +Requires: %{mypython}-python-dateutil >= 2.0 +Requires: %{mypython}-requests +Requires: %{mypython}-setuptools +Requires: %{mypython}-zope.component +Requires: %{mypython}-zope.configuration +Requires: %{mypython}-zope.event +Requires: %{mypython}-zope.interface >= 5.0 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(post): update-alternatives Requires(postun):update-alternatives Provides: mailman = %{version} -Provides: python3-mailman = %{version} -Obsoletes: python3-mailman <= %{version} +%if "%{expand:%%%{mypython}_provides}" == "python3" +Provides: python3-mailman = %{version}-%{release} +%endif +Obsoletes: python3-mailman < %{version}-%{release} +# help in replacing any previously installed multiflavor package back to the unprefixed package +Provides: %{mypython}-mailman = %{version}-%{release} +Obsoletes: %{mypython}-mailman < %{version}-%{release} %description -n mailman3 Mailman is a mailing list manager from the GNU project. @@ -255,7 +249,8 @@ %{_bindir}/runner %{_bindir}/mailman %{_bindir}/master -%{python_sitelib}/* +%{mypython_sitelib}/mailman +%{mypython_sitelib}/mailman-%{version}*-info %{_unitdir}/%{mailman_name}.service %{_unitdir}/%{mailman_name}-digests.service %{_unitdir}/%{mailman_name}-digests.timer ++++++ mailman-support-sqlalchemy-1-4.patch ++++++ 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. As I don't know if those can be safely cached, just disable the warning. Index: mailman-3.3.5/src/mailman/database/types.py =================================================================== --- mailman-3.3.5.orig/src/mailman/database/types.py 2021-09-06 02:19:59.000000000 +0200 +++ mailman-3.3.5/src/mailman/database/types.py 2022-06-23 08:57:19.527825754 +0200 @@ -34,6 +34,7 @@ class Enum(TypeDecorator): converts it on-the-fly. """ impl = Integer + cache_ok = False def __init__(self, enum, *args, **kw): super().__init__(*args, **kw) @@ -59,6 +60,7 @@ class UUID(TypeDecorator): """ impl = CHAR + cache_ok = False def load_dialect_impl(self, dialect): if dialect.name == 'postgresql': @@ -97,6 +99,7 @@ class SAUnicode(TypeDecorator): column needs to be indexed, otherwise use SAUnicode4Byte. """ impl = Unicode + cache_ok = False @compiles(SAUnicode) @@ -120,6 +123,7 @@ class SAUnicode4Byte(TypeDecorator): type and it can still be used if needed in the codebase. """ impl = Unicode + cache_ok = False @compiles(SAUnicode4Byte) @@ -140,6 +144,7 @@ class SAUnicodeLarge(TypeDecorator): This is double size of SAUnicode defined above. """ impl = Unicode + cache_ok = False @compiles(SAUnicodeLarge, 'mysql') @@ -166,6 +171,7 @@ class SAUnicodeXL(TypeDecorator): See https://docs.sqlalchemy.org/en/latest/dialects/mysql.html#index-length """ impl = Unicode + cache_ok = False @compiles(SAUnicodeXL, 'mysql') @@ -187,6 +193,7 @@ class SAText(TypeDecorator): case of other dialects defaults to the Text type. """ impl = Text + cache_ok = False @compiles(SAText) ++++++ python-mailman.rpmlintrc ++++++ --- /var/tmp/diff_new_pack.ykuynY/_old 2022-07-28 20:57:45.407419248 +0200 +++ /var/tmp/diff_new_pack.ykuynY/_new 2022-07-28 20:57:45.411419259 +0200 @@ -1,3 +1,6 @@ addFilter("incoherent-logrotate-file /etc/logrotate.d/mailman") -addFilter("zero-length /usr/lib/python3.6/site-packages/mailman/templates/.*") +addFilter("zero-length /usr/lib/python3../site-packages/mailman/templates/.*") +addFilter("obsolete-not-provided python3-mailman") +addFilter("explicit-lib-dependency python3.*-passlib") +(No newline at EOF)