Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-authheaders for openSUSE:Factory checked in at 2024-01-21 23:08:39 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-authheaders (Old) and /work/SRC/openSUSE:Factory/.python-authheaders.new.16006 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-authheaders" Sun Jan 21 23:08:39 2024 rev:10 rq:1140105 version:0.16.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-authheaders/python-authheaders.changes 2024-01-15 22:19:05.354535811 +0100 +++ /work/SRC/openSUSE:Factory/.python-authheaders.new.16006/python-authheaders.changes 2024-01-21 23:08:59.342889376 +0100 @@ -1,0 +2,11 @@ +Sat Jan 20 12:36:31 UTC 2024 - Dirk Müller <dmuel...@suse.com> + +- update to 0.16.1: + * Clean up unnecessary escaping of semi-colons in test data + and adjust related code to resolve SyntaxWarning with + Python 3.12 (#29) + * Set python_requires >3.7 and clean up cruft in setup.py + * Use importlib.resources instead of importlib_resources +- switch to PEP517 build + +------------------------------------------------------------------- Old: ---- authheaders-0.16.0.tar.gz New: ---- authheaders-0.16.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-authheaders.spec ++++++ --- /var/tmp/diff_new_pack.3lQV66/_old 2024-01-21 23:09:00.854944492 +0100 +++ /var/tmp/diff_new_pack.3lQV66/_new 2024-01-21 23:09:00.862944784 +0100 @@ -18,26 +18,26 @@ %{?sle15_python_module_pythons} Name: python-authheaders -Version: 0.16.0 +Version: 0.16.1 Release: 0 Summary: A library wrapping email authentication header verification and generation License: MIT URL: https://github.com/ValiMail/authentication-headers Source: https://files.pythonhosted.org/packages/source/a/authheaders/authheaders-%{version}.tar.gz +BuildRequires: %{python_module pip} BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wheel} BuildRequires: fdupes BuildRequires: python-rpm-macros Requires: python-authres >= 1.0.1 Requires: python-dkimpy >= 0.7.1 Requires: python-dnspython -Requires: python-importlib_resources Requires: python-publicsuffix2 BuildArch: noarch # SECTION test requirements BuildRequires: %{python_module authres >= 1.2.0} BuildRequires: %{python_module dkimpy >= 0.7.1} BuildRequires: %{python_module dnspython} -BuildRequires: %{python_module importlib_resources} BuildRequires: %{python_module publicsuffix2} BuildRequires: %{python_module pytest} # /SECTION @@ -51,10 +51,10 @@ %build export LANG=en_US.UTF-8 -%python_build +%pyproject_wheel %install -%python_install +%pyproject_install %python_expand %fdupes %{buildroot}%{$python_sitelib} # Remove binaries @@ -70,5 +70,6 @@ %files %{python_files} %doc CHANGES README.md %license COPYING -%{python_sitelib}/authheaders* +%{python_sitelib}/authheaders +%{python_sitelib}/authheaders-%{version}.dist-info ++++++ authheaders-0.16.0.tar.gz -> authheaders-0.16.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/authheaders-0.16.0/CHANGES new/authheaders-0.16.1/CHANGES --- old/authheaders-0.16.0/CHANGES 2024-01-13 06:17:10.000000000 +0100 +++ new/authheaders-0.16.1/CHANGES 2024-01-16 17:03:32.000000000 +0100 @@ -1,3 +1,9 @@ +2024-01-16 Version 0.16.1 + - Clean up unnecessary escaping of semi-colons in test data (Dig artifacts) + and adjust related code to resolve SyntaxWarning with Python 3.12 (#29) + - Set python_requires >3.7 and clean up cruft in setup.py + - Use importlib.resources instead of importlib_resources (#30) + 2024-01-12 Version 0.16.0 - Switch from pkg_resources resource_filename to importlib_resources (thanks to Andreas Schneider for the change) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/authheaders-0.16.0/PKG-INFO new/authheaders-0.16.1/PKG-INFO --- old/authheaders-0.16.0/PKG-INFO 2024-01-13 06:19:13.249860800 +0100 +++ new/authheaders-0.16.1/PKG-INFO 2024-01-16 17:04:29.365589400 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: authheaders -Version: 0.16.0 +Version: 0.16.1 Summary: A library wrapping email authentication header verification and generation. Home-page: https://github.com/ValiMail/authentication-headers Author: Gene Shuman @@ -19,4 +19,5 @@ Classifier: Topic :: Communications :: Email :: Mail Transport Agents Classifier: Topic :: Communications :: Email :: Filters Classifier: Topic :: Software Development :: Libraries :: Python Modules +Requires-Python: >3.7 Description-Content-Type: text/plain diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/authheaders-0.16.0/authheaders/__init__.py new/authheaders-0.16.1/authheaders/__init__.py --- old/authheaders-0.16.0/authheaders/__init__.py 2024-01-13 06:03:24.000000000 +0100 +++ new/authheaders-0.16.1/authheaders/__init__.py 2024-01-16 16:55:40.000000000 +0100 @@ -18,7 +18,7 @@ # Contact: Gene Shuman <g...@valimail.com> # -import importlib_resources +import importlib.resources import re import sys import copy @@ -57,8 +57,8 @@ """Check psddmarc.org list of PSD DMARC participants""" try: # If the PSD registry is locally available, use it. - ref = importlib_resources.files('authheaders') / 'psddmarc.csv' - with importlib_resources.as_file(ref) as psdfile_name: + ref = importlib.resources.files('authheaders') / 'psddmarc.csv' + with importlib.resources.as_file(ref) as psdfile_name: with open(psdfile_name) as psd_file: psds = [] for line in psd_file.readlines(): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/authheaders-0.16.0/authheaders/dmarc_lookup.py new/authheaders-0.16.1/authheaders/dmarc_lookup.py --- old/authheaders-0.16.0/authheaders/dmarc_lookup.py 2024-01-13 06:12:44.000000000 +0100 +++ new/authheaders-0.16.1/authheaders/dmarc_lookup.py 2024-01-16 16:58:07.000000000 +0100 @@ -19,7 +19,7 @@ # ############################################################################ from __future__ import absolute_import, unicode_literals, print_function -import importlib_resources +import importlib.resources try: # typing is needed by mypy, but is unused otherwise from typing import Dict, Text # noqa: F401 @@ -42,9 +42,9 @@ # type: (Text) -> Dict[unicode, unicode] '''Turn the DNS DMARC answer into a dict of tag:value pairs. Examples: - >>> answer_to_dict("v=DMARC1\; p=reject\; rua=mailto:dmarc.repo...@valimail.com,mailto:dmarc_agg@vali.email\; ruf=mailto:dmarc.repo...@valimail.com,mailto:dmarc_c0cb7153_afrf@vali.email") + >>> answer_to_dict("v=DMARC1; p=reject; rua=mailto:dmarc.repo...@valimail.com,mailto:dmarc_agg@vali.email; ruf=mailto:dmarc.repo...@valimail.com,mailto:dmarc_c0cb7153_afrf@vali.email") {'v': 'DMARC1', 'p': 'reject', 'rua': 'mailto:dmarc.repo...@valimail.com,mailto:dmarc_agg@vali.email', 'ruf': 'mailto:dmarc.repo...@valimail.com,mailto:dmarc_c0cb7153_afrf@vali.email'} - >>> answer_to_dict("v=DMARC1\; p=none\; sp=reject") + >>> answer_to_dict("v=DMARC1; p=none; sp=reject") {'v': 'DMARC1', 'p': 'none', 'sp': 'reject'} >>> answer_to_dict('"v=DMARC1; p=none; rua=mailto:dmarc.wheaton....@wheaton.edu,mailto:dmarc_...@waybettermarketing.com; ruf=mailto:dmarc.wheaton....@wheaton.edu,mailto:dmarc...@waybettermarketing.com; fo=1;" ""') {'v': 'DMARC1', 'p': 'none', 'rua': 'mailto:dmarc.wheaton....@wheaton.edu,mailto:dmarc_...@waybettermarketing.com', 'ruf': 'mailto:dmarc.wheaton....@wheaton.edu,mailto:dmarc...@waybettermarketing.com', 'fo': '1'} @@ -58,7 +58,7 @@ a = answer.strip('" ') rawTags = [t.split('=') for t in a.split(';') if t] try: - retval = {t[0].strip().lower(): t[1].strip(' \\').lower() for t in rawTags} + retval = {t[0].strip().lower(): t[1].strip().lower() for t in rawTags} except IndexError: raise DMARCException('missing tag or value: {0}'.format(answer)) # Simpler to lowercase everything and put 'v' back. Already validated @@ -199,8 +199,8 @@ from authheaders.findpsl import location return get_org_domain_from_suffix_list(location, domain) except ModuleNotFoundError: - ref = importlib_resources.files('authheaders') / 'public_suffix_list.txt' - with importlib_resources.as_file(ref) as location: + ref = importlib.resources.files('authheaders') / 'public_suffix_list.txt' + with importlib.resources.as_file(ref) as location: return get_org_domain_from_suffix_list(location, domain) def _test(): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/authheaders-0.16.0/authheaders/test/test_authentication.py new/authheaders-0.16.1/authheaders/test/test_authentication.py --- old/authheaders-0.16.0/authheaders/test/test_authentication.py 2024-01-13 05:53:09.000000000 +0100 +++ new/authheaders-0.16.1/authheaders/test/test_authentication.py 2024-01-13 23:53:58.000000000 +0100 @@ -65,20 +65,20 @@ hzY8i+RQ9DpSVpPbF7ykQxtKXkv/ahW3KjViiAH+ghvvIhkx4xYSIc9oSwVmAl5Oct\ MEeWUwg8Istjqz8BZeTWbf41fbNhte7Y+YqZOwq1Sd0DbvYAD9NOZK9vlfuac0598H\ Y+vtSBczUiKERHv1yRbcaQtZFh5wtiRrN04BLUTD21MycBX5jYchHjPY/wIDAQAB""", - "_dmarc.example.com": """v=DMARC1\; p=reject\;\ - rua=mailto:dmarc.repo...@valimail.com,mailto:dmarc_agg@vali.email\;\ + "_dmarc.example.com": """v=DMARC1; p=reject;\ + rua=mailto:dmarc.repo...@valimail.com,mailto:dmarc_agg@vali.email;\ ruf=mailto:dmarc.repo...@valimail.com,mailto:dmarc_c0cb7153_afrf@vali.email""", - "_dmarc.example.org": """v=DMARC1\; p=none""", - "_dmarc.example.net": """v=DMARC1\; p=none\; sp=reject""", + "_dmarc.example.org": """v=DMARC1; p=none""", + "_dmarc.example.net": """v=DMARC1; p=none; sp=reject""", "_dmarc.sub.example.net": "", - "_dmarc.example.biz": """v=DMARC1\; p=none\; sp=quarantine\; np=reject""", - "_dmarc.nop.example.org": """v=DMARC1\; sp=quarantine\; np=reject""", + "_dmarc.example.biz": """v=DMARC1; p=none; sp=quarantine; np=reject""", + "_dmarc.nop.example.org": """v=DMARC1; sp=quarantine; np=reject""", "_dmarc.sub.example.biz": "", "_dmarc.sub2.example.biz": "", "sub.example.biz": None, "sub2.example.biz": "host.example.biz", - "_dmarc.bad.example.com": """v=DMARC1\; p=none\; reject""", - "_dmarc.gov": "v=DMARC1; p=reject\; sp=none\; np=reject\; rua=mailto:dotgov_dm...@cisa.dhs.gov\; psd=y", + "_dmarc.bad.example.com": """v=DMARC1; p=none; reject""", + "_dmarc.gov": "v=DMARC1; p=reject; sp=none; np=reject; rua=mailto:dotgov_dm...@cisa.dhs.gov; psd=y", "_dmarc.example.gov": "", "example.gov": "", } @@ -101,7 +101,7 @@ def test_authenticate_dmarc_bad(self): res = authenticate_message(self.message10, "example.com", dkim=False, spf=False, dnsfunc=self.dnsfunc) - self.assertEqual(res, 'Authentication-Results: example.com; dmarc=permerror (missing tag or value: "v=DMARC1\\; p=none\\; reject") header.from=bad.example.com policy.dmarc=none') + self.assertEqual(res, 'Authentication-Results: example.com; dmarc=permerror (missing tag or value: "v=DMARC1; p=none; reject") header.from=bad.example.com policy.dmarc=none') def test_authenticate_dmarc_nofrom(self): res = authenticate_message(self.message11, "example.com", dkim=False, spf=False, dnsfunc=self.dnsfunc) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/authheaders-0.16.0/authheaders.egg-info/PKG-INFO new/authheaders-0.16.1/authheaders.egg-info/PKG-INFO --- old/authheaders-0.16.0/authheaders.egg-info/PKG-INFO 2024-01-13 06:19:13.000000000 +0100 +++ new/authheaders-0.16.1/authheaders.egg-info/PKG-INFO 2024-01-16 17:04:29.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: authheaders -Version: 0.16.0 +Version: 0.16.1 Summary: A library wrapping email authentication header verification and generation. Home-page: https://github.com/ValiMail/authentication-headers Author: Gene Shuman @@ -19,4 +19,5 @@ Classifier: Topic :: Communications :: Email :: Mail Transport Agents Classifier: Topic :: Communications :: Email :: Filters Classifier: Topic :: Software Development :: Libraries :: Python Modules +Requires-Python: >3.7 Description-Content-Type: text/plain diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/authheaders-0.16.0/authheaders.egg-info/requires.txt new/authheaders-0.16.1/authheaders.egg-info/requires.txt --- old/authheaders-0.16.0/authheaders.egg-info/requires.txt 2024-01-13 06:19:13.000000000 +0100 +++ new/authheaders-0.16.1/authheaders.egg-info/requires.txt 2024-01-16 17:04:29.000000000 +0100 @@ -1,5 +1,4 @@ authres>=1.2.0 dkimpy>=0.7.1 dnspython -importlib_resources publicsuffix2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/authheaders-0.16.0/setup.py new/authheaders-0.16.1/setup.py --- old/authheaders-0.16.0/setup.py 2024-01-13 06:18:50.000000000 +0100 +++ new/authheaders-0.16.1/setup.py 2024-01-16 17:02:40.000000000 +0100 @@ -104,33 +104,18 @@ except OSError: pass -# ipaddress in Python standard library python3.3 and later requires=[ "dkimpy>=0.7.1", "authres>=1.2.0", "publicsuffix2", - "importlib_resources", - "ipaddress", "dnspython" ] -if sys.version_info >= (3, 3): - requires=[ - "dkimpy>=0.7.1", - "authres>=1.2.0", - "importlib_resources", - "publicsuffix2", - "dnspython" - ] - -# READM.md support instroduce in setuptools 36.4.0 -if tuple(setuptools.__version__.split('.')) < ('36', '4', '0'): - raise Exception('authheaders requires setuptools version 36.4.0 or later') DESC = """Python module for generating email authentication headers: Authheaders can generate both authentication results header fields and DKIM/ ARC signatures. It can perform DKIM, SPF, and DMARC validation, and the results are packaged into a single Authentication-Results header. It can also DKIM and ARC sign messages and output the corresponding signature header fields. """ setup( name = "authheaders", - version = "0.16.0", + version = "0.16.1", author = "Gene Shuman", author_email = "g...@valimail.com", description = ("A library wrapping email authentication header verification and generation."), @@ -141,6 +126,7 @@ url = "https://github.com/ValiMail/authentication-headers", zip_safe=False, packages=['authheaders'], + python_requires='>3.7', classifiers=[ "Development Status :: 4 - Beta", "Topic :: Utilities",