diff --git a/.gitignore b/.gitignore index 1677976..1da5438 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ -SOURCES/dnspython-1.10.0.tar.gz -SOURCES/dnspython3-1.10.0.tar.gz +SOURCES/9329daf40d252f25597f44d5e1db8347304d707f.tar.gz diff --git a/.python-dns.metadata b/.python-dns.metadata index d59f7f2..25ff54b 100644 --- a/.python-dns.metadata +++ b/.python-dns.metadata @@ -1,2 +1 @@ -bcfc6ca1a2227ad42a70a0d8d172f4139bdd8d94 SOURCES/dnspython-1.10.0.tar.gz -4b68bb3c3b6919d318143e56bfbd7f1897e61733 SOURCES/dnspython3-1.10.0.tar.gz +72b719245f12d3078043169c85406c8111d8721f SOURCES/9329daf40d252f25597f44d5e1db8347304d707f.tar.gz diff --git a/SOURCES/0002-dns-loc-records-parsing.patch b/SOURCES/0002-dns-loc-records-parsing.patch deleted file mode 100644 index 85038a5..0000000 --- a/SOURCES/0002-dns-loc-records-parsing.patch +++ /dev/null @@ -1,193 +0,0 @@ -From 64a52be3cd5a254355a2e7502b9ef1fa21f50a2a Mon Sep 17 00:00:00 2001 -From: Petr Spacek -Date: Tue, 21 Jan 2014 13:43:05 +0100 -Subject: [PATCH 1/3] test size, vertical and horizontal precision values in - LOC records - ---- - tests/rdtypeanyloc.py | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 68 insertions(+) - create mode 100644 tests/rdtypeanyloc.py - -diff --git a/tests/rdtypeanyloc.py b/tests/rdtypeanyloc.py -new file mode 100644 -index 0000000..8d9838c ---- /dev/null -+++ b/tests/rdtypeanyloc.py -@@ -0,0 +1,68 @@ -+# Copyright (C) 2014 Red Hat, Inc. -+# Author: Petr Spacek -+# -+# 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 RED HAT 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 unittest -+ -+import dns.rrset -+import dns.rdtypes.ANY.LOC -+ -+class RdtypeAnyLocTestCase(unittest.TestCase): -+ -+ def testEqual1(self): -+ '''Test default values for size, horizontal and vertical precision.''' -+ r1 = dns.rrset.from_text('foo', 300, 'IN', 'LOC', -+ '49 11 42.400 N 16 36 29.600 E 227.64m') -+ r2 = dns.rrset.from_text('FOO', 600, 'in', 'loc', -+ '49 11 42.400 N 16 36 29.600 E 227.64m ' -+ '1.00m 10000.00m 10.00m') -+ self.failUnless(r1 == r2, '"%s" != "%s"' % (r1, r2)) -+ -+ def testEqual2(self): -+ '''Test default values for size, horizontal and vertical precision.''' -+ r1 = dns.rdtypes.ANY.LOC.LOC(1, 29, (49, 11, 42, 400), -+ (16, 36, 29, 600), 22764.0) # centimeters -+ r2 = dns.rdtypes.ANY.LOC.LOC(1, 29, (49, 11, 42, 400), -+ (16, 36, 29, 600), 22764.0, # centimeters -+ 100.0, 1000000.00, 1000.0) # centimeters -+ self.failUnless(r1 == r2, '"%s" != "%s"' % (r1, r2)) -+ -+ def testEqual3(self): -+ '''Test size, horizontal and vertical precision parsers: 100 cm == 1 m. -+ -+ Parsers in from_text() and __init__() have to produce equal results.''' -+ r1 = dns.rdtypes.ANY.LOC.LOC(1, 29, (49, 11, 42, 400), -+ (16, 36, 29, 600), 22764.0, -+ 200.0, 1000.00, 200.0) # centimeters -+ r2 = dns.rrset.from_text('FOO', 600, 'in', 'loc', -+ '49 11 42.400 N 16 36 29.600 E 227.64m ' -+ '2.00m 10.00m 2.00m')[0] -+ self.failUnless(r1 == r2, '"%s" != "%s"' % (r1, r2)) -+ -+ def testEqual4(self): -+ '''Test size, horizontal and vertical precision parsers without unit. -+ -+ Parsers in from_text() and __init__() have produce equal result -+ for values with and without trailing "m".''' -+ r1 = dns.rdtypes.ANY.LOC.LOC(1, 29, (49, 11, 42, 400), -+ (16, 36, 29, 600), 22764.0, -+ 200.0, 1000.00, 200.0) # centimeters -+ r2 = dns.rrset.from_text('FOO', 600, 'in', 'loc', -+ '49 11 42.400 N 16 36 29.600 E 227.64 ' -+ '2 10 2')[0] # meters without explicit unit -+ self.failUnless(r1 == r2, '"%s" != "%s"' % (r1, r2)) -+ -+if __name__ == '__main__': -+ unittest.main() --- -1.8.5.1 - - -From f8ad77491f1e8c87625920062d2ef34ae0af6968 Mon Sep 17 00:00:00 2001 -From: Petr Spacek -Date: Tue, 21 Jan 2014 13:49:21 +0100 -Subject: [PATCH 2/3] Fix default size, horizontal and vertical precition - values for LOC records. - -Default values in RFC 1876 are in meters but the old code used -the numerical value as centimeters. ---- - dns/rdtypes/ANY/LOC.py | 22 +++++++++++++++------- - 1 file changed, 15 insertions(+), 7 deletions(-) - -diff --git a/dns/rdtypes/ANY/LOC.py b/dns/rdtypes/ANY/LOC.py -index 154546d..4d4b886 100644 ---- a/dns/rdtypes/ANY/LOC.py -+++ b/dns/rdtypes/ANY/LOC.py -@@ -22,6 +22,11 @@ - _pows = (1L, 10L, 100L, 1000L, 10000L, 100000L, 1000000L, 10000000L, - 100000000L, 1000000000L, 10000000000L) - -+# default values are in centimeters -+_default_size = 100.0 -+_default_hprec = 1000000.0 -+_default_vprec = 1000.0 -+ - def _exponent_of(what, desc): - exp = None - for i in xrange(len(_pows)): -@@ -98,13 +103,14 @@ class LOC(dns.rdata.Rdata): - 'horizontal_precision', 'vertical_precision'] - - def __init__(self, rdclass, rdtype, latitude, longitude, altitude, -- size=1.0, hprec=10000.0, vprec=10.0): -+ size=_default_size, hprec=_default_hprec, vprec=_default_vprec): - """Initialize a LOC record instance. - - The parameters I{latitude} and I{longitude} may be either a 4-tuple - of integers specifying (degrees, minutes, seconds, milliseconds), - or they may be floating point values specifying the number of -- degrees. The other parameters are floats.""" -+ degrees. The other parameters are floats. Size, horizontal precision, -+ and vertical precision are specified in centimeters.""" - - super(LOC, self).__init__(rdclass, rdtype) - if isinstance(latitude, int) or isinstance(latitude, long): -@@ -141,8 +147,10 @@ def to_text(self, origin=None, relativize=True, **kw): - self.longitude[3], long_hemisphere, self.altitude / 100.0 - ) - -- if self.size != 1.0 or self.horizontal_precision != 10000.0 or \ -- self.vertical_precision != 10.0: -+ # do not print default values -+ if self.size != _default_size or \ -+ self.horizontal_precision != _default_hprec or \ -+ self.vertical_precision != _default_vprec: - text += " %0.2fm %0.2fm %0.2fm" % ( - self.size / 100.0, self.horizontal_precision / 100.0, - self.vertical_precision / 100.0 -@@ -152,9 +160,9 @@ def to_text(self, origin=None, relativize=True, **kw): - def from_text(cls, rdclass, rdtype, tok, origin = None, relativize = True): - latitude = [0, 0, 0, 0] - longitude = [0, 0, 0, 0] -- size = 1.0 -- hprec = 10000.0 -- vprec = 10.0 -+ size = _default_size -+ hprec = _default_hprec -+ vprec = _default_vprec - - latitude[0] = tok.get_int() - t = tok.get_string() --- -1.8.5.1 - - -From 124851da6c7dbaa07e412dda1fab0e95fa70eaad Mon Sep 17 00:00:00 2001 -From: Petr Spacek -Date: Tue, 21 Jan 2014 14:07:24 +0100 -Subject: [PATCH 3/3] Fix vertical precision parsing for LOC records. - -Vertical precision value was ignored if the optional 'm' (unit) -was missing at the end of input and rest of the input was ignored. ---- - dns/rdtypes/ANY/LOC.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/dns/rdtypes/ANY/LOC.py b/dns/rdtypes/ANY/LOC.py -index 4d4b886..863c184 100644 ---- a/dns/rdtypes/ANY/LOC.py -+++ b/dns/rdtypes/ANY/LOC.py -@@ -248,8 +248,8 @@ def from_text(cls, rdclass, rdtype, tok, origin = None, relativize = True): - value = token.value - if value[-1] == 'm': - value = value[0 : -1] -- vprec = float(value) * 100.0 # m -> cm -- tok.get_eol() -+ vprec = float(value) * 100.0 # m -> cm -+ tok.get_eol() - - return cls(rdclass, rdtype, latitude, longitude, altitude, - size, hprec, vprec) --- -1.8.5.1 - diff --git a/SOURCES/dnspython-1.10.0.tar.gz.asc b/SOURCES/dnspython-1.10.0.tar.gz.asc deleted file mode 100644 index 559ff02..0000000 --- a/SOURCES/dnspython-1.10.0.tar.gz.asc +++ /dev/null @@ -1,11 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.19 (Darwin) - -iQEUAwUAT4Gp63249fb/9dHeAQLoSwf2O2d4uidkvPy+EHwp0ysojUnSQ7vNyc0k -8dLZuBXiDXXU2ScftIDtkFaJHKY0hQ16GahzscKuVa8iB+/9//G0xhUtkUmBSEAs -+Q/yLhwZyCYP78FHHrD8THvgfHZTjeLabFGy9IhRP4CuqXLp5vfnLg3U8dk0bskF -Dze/rrfN+qHr8wSEV/3OTSqPbB+QvsIlSLGlkg50dPJmBDURs0Pt5zHcuxdbhIzx -ThLVOLxj9JfgGiXVyO4VCD5gIA6M7PDiVthU026i1ODfgN+ad5vyPOvNepAzDXl6 -KMwWHoWb6KC5Mci5G++j6Fpzp/UuHBjrfExbKhD/MdfKc9ccLPNb -=l1Ls ------END PGP SIGNATURE----- diff --git a/SOURCES/dnspython-1.10.1-tlsa.patch b/SOURCES/dnspython-1.10.1-tlsa.patch deleted file mode 100644 index 31aca18..0000000 --- a/SOURCES/dnspython-1.10.1-tlsa.patch +++ /dev/null @@ -1,175 +0,0 @@ -commit 38d5ea59581275eafcf55f2d677056875483fa2f -Author: Pieter Lexis -Date: Mon Sep 17 23:58:20 2012 +0200 - - Add TLSA (RFC 6698) record type - -diff --git a/dns/rdatatype.py b/dns/rdatatype.py -index 380cfcd..f64307a 100644 ---- a/dns/rdatatype.py -+++ b/dns/rdatatype.py -@@ -78,6 +78,7 @@ DNSKEY = 48 - DHCID = 49 - NSEC3 = 50 - NSEC3PARAM = 51 -+TLSA = 52 - HIP = 55 - SPF = 99 - UNSPEC = 103 -@@ -140,6 +141,7 @@ _by_text = { - 'DHCID' : DHCID, - 'NSEC3' : NSEC3, - 'NSEC3PARAM' : NSEC3PARAM, -+ 'TLSA' : TLSA, - 'HIP' : HIP, - 'SPF' : SPF, - 'UNSPEC' : UNSPEC, -diff --git a/dns/rdtypes/ANY/TLSA.py b/dns/rdtypes/ANY/TLSA.py -new file mode 100644 -index 0000000..6ca8c0a ---- /dev/null -+++ b/dns/rdtypes/ANY/TLSA.py -@@ -0,0 +1,89 @@ -+# Copyright (C) 2005-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 struct -+ -+import dns.rdata -+import dns.rdatatype -+ -+class TLSA(dns.rdata.Rdata): -+ """TLSA record -+ -+ @ivar usage: The certificate usage -+ @type usage: int -+ @ivar selector: The selector field -+ @type selector: int -+ @ivar mtype: The 'matching type' field -+ @type mtype: int -+ @ivar cert: The 'Certificate Association Data' field -+ @type cert: string -+ @see: RFC 6698""" -+ -+ __slots__ = ['usage', 'selector', 'mtype', 'cert'] -+ -+ def __init__(self, rdclass, rdtype, usage, selector, -+ mtype, cert): -+ super(TLSA, self).__init__(rdclass, rdtype) -+ self.usage = usage -+ self.selector = selector -+ self.mtype = mtype -+ self.cert = cert -+ -+ def to_text(self, origin=None, relativize=True, **kw): -+ return '%d %d %d %s' % (self.usage, -+ self.selector, -+ self.mtype, -+ dns.rdata._hexify(self.cert, -+ chunksize=128)) -+ -+ def from_text(cls, rdclass, rdtype, tok, origin = None, relativize = True): -+ usage = tok.get_uint8() -+ selector = tok.get_uint8() -+ mtype = tok.get_uint8() -+ cert_chunks = [] -+ while 1: -+ t = tok.get().unescape() -+ if t.is_eol_or_eof(): -+ break -+ if not t.is_identifier(): -+ raise dns.exception.SyntaxError -+ cert_chunks.append(t.value) -+ cert = ''.join(cert_chunks) -+ cert = cert.decode('hex_codec') -+ return cls(rdclass, rdtype, usage, selector, mtype, cert) -+ -+ from_text = classmethod(from_text) -+ -+ def to_wire(self, file, compress = None, origin = None): -+ header = struct.pack("!BBB", self.usage, self.selector, self.mtype) -+ file.write(header) -+ file.write(self.cert) -+ -+ def from_wire(cls, rdclass, rdtype, wire, current, rdlen, origin = None): -+ header = struct.unpack("!BBB", wire[current : current + 3]) -+ current += 3 -+ rdlen -= 3 -+ cert = wire[current : current + rdlen].unwrap() -+ return cls(rdclass, rdtype, header[0], header[1], header[2], cert) -+ -+ from_wire = classmethod(from_wire) -+ -+ def _cmp(self, other): -+ hs = struct.pack("!BBB", self.usage, self.selector, self.mtype) -+ ho = struct.pack("!BBB", other.usage, other.selector, other.mtype) -+ v = cmp(hs, ho) -+ if v == 0: -+ v = cmp(self.cert, other.cert) -+ return v -diff --git a/dns/rdtypes/ANY/__init__.py b/dns/rdtypes/ANY/__init__.py -index 721e9dd..cfb0be6 100644 ---- a/dns/rdtypes/ANY/__init__.py -+++ b/dns/rdtypes/ANY/__init__.py -@@ -33,6 +33,7 @@ __all__ = [ - 'NSEC', - 'NSEC3', - 'NSEC3PARAM', -+ 'TLSA', - 'PTR', - 'RP', - 'RRSIG', -diff --git a/tests/example b/tests/example -index 2f753a2..71fb8e6 100644 ---- a/tests/example -+++ b/tests/example -@@ -165,6 +165,9 @@ srv02 SRV 65535 65535 65535 old-slow-box.example.com. - $TTL 301 ; 5 minutes 1 second - t A 73.80.65.49 - $TTL 3600 ; 1 hour -+tlsa1 TLSA 3 1 1 01a9cdf989b504fe5dca90c0d2167b6550570734f7c763e09fdf88904e06157065 -+tlsa2 TLSA 1 0 1 efddf0d915c7bdc5782c0881e1b2a95ad099fbdd06d7b1f77982d9364338d955 -+tlsa3 TLSA 1 0 2 81ee7f6c0ecc6b09b7785a9418f54432de630dd54dc6ee9e3c49de547708d236d4c413c3e97e44f969e635958aa410495844127c04883503e5b024cf7a8f6a94 - txt01 TXT "foo" - txt02 TXT "foo" "bar" - txt03 TXT "foo" -diff --git a/tests/example1.good b/tests/example1.good -index 0834d17..4c2d01a 100644 ---- a/tests/example1.good -+++ b/tests/example1.good -@@ -90,6 +90,9 @@ srv01 3600 IN SRV 0 0 0 . - srv02 3600 IN SRV 65535 65535 65535 old-slow-box.example.com. - sshfp1 3600 IN SSHFP 1 1 aa549bfe898489c02d1715d97d79c57ba2fa76ab - t 301 IN A 73.80.65.49 -+tlsa1 3600 IN TLSA 3 1 1 01a9cdf989b504fe5dca90c0d2167b6550570734f7c763e09fdf88904e06157065 -+tlsa2 3600 IN TLSA 1 0 1 efddf0d915c7bdc5782c0881e1b2a95ad099fbdd06d7b1f77982d9364338d955 -+tlsa3 3600 IN TLSA 1 0 2 81ee7f6c0ecc6b09b7785a9418f54432de630dd54dc6ee9e3c49de547708d236d4c413c3e97e44f969e635958aa410495844127c04883503e5b024cf7a8f6a94 - txt01 3600 IN TXT "foo" - txt02 3600 IN TXT "foo" "bar" - txt03 3600 IN TXT "foo" -diff --git a/tests/example2.good b/tests/example2.good -index de4bcd5..1bf6b59 100644 ---- a/tests/example2.good -+++ b/tests/example2.good -@@ -90,6 +90,9 @@ srv01.example. 3600 IN SRV 0 0 0 . - srv02.example. 3600 IN SRV 65535 65535 65535 old-slow-box.example.com. - sshfp1.example. 3600 IN SSHFP 1 1 aa549bfe898489c02d1715d97d79c57ba2fa76ab - t.example. 301 IN A 73.80.65.49 -+tlsa1.example. 3600 IN TLSA 3 1 1 01a9cdf989b504fe5dca90c0d2167b6550570734f7c763e09fdf88904e06157065 -+tlsa2.example. 3600 IN TLSA 1 0 1 efddf0d915c7bdc5782c0881e1b2a95ad099fbdd06d7b1f77982d9364338d955 -+tlsa3.example. 3600 IN TLSA 1 0 2 81ee7f6c0ecc6b09b7785a9418f54432de630dd54dc6ee9e3c49de547708d236d4c413c3e97e44f969e635958aa410495844127c04883503e5b024cf7a8f6a94 - txt01.example. 3600 IN TXT "foo" - txt02.example. 3600 IN TXT "foo" "bar" - txt03.example. 3600 IN TXT "foo" diff --git a/SOURCES/dnspython3-1.10.0.tar.gz.asc b/SOURCES/dnspython3-1.10.0.tar.gz.asc deleted file mode 100644 index 2991d5d..0000000 --- a/SOURCES/dnspython3-1.10.0.tar.gz.asc +++ /dev/null @@ -1,11 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.19 (Darwin) - -iQEVAwUAT4GrMH249fb/9dHeAQLokAf8DsBlgFjSqjAF9k41ysbDObrTwMYGy8Zk -5CdMyGdI7AGBhZsTC9LByWwtd62Ra2A48uXeZ4cFASs5yodOZ6Y7jPAJagMzSNo9 -jiOEL/aAjTv0wcOqpi6d9gl/meBTfIcjDYyrMpKEgUkdPY/VkWkWtZFUjpyFv+lG -8MMrQie9qNOU2hiStFxd8+PqcceAKC5P+P4nsafS4bUSTD0Apo4DDzcw3Z8X4O7V -UO9QHPGet7Z5QASH3YUkIunWFL2J5/TGiKwtSrDvwdvoX8eP48wBO8RUy3SCSoHP -19k98dWaDnSyUn4FKfkr+Q3JIo1PYfhQBMHgSbX8LnXYR12URQFbLw== -=ZD+e ------END PGP SIGNATURE----- diff --git a/SPECS/python-dns.spec b/SPECS/python-dns.spec index bb3383b..d5a722d 100644 --- a/SPECS/python-dns.spec +++ b/SPECS/python-dns.spec @@ -1,37 +1,24 @@ -%if 0%{?fedora} > 12 -%global with_python3 1 -%else -%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())")} -%endif +%global from_checkout 1 +%global commit 9329daf40d252f25597f44d5e1db8347304d707f +%global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: python-dns -Version: 1.10.0 -Release: 5%{?dist} +Version: 1.11.1 +Release: 2%{?from_checkout:.20140901git%{shortcommit}}%{?dist} Summary: DNS toolkit for Python Group: Development/Languages License: MIT URL: http://www.dnspython.org/ +%if 0%{?from_checkout} +Source0: https://github.com/rthalley/%{name}/archive/%{commit}.tar.gz +%else Source0: http://www.dnspython.org/kits/%{version}/dnspython-%{version}.tar.gz -Source1: http://www.dnspython.org/kits/%{version}/dnspython-%{version}.tar.gz.asc -Source2: http://www.dnspython.org/kits3/%{version}/dnspython3-%{version}.tar.gz -Source3: http://www.dnspython.org/kits3/%{version}/dnspython3-%{version}.tar.gz.asc -Patch1: dnspython-1.10.1-tlsa.patch -# Patch2 https://github.com/rthalley/dnspython/issues/47 -Patch2: 0002-dns-loc-records-parsing.patch +%endif BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch -%if 0%{?fedora} >= 8 -BuildRequires: python-setuptools-devel -%else BuildRequires: python-setuptools -%endif - -%if 0%{?with_python3} -BuildRequires: python3-devel -BuildRequires: python3-setuptools -%endif %description dnspython is a DNS toolkit for Python. It supports almost all record @@ -43,34 +30,8 @@ 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. - -%if 0%{?with_python3} -%package -n python3-dns -Summary: DNS toolkit for Python 3 -Group: Development/Languages - -%description -n python3-dns -dnspython3 is a DNS toolkit for Python 3. It supports almost all record -types. It can be used for queries, zone transfers, and dynamic -updates. It supports TSIG authenticated messages and EDNS0. - -dnspython3 provides both high and low level access to DNS. The high -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. -%endif - - %prep -%setup -q -n dnspython-%{version} -%setup -T -D -a 2 -q -n dnspython-%{version} -%patch1 -p1 -b .tlsa -%patch2 -p1 - -%if 0%{?with_python3} -rm -rf %{py3dir} -cp -a dnspython3-%{version} %{py3dir} -%endif +%setup -q -n dnspython-%{?from_checkout:%{commit}}%{!?from_checkout:%{version}} # strip executable permissions so that we don't pick up dependencies # from documentation @@ -80,70 +41,38 @@ find examples -type f | xargs chmod a-x %build CFLAGS="%{optflags}" %{__python} -c 'import setuptools; execfile("setup.py")' build -%if 0%{?with_python3} -pushd %{py3dir} -CFLAGS="%{optflags}" %{__python3} setup.py build -popd -%endif - %install rm -rf %{buildroot} %{__python} -c 'import setuptools; execfile("setup.py")' install --skip-build --root %{buildroot} -%if 0%{?with_python3} -pushd %{py3dir} -%{__python3} -c 'import setuptools; exec(open("setup.py").read())' install \ - --skip-build --root %{buildroot} -popd -%endif - %check pushd tests # skip one test because it queries the network -for py in *.py -do - if [ $py != resolver.py ] - then - PYTHONPATH=%{buildroot}%{python_sitelib} %{__python} $py - fi -done - -%if 0%{?with_python3} -pushd %{py3dir}/tests -for py in *.py -do - if [ $py != resolver.py ] - then - PYTHONPATH=%{buildroot}%{python3_sitelib} %{__python3} $py - fi -done -popd -%endif +mv test_resolver.py test_resolver.pynorun +%{__python} utest.py -%clean -rm -rf %{buildroot} - %files -%defattr(-,root,root,-) %doc ChangeLog LICENSE README examples %{python_sitelib}/*egg-info %{python_sitelib}/dns -%if 0%{?with_python3} -%files -n python3-dns -%defattr(-,root,root,-) -%doc dnspython3-%{version}/{ChangeLog,LICENSE,README,examples} -%{python3_sitelib}/*egg-info -%{python3_sitelib}/dns -%endif +%changelog +* Mon Sep 01 2014 Slavek Kabrda - 1.11.1-2.20140901git9329daf +- Rebase to latest upstream commit +- Remove unnecessary sources and patches +- Specfile cleanup +Resolves: rhbz#1112999 +* Tue Aug 26 2014 Slavek Kabrda - 1.11.1-1 +- Rebase to version 1.11.1 +- Remove downstream patch that was merged upstream +Resolves: rhbz#1112999 -%changelog * Tue Jan 28 2014 Robert Kuska - 1.10.0-5 - Patch to fix LOC records parsing Resolves: rhbz#1056747