commit:     89539c68bed5af5a2e2abbf46e64a5dac55cbf4c
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 Jan 21 19:28:20 2016 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=89539c68

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 70c07a8..63e78b2 100644
--- a/pym/repoman/metadata.py
+++ b/pym/repoman/metadata.py
@@ -17,6 +17,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:
@@ -141,7 +142,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