commit: 4e9f04a1e11e84a8c513ee334cf2bc1c013d8c11 Author: Michał Górny <mgorny <AT> gentoo <DOT> org> AuthorDate: Thu Oct 17 12:05:30 2019 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Thu Oct 17 18:08:58 2019 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=4e9f04a1
emirrordist: Delete potential symlinks for all layouts Unlink for all distfile layouts rather than for all but primary. This wrongly assumed that the primary layout will always be removed as a result of earlier code. However, the rename() call correctly assumes that the primary layout may be an old symlink, and operates on realpath(). Therefore, the real file from a secondary layout may be renamed, leaving dangling symlink. Bug: https://bugs.gentoo.org/697906 Reviewed-by: Zac Medico <zmedico <AT> gentoo.org> Signed-off-by: Michał Górny <mgorny <AT> gentoo.org> lib/portage/_emirrordist/DeletionTask.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/portage/_emirrordist/DeletionTask.py b/lib/portage/_emirrordist/DeletionTask.py index db5ac5ffb..a4bb29419 100644 --- a/lib/portage/_emirrordist/DeletionTask.py +++ b/lib/portage/_emirrordist/DeletionTask.py @@ -102,7 +102,7 @@ class DeletionTask(CompositeTask): def _delete_links(self): success = True - for layout in self.config.layouts[1:]: + for layout in self.config.layouts: distfile_path = os.path.join( self.config.options.distfiles, layout.get_path(self.distfile))
