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}
|
||||
%bcond_with trio
|
||||
%bcond_with curio
|
||||
%bcond_with doh
|
||||
%else
|
||||
%bcond_without trio
|
||||
%bcond_without curio
|
||||
%bcond_without doh
|
||||
%endif
|
||||
|
||||
Name: python-%{py_package_name}
|
||||
Version: 2.3.0
|
||||
Release: 2%{?dist}
|
||||
Name: python-dns
|
||||
Version: 2.6.1
|
||||
Release: 3%{?dist}
|
||||
Summary: DNS toolkit for Python
|
||||
|
||||
# The entire package is licensed with both licenses, see LICENSE file
|
||||
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
|
||||
Patch0: 0001-Add-missing-quic-files-to-setup.py-cythonize-887.patch
|
||||
Patch1: 0002-Disable-SHA1-tests.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
|
||||
Patch1000: 1000-use-setuptools-to-build-dnspython.patch
|
||||
Patch1001: 1001-disable-tests-due-to-etc-resolv-conf.patch
|
||||
BuildArch: noarch
|
||||
|
||||
BuildRequires: python3-devel
|
||||
@ -34,11 +29,6 @@ BuildRequires: python3-setuptools
|
||||
BuildRequires: python3-cryptography
|
||||
%if %{with trio}
|
||||
BuildRequires: python3-trio
|
||||
%endif
|
||||
%if %{with curio}
|
||||
BuildRequires: python3-curio
|
||||
%endif
|
||||
%if %{with trio} || %{with curio}
|
||||
BuildRequires: python3-sniffio
|
||||
%endif
|
||||
%if %{with doh}
|
||||
@ -70,6 +60,9 @@ Summary: %{summary}
|
||||
%prep
|
||||
%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
|
||||
find examples -type f | xargs chmod a-x
|
||||
|
||||
@ -80,42 +73,41 @@ find examples -type f | xargs chmod a-x
|
||||
%py3_install
|
||||
|
||||
%check
|
||||
# testCanonicalNameDangling is failing with
|
||||
# AssertionError: <DNS name dangling-cname.dnspython.org.> != <DNS name dangling-target.dnspython.org.>
|
||||
pytest -k "not testCanonicalNameDangling"
|
||||
export OPENSSL_ENABLE_SHA1_SIGNATURES=yes
|
||||
pytest
|
||||
|
||||
%files -n python3-%{py_package_name}
|
||||
%license LICENSE
|
||||
%doc README.md examples
|
||||
%{?python_extras_subpkg:
|
||||
%pycached %exclude %{python3_sitelib}/dns/_trio_backend.py
|
||||
%pycached %exclude %{python3_sitelib}/dns/_curio_backend.py
|
||||
}
|
||||
%{python3_sitelib}/%{py_package_name}
|
||||
%{python3_sitelib}/%{pypi_name}-*.egg-info
|
||||
|
||||
%{?python_extras_subpkg:
|
||||
%python_extras_subpkg -n python3-dns -i %{python3_sitelib}/*.egg-info dnssec idna
|
||||
%python_extras_subpkg -n python3-dns -i %{python3_sitelib}/dns/__init__.py dnssec idna
|
||||
|
||||
%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
|
||||
|
||||
%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
|
||||
%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
|
||||
* 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
|
||||
Related: rhbz#2177854
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user