Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-dulwich for openSUSE:Factory 
checked in at 2022-08-22 11:04:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-dulwich (Old)
 and      /work/SRC/openSUSE:Factory/.python-dulwich.new.2083 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-dulwich"

Mon Aug 22 11:04:49 2022 rev:52 rq:998224 version:0.20.45

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-dulwich/python-dulwich.changes    
2022-07-26 19:42:13.688167820 +0200
+++ /work/SRC/openSUSE:Factory/.python-dulwich.new.2083/python-dulwich.changes  
2022-08-22 11:04:52.857668515 +0200
@@ -1,0 +2,7 @@
+Fri Aug 19 16:17:05 UTC 2022 - Matej Cepl <mc...@suse.com>
+
+- Add rmtree-ignore-errors.patch to make shutil.rmtree to be more
+  callous (gh#jelmer/dulwich#1000) and prevent thus the race
+  condition in cleaning up after the tests.
+
+-------------------------------------------------------------------

New:
----
  rmtree-ignore-errors.patch

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

Other differences:
------------------
++++++ python-dulwich.spec ++++++
--- /var/tmp/diff_new_pack.kgwCpL/_old  2022-08-22 11:04:53.369669636 +0200
+++ /var/tmp/diff_new_pack.kgwCpL/_new  2022-08-22 11:04:53.373669644 +0200
@@ -27,6 +27,9 @@
 Group:          Development/Languages/Python
 URL:            https://www.dulwich.io
 Source0:        
https://files.pythonhosted.org/packages/source/d/dulwich/dulwich-%{version}.tar.gz
+# PATCH-FIX-UPSTREAM rmtree-ignore-errors.patch gh#jelmer/dulwich#1000 
mc...@suse.com
+# shutil.rmtree should be more callous
+Patch0:         rmtree-ignore-errors.patch
 BuildRequires:  %{python_module certifi}
 BuildRequires:  %{python_module devel}
 BuildRequires:  %{python_module fastimport}

++++++ rmtree-ignore-errors.patch ++++++
---
 dulwich/tests/test_porcelain.py |   40 ++++++++++++++++++++--------------------
 1 file changed, 20 insertions(+), 20 deletions(-)

--- a/dulwich/tests/test_porcelain.py
+++ b/dulwich/tests/test_porcelain.py
@@ -83,7 +83,7 @@ class PorcelainTestCase(TestCase):
     def setUp(self):
         super(PorcelainTestCase, self).setUp()
         self.test_dir = tempfile.mkdtemp()
-        self.addCleanup(shutil.rmtree, self.test_dir)
+        self.addCleanup(shutil.rmtree, self.test_dir, ignore_errors=True)
         self.repo_path = os.path.join(self.test_dir, "repo")
         self.repo = Repo.init(self.repo_path, mkdir=True)
         self.addCleanup(self.repo.close)
@@ -271,7 +271,7 @@ ya6JVZCRbMXfdCy8lVPgtNQ6VlHaj8Wvnn2FLbWW
         super(PorcelainGpgTestCase, self).setUp()
         self.gpg_dir = os.path.join(self.test_dir, "gpg")
         os.mkdir(self.gpg_dir, mode=0o700)
-        self.addCleanup(shutil.rmtree, self.gpg_dir)
+        self.addCleanup(shutil.rmtree, self.gpg_dir, ignore_errors=True)
         self._old_gnupghome = os.environ.get("GNUPGHOME")
         os.environ["GNUPGHOME"] = self.gpg_dir
         if self._old_gnupghome is None:
@@ -365,7 +365,7 @@ class CommitTests(PorcelainTestCase):
 
         hooks_dir = os.path.join(self.repo.controldir(), "hooks")
         os.makedirs(hooks_dir, exist_ok=True)
-        self.addCleanup(shutil.rmtree, hooks_dir)
+        self.addCleanup(shutil.rmtree, hooks_dir, ignore_errors=True)
 
         c1, c2, c3 = build_commit_graph(
             self.repo.object_store, [[1], [2, 1], [3, 1, 2]]
@@ -524,7 +524,7 @@ class CloneTests(PorcelainTestCase):
         self.repo.refs[b"refs/tags/foo"] = c3.id
         target_path = tempfile.mkdtemp()
         errstream = BytesIO()
-        self.addCleanup(shutil.rmtree, target_path)
+        self.addCleanup(shutil.rmtree, target_path, ignore_errors=True)
         r = porcelain.clone(
             self.repo.path, target_path, checkout=False, errstream=errstream
         )
@@ -558,7 +558,7 @@ class CloneTests(PorcelainTestCase):
         self.repo.refs[b"refs/heads/master"] = c3.id
         target_path = tempfile.mkdtemp()
         errstream = BytesIO()
-        self.addCleanup(shutil.rmtree, target_path)
+        self.addCleanup(shutil.rmtree, target_path, ignore_errors=True)
         with porcelain.clone(
             self.repo.path, target_path, checkout=True, errstream=errstream
         ) as r:
@@ -581,7 +581,7 @@ class CloneTests(PorcelainTestCase):
         self.repo.refs[b"refs/heads/master"] = c3.id
         target_path = tempfile.mkdtemp()
         errstream = BytesIO()
-        self.addCleanup(shutil.rmtree, target_path)
+        self.addCleanup(shutil.rmtree, target_path, ignore_errors=True)
         with porcelain.clone(
             self.repo.path, target_path, bare=True, errstream=errstream
         ) as r:
@@ -602,7 +602,7 @@ class CloneTests(PorcelainTestCase):
         self.repo.refs[b"HEAD"] = c1.id
         target_path = tempfile.mkdtemp()
         errstream = BytesIO()
-        self.addCleanup(shutil.rmtree, target_path)
+        self.addCleanup(shutil.rmtree, target_path, ignore_errors=True)
         self.assertRaises(
             porcelain.Error,
             porcelain.clone,
@@ -621,7 +621,7 @@ class CloneTests(PorcelainTestCase):
         (c1,) = build_commit_graph(self.repo.object_store, commit_spec, trees)
         self.repo.refs[b"refs/heads/master"] = c1.id
         target_path = tempfile.mkdtemp()
-        self.addCleanup(shutil.rmtree, target_path)
+        self.addCleanup(shutil.rmtree, target_path, ignore_errors=True)
         errstream = BytesIO()
         r = porcelain.clone(
             self.repo.path, target_path, checkout=True, errstream=errstream
@@ -636,7 +636,7 @@ class CloneTests(PorcelainTestCase):
         (c1,) = build_commit_graph(self.repo.object_store, commit_spec, trees)
         self.repo.refs[b"refs/heads/master"] = c1.id
         target_path = tempfile.mkdtemp()
-        self.addCleanup(shutil.rmtree, target_path)
+        self.addCleanup(shutil.rmtree, target_path, ignore_errors=True)
         errstream = porcelain.NoneStream()
         r = porcelain.clone(
             self.repo.path, target_path, checkout=True, errstream=errstream
@@ -659,7 +659,7 @@ class CloneTests(PorcelainTestCase):
         self.repo.refs[b"refs/heads/else"] = c1.id
         target_path = tempfile.mkdtemp()
         errstream = BytesIO()
-        self.addCleanup(shutil.rmtree, target_path)
+        self.addCleanup(shutil.rmtree, target_path, ignore_errors=True)
         r = porcelain.clone(
             self.repo.path, target_path, checkout=False, errstream=errstream
         )
@@ -678,12 +678,12 @@ class CloneTests(PorcelainTestCase):
 class InitTests(TestCase):
     def test_non_bare(self):
         repo_dir = tempfile.mkdtemp()
-        self.addCleanup(shutil.rmtree, repo_dir)
+        self.addCleanup(shutil.rmtree, repo_dir, ignore_errors=True)
         porcelain.init(repo_dir)
 
     def test_bare(self):
         repo_dir = tempfile.mkdtemp()
-        self.addCleanup(shutil.rmtree, repo_dir)
+        self.addCleanup(shutil.rmtree, repo_dir, ignore_errors=True)
         porcelain.init(repo_dir, bare=True)
 
 
@@ -1449,7 +1449,7 @@ class PushTests(PorcelainTestCase):
 
         # Setup target repo cloned from temp test repo
         clone_path = tempfile.mkdtemp()
-        self.addCleanup(shutil.rmtree, clone_path)
+        self.addCleanup(shutil.rmtree, clone_path, ignore_errors=True)
         target_repo = porcelain.clone(
             self.repo.path, target=clone_path, errstream=errstream
         )
@@ -1521,7 +1521,7 @@ class PushTests(PorcelainTestCase):
 
         # Setup target repo cloned from temp test repo
         clone_path = tempfile.mkdtemp()
-        self.addCleanup(shutil.rmtree, clone_path)
+        self.addCleanup(shutil.rmtree, clone_path, ignore_errors=True)
         target_repo = porcelain.init(clone_path)
         target_repo.close()
 
@@ -1542,7 +1542,7 @@ class PushTests(PorcelainTestCase):
 
         # Setup target repo cloned from temp test repo
         clone_path = tempfile.mkdtemp()
-        self.addCleanup(shutil.rmtree, clone_path)
+        self.addCleanup(shutil.rmtree, clone_path, ignore_errors=True)
         target_repo = porcelain.init(clone_path)
         target_repo.close()
 
@@ -1589,7 +1589,7 @@ class PushTests(PorcelainTestCase):
 
         # Setup target repo cloned from temp test repo
         clone_path = tempfile.mkdtemp()
-        self.addCleanup(shutil.rmtree, clone_path)
+        self.addCleanup(shutil.rmtree, clone_path, ignore_errors=True)
         target_repo = porcelain.clone(
             self.repo.path, target=clone_path, errstream=errstream
         )
@@ -1631,7 +1631,7 @@ class PushTests(PorcelainTestCase):
 
         # Setup target repo cloned from temp test repo
         clone_path = tempfile.mkdtemp()
-        self.addCleanup(shutil.rmtree, clone_path)
+        self.addCleanup(shutil.rmtree, clone_path, ignore_errors=True)
         target_repo = porcelain.clone(
             self.repo.path, target=clone_path, errstream=errstream
         )
@@ -1717,7 +1717,7 @@ class PullTests(PorcelainTestCase):
 
         # Setup target repo
         self.target_path = tempfile.mkdtemp()
-        self.addCleanup(shutil.rmtree, self.target_path)
+        self.addCleanup(shutil.rmtree, self.target_path, ignore_errors=True)
         target_repo = porcelain.clone(
             self.repo.path, target=self.target_path, errstream=BytesIO()
         )
@@ -2344,7 +2344,7 @@ class FetchTests(PorcelainTestCase):
 
         # Setup target repo
         target_path = tempfile.mkdtemp()
-        self.addCleanup(shutil.rmtree, target_path)
+        self.addCleanup(shutil.rmtree, target_path, ignore_errors=True)
         target_repo = porcelain.clone(
             self.repo.path, target=target_path, errstream=errstream
         )
@@ -2391,7 +2391,7 @@ class FetchTests(PorcelainTestCase):
 
         # Setup target repo
         target_path = tempfile.mkdtemp()
-        self.addCleanup(shutil.rmtree, target_path)
+        self.addCleanup(shutil.rmtree, target_path, ignore_errors=True)
         target_repo = porcelain.clone(
             self.repo.path, target=target_path, errstream=errstream
         )

Reply via email to