Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-py3dns for openSUSE:Factory 
checked in at 2024-01-10 21:51:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-py3dns (Old)
 and      /work/SRC/openSUSE:Factory/.python-py3dns.new.21961 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-py3dns"

Wed Jan 10 21:51:55 2024 rev:3 rq:1137811 version:4.0.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-py3dns/python-py3dns.changes      
2019-09-11 10:39:38.867228021 +0200
+++ /work/SRC/openSUSE:Factory/.python-py3dns.new.21961/python-py3dns.changes   
2024-01-10 21:52:17.036156909 +0100
@@ -1,0 +2,16 @@
+Tue Jan  9 21:30:53 UTC 2024 - Dirk Müller <[email protected]>
+
+- update to 4.0.0:
+  * Bump major version due to incompatible change
+  * Remove class DnsAsyncRequest, asyncore is removed from Python
+    3.12 and it would require a substial rewrite -
+    If you need async DNS, use aiodns instead. (LP: #2003329)
+  * Switch build system from setuptools with setup.py to flit
+  * If /etc/resolv.conf, assume DNS server is '127.0.0.1', this
+    changes the existing behavior - in previous releases there
+    would be a FileNotFoundError.
+- drop python3-py3dns-handle-absent-resolv.patch,
+  python3-py3dns-py3_friendly_warning.patch: solved upstream
+  differently
+
+-------------------------------------------------------------------

Old:
----
  py3dns-3.2.1.tar.gz
  python3-py3dns-handle-absent-resolv.patch
  python3-py3dns-py3_friendly_warning.patch

New:
----
  py3dns-4.0.0.tar.gz

BETA DEBUG BEGIN:
  Old:    would be a FileNotFoundError.
- drop python3-py3dns-handle-absent-resolv.patch,
  python3-py3dns-py3_friendly_warning.patch: solved upstream
  Old:- drop python3-py3dns-handle-absent-resolv.patch,
  python3-py3dns-py3_friendly_warning.patch: solved upstream
  differently
BETA DEBUG END:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-py3dns.spec ++++++
--- /var/tmp/diff_new_pack.S4jyDq/_old  2024-01-10 21:52:17.536175067 +0100
+++ /var/tmp/diff_new_pack.S4jyDq/_new  2024-01-10 21:52:17.536175067 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-py3dns
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2024 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,19 +16,17 @@
 #
 
 
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
-%define skip_python2 1
 Name:           python-py3dns
-Version:        3.2.1
+Version:        4.0.0
 Release:        0
 Summary:        Python module for DNS (Domain Name Service)
 License:        CNRI-Python
 Group:          Development/Languages/Python
 URL:            https://launchpad.net/py3dns
 Source:         
https://files.pythonhosted.org/packages/source/p/py3dns/py3dns-%{version}.tar.gz
-Patch0:         python3-py3dns-handle-absent-resolv.patch
-Patch1:         python3-py3dns-py3_friendly_warning.patch
-BuildRequires:  %{python_module setuptools}
+BuildRequires:  %{python_module flit-core}
+BuildRequires:  %{python_module pip}
+BuildRequires:  %{python_module wheel}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
 BuildArch:      noarch
@@ -40,14 +38,13 @@
 symbolic constants used by DNS (dnstype, dnsclass, dnsopcode).
 
 %prep
-%setup -q -n py3dns-%{version}
-%autopatch -p1
+%autosetup -p1 -n py3dns-%{version}
 
 %build
-%python_build
+%pyproject_wheel
 
 %install
-%python_install
+%pyproject_install
 %python_expand %fdupes %{buildroot}%{$python_sitelib}
 
 %check
@@ -57,5 +54,6 @@
 %files %{python_files}
 %license LICENSE
 %doc README* CHANGES
-%{python_sitelib}/*
+%{python_sitelib}/DNS
+%{python_sitelib}/py3dns-%{version}.dist-info
 

++++++ py3dns-3.2.1.tar.gz -> py3dns-4.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/py3dns-3.2.1/CHANGES new/py3dns-4.0.0/CHANGES
--- old/py3dns-3.2.1/CHANGES    2019-09-04 14:14:51.000000000 +0200
+++ new/py3dns-4.0.0/CHANGES    2023-07-01 23:05:20.511201100 +0200
@@ -1,3 +1,13 @@
+4.0.0 Sat, Jul 1, 2023
+ * Bump major version due to incompatible change
+ * Remove class DnsAsyncRequest, asyncore is removed from Python 3.12 and it
+   would require a substial rewrite - If you need async DNS, use aiodns
+   instead. (LP: #2003329)
+ * Switch build system from setuptools with setup.py to flit
+ * If /etc/resolv.conf, assume DNS server is '127.0.0.1', this changes the
+   existing behavior - in previous releases there would be a
+   FileNotFoundError.
+
 3.2.1 Wed, Sep  4, 2019
  * Add support for setting timeout for convenience methods in DNS.lazy
  * Fixed DNS.req resulttype error format (LP: #1842423)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/py3dns-3.2.1/DNS/Base.py new/py3dns-4.0.0/DNS/Base.py
--- old/py3dns-3.2.1/DNS/Base.py        2019-09-04 12:19:11.000000000 +0200
+++ new/py3dns-4.0.0/DNS/Base.py        2023-07-01 22:39:28.319523300 +0200
@@ -14,7 +14,6 @@
 import socket, string, types, time, select
 import errno
 from . import Type,Class,Opcode
-import asyncore
 #
 # This random generator is used for transaction ids and port selection.  This
 # is important to prevent spurious results from lost packets, and malicious
@@ -50,8 +49,12 @@
 
 def ParseResolvConf(resolv_path="/etc/resolv.conf"):
     "parses the /etc/resolv.conf file and sets defaults for name servers"
-    with open(resolv_path, 'r') as stream:
-        return ParseResolvConfFromIterable(stream)
+    try:
+        with open(resolv_path, 'r') as stream:
+            return ParseResolvConfFromIterable(stream)
+    except FileNotFoundError:
+        return(defaults['server'].append('127.0.0.1'))
+
 
 def ParseResolvConfFromIterable(lines):
     "parses a resolv.conf formatted stream and sets defaults for name servers"
@@ -94,7 +97,6 @@
     """ high level Request object """
     def __init__(self,*name,**args):
         self.donefunc=None
-        self.py3async=None
         self.defaults = {}
         self.argparse(name,args)
         self.defaults = self.args
@@ -274,10 +276,7 @@
                 self.sendTCPRequest(server)
         except socket.error as reason:
             raise SocketError(reason)
-        if self.py3async:
-            return None
-        else:
-            return self.response
+        return self.response
 
     def req(self,*name,**args):
         " needs a refactoring "
@@ -326,10 +325,7 @@
                 self.sendTCPRequest(server)
         except socket.error as reason:
             raise SocketError(reason)
-        if self.py3async:
-            return None
-        else:
-            return self.response
+        return self.response
 
     def sendUDPRequest(self, server):
         "refactor me"
@@ -347,21 +343,18 @@
                     # TODO. Handle timeouts &c correctly (RFC)
                     self.time_start=time.time()
                     self.conn()
-                    if not self.py3async:
-                        self.s.send(self.request)
+                    self.s.send(self.request)
+                    r=self.processUDPReply()
+                    # Since we bind to the source port and connect to the
+                    # destination port, we don't need to check that here,
+                    # but do make sure it's actually a DNS request that the
+                    # packet is in reply to.
+                    while (r.header['id'] != self.tid or
+                            self.from_address[1] != self.port):
                         r=self.processUDPReply()
-                        # Since we bind to the source port and connect to the
-                        # destination port, we don't need to check that here,
-                        # but do make sure it's actually a DNS request that the
-                        # packet is in reply to.
-                        while r.header['id'] != self.tid        \
-                                or self.from_address[1] != self.port:
-                            r=self.processUDPReply()
-                        self.response = r
-                        # FIXME: check waiting async queries
+                    self.response = r
                 finally:
-                    if not self.py3async:
-                        self.s.close()
+                    self.s.close()
             except socket.error as e:
                 # Keep trying more nameservers, but preserve the first error
                 # that occurred so it can be reraised in case none of the
@@ -418,40 +411,6 @@
         if not self.response and first_socket_error:
             raise first_socket_error
 
-#class DnsAsyncRequest(DnsRequest):
-class DnsAsyncRequest(DnsRequest,asyncore.dispatcher_with_send):
-    " an asynchronous request object. out of date, probably broken "
-    def __init__(self,*name,**args):
-        DnsRequest.__init__(self, *name, **args)
-        # XXX todo
-        if 'done' in args and args['done']:
-            self.donefunc=args['done']
-        else:
-            self.donefunc=self.showResult
-        #self.realinit(name,args) # XXX todo
-        self.py3async=1
-    def conn(self):
-        self.getSource()
-        self.connect((self.ns,self.port))
-        self.time_start=time.time()
-        if 'start' in self.args and self.args['start']:
-            asyncore.dispatcher.go(self)
-    def socketInit(self,a,b):
-        self.create_socket(a,b)
-        asyncore.dispatcher.__init__(self)
-        self.s=self
-    def handle_read(self):
-        if self.args['protocol'] == 'udp':
-            self.response=self.processUDPReply()
-            if self.donefunc:
-                self.donefunc(*(self,))
-    def handle_connect(self):
-        self.send(self.request)
-    def handle_write(self):
-        pass
-    def showResult(self,*s):
-        self.response.show()
-
 def ParseOSXSysConfig():
     "Retrieves the current Mac OS X resolver settings using the scutil(8) 
command."
     import os, re
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/py3dns-3.2.1/DNS/__init__.py 
new/py3dns-4.0.0/DNS/__init__.py
--- old/py3dns-3.2.1/DNS/__init__.py    2019-09-04 11:43:56.000000000 +0200
+++ new/py3dns-4.0.0/DNS/__init__.py    2023-07-01 21:23:56.276977500 +0200
@@ -10,7 +10,7 @@
 
 # __init__.py for DNS class.
 
-__version__ = '3.2.1'
+__version__ = '4.0.0'
 
 try:
     import ipaddress
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/py3dns-3.2.1/DNS/tests/test_base.py 
new/py3dns-4.0.0/DNS/tests/test_base.py
--- old/py3dns-3.2.1/DNS/tests/test_base.py     2019-09-04 14:13:10.000000000 
+0200
+++ new/py3dns-4.0.0/DNS/tests/test_base.py     2020-04-17 21:29:51.000000000 
+0200
@@ -83,7 +83,7 @@
         self.assertEqual(aaaai_response.answers[0]['data'], 
50542628918019813867414319910101719366)
 
     def testDnsRequestEmptyMX(self):
-        dnsobj = DNS.DnsRequest('example.org')
+        dnsobj = DNS.DnsRequest('mail.kitterman.org')
 
         mx_empty_response = dnsobj.qry(qtype='MX', timeout=1)
         self.assertFalse(mx_empty_response.answers)
@@ -185,7 +185,7 @@
         self.assertEqual(aaaad_response.answers[0]['data'],b'&\x06(\x00\x02 
\x00\x01\x02H\x18\x93%\xc8\x19F')
         
     def testDnsRequestEmptyMXD(self):
-        dnsob = DNS.DnsRequest('example.org')
+        dnsob = DNS.DnsRequest('mail.kitterman.org')
 
         mx_empty_response = dnsob.req(qtype='MX', timeout=1)
         self.assertFalse(mx_empty_response.answers)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/py3dns-3.2.1/MANIFEST.in new/py3dns-4.0.0/MANIFEST.in
--- old/py3dns-3.2.1/MANIFEST.in        2018-07-23 19:26:38.000000000 +0200
+++ new/py3dns-4.0.0/MANIFEST.in        1970-01-01 01:00:00.000000000 +0100
@@ -1,9 +0,0 @@
-recursive-include DNS *.py
-recursive-include tools *.py
-recursive-include tests *.py
-include LICENSE
-include CHANGES
-include MANIFEST.in
-include *.txt
-include setup.*
-include test.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/py3dns-3.2.1/PKG-INFO new/py3dns-4.0.0/PKG-INFO
--- old/py3dns-3.2.1/PKG-INFO   2019-09-04 14:15:49.000000000 +0200
+++ new/py3dns-4.0.0/PKG-INFO   1970-01-01 01:00:00.000000000 +0100
@@ -1,17 +1,12 @@
-Metadata-Version: 1.2
+Metadata-Version: 2.1
 Name: py3dns
-Version: 3.2.1
+Version: 4.0.0
 Summary: Python 3 DNS library
-Home-page: https://launchpad.net/py3dns
-Author: Anthony Baxter and others
-Author-email: [email protected] 
-Maintainer: Scott Kitterman
-Maintainer-email: [email protected]
-License: Python License
-Description: Python 3 DNS library:
-        
 Keywords: DNS
-Platform: UNKNOWN
+Author-email: Anthony Baxter and others <[email protected]>
+Maintainer-email: Scott Kitterman <[email protected]>
+Requires-Python: >=3.2
+Description-Content-Type: text/plain
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Environment :: No Input/Output (Daemon)
 Classifier: Intended Audience :: Developers
@@ -21,3 +16,159 @@
 Classifier: Programming Language :: Python :: 3
 Classifier: Topic :: Internet :: Name Service (DNS)
 Classifier: Topic :: Software Development :: Libraries :: Python Modules
+
+Release 4.0.0 UNRELEASED
+Removed class DnsAsyncRequest since Python 3.12 dropped asyncore.  Bumping
+major version since this is a breaking change.  If you need async DNS, use
+aiodns instead.
+
+Changed behavior when /etc/resolv.conf is missing.  Instead of
+FileNotFoundError, assume DNS server is '127.0.0.1'.
+
+Release 3.2.0 Mon Jul 23 2018
+
+Switched from distutils to setuptools because "it's the future".  It is
+unlikely to have end user impact.  For python3.3+ no additional dependencies
+are required.
+
+Release 3.1.0 Thu Apr 24 23:52:00 EDT 2014
+
+More choices about result types are provided in 3.1.0.  To specify resulttype,
+in a DnsRequest object, use the new function DnsRequest.qry
+(resulttype='binary/text/default'). DnsRequest.qry returns ipaddress objects
+for A and AAAA queries by defaults.  Other defaults are the same as
+DnsRequest.req.  Continue to use DnsRequest.req for exact backward
+compatibility with pydns and older py3dns defaults.  TXT and SPF record data
+are returned as strings by default, this matches what dnspython3 returns.
+
+The ipaddress module is used internally now.  See CHANGES for details.
+
+Release 3.0.3 Wed May 29 00:05:00 EDT 2013
+
+There was a third, unintended incompatiblity in 3.0.2 in that IPv6 addresses
+were returned in their string format rather than their decimal format.  This
+breaks pyspf queries when the connect IP is IPv6.  3.0.3 is a release strictly
+to revert this change.
+
+Release 3.0.2 Thu Jan 19 01:25:00 EST 2012
+
+This release introduces two potentially incompatible changes from the python
+verion of DNS (pydns).  First, the data portion of DNS records of types TXT
+and SPF are returned as bytes instead of strings.  Second, additional sub
+classes of DNSError have been added.  Any code that catches DNSError should
+be checked to see if it needs updating to catch one of the new sub classes:
+ArgumentError, SocketError, TimeoutError, ServerError, and
+IncompleteReplyError.
+
+Release 3.0 Sun Mar 2-9 23:07:22 2011 -0400
+
+Ported to Python3 by Scott Kitterman <[email protected]>.  This is mostly a
+minimal port to work with Python3 (tested with python3.2) plus addition of
+some of the patches that people have submitted on Sourceforge. It should be
+fully API compatible with 2.3. Note: Version 3.0.0 shipped with a new
+lazy.lookupfull function in advance of 2.3. This was incorporated in pydns
+2.3.5 as lazy.lookupalll. It has been renamed in 3.0.1 to stay API compatible
+with pydns 2.3.
+
+Release 2.3 Mon May  6 16:18:02 EST 2002
+
+This is a another release of the pydns code, as originally written by 
+Guido van Rossum, and with a hopefully nicer API bolted over the
+top of it by Anthony Baxter <[email protected]>. 
+
+This code is released under a Python-style license. 
+
+I'm making this release because there hasn't been a release in a 
+heck of a long time, and it probably deserves one. I'd also like to
+do a substantial refactor of some of the guts of the code, and this
+is likely to break any code that uses the existing interface. So
+this will be a release for people who are using the existing API...
+
+There are several known bugs/unfinished bits
+
+- processing of AXFR results is not done yet.
+- doesn't do IPv6 DNS requests (type AAAA) 
+- docs, aside from this file
+- all sorts of other stuff that I've probably forgotten.
+- MacOS support for discovering nameservers
+- the API that I evolved some time ago is pretty ugly. I'm going
+  to re-do it, designed this time.
+
+Stuff it _does_ do:
+- processes /etc/resolv.conf - at least as far as nameserver directives go.
+- tries multiple nameservers.
+- nicer API - see below.
+- returns results in more useful format.
+- optional timing of requests.
+- default 'show' behaviour emulates 'dig' pretty closely.
+  
+
+To use:
+
+import DNS
+reqobj=DNS.Request(args)
+reqobj.req(args)
+
+args can be a name, in which case it takes that as the query, and/or a series
+of keyword/value args. (see below for a list of args)
+
+when calling the 'req()' method, it reuses the options specified in the
+DNS.Request() call as defaults.
+
+options are applied in the following order:
+  those specified in the req() call
+  or, if not specified there,
+  those specified in the creation of the Request() object
+  or, if not specified there,
+  those specified in the DNS.defaults dictionary
+
+name servers can be specified in the following ways:
+- by calling DNS.DiscoverNameServers(), which will load the DNS servers
+    from the system's /etc/resolv.conf file on Unix, or from the Registry
+    on windows.
+- by specifying it as an option to the request
+- by manually setting DNS.defaults['server'] to a list of server IP
+    addresses to try
+- XXXX It should be possible to load the DNS servers on a mac os machine, 
+    from where-ever they've squirrelled them away
+
+name="host.do.main"   # the object being looked up
+qtype="SOA"           # the query type, eg SOA, A, MX, CNAME, ANY
+protocol="udp"        # "udp" or "tcp" - usually you want "udp"
+server="nameserver"   # the name of the nameserver. Note that you might
+                      # want to use an IP address here
+rd=1                  # "recursion desired" - defaults to 1.
+other: opcode, port, ...
+
+There's also some convenience functions, for the lazy:
+
+to do a reverse lookup:
+>>> print DNS.revlookup("192.189.54.17")    
+yarrina.connect.com.au
+
+to look up all MX records for an entry:
+>>> print DNS.mxlookup("connect.com.au")
+[(10, 'yarrina.connect.com.au'), (100, 'warrane.connect.com.au')]
+
+Documentation of the rest of the interface will have to wait for a 
+later date. Note that the DnsAsyncRequest stuff is currently not
+working - I haven't looked too closely at why, yet.
+
+There's some examples in the tests/ directory - including test5.py,
+which is even vaguely useful. It looks for the SOA for a domain, checks
+that the primary NS is authoritative, then checks the nameservers
+that it believes are NSs for the domain and checks that they're
+authoritative, and that the zone serial numbers match.
+
+see also README.guido for the original docs.
+
+py3dns is derived from pydns.  The sourceforge details below refer to pydns.
+All py3dns issues/comments/etc should be reported via
+https://launchpad.net/py3dns.
+
+comments to me, [email protected], or to the mailing list,
[email protected].
+
+bugs/patches to the tracker on SF - 
+               http://sourceforge.net/tracker/?group_id=31674
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/py3dns-3.2.1/README.txt new/py3dns-4.0.0/README.txt
--- old/py3dns-3.2.1/README.txt 2018-07-23 19:06:46.000000000 +0200
+++ new/py3dns-4.0.0/README.txt 2023-07-01 22:43:41.852065300 +0200
@@ -1,3 +1,11 @@
+Release 4.0.0 UNRELEASED
+Removed class DnsAsyncRequest since Python 3.12 dropped asyncore.  Bumping
+major version since this is a breaking change.  If you need async DNS, use
+aiodns instead.
+
+Changed behavior when /etc/resolv.conf is missing.  Instead of
+FileNotFoundError, assume DNS server is '127.0.0.1'.
+
 Release 3.2.0 Mon Jul 23 2018
 
 Switched from distutils to setuptools because "it's the future".  It is
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/py3dns-3.2.1/py3dns.egg-info/PKG-INFO 
new/py3dns-4.0.0/py3dns.egg-info/PKG-INFO
--- old/py3dns-3.2.1/py3dns.egg-info/PKG-INFO   2019-09-04 14:15:48.000000000 
+0200
+++ new/py3dns-4.0.0/py3dns.egg-info/PKG-INFO   1970-01-01 01:00:00.000000000 
+0100
@@ -1,23 +0,0 @@
-Metadata-Version: 1.2
-Name: py3dns
-Version: 3.2.1
-Summary: Python 3 DNS library
-Home-page: https://launchpad.net/py3dns
-Author: Anthony Baxter and others
-Author-email: [email protected] 
-Maintainer: Scott Kitterman
-Maintainer-email: [email protected]
-License: Python License
-Description: Python 3 DNS library:
-        
-Keywords: DNS
-Platform: UNKNOWN
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: Environment :: No Input/Output (Daemon)
-Classifier: Intended Audience :: Developers
-Classifier: License :: OSI Approved :: Python License (CNRI Python License)
-Classifier: Natural Language :: English
-Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python :: 3
-Classifier: Topic :: Internet :: Name Service (DNS)
-Classifier: Topic :: Software Development :: Libraries :: Python Modules
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/py3dns-3.2.1/py3dns.egg-info/SOURCES.txt 
new/py3dns-4.0.0/py3dns.egg-info/SOURCES.txt
--- old/py3dns-3.2.1/py3dns.egg-info/SOURCES.txt        2019-09-04 
14:15:48.000000000 +0200
+++ new/py3dns-4.0.0/py3dns.egg-info/SOURCES.txt        1970-01-01 
01:00:00.000000000 +0100
@@ -1,34 +0,0 @@
-CHANGES
-CREDITS.txt
-LICENSE
-MANIFEST.in
-README-guido.txt
-README.txt
-setup.py
-test.py
-DNS/Base.py
-DNS/Class.py
-DNS/Lib.py
-DNS/Opcode.py
-DNS/Status.py
-DNS/Type.py
-DNS/__init__.py
-DNS/lazy.py
-DNS/win32dns.py
-DNS/tests/__init__.py
-DNS/tests/testPackers.py
-DNS/tests/test_base.py
-py3dns.egg-info/PKG-INFO
-py3dns.egg-info/SOURCES.txt
-py3dns.egg-info/dependency_links.txt
-py3dns.egg-info/not-zip-safe
-py3dns.egg-info/top_level.txt
-tests/test.py
-tests/test2.py
-tests/test4.py
-tests/test5.py
-tests/test6.py
-tests/test7.py
-tests/testsrv.py
-tools/caching.py
-tools/named-perf.py
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/py3dns-3.2.1/py3dns.egg-info/dependency_links.txt 
new/py3dns-4.0.0/py3dns.egg-info/dependency_links.txt
--- old/py3dns-3.2.1/py3dns.egg-info/dependency_links.txt       2019-09-04 
14:15:48.000000000 +0200
+++ new/py3dns-4.0.0/py3dns.egg-info/dependency_links.txt       1970-01-01 
01:00:00.000000000 +0100
@@ -1 +0,0 @@
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/py3dns-3.2.1/py3dns.egg-info/not-zip-safe 
new/py3dns-4.0.0/py3dns.egg-info/not-zip-safe
--- old/py3dns-3.2.1/py3dns.egg-info/not-zip-safe       2018-07-23 
19:07:56.000000000 +0200
+++ new/py3dns-4.0.0/py3dns.egg-info/not-zip-safe       1970-01-01 
01:00:00.000000000 +0100
@@ -1 +0,0 @@
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/py3dns-3.2.1/py3dns.egg-info/top_level.txt 
new/py3dns-4.0.0/py3dns.egg-info/top_level.txt
--- old/py3dns-3.2.1/py3dns.egg-info/top_level.txt      2019-09-04 
14:15:48.000000000 +0200
+++ new/py3dns-4.0.0/py3dns.egg-info/top_level.txt      1970-01-01 
01:00:00.000000000 +0100
@@ -1 +0,0 @@
-DNS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/py3dns-3.2.1/pyproject.toml 
new/py3dns-4.0.0/pyproject.toml
--- old/py3dns-3.2.1/pyproject.toml     1970-01-01 01:00:00.000000000 +0100
+++ new/py3dns-4.0.0/pyproject.toml     2023-07-01 22:13:25.842207700 +0200
@@ -0,0 +1,32 @@
+[build-system]
+requires = ["flit_core >=3.2,<4"]
+build-backend = "flit_core.buildapi"
+
+[project]
+name = "py3dns"
+description = 'Python 3 DNS library'
+authors = [{name = "Anthony Baxter and others", email 
="[email protected]"},]
+maintainers = [{name = "Scott Kitterman", email = "[email protected]"}]
+readme = "README.txt"
+license = {file = "LICENSE"}
+dynamic = ["version"]
+keywords = ['DNS']
+requires-python = ">=3.2"
+classifiers = [
+  'Development Status :: 5 - Production/Stable',
+  'Environment :: No Input/Output (Daemon)',
+  'Intended Audience :: Developers',
+  'License :: OSI Approved :: Python License (CNRI Python License)',
+  'Natural Language :: English',
+  'Operating System :: OS Independent',
+  'Programming Language :: Python :: 3',
+  'Topic :: Internet :: Name Service (DNS)',
+  'Topic :: Software Development :: Libraries :: Python Modules'
+]
+
+[tool.flit.module]
+name = "DNS"
+
+[tool.flit.sdist]
+include = ["CHANGES", "CREDITS.txt", "README-guido.txt", "test.py", "tests", 
"tools"]
+exclude = [".gitignore"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/py3dns-3.2.1/setup.cfg new/py3dns-4.0.0/setup.cfg
--- old/py3dns-3.2.1/setup.cfg  2019-09-04 14:15:49.000000000 +0200
+++ new/py3dns-4.0.0/setup.cfg  1970-01-01 01:00:00.000000000 +0100
@@ -1,4 +0,0 @@
-[egg_info]
-tag_build = 
-tag_date = 0
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/py3dns-3.2.1/setup.py new/py3dns-4.0.0/setup.py
--- old/py3dns-3.2.1/setup.py   2018-07-23 19:04:32.000000000 +0200
+++ new/py3dns-4.0.0/setup.py   1970-01-01 01:00:00.000000000 +0100
@@ -1,36 +0,0 @@
-import sys,os
-
-sys.path.insert(0,os.getcwd())
-
-from setuptools import setup
-
-import DNS
-
-setup(
-        #-- Package description
-        name = 'py3dns',
-        license = 'Python License',
-        version = DNS.__version__,
-        description = 'Python 3 DNS library',
-        long_description = """Python 3 DNS library:
-""",
-        author = 'Anthony Baxter and others', 
-        author_email = '[email protected] ',
-      maintainer="Scott Kitterman",
-      maintainer_email="[email protected]",
-      url = 'https://launchpad.net/py3dns',
-      packages = ['DNS'], keywords = ['DNS'],
-      zip_safe = False,
-      classifiers = [
-        'Development Status :: 5 - Production/Stable',
-        'Environment :: No Input/Output (Daemon)',
-        'Intended Audience :: Developers',
-        'License :: OSI Approved :: Python License (CNRI Python License)',
-        'Natural Language :: English',
-        'Operating System :: OS Independent',
-        'Programming Language :: Python :: 3',
-        'Topic :: Internet :: Name Service (DNS)',
-        'Topic :: Software Development :: Libraries :: Python Modules'
-      ]
-)
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/py3dns-3.2.1/test.py new/py3dns-4.0.0/test.py
--- old/py3dns-3.2.1/test.py    2018-07-23 18:27:50.000000000 +0200
+++ new/py3dns-4.0.0/test.py    2020-04-17 21:29:51.000000000 +0200
@@ -1,8 +1,14 @@
 #! /usr/bin/python3
 
+import sys
 import unittest
 import doctest
 import DNS
 from DNS.tests import test_suite
 
-unittest.TextTestRunner().run(test_suite())
+result = unittest.TextTestRunner().run(test_suite())
+if result.wasSuccessful():
+    print("Test run successful.", file=sys.stderr)
+    sys.exit(0)
+print("Test run failed.", file=sys.stderr)
+sys.exit(1)

Reply via email to