import UBI python-dns-2.6.1-3.el9
This commit is contained in:
parent
0773870412
commit
ec60251ba0
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
|||||||
SOURCES/dnspython-2.3.0.tar.gz
|
SOURCES/dnspython-2.6.1.tar.gz
|
||||||
|
@ -1 +1 @@
|
|||||||
698b6e84cf9d0ce2a0157b3bdaf7c4a852adf3dc SOURCES/dnspython-2.3.0.tar.gz
|
a37abc80fd50ab72dc10623b0e67e7cef6a68014 SOURCES/dnspython-2.6.1.tar.gz
|
||||||
|
@ -1,27 +0,0 @@
|
|||||||
From 76e10ef549aed9f1438d97b116495c312a450a34 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Bob Halley <halley@dnspython.org>
|
|
||||||
Date: Wed, 18 Jan 2023 04:50:29 -0800
|
|
||||||
Subject: [PATCH 1/4] Add missing quic files to setup.py cythonize [#887].
|
|
||||||
|
|
||||||
(cherry picked from commit 211419bb0df840bab4696be3f6d9544d57df6603)
|
|
||||||
---
|
|
||||||
setup.py | 3 ++-
|
|
||||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/setup.py b/setup.py
|
|
||||||
index c91c719..2ccaf8b 100755
|
|
||||||
--- a/setup.py
|
|
||||||
+++ b/setup.py
|
|
||||||
@@ -30,7 +30,8 @@ else:
|
|
||||||
from Cython.Build import cythonize
|
|
||||||
|
|
||||||
ext_modules = cythonize(
|
|
||||||
- ["dns/*.py", "dns/rdtypes/*.py", "dns/rdtypes/*/*.py"], language_level="3"
|
|
||||||
+ ["dns/*.py", "dns/quic/*.py", "dns/rdtypes/*.py", "dns/rdtypes/*/*.py"],
|
|
||||||
+ language_level="3",
|
|
||||||
)
|
|
||||||
|
|
||||||
kwargs = {
|
|
||||||
--
|
|
||||||
2.40.1
|
|
||||||
|
|
@ -1,112 +0,0 @@
|
|||||||
From ecf2b229bd23229928599751950eda1639cd7e05 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Rafael Guterres Jeffman <rjeffman@redhat.com>
|
|
||||||
Date: Wed, 14 Jun 2023 15:17:57 -0300
|
|
||||||
Subject: [PATCH 2/4] Disable SHA1 tests.
|
|
||||||
|
|
||||||
Disable SHA1 dependent tests, as SHA1 is not available on c9s/RHEL 9.
|
|
||||||
---
|
|
||||||
tests/test_dnssec.py | 13 +++++++++++++
|
|
||||||
1 file changed, 13 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/tests/test_dnssec.py b/tests/test_dnssec.py
|
|
||||||
index 098af69..920c955 100644
|
|
||||||
--- a/tests/test_dnssec.py
|
|
||||||
+++ b/tests/test_dnssec.py
|
|
||||||
@@ -603,25 +603,30 @@ class DNSSECValidatorTestCase(unittest.TestCase):
|
|
||||||
self.assertEqual(dns.dnssec.key_id(rsamd5_keys[abs_example][0]), 30239)
|
|
||||||
self.assertEqual(dns.dnssec.key_id(rsamd5_keys[abs_example][1]), 62992)
|
|
||||||
|
|
||||||
+ @unittest.skip(reason="SHA1 is not supported.")
|
|
||||||
def testAbsoluteRSAGood(self): # type: () -> None
|
|
||||||
dns.dnssec.validate(abs_soa, abs_soa_rrsig, abs_keys, None, when)
|
|
||||||
|
|
||||||
+ @unittest.skip(reason="SHA1 is not supported.")
|
|
||||||
def testDuplicateKeytag(self): # type: () -> None
|
|
||||||
dns.dnssec.validate(
|
|
||||||
abs_soa, abs_soa_rrsig, abs_keys_duplicate_keytag, None, when
|
|
||||||
)
|
|
||||||
|
|
||||||
+ @unittest.skip(reason="SHA1 is not supported.")
|
|
||||||
def testAbsoluteRSABad(self): # type: () -> None
|
|
||||||
def bad(): # type: () -> None
|
|
||||||
dns.dnssec.validate(abs_other_soa, abs_soa_rrsig, abs_keys, None, when)
|
|
||||||
|
|
||||||
self.assertRaises(dns.dnssec.ValidationFailure, bad)
|
|
||||||
|
|
||||||
+ @unittest.skip(reason="SHA1 is not supported.")
|
|
||||||
def testRelativeRSAGood(self): # type: () -> None
|
|
||||||
dns.dnssec.validate(rel_soa, rel_soa_rrsig, rel_keys, abs_dnspython_org, when)
|
|
||||||
# test the text conversion for origin too
|
|
||||||
dns.dnssec.validate(rel_soa, rel_soa_rrsig, rel_keys, "dnspython.org", when)
|
|
||||||
|
|
||||||
+ @unittest.skip(reason="SHA1 is not supported.")
|
|
||||||
def testRelativeRSABad(self): # type: () -> None
|
|
||||||
def bad(): # type: () -> None
|
|
||||||
dns.dnssec.validate(
|
|
||||||
@@ -630,6 +635,7 @@ class DNSSECValidatorTestCase(unittest.TestCase):
|
|
||||||
|
|
||||||
self.assertRaises(dns.dnssec.ValidationFailure, bad)
|
|
||||||
|
|
||||||
+ @unittest.skip(reason="SHA1 is not supported.")
|
|
||||||
def testAbsoluteDSAGood(self): # type: () -> None
|
|
||||||
dns.dnssec.validate(
|
|
||||||
abs_dsa_soa,
|
|
||||||
@@ -742,6 +748,7 @@ class DNSSECValidatorTestCase(unittest.TestCase):
|
|
||||||
rsasha512_ns, rsasha512_ns_rrsig, rsasha512_keys, None, rsasha512_when
|
|
||||||
)
|
|
||||||
|
|
||||||
+ @unittest.skip(reason="SHA1 is not supported.")
|
|
||||||
def testWildcardGoodAndBad(self):
|
|
||||||
dns.dnssec.validate(
|
|
||||||
wildcard_txt, wildcard_txt_rrsig, wildcard_keys, None, wildcard_when
|
|
||||||
@@ -768,6 +775,7 @@ class DNSSECValidatorTestCase(unittest.TestCase):
|
|
||||||
com_txt, com_txt_rrsig[0], wildcard_keys, None, wildcard_when
|
|
||||||
)
|
|
||||||
|
|
||||||
+ @unittest.skip(reason="SHA1 is not supported.")
|
|
||||||
def testAlternateParameterFormats(self): # type: () -> None
|
|
||||||
# Pass rrset and rrsigset as (name, rdataset) tuples, not rrsets
|
|
||||||
rrset = (abs_soa.name, abs_soa.to_rdataset())
|
|
||||||
@@ -882,6 +890,7 @@ class DNSSECMiscTestCase(unittest.TestCase):
|
|
||||||
|
|
||||||
|
|
||||||
class DNSSECMakeDSTestCase(unittest.TestCase):
|
|
||||||
+ @unittest.skip(reason="SHA1 is not supported.")
|
|
||||||
def testMnemonicParser(self):
|
|
||||||
good_ds_mnemonic = dns.rdata.from_text(
|
|
||||||
dns.rdataclass.IN,
|
|
||||||
@@ -891,6 +900,7 @@ class DNSSECMakeDSTestCase(unittest.TestCase):
|
|
||||||
)
|
|
||||||
self.assertEqual(good_ds, good_ds_mnemonic)
|
|
||||||
|
|
||||||
+ @unittest.skip(reason="SHA1 is not supported.")
|
|
||||||
def testMakeExampleSHA1DS(self): # type: () -> None
|
|
||||||
algorithm: Any
|
|
||||||
for algorithm in ("SHA1", "sha1", dns.dnssec.DSDigest.SHA1):
|
|
||||||
@@ -909,6 +919,7 @@ class DNSSECMakeDSTestCase(unittest.TestCase):
|
|
||||||
)
|
|
||||||
self.assertEqual(ds, example_ds_sha1)
|
|
||||||
|
|
||||||
+ @unittest.skip(reason="SHA1 is not supported.")
|
|
||||||
def testMakeExampleSHA1DSValidationOkByPolicy(self): # type: () -> None
|
|
||||||
algorithm: Any
|
|
||||||
for algorithm in ("SHA1", "sha1", dns.dnssec.DSDigest.SHA1):
|
|
||||||
@@ -924,6 +935,7 @@ class DNSSECMakeDSTestCase(unittest.TestCase):
|
|
||||||
)
|
|
||||||
self.assertEqual(ds, example_ds_sha1)
|
|
||||||
|
|
||||||
+ @unittest.skip(reason="SHA1 is not supported.")
|
|
||||||
def testMakeExampleSHA1DSDeniedByPolicy(self): # type: () -> None
|
|
||||||
with self.assertRaises(dns.dnssec.DeniedByPolicy):
|
|
||||||
ds = dns.dnssec.make_ds(abs_example, example_sep_key, "SHA1")
|
|
||||||
@@ -1174,6 +1186,7 @@ class DNSSECSignatureTestCase(unittest.TestCase):
|
|
||||||
rrsig_template = abs_soa_rrsig[0]
|
|
||||||
data = dns.dnssec._make_rrsig_signature_data(abs_soa, rrsig_template)
|
|
||||||
|
|
||||||
+ @unittest.skip(reason="SHA1 is not supported.")
|
|
||||||
def testSignatureRSASHA1(self): # type: () -> None
|
|
||||||
key = rsa.generate_private_key(
|
|
||||||
public_exponent=65537, key_size=2048, backend=default_backend()
|
|
||||||
--
|
|
||||||
2.40.1
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
|||||||
From 8c23aaa4a213624cce86caa2e452ad19123d36f4 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Rafael Guterres Jeffman <rjeffman@redhat.com>
|
|
||||||
Date: Wed, 14 Jun 2023 15:24:02 -0300
|
|
||||||
Subject: [PATCH 3/4] Do not use setuptools_scm[toml] for build.
|
|
||||||
|
|
||||||
---
|
|
||||||
setup.cfg | 4 ++--
|
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/setup.cfg b/setup.cfg
|
|
||||||
index af48e0e..e9bec34 100644
|
|
||||||
--- a/setup.cfg
|
|
||||||
+++ b/setup.cfg
|
|
||||||
@@ -4,7 +4,7 @@ version = 2.3.0
|
|
||||||
author = Bob Halley
|
|
||||||
author_email = halley@dnspython.org
|
|
||||||
license = ISC
|
|
||||||
-license_file = LICENSE
|
|
||||||
+license_files = LICENSE
|
|
||||||
description = DNS toolkit
|
|
||||||
url = https://www.dnspython.org
|
|
||||||
project_urls =
|
|
||||||
@@ -46,7 +46,7 @@ packages =
|
|
||||||
dns.rdtypes.CH
|
|
||||||
python_requires = >=3.7
|
|
||||||
test_suite = tests
|
|
||||||
-setup_requires = setuptools>=44; setuptools_scm[toml]>=3.4.3
|
|
||||||
+setup_requires = setuptools>=44
|
|
||||||
|
|
||||||
[options.extras_require]
|
|
||||||
DOH = httpx>=0.21.1; h2>=4.1.0; requests; requests-toolbelt
|
|
||||||
--
|
|
||||||
2.40.1
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
|||||||
From d8fea6c4e5512fd830c48035035ff3ea16b06444 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Rafael Guterres Jeffman <rjeffman@redhat.com>
|
|
||||||
Date: Wed, 14 Jun 2023 17:06:47 -0300
|
|
||||||
Subject: [PATCH 4/4] Disable tests that require external internet connection
|
|
||||||
|
|
||||||
---
|
|
||||||
tests/util.py | 3 ++-
|
|
||||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/tests/util.py b/tests/util.py
|
|
||||||
index 5518b41..87ede4c 100644
|
|
||||||
--- a/tests/util.py
|
|
||||||
+++ b/tests/util.py
|
|
||||||
@@ -27,7 +27,8 @@ import dns.rdataclass
|
|
||||||
import dns.rdatatype
|
|
||||||
|
|
||||||
# Cache for is_internet_reachable()
|
|
||||||
-_internet_reachable = None
|
|
||||||
+# RHEL 9 build environment does not have provide external network access.
|
|
||||||
+_internet_reachable = False
|
|
||||||
_have_ipv4 = False
|
|
||||||
_have_ipv6 = False
|
|
||||||
|
|
||||||
--
|
|
||||||
2.40.1
|
|
||||||
|
|
@ -1,24 +0,0 @@
|
|||||||
From 9d29457ac5e8d5ab932c62c39665ac1b057040d3 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Bob Halley <halley@dnspython.org>
|
|
||||||
Date: Sat, 11 Feb 2023 15:17:27 -0800
|
|
||||||
Subject: [PATCH] Add dns.quic to setup.cfg for legacy setup.py installs [#896]
|
|
||||||
|
|
||||||
---
|
|
||||||
setup.cfg | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
diff --git a/setup.cfg b/setup.cfg
|
|
||||||
index bd07111..f536eee 100644
|
|
||||||
--- a/setup.cfg
|
|
||||||
+++ b/setup.cfg
|
|
||||||
@@ -40,6 +40,7 @@ provides = dns
|
|
||||||
[options]
|
|
||||||
packages =
|
|
||||||
dns
|
|
||||||
+ dns.quic
|
|
||||||
dns.rdtypes
|
|
||||||
dns.rdtypes.IN
|
|
||||||
dns.rdtypes.ANY
|
|
||||||
--
|
|
||||||
2.41.0
|
|
||||||
|
|
61
SOURCES/1000-use-setuptools-to-build-dnspython.patch
Normal file
61
SOURCES/1000-use-setuptools-to-build-dnspython.patch
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
diff -Naur dnspython-2.6.1/pyproject.toml dnspython-2.6.1-mod/pyproject.toml
|
||||||
|
--- dnspython-2.6.1/pyproject.toml 2024-02-18 15:35:12.000000000 -0300
|
||||||
|
+++ dnspython-2.6.1-mod/pyproject.toml 2024-04-30 16:01:08.055650907 -0300
|
||||||
|
@@ -6,7 +6,7 @@
|
||||||
|
name = "dnspython"
|
||||||
|
description = "DNS toolkit"
|
||||||
|
authors = [{ name = "Bob Halley", email = "halley@dnspython.org" }]
|
||||||
|
-license = "ISC"
|
||||||
|
+license = {text = "ISC"}
|
||||||
|
classifiers = [
|
||||||
|
"Development Status :: 5 - Production/Stable",
|
||||||
|
"Intended Audience :: Developers",
|
||||||
|
diff -Naur dnspython-2.6.1/setup.py dnspython-2.6.1-mod/setup.py
|
||||||
|
--- dnspython-2.6.1/setup.py 1969-12-31 21:00:00.000000000 -0300
|
||||||
|
+++ dnspython-2.6.1-mod/setup.py 2024-04-30 15:58:24.489890400 -0300
|
||||||
|
@@ -0,0 +1,45 @@
|
||||||
|
+#!/usr/bin/env python3
|
||||||
|
+#
|
||||||
|
+# Copyright (C) Dnspython Contributors, see LICENSE for text of ISC license
|
||||||
|
+#
|
||||||
|
+# Copyright (C) 2003-2007, 2009-2011 Nominum, Inc.
|
||||||
|
+#
|
||||||
|
+# Permission to use, copy, modify, and distribute this software and its
|
||||||
|
+# documentation for any purpose with or without fee is hereby granted,
|
||||||
|
+# provided that the above copyright notice and this permission notice
|
||||||
|
+# appear in all copies.
|
||||||
|
+#
|
||||||
|
+# THE SOFTWARE IS PROVIDED "AS IS" AND NOMINUM DISCLAIMS ALL WARRANTIES
|
||||||
|
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||||
|
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL NOMINUM BE LIABLE FOR
|
||||||
|
+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||||
|
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||||
|
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
|
||||||
|
+# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
+
|
||||||
|
+import sys
|
||||||
|
+from setuptools import setup, find_packages
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+try:
|
||||||
|
+ sys.argv.remove("--cython-compile")
|
||||||
|
+except ValueError:
|
||||||
|
+ compile_cython = False
|
||||||
|
+else:
|
||||||
|
+ compile_cython = True
|
||||||
|
+ from Cython.Build import cythonize
|
||||||
|
+
|
||||||
|
+ ext_modules = cythonize(
|
||||||
|
+ ["dns/*.py", "dns/quic/*.py", "dns/rdtypes/*.py", "dns/rdtypes/*/*.py"],
|
||||||
|
+ language_level="3",
|
||||||
|
+ )
|
||||||
|
+
|
||||||
|
+kwargs = {
|
||||||
|
+ "name": "dnspython",
|
||||||
|
+ "version": "@VERSION@",
|
||||||
|
+ "packages": find_packages(exclude=["tests"]),
|
||||||
|
+ "ext_modules": ext_modules if compile_cython else None,
|
||||||
|
+ "zip_safe": False if compile_cython else None,
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+setup(**kwargs)
|
178
SOURCES/1001-disable-tests-due-to-etc-resolv-conf.patch
Normal file
178
SOURCES/1001-disable-tests-due-to-etc-resolv-conf.patch
Normal file
@ -0,0 +1,178 @@
|
|||||||
|
diff -Naur dnspython-2.6.1-orig/tests/test_async.py dnspython-2.6.1-mod/tests/test_async.py
|
||||||
|
--- dnspython-2.6.1-orig/tests/test_async.py 2024-08-12 11:30:25.845242476 -0300
|
||||||
|
+++ dnspython-2.6.1-mod/tests/test_async.py 2024-08-12 17:57:20.266767286 -0300
|
||||||
|
@@ -173,7 +173,7 @@
|
||||||
|
self.assertEqual(t, ("::", 53))
|
||||||
|
|
||||||
|
|
||||||
|
-@unittest.skipIf(not tests.util.is_internet_reachable(), "Internet not reachable")
|
||||||
|
+@unittest.skip(reason="Build is failing to open /etc/resolv.conf.")
|
||||||
|
class AsyncTests(unittest.TestCase):
|
||||||
|
def setUp(self):
|
||||||
|
self.backend = dns.asyncbackend.set_default_backend("asyncio")
|
||||||
|
@@ -597,7 +597,7 @@
|
||||||
|
self.async_run(run)
|
||||||
|
|
||||||
|
|
||||||
|
-@unittest.skipIf(not tests.util.is_internet_reachable(), "Internet not reachable")
|
||||||
|
+@unittest.skip(reason="Build is failing to open /etc/resolv.conf")
|
||||||
|
class AsyncioOnlyTests(unittest.TestCase):
|
||||||
|
def setUp(self):
|
||||||
|
self.backend = dns.asyncbackend.set_default_backend("asyncio")
|
||||||
|
diff -Naur dnspython-2.6.1-orig/tests/test_resolver_override.py dnspython-2.6.1-mod/tests/test_resolver_override.py
|
||||||
|
--- dnspython-2.6.1-orig/tests/test_resolver_override.py 2024-08-12 11:30:25.846242494 -0300
|
||||||
|
+++ dnspython-2.6.1-mod/tests/test_resolver_override.py 2024-08-12 17:46:49.849623485 -0300
|
||||||
|
@@ -11,7 +11,7 @@
|
||||||
|
import tests.util
|
||||||
|
|
||||||
|
|
||||||
|
-@unittest.skipIf(not tests.util.is_internet_reachable(), "Internet not reachable")
|
||||||
|
+@unittest.skip(reason="Build is failing to open /etc/resolv.conf")
|
||||||
|
class OverrideSystemResolverTestCase(unittest.TestCase):
|
||||||
|
def setUp(self):
|
||||||
|
self.res = dns.resolver.Resolver(configure=False)
|
||||||
|
@@ -211,6 +211,7 @@
|
||||||
|
raise dns.exception.Timeout
|
||||||
|
|
||||||
|
|
||||||
|
+@unittest.skip(reason="Build is failing to open /etc/resolv.conf")
|
||||||
|
class OverrideSystemResolverUsingFakeResolverTestCase(unittest.TestCase):
|
||||||
|
def setUp(self):
|
||||||
|
self.res = FakeResolver()
|
||||||
|
@@ -240,7 +241,7 @@
|
||||||
|
socket.gethostbyaddr("bogus")
|
||||||
|
|
||||||
|
|
||||||
|
-@unittest.skipIf(not tests.util.is_internet_reachable(), "Internet not reachable")
|
||||||
|
+@unittest.skip(reason="Build is failing to open /etc/resolv.conf")
|
||||||
|
class OverrideSystemResolverUsingDefaultResolverTestCase(unittest.TestCase):
|
||||||
|
def setUp(self):
|
||||||
|
self.res = FakeResolver()
|
||||||
|
diff -Naur dnspython-2.6.1-orig/tests/test_resolver.py dnspython-2.6.1-mod/tests/test_resolver.py
|
||||||
|
--- dnspython-2.6.1-orig/tests/test_resolver.py 2024-08-12 11:30:25.846242494 -0300
|
||||||
|
+++ dnspython-2.6.1-mod/tests/test_resolver.py 2024-08-12 17:53:19.968646375 -0300
|
||||||
|
@@ -222,6 +222,7 @@
|
||||||
|
time.sleep(offset)
|
||||||
|
|
||||||
|
|
||||||
|
+@pytest.mark.skip(reason="Build is failing to open /etc/resolv.conf.")
|
||||||
|
class BaseResolverTests(unittest.TestCase):
|
||||||
|
def testRead(self):
|
||||||
|
f = StringIO(resolv_conf)
|
||||||
|
@@ -628,7 +629,7 @@
|
||||||
|
keyname = dns.name.from_text("keyname")
|
||||||
|
|
||||||
|
|
||||||
|
-@unittest.skipIf(not tests.util.is_internet_reachable(), "Internet not reachable")
|
||||||
|
+@pytest.mark.skip(reason="Build is failing to open /etc/resolv.conf.")
|
||||||
|
class LiveResolverTests(unittest.TestCase):
|
||||||
|
def testZoneForName1(self):
|
||||||
|
name = dns.name.from_text("www.dnspython.org.")
|
||||||
|
@@ -830,6 +831,7 @@
|
||||||
|
unittest.TestCase.tearDown(self)
|
||||||
|
|
||||||
|
|
||||||
|
+@pytest.mark.skip(reason="Build is failing to open /etc/resolv.conf")
|
||||||
|
class SelectResolverTestCase(
|
||||||
|
PollingMonkeyPatchMixin, LiveResolverTests, unittest.TestCase
|
||||||
|
):
|
||||||
|
@@ -839,6 +841,7 @@
|
||||||
|
|
||||||
|
if hasattr(selectors, "PollSelector"):
|
||||||
|
|
||||||
|
+ @pytest.mark.skip(reason="Build is failing to open /etc/resolv.conf")
|
||||||
|
class PollResolverTestCase(
|
||||||
|
PollingMonkeyPatchMixin, LiveResolverTests, unittest.TestCase
|
||||||
|
):
|
||||||
|
@@ -846,6 +849,7 @@
|
||||||
|
return selectors.PollSelector
|
||||||
|
|
||||||
|
|
||||||
|
+@pytest.mark.skip(reason="Build is failing to open /etc/resolv.conf")
|
||||||
|
class NXDOMAINExceptionTestCase(unittest.TestCase):
|
||||||
|
# pylint: disable=broad-except
|
||||||
|
|
||||||
|
@@ -978,6 +982,7 @@
|
||||||
|
self.assertEqual(e2.canonical_name, dns.name.from_text(cname2))
|
||||||
|
|
||||||
|
|
||||||
|
+@pytest.mark.skip(reason="Build is failing to open /etc/resolv.conf.")
|
||||||
|
class ResolverMiscTestCase(unittest.TestCase):
|
||||||
|
if sys.platform != "win32":
|
||||||
|
|
||||||
|
@@ -1007,6 +1012,7 @@
|
||||||
|
self.assertEqual(n, dns.win32util._config_domain(".home"))
|
||||||
|
|
||||||
|
|
||||||
|
+@pytest.mark.skip(reason="Build is failing to open /etc/resolv.conf")
|
||||||
|
class ResolverNameserverValidTypeTestCase(unittest.TestCase):
|
||||||
|
def test_set_nameservers_to_list(self):
|
||||||
|
resolver = dns.resolver.Resolver(configure=False)
|
||||||
|
@@ -1033,6 +1039,7 @@
|
||||||
|
resolver.nameservers = invalid_nameserver
|
||||||
|
|
||||||
|
|
||||||
|
+@unittest.skipIf(not tests.util.is_internet_reachable(), "Internet not reachable")
|
||||||
|
class NaptrNanoNameserver(Server):
|
||||||
|
def handle(self, request):
|
||||||
|
response = dns.message.make_response(request.message)
|
||||||
|
@@ -1058,10 +1065,7 @@
|
||||||
|
return response
|
||||||
|
|
||||||
|
|
||||||
|
-@unittest.skipIf(
|
||||||
|
- not (tests.util.is_internet_reachable() and _nanonameserver_available),
|
||||||
|
- "Internet and NanoAuth required",
|
||||||
|
-)
|
||||||
|
+@pytest.mark.skip(reason="Build is failing to open /etc/resolv.conf")
|
||||||
|
class NanoTests(unittest.TestCase):
|
||||||
|
def testE164Query(self):
|
||||||
|
with NaptrNanoNameserver() as na:
|
||||||
|
@@ -1125,10 +1129,7 @@
|
||||||
|
return response
|
||||||
|
|
||||||
|
|
||||||
|
-@unittest.skipIf(
|
||||||
|
- not (tests.util.is_internet_reachable() and _nanonameserver_available),
|
||||||
|
- "Internet and NanoAuth required",
|
||||||
|
-)
|
||||||
|
+@pytest.mark.skip(reason="Build is failing to open /etc/resolv.conf")
|
||||||
|
class ZoneForNameTests(unittest.TestCase):
|
||||||
|
def testNoRootSOA(self):
|
||||||
|
with AlwaysType3NXDOMAINNanoNameserver() as na:
|
||||||
|
@@ -1177,10 +1178,7 @@
|
||||||
|
# (right now it's still fast enough we don't really need it)
|
||||||
|
|
||||||
|
|
||||||
|
-@pytest.mark.skipif(
|
||||||
|
- not (tests.util.is_internet_reachable() and _nanonameserver_available),
|
||||||
|
- reason="Internet and NanoAuth required",
|
||||||
|
-)
|
||||||
|
+@pytest.mark.skip(reason="Build is failing to open /etc/resolv.conf")
|
||||||
|
def testResolverTimeout():
|
||||||
|
with DroppingNanoNameserver() as na:
|
||||||
|
res = dns.resolver.Resolver(configure=False)
|
||||||
|
@@ -1204,10 +1202,7 @@
|
||||||
|
assert isinstance(error[3], dns.exception.Timeout) # exception
|
||||||
|
|
||||||
|
|
||||||
|
-@pytest.mark.skipif(
|
||||||
|
- not (tests.util.is_internet_reachable() and _nanonameserver_available),
|
||||||
|
- reason="Internet and NanoAuth required",
|
||||||
|
-)
|
||||||
|
+@pytest.mark.skip(reason="Build is failing to open /etc/resolv.conf")
|
||||||
|
def testResolverNoNameservers():
|
||||||
|
with FormErrNanoNameserver() as na:
|
||||||
|
res = dns.resolver.Resolver(configure=False)
|
||||||
|
@@ -1235,10 +1230,7 @@
|
||||||
|
return response
|
||||||
|
|
||||||
|
|
||||||
|
-@pytest.mark.skipif(
|
||||||
|
- not (tests.util.is_internet_reachable() and _nanonameserver_available),
|
||||||
|
- reason="Internet and NanoAuth required",
|
||||||
|
-)
|
||||||
|
+@pytest.mark.skip(reason="Build is failing to open /etc/resolv.conf")
|
||||||
|
def testZoneForNameLifetimeTimeout():
|
||||||
|
with SlowAlwaysType3NXDOMAINNanoNameserver() as na:
|
||||||
|
res = dns.resolver.Resolver(configure=False)
|
@ -4,29 +4,24 @@
|
|||||||
|
|
||||||
%if 0%{?rhel}
|
%if 0%{?rhel}
|
||||||
%bcond_with trio
|
%bcond_with trio
|
||||||
%bcond_with curio
|
|
||||||
%bcond_with doh
|
%bcond_with doh
|
||||||
%else
|
%else
|
||||||
%bcond_without trio
|
%bcond_without trio
|
||||||
%bcond_without curio
|
|
||||||
%bcond_without doh
|
%bcond_without doh
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
Name: python-%{py_package_name}
|
Name: python-dns
|
||||||
Version: 2.3.0
|
Version: 2.6.1
|
||||||
Release: 2%{?dist}
|
Release: 3%{?dist}
|
||||||
Summary: DNS toolkit for Python
|
Summary: DNS toolkit for Python
|
||||||
|
|
||||||
# The entire package is licensed with both licenses, see LICENSE file
|
# The entire package is licensed with both licenses, see LICENSE file
|
||||||
License: ISC
|
License: ISC
|
||||||
URL: http://www.dnspython.org
|
URL: https://www.dnspython.org
|
||||||
|
|
||||||
Source0: https://github.com/rthalley/%{pypi_name}/archive/v%{version}%{rctag}/%{pypi_name}-%{version}%{rctag}.tar.gz
|
Source0: https://github.com/rthalley/%{pypi_name}/archive/v%{version}%{rctag}/%{pypi_name}-%{version}%{rctag}.tar.gz
|
||||||
Patch0: 0001-Add-missing-quic-files-to-setup.py-cythonize-887.patch
|
Patch1000: 1000-use-setuptools-to-build-dnspython.patch
|
||||||
Patch1: 0002-Disable-SHA1-tests.patch
|
Patch1001: 1001-disable-tests-due-to-etc-resolv-conf.patch
|
||||||
Patch2: 0003-Do-not-use-setuptools_scm-toml-for-build.patch
|
|
||||||
Patch3: 0004-Disable-tests-that-require-external-internet-connect.patch
|
|
||||||
Patch4: 0005-Add-dns.quic-to-setup.cfg-for-legacy-setup.py-install.patch
|
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
BuildRequires: python3-devel
|
BuildRequires: python3-devel
|
||||||
@ -34,11 +29,6 @@ BuildRequires: python3-setuptools
|
|||||||
BuildRequires: python3-cryptography
|
BuildRequires: python3-cryptography
|
||||||
%if %{with trio}
|
%if %{with trio}
|
||||||
BuildRequires: python3-trio
|
BuildRequires: python3-trio
|
||||||
%endif
|
|
||||||
%if %{with curio}
|
|
||||||
BuildRequires: python3-curio
|
|
||||||
%endif
|
|
||||||
%if %{with trio} || %{with curio}
|
|
||||||
BuildRequires: python3-sniffio
|
BuildRequires: python3-sniffio
|
||||||
%endif
|
%endif
|
||||||
%if %{with doh}
|
%if %{with doh}
|
||||||
@ -70,6 +60,9 @@ Summary: %{summary}
|
|||||||
%prep
|
%prep
|
||||||
%autosetup -p1 -n %{pypi_name}-%{version}%{rctag}
|
%autosetup -p1 -n %{pypi_name}-%{version}%{rctag}
|
||||||
|
|
||||||
|
# Fix package version.
|
||||||
|
sed -i -e "s/@VERSION@/%{version}/" setup.py
|
||||||
|
|
||||||
# strip exec permissions so that we don't pick up dependencies from docs
|
# strip exec permissions so that we don't pick up dependencies from docs
|
||||||
find examples -type f | xargs chmod a-x
|
find examples -type f | xargs chmod a-x
|
||||||
|
|
||||||
@ -80,42 +73,41 @@ find examples -type f | xargs chmod a-x
|
|||||||
%py3_install
|
%py3_install
|
||||||
|
|
||||||
%check
|
%check
|
||||||
# testCanonicalNameDangling is failing with
|
export OPENSSL_ENABLE_SHA1_SIGNATURES=yes
|
||||||
# AssertionError: <DNS name dangling-cname.dnspython.org.> != <DNS name dangling-target.dnspython.org.>
|
pytest
|
||||||
pytest -k "not testCanonicalNameDangling"
|
|
||||||
|
|
||||||
%files -n python3-%{py_package_name}
|
%files -n python3-%{py_package_name}
|
||||||
%license LICENSE
|
%license LICENSE
|
||||||
%doc README.md examples
|
%doc README.md examples
|
||||||
%{?python_extras_subpkg:
|
|
||||||
%pycached %exclude %{python3_sitelib}/dns/_trio_backend.py
|
%pycached %exclude %{python3_sitelib}/dns/_trio_backend.py
|
||||||
%pycached %exclude %{python3_sitelib}/dns/_curio_backend.py
|
|
||||||
}
|
|
||||||
%{python3_sitelib}/%{py_package_name}
|
%{python3_sitelib}/%{py_package_name}
|
||||||
%{python3_sitelib}/%{pypi_name}-*.egg-info
|
%{python3_sitelib}/%{pypi_name}-*.egg-info
|
||||||
|
|
||||||
%{?python_extras_subpkg:
|
%python_extras_subpkg -n python3-dns -i %{python3_sitelib}/dns/__init__.py dnssec idna
|
||||||
%python_extras_subpkg -n python3-dns -i %{python3_sitelib}/*.egg-info dnssec idna
|
|
||||||
|
|
||||||
%if %{with doh}
|
%if %{with doh}
|
||||||
%python_extras_subpkg -n python3-dns -i %{python3_sitelib}/*.egg-info doh
|
%python_extras_subpkg -n python3-dns -i %{python3_sitelib}/dns/__init__.py doh
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{with trio}
|
%if %{with trio}
|
||||||
%python_extras_subpkg -n python3-dns -i %{python3_sitelib}/*.egg-info trio
|
%python_extras_subpkg -n python3-dns -i %{python3_sitelib}/dns/__init__.py trio
|
||||||
%pycached %{python3_sitelib}/dns/_trio_backend.py
|
%pycached %{python3_sitelib}/dns/_trio_backend.py
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{with curio}
|
|
||||||
%python_extras_subpkg -n python3-dns -i %{python3_sitelib}/*.egg-info curio
|
|
||||||
%pycached %{python3_sitelib}/dns/_curio_backend.py
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# end of python_extras_subpkg
|
|
||||||
}
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Mon May 26 2023 Rafael Jeffman <rjeffman@redhat.com> - 2.3.0-2
|
* Tue Aug 20 2024 Rafael Jeffman <rjeffman@redhat.com> - 2.6.1-3
|
||||||
|
- Ensure dns.rdtypes subpackages are available
|
||||||
|
Related: RHEL-32663
|
||||||
|
|
||||||
|
* Mon Aug 19 2024 Rafael Jeffman <rjeffman@redhat.com> - 2.6.1-2
|
||||||
|
- Add missing files due to build change from hatchling to setuptools
|
||||||
|
Related: RHEL-32663
|
||||||
|
|
||||||
|
* Fri Aug 16 2024 Rafael Jeffman <rjeffman@redhat.com> - 2.6.1-1
|
||||||
|
- Rebase to 2.6.1
|
||||||
|
Resolves: RHEL-32628, RHEL-32663
|
||||||
|
|
||||||
|
* Mon Jun 26 2023 Rafael Jeffman <rjeffman@redhat.com> - 2.3.0-2
|
||||||
- Fix build for legacy setup.py
|
- Fix build for legacy setup.py
|
||||||
Related: rhbz#2177854
|
Related: rhbz#2177854
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user