15
0

Accepting request 950808 from devel:languages:python

OBS-URL: https://build.opensuse.org/request/show/950808
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-dnspython?expand=0&rev=31
This commit is contained in:
2022-02-03 22:16:15 +00:00
committed by Git OBS Bridge
5 changed files with 107 additions and 35 deletions

3
_multibuild Normal file
View File

@@ -0,0 +1,3 @@
<multibuild>
<flavor>test</flavor>
</multibuild>

View File

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

3
dnspython-2.2.0.tar.gz Normal file
View File

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

View File

@@ -1,3 +1,31 @@
-------------------------------------------------------------------
Wed Feb 2 18:24:23 UTC 2022 - Ben Greiner <code@bnavigator.de>
- Break build dependency cycle through :test multibuild
- PEP517 style: poetry-core is enough to build the package
- Clean up old python36 requirements: no longer in Tumbleweed
-------------------------------------------------------------------
Wed Jan 19 12:28:45 UTC 2022 - Sebastian Wagner <sebix+novell.com@sebix.at>
- Update dependencies to cover all optional features and dependencies in a more structured way and describe it in the package description.
-------------------------------------------------------------------
Tue Jan 18 14:29:53 UTC 2022 - Sebastian Wagner <sebix+novell.com@sebix.at>
- update to version 2.2.0:
- SVCB and HTTPS records have been updated to track the evolving draft standard.
- The ZONEMD type has been added.
- The resolver now returns a LifetimeTimeout exception which includes an error trace like the NoNameservers exception. This class is a subclass of dns.exception.Timeout for backwards compatibility.
- DNS-over-HTTPS will try to use HTTP/2 if the httpx and h2 packages are installed.
- DNS-over-HTTPS is now supported for asynchronous queries and resolutions.
- dns.zonefile.read_rrsets() has been added, which allows rrsets in zonefile format, or a restrition of it, to be read. This function is useful for applications that want to read DNS data in text format, but do not want to use a Zone.
- On Windows systems, if the WMI module is available, the resolver will retrieve the nameserver from WMI instead of trying to figure it out by reading the registry. This may lead to more accurate results in some cases.
- The CERT rdatatype now supports certificate types IPKIX, ISPKI, IPGP, ACPKIX, and IACPKIX.
- The CDS rdatatype now allows digest type 0.
- Dnspython zones now enforces that a node is either a CNAME node or an “other data” node. A CNAME node contains only CNAME, RRSIG(CNAME), NSEC, RRSIG(NSEC), NSEC3, or RRSIG(NSEC3) rdatasets. An “other data” node contains any rdataset other than a CNAME or RRSIG(CNAME) rdataset. The enforcement is “last update wins”. For example, if you have a node which contains a CNAME rdataset, and then add an MX rdataset to it, then the CNAME rdataset will be deleted. Likewise if you have a node containing an MX rdataset and add a CNAME rdataset, the MX rdataset will be deleted.
- Extended DNS Errors, as specified in RFC 8914, are now supported.
-------------------------------------------------------------------
Fri Jan 8 20:01:12 UTC 2021 - Sebastian Wagner <sebix+novell.com@sebix.at>

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-dnspython
# spec file
#
# Copyright (c) 2021 SUSE LLC
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,45 +16,71 @@
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "test"
%define psuffix -test
%bcond_without test
%else
%define psuffix %{nil}
%bcond_with test
%endif
%{?!python_module:%define python_module() python3-%{**}}
%define skip_python2 1
Name: python-dnspython
Version: 2.1.0
Name: python-dnspython%{psuffix}
Version: 2.2.0
Release: 0
Summary: A DNS toolkit for Python
License: ISC
Group: Development/Languages/Python
URL: https://github.com/rthalley/dnspython
Source: https://files.pythonhosted.org/packages/source/d/dnspython/dnspython-%{version}.zip
Source: https://files.pythonhosted.org/packages/source/d/dnspython/dnspython-%{version}.tar.gz
BuildRequires: %{python_module base >= 3.6}
BuildRequires: %{python_module setuptools}
# SECTION tests
BuildRequires: %{python_module cryptography}
BuildRequires: %{python_module ecdsa}
BuildRequires: %{python_module idna}
BuildRequires: %{python_module pycryptodome}
BuildRequires: %{python_module requests-toolbelt}
BuildRequires: %{python_module trio >= 0.14.0}
BuildRequires: %{python_module typing}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module poetry-core}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
# /SECTION tests
%if %{with test}
BuildRequires: %{python_module typing}
# doh:
BuildRequires: %{python_module httpx}
BuildRequires: %{python_module h2}
BuildRequires: %{python_module requests-toolbelt}
BuildRequires: %{python_module requests}
# idna
BuildRequires: %{python_module idna}
# dnssec
BuildRequires: %{python_module cryptography}
# trio
BuildRequires: %{python_module trio >= 0.14.0}
# curio
BuildRequires: %{python_module sniffio >= 1.1}
BuildRequires: %{python_module curio >= 1.2}
BuildRequires: %{python_module pytest}
BuildRequires: netcfg
BuildRequires: unzip
BuildRequires: (python3-contextvars if python3-base < 3.7)
BuildRequires: (python36-contextvars if python36-base)
Requires: python-ecdsa
Requires: python-pycryptodome
Requires: python-requests-toolbelt
%if %{python_version_nodots} < 37
%endif
%if 0%{?python_version_nodots} < 37
Requires: python-contextvars
%endif
# Requires despite optional: see description
# doh
Requires: python-requests
Requires: python-h2
Requires: python-httpx
Requires: python-requests-toolbelt
# idna
Requires: python-idna >= 2.1
# dnssec
Requires: python-cryptography
# trio
Suggests: python-trio >= 0.14.0
# curio
Suggests: python-sniffio >= 1.1
Suggests: python-curio >= 1.2
BuildArch: noarch
Recommends: python-cryptography
Recommends: python-idna >= 2.1
Recommends: python-trio >= 0.14.0
Recommends: python-sniffio >= 1.1
%python_subpackages
%description
dnspython is a DNS toolkit for Python. It supports almost all
@@ -66,27 +92,42 @@ level classes perform queries for data of a given name, type, and
class, and return an answer set. The low level classes allow direct
manipulation of DNS zones, messages, names, and records.
%python_subpackages
The package requires dependencies necessary for these optional features:
- DNS over HTTPS (doh)
- IDNA
- DNSSEC
and suggest dependencies necessary for these optional features:
- trio
- curio
This optional feature is not available due to missing dependencies:
- wmi
%prep
%setup -q -n dnspython-%{version}
chmod -x examples/*
# https://github.com/rthalley/dnspython/pull/755
chmod -x dns/win32util.py
%build
%python_build
%pyproject_wheel
%if !%{with test}
%install
%python_install
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}/
%endif
%if %{with test}
%check
# exclude the testcase which requires an unpackaged pickle file in the tests. see https://github.com/rthalley/dnspython/issues/622
%pytest -k 'not test_unpickle'
%pytest
%endif
%if !%{with test}
%files %{python_files}
%license LICENSE
%doc README.md examples/
%{python_sitelib}/dns/
%{python_sitelib}/dnspython-%{version}-py%{python_version}.egg-info
%{python_sitelib}/dnspython-%{version}.dist-info/
%endif
%changelog