commit:     dd1070496dde6e68b9fe47bd23a3a6bfd076dc90
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 21 18:51:16 2016 +0000
Commit:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Thu Apr 21 16:49:27 2016 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=dd107049

metadata.py: Resolve error when moving metadata.dtd

If DISTDIR and PORTDIR/metadata/dtd live on different filesystems,
os.rename() will fail. Use shutil.move() instead.

 pym/repoman/metadata.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/pym/repoman/metadata.py b/pym/repoman/metadata.py
index f1fa53a..e95ad41 100644
--- a/pym/repoman/metadata.py
+++ b/pym/repoman/metadata.py
@@ -19,6 +19,7 @@ from repoman._portage import portage
 
 from portage import exception
 from portage import os
+from portage import shutil
 from portage.output import green
 
 if sys.hexversion >= 0x3000000:
@@ -143,7 +144,7 @@ def fetch_metadata_dtd(metadata_dtd, repoman_settings):
                        except portage.exception.PortageException:
                                pass
 
-                       os.rename(metadata_dtd_tmp, metadata_dtd)
+                       shutil.move(metadata_dtd_tmp, metadata_dtd)
                finally:
                        try:
                                os.unlink(metadata_dtd_tmp)

Reply via email to