Hello community,

here is the log from the commit of package python-fs for openSUSE:Factory 
checked in at 2019-07-26 17:35:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-fs (Old)
 and      /work/SRC/openSUSE:Factory/.python-fs.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-fs"

Fri Jul 26 17:35:20 2019 rev:8 rq:718907 version:2.4.8

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-fs/python-fs.changes      2019-05-16 
22:11:16.394219334 +0200
+++ /work/SRC/openSUSE:Factory/.python-fs.new.4126/python-fs.changes    
2019-07-26 17:35:21.228064909 +0200
@@ -1,0 +2,10 @@
+Fri Jul 26 14:10:13 UTC 2019 - [email protected]
+
+- version update to 2.4.8
+  * geturl will return URL with user/password if needed @zmej-serow
+  * Flag to OSFS to disable env var expansion
+  * Implemented geturl in FTPFS @zmej-serow
+- modified patches
+  % more-relaxed-requirements.patch (refreshed)
+
+-------------------------------------------------------------------

Old:
----
  fs-2.4.5.tar.gz

New:
----
  fs-2.4.8.tar.gz

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

Other differences:
------------------
++++++ python-fs.spec ++++++
--- /var/tmp/diff_new_pack.kMW0Tv/_old  2019-07-26 17:35:22.004064640 +0200
+++ /var/tmp/diff_new_pack.kMW0Tv/_new  2019-07-26 17:35:22.008064639 +0200
@@ -13,13 +13,13 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-fs
-Version:        2.4.5
+Version:        2.4.8
 Release:        0
 Summary:        Python's filesystem abstraction layer
 License:        MIT
@@ -38,9 +38,9 @@
 BuildRequires:  %{python_module scandir >= 1.5}
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  %{python_module six >= 1.10.0}
-BuildRequires:  %{python_module typing}
+BuildRequires:  %{python_module typing >= 3.6}
 BuildRequires:  fdupes
-BuildRequires:  python-backports.os
+BuildRequires:  python-backports.os >= 0.1
 BuildRequires:  python-rpm-macros
 Requires:       python-appdirs >= 1.4.3
 Requires:       python-psutil

++++++ fs-2.4.5.tar.gz -> fs-2.4.8.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fs-2.4.5/PKG-INFO new/fs-2.4.8/PKG-INFO
--- old/fs-2.4.5/PKG-INFO       2019-05-05 18:38:48.000000000 +0200
+++ new/fs-2.4.8/PKG-INFO       2019-06-12 09:19:33.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: fs
-Version: 2.4.5
+Version: 2.4.8
 Summary: Python's filesystem abstraction layer
 Home-page: https://github.com/PyFilesystem/pyfilesystem2
 Author: Will McGugan
@@ -129,7 +129,6 @@
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python
 Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 3.3
 Classifier: Programming Language :: Python :: 3.4
 Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fs-2.4.5/fs/_version.py new/fs-2.4.8/fs/_version.py
--- old/fs-2.4.5/fs/_version.py 2019-05-05 18:01:01.000000000 +0200
+++ new/fs-2.4.8/fs/_version.py 2019-06-12 09:18:39.000000000 +0200
@@ -1,3 +1,3 @@
 """Version, used in module and setup.py.
 """
-__version__ = "2.4.5"
+__version__ = "2.4.8"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fs-2.4.5/fs/base.py new/fs-2.4.8/fs/base.py
--- old/fs-2.4.5/fs/base.py     2019-05-05 16:41:18.000000000 +0200
+++ new/fs-2.4.8/fs/base.py     2019-06-02 17:57:33.000000000 +0200
@@ -281,7 +281,7 @@
         # type: (Text, RawInfo) -> None
         """Set info on a resource.
 
-        This method is the compliment to `~fs.base.FS.getinfo`
+        This method is the complement to `~fs.base.FS.getinfo`
         and is used to set info values on a resource.
 
         Arguments:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fs-2.4.5/fs/ftpfs.py new/fs-2.4.8/fs/ftpfs.py
--- old/fs-2.4.5/fs/ftpfs.py    2019-01-06 13:13:51.000000000 +0100
+++ new/fs-2.4.8/fs/ftpfs.py    2019-06-12 09:18:11.000000000 +0200
@@ -440,11 +440,9 @@
     def ftp_url(self):
         # type: () -> Text
         """Get the FTP url this filesystem will open."""
-        url = (
-            "ftp://{}".format(self.host)
-            if self.port == 21
-            else "ftp://{}:{}".format(self.host, self.port)
-        )
+        _host_part = self.host if self.port == 21 else 
"{}:{}".format(self.host, self.port)
+        _user_part = "" if self.user == "anonymous" or self.user is None else 
"{}:{}@".format(self.user, self.passwd)
+        url = "ftp://{}{}".format(_user_part, _host_part)
         return url
 
     @property
@@ -454,6 +452,14 @@
         """
         return self._get_ftp()
 
+    def geturl(self, path, purpose="download"):
+        # type: (str, str) -> Text
+        """Get FTP url for resource."""
+        _path = self.validatepath(path)
+        if purpose != "download":
+            raise errors.NoURL(_path, purpose)
+        return "{}{}".format(self.ftp_url, _path)
+
     def _get_ftp(self):
         # type: () -> FTP
         if self._ftp is None:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fs-2.4.5/fs/osfs.py new/fs-2.4.8/fs/osfs.py
--- old/fs-2.4.5/fs/osfs.py     2019-05-05 18:13:32.000000000 +0200
+++ new/fs-2.4.8/fs/osfs.py     2019-06-08 17:30:22.000000000 +0200
@@ -91,6 +91,8 @@
         create_mode (int): The permissions that will be used to create
             the directory if ``create`` is `True` and the path doesn't
             exist, defaults to ``0o777``.
+        expand_vars(bool): If `True` (the default) environment variables of
+            the form $name or ${name} will be expanded.
 
     Raises:
         `fs.errors.CreateFailed`: If ``root_path`` does not
@@ -108,6 +110,7 @@
         root_path,  # type: Text
         create=False,  # type: bool
         create_mode=0o777,  # type: SupportsInt
+        expand_vars=True,  # type: bool
     ):
         # type: (...) -> None
         """Create an OSFS instance.
@@ -118,7 +121,9 @@
         self.root_path = root_path
         _drive, _root_path = os.path.splitdrive(fsdecode(fspath(root_path)))
         _root_path = _drive + (_root_path or "/") if _drive else _root_path
-        _root_path = os.path.expanduser(os.path.expandvars(_root_path))
+        _root_path = os.path.expanduser(
+            os.path.expandvars(_root_path) if expand_vars else _root_path
+        )
         _root_path = os.path.normpath(os.path.abspath(_root_path))
         self._root_path = _root_path
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fs-2.4.5/fs/tarfs.py new/fs-2.4.8/fs/tarfs.py
--- old/fs-2.4.5/fs/tarfs.py    2019-05-05 18:01:01.000000000 +0200
+++ new/fs-2.4.8/fs/tarfs.py    2019-06-08 16:17:09.000000000 +0200
@@ -17,6 +17,7 @@
 from .base import FS
 from .compress import write_tar
 from .enums import ResourceType
+from .errors import IllegalBackReference
 from .info import Info
 from .iotools import RawWrapper
 from .opener import open_fs
@@ -275,14 +276,26 @@
         self._directory_cache = None
 
     @property
-    def _directory(self):
+    def _directory_entries(self):
         """Lazy directory cache."""
         if self._directory_cache is None:
             _decode = self._decode
-            _directory = ((_decode(info.name).strip("/"), info) for info in 
self._tar)
-            self._directory_cache = OrderedDict(
-                (name, info) for name, info in _directory if normpath(name)
+            _directory_entries = (
+                (_decode(info.name).strip("/"), info) for info in self._tar
             )
+
+            def _list_tar():
+                for name, info in _directory_entries:
+                    try:
+                        _name = normpath(name)
+                    except IllegalBackReference:
+                        # Back references outside root, must be up to no good.
+                        pass
+                    else:
+                        if _name:
+                            yield _name, info
+
+            self._directory_cache = OrderedDict(_list_tar())
         return self._directory_cache
 
     def __repr__(self):
@@ -327,7 +340,7 @@
         else:
             try:
                 implicit = False
-                member = self._tar.getmember(self._encode(_path))
+                member = self._directory_entries[_path]
             except KeyError:
                 if not self.isdir(_path):
                     raise errors.ResourceNotFound(path)
@@ -370,14 +383,14 @@
     def isdir(self, path):
         _path = relpath(self.validatepath(path))
         try:
-            return self._directory[_path].isdir()
+            return self._directory_entries[_path].isdir()
         except KeyError:
-            return any(isbase(_path, name) for name in self._directory)
+            return any(isbase(_path, name) for name in self._directory_entries)
 
     def isfile(self, path):
         _path = relpath(self.validatepath(path))
         try:
-            return self._directory[_path].isfile()
+            return self._directory_entries[_path].isfile()
         except KeyError:
             return False
 
@@ -393,7 +406,9 @@
         if not self.gettype(path) is ResourceType.directory:
             raise errors.DirectoryExpected(path)
 
-        children = (frombase(_path, n) for n in self._directory if 
isbase(_path, n))
+        children = (
+            frombase(_path, n) for n in self._directory_entries if 
isbase(_path, n)
+        )
         content = (parts(child)[1] for child in children if relpath(child))
         return list(OrderedDict.fromkeys(content))
 
@@ -415,7 +430,7 @@
             raise errors.ResourceReadOnly(path)
 
         try:
-            member = self._tar.getmember(self._encode(_path))
+            member = self._directory_entries[_path]
         except KeyError:
             six.raise_from(errors.ResourceNotFound(path), None)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fs-2.4.5/fs.egg-info/PKG-INFO 
new/fs-2.4.8/fs.egg-info/PKG-INFO
--- old/fs-2.4.5/fs.egg-info/PKG-INFO   2019-05-05 18:38:48.000000000 +0200
+++ new/fs-2.4.8/fs.egg-info/PKG-INFO   2019-06-12 09:19:32.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: fs
-Version: 2.4.5
+Version: 2.4.8
 Summary: Python's filesystem abstraction layer
 Home-page: https://github.com/PyFilesystem/pyfilesystem2
 Author: Will McGugan
@@ -129,7 +129,6 @@
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python
 Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 3.3
 Classifier: Programming Language :: Python :: 3.4
 Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fs-2.4.5/setup.py new/fs-2.4.8/setup.py
--- old/fs-2.4.5/setup.py       2018-12-23 17:50:05.000000000 +0100
+++ new/fs-2.4.8/setup.py       2019-06-08 16:17:09.000000000 +0200
@@ -2,30 +2,24 @@
 
 from setuptools import setup, find_packages
 
-with open('fs/_version.py') as f:
+with open("fs/_version.py") as f:
     exec(f.read())
 
 CLASSIFIERS = [
-    'Development Status :: 5 - Production/Stable',
-    'Intended Audience :: Developers',
-    'License :: OSI Approved :: MIT License',
-    'Operating System :: OS Independent',
-    'Programming Language :: Python',
-    'Programming Language :: Python :: 2.7',
-    'Programming Language :: Python :: 3.3',
-    'Programming Language :: Python :: 3.4',
-    'Programming Language :: Python :: 3.5',
-    'Programming Language :: Python :: 3.6',
-    'Programming Language :: Python :: 3.7',
-    'Topic :: System :: Filesystems',
+    "Development Status :: 5 - Production/Stable",
+    "Intended Audience :: Developers",
+    "License :: OSI Approved :: MIT License",
+    "Operating System :: OS Independent",
+    "Programming Language :: Python",
+    "Programming Language :: Python :: 2.7",
+    "Programming Language :: Python :: 3.4",
+    "Programming Language :: Python :: 3.5",
+    "Programming Language :: Python :: 3.6",
+    "Programming Language :: Python :: 3.7",
+    "Topic :: System :: Filesystems",
 ]
 
-REQUIREMENTS = [
-    "appdirs~=1.4.3",
-    "pytz",
-    "setuptools",
-    "six~=1.10",
-]
+REQUIREMENTS = ["appdirs~=1.4.3", "pytz", "setuptools", "six~=1.10"]
 
 setup(
     author="Will McGugan",
@@ -34,21 +28,19 @@
     description="Python's filesystem abstraction layer",
     install_requires=REQUIREMENTS,
     extras_require={
-        "scandir :python_version < '3.5'": ['scandir~=1.5'],
-        ":python_version < '3.4'": ['enum34~=1.1.6'],
-        ":python_version < '3.6'": ['typing~=3.6'],
-        ":python_version < '3.0'": ['backports.os~=0.1']
+        "scandir :python_version < '3.5'": ["scandir~=1.5"],
+        ":python_version < '3.4'": ["enum34~=1.1.6"],
+        ":python_version < '3.6'": ["typing~=3.6"],
+        ":python_version < '3.0'": ["backports.os~=0.1"],
     },
     license="MIT",
-    name='fs',
+    name="fs",
     packages=find_packages(exclude=("tests",)),
-    package_data = {
-        'fs': ['py.typed'],
-    },
+    package_data={"fs": ["py.typed"]},
     zip_safe=False,
-    platforms=['any'],
+    platforms=["any"],
     test_suite="nose.collector",
-    tests_require=['appdirs', 'mock', 'pytz', 'pyftpdlib'],
+    tests_require=["appdirs", "mock", "pytz", "pyftpdlib"],
     url="https://github.com/PyFilesystem/pyfilesystem2";,
     version=__version__,
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fs-2.4.5/tests/test_copy.py 
new/fs-2.4.8/tests/test_copy.py
--- old/fs-2.4.5/tests/test_copy.py     2019-01-06 13:13:51.000000000 +0100
+++ new/fs-2.4.8/tests/test_copy.py     2019-06-02 18:10:03.000000000 +0200
@@ -6,7 +6,8 @@
 import unittest
 import tempfile
 import shutil
-import datetime
+import calendar
+
 from six import PY2
 
 import fs.copy
@@ -116,14 +117,10 @@
             f.write("1" * write_chars)
         return filepath
 
-    def _delay_file_utime(self, filepath, delta_sec=None):
-        import calendar
-        from datetime import datetime
-
-        file_access_mod_time = (
-            int(calendar.timegm(datetime.now().timetuple())) + delta_sec
-        )
-        times = (file_access_mod_time, file_access_mod_time)
+    def _delay_file_utime(self, filepath, delta_sec):
+        utcnow = datetime.datetime.utcnow()
+        unix_timestamp = calendar.timegm(utcnow.timetuple())
+        times = unix_timestamp + delta_sec, unix_timestamp + delta_sec
         os.utime(filepath, times)
 
     def test_copy_file_if_newer_same_fs(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fs-2.4.5/tests/test_ftpfs.py 
new/fs-2.4.8/tests/test_ftpfs.py
--- old/fs-2.4.5/tests/test_ftpfs.py    2019-02-23 10:58:23.000000000 +0100
+++ new/fs-2.4.8/tests/test_ftpfs.py    2019-06-12 09:18:11.000000000 +0200
@@ -166,7 +166,21 @@
         super(TestFTPFS, self).tearDown()
 
     def test_ftp_url(self):
-        self.assertTrue(self.fs.ftp_url.startswith("ftp://127.0.0.1";))
+        self.assertEqual(self.fs.ftp_url, 
"ftp://{}:{}@{}:{}".format(self.user, self.pasw, self.server.host, 
self.server.port))
+        
+    def test_geturl(self):
+        self.fs.makedir("foo")
+        self.fs.create("bar")
+        self.fs.create("foo/bar")
+        self.assertEqual(
+            self.fs.geturl('foo'), "ftp://{}:{}@{}:{}/foo".format(self.user, 
self.pasw, self.server.host, self.server.port)
+        )
+        self.assertEqual(
+            self.fs.geturl('bar'), "ftp://{}:{}@{}:{}/bar".format(self.user, 
self.pasw, self.server.host, self.server.port)
+        )
+        self.assertEqual(
+            self.fs.geturl('foo/bar'), 
"ftp://{}:{}@{}:{}/foo/bar".format(self.user, self.pasw, self.server.host, 
self.server.port)
+        )
 
     def test_host(self):
         self.assertEqual(self.fs.host, self.server.host)
@@ -236,3 +250,62 @@
 
     def test_features(self):
         pass
+
+    
+@attr("slow")
+class TestAnonFTPFS(FSTestCases, unittest.TestCase):
+
+    user = "anonymous"
+    pasw = ""
+
+    @classmethod
+    def setUpClass(cls):
+        from pyftpdlib.test import ThreadedTestFTPd
+
+        super(TestAnonFTPFS, cls).setUpClass()
+
+        cls._temp_dir = tempfile.mkdtemp("ftpfs2tests")
+        cls._temp_path = os.path.join(cls._temp_dir, text_type(uuid.uuid4()))
+        os.mkdir(cls._temp_path)
+
+        cls.server = ThreadedTestFTPd()
+        cls.server.shutdown_after = -1
+        cls.server.handler.authorizer = DummyAuthorizer()
+        cls.server.handler.authorizer.add_anonymous(cls._temp_path, 
perm="elradfmw")
+        cls.server.start()
+
+        # Don't know why this is necessary on Windows
+        if platform.system() == "Windows":
+            time.sleep(0.1)
+        # Poll until a connection can be made
+        if not cls.server.is_alive():
+            raise RuntimeError("could not start FTP server.")
+
+    @classmethod
+    def tearDownClass(cls):
+        cls.server.stop()
+        shutil.rmtree(cls._temp_dir)
+        super(TestAnonFTPFS, cls).tearDownClass()
+
+    def make_fs(self):
+        return open_fs(
+            "ftp://{}:{}".format(
+                self.server.host, self.server.port
+            )
+        )
+
+    def tearDown(self):
+        shutil.rmtree(self._temp_path)
+        os.mkdir(self._temp_path)
+        super(TestAnonFTPFS, self).tearDown()
+
+    def test_ftp_url(self):
+        self.assertEqual(self.fs.ftp_url, 
"ftp://{}:{}".format(self.server.host, self.server.port))
+
+    def test_geturl(self):
+        self.fs.makedir("foo")
+        self.fs.create("bar")
+        self.fs.create("foo/bar")
+        self.assertEqual(self.fs.geturl('foo'), 
"ftp://{}:{}/foo".format(self.server.host, self.server.port))
+        self.assertEqual(self.fs.geturl('bar'), 
"ftp://{}:{}/bar".format(self.server.host, self.server.port))
+        self.assertEqual(self.fs.geturl('foo/bar'), 
"ftp://{}:{}/foo/bar".format(self.server.host, self.server.port))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fs-2.4.5/tests/test_osfs.py 
new/fs-2.4.8/tests/test_osfs.py
--- old/fs-2.4.5/tests/test_osfs.py     2019-02-23 10:58:23.000000000 +0100
+++ new/fs-2.4.8/tests/test_osfs.py     2019-06-08 17:30:22.000000000 +0200
@@ -69,6 +69,16 @@
         with self.assertRaises(errors.CreateFailed):
             fs = osfs.OSFS("/does/not/exists/")
 
+    def test_expand_vars(self):
+        self.fs.makedir("TYRIONLANISTER")
+        self.fs.makedir("$FOO")
+        path = self.fs.getsyspath("$FOO")
+        os.environ["FOO"] = "TYRIONLANISTER"
+        fs1 = osfs.OSFS(path)
+        fs2 = osfs.OSFS(path, expand_vars=False)
+        self.assertIn("TYRIONLANISTER", fs1.getsyspath("/"))
+        self.assertNotIn("TYRIONLANISTER", fs2.getsyspath("/"))
+
     @unittest.skipIf(osfs.sendfile is None, "sendfile not supported")
     def test_copy_sendfile(self):
         # try copying using sendfile
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fs-2.4.5/tests/test_tarfs.py 
new/fs-2.4.8/tests/test_tarfs.py
--- old/fs-2.4.5/tests/test_tarfs.py    2019-05-05 18:01:01.000000000 +0200
+++ new/fs-2.4.8/tests/test_tarfs.py    2019-06-08 16:17:09.000000000 +0200
@@ -188,7 +188,7 @@
         self.assertTrue(top.get("tar", "is_file"))
 
 
-class TestBrokenDir(unittest.TestCase):
+class TestBrokenPaths(unittest.TestCase):
     @classmethod
     def setUpClass(cls):
         cls.tmpfs = open_fs("temp://tarfstest")
@@ -200,7 +200,8 @@
     def setUp(self):
         self.tempfile = self.tmpfs.open("test.tar", "wb+")
         with tarfile.open(mode="w", fileobj=self.tempfile) as tf:
-            tf.addfile(tarfile.TarInfo("."), io.StringIO)
+            tf.addfile(tarfile.TarInfo("."), io.StringIO())
+            tf.addfile(tarfile.TarInfo("../foo.txt"), io.StringIO())
         self.tempfile.seek(0)
         self.fs = tarfs.TarFS(self.tempfile)
 
@@ -228,8 +229,8 @@
         self.tempfile = self.tmpfs.open("test.tar", "wb+")
         with tarfile.open(mode="w", fileobj=self.tempfile) as tf:
             tf.addfile(tarfile.TarInfo("foo/bar/baz/spam.txt"), io.StringIO())
-            tf.addfile(tarfile.TarInfo("foo/eggs.bin"), io.StringIO())
-            tf.addfile(tarfile.TarInfo("foo/yolk/beans.txt"), io.StringIO())
+            tf.addfile(tarfile.TarInfo("./foo/eggs.bin"), io.StringIO())
+            tf.addfile(tarfile.TarInfo("./foo/yolk/beans.txt"), io.StringIO())
             info = tarfile.TarInfo("foo/yolk")
             info.type = tarfile.DIRTYPE
             tf.addfile(info, io.BytesIO())

++++++ more-relaxed-requirements.patch ++++++
--- /var/tmp/diff_new_pack.kMW0Tv/_old  2019-07-26 17:35:22.104064605 +0200
+++ /var/tmp/diff_new_pack.kMW0Tv/_new  2019-07-26 17:35:22.108064604 +0200
@@ -1,30 +1,28 @@
---- a/setup.py
-+++ b/setup.py
-@@ -21,10 +21,10 @@
+Index: fs-2.4.8/setup.py
+===================================================================
+--- fs-2.4.8.orig/setup.py     2019-07-26 15:56:23.878197898 +0200
++++ fs-2.4.8/setup.py  2019-07-26 15:57:13.178479543 +0200
+@@ -19,7 +19,7 @@ CLASSIFIERS = [
+     "Topic :: System :: Filesystems",
  ]
  
- REQUIREMENTS = [
--    "appdirs~=1.4.3",
-+    "appdirs",
-     "pytz",
-     "setuptools",
--    "six~=1.10",
-+    "six",
- ]
+-REQUIREMENTS = ["appdirs~=1.4.3", "pytz", "setuptools", "six~=1.10"]
++REQUIREMENTS = ["appdirs>=1.4.3", "pytz", "setuptools", "six>=1.10"]
  
  setup(
-@@ -34,10 +34,10 @@
+     author="Will McGugan",
+@@ -28,10 +28,10 @@ setup(
      description="Python's filesystem abstraction layer",
      install_requires=REQUIREMENTS,
      extras_require={
--        "scandir :python_version < '3.5'": ['scandir~=1.5'],
--        ":python_version < '3.4'": ['enum34~=1.1.6'],
--        ":python_version < '3.6'": ['typing~=3.6'],
--        ":python_version < '3.0'": ['backports.os~=0.1']
-+        "scandir :python_version < '3.5'": ['scandir'],
-+        ":python_version < '3.4'": ['enum34'],
-+        ":python_version < '3.6'": ['typing'],
-+        ":python_version < '3.0'": ['backports.os']
+-        "scandir :python_version < '3.5'": ["scandir~=1.5"],
+-        ":python_version < '3.4'": ["enum34~=1.1.6"],
+-        ":python_version < '3.6'": ["typing~=3.6"],
+-        ":python_version < '3.0'": ["backports.os~=0.1"],
++        "scandir :python_version < '3.5'": ["scandir>=1.5"],
++        ":python_version < '3.4'": ["enum34>=1.1.6"],
++        ":python_version < '3.6'": ["typing>=3.6"],
++        ":python_version < '3.0'": ["backports.os>=0.1"],
      },
      license="MIT",
-     name='fs',
+     name="fs",


Reply via email to