commit:     2d8c7fe07d7a503faff2712c6f18f5ff0b23a45c
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 18 02:49:51 2019 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Mon Nov 18 02:55:23 2019 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=2d8c7fe0

Binpkg: fix _chpathtool_exit rmtree ENOENT after rename

Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>

 lib/_emerge/Binpkg.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/lib/_emerge/Binpkg.py b/lib/_emerge/Binpkg.py
index 542ef8fb0..f9cffa26d 100644
--- a/lib/_emerge/Binpkg.py
+++ b/lib/_emerge/Binpkg.py
@@ -378,14 +378,15 @@ class Binpkg(CompositeTask):
                image_tmp_dir = os.path.join(
                        self.settings["PORTAGE_BUILDDIR"], "image_tmp")
                build_d = os.path.join(self.settings["D"],
-                       self._build_prefix.lstrip(os.sep))
+                       self._build_prefix.lstrip(os.sep)).rstrip(os.sep)
                if not os.path.isdir(build_d):
                        # Assume this is a virtual package or something.
                        shutil.rmtree(self._image_dir)
                        ensure_dirs(self.settings["ED"])
                else:
                        os.rename(build_d, image_tmp_dir)
-                       shutil.rmtree(self._image_dir)
+                       if build_d != self._image_dir:
+                               shutil.rmtree(self._image_dir)
                        
ensure_dirs(os.path.dirname(self.settings["ED"].rstrip(os.sep)))
                        os.rename(image_tmp_dir, self.settings["ED"])
 

Reply via email to