Gentoo Archives: gentoo-portage-dev

From: Zac Medico <zmedico@g.o>
To: gentoo-portage-dev@l.g.o, "Michał Górny" <mgorny@g.o>
Subject: Re: [gentoo-portage-dev] [PATCH] emirrordist: Delete potential symlinks for all layouts
Date: Fri, 18 Oct 2019 04:25:38
Message-Id: b9b9aad4-8515-bb6e-01ab-ca4139583dc2@gentoo.org
In Reply to: Re: [gentoo-portage-dev] [PATCH] emirrordist: Delete potential symlinks for all layouts by "Michał Górny"
1 On 10/17/19 11:09 AM, Michał Górny wrote:
2 > On Thu, 2019-10-17 at 11:02 -0700, Zac Medico wrote:
3 >> On 10/17/19 5:09 AM, Michał Górny wrote:
4 >>> Unlink for all distfile layouts rather than for all but primary. This
5 >>> wrongly assumed that the primary layout will always be removed
6 >>> as a result of earlier code. However, the rename() call correctly
7 >>> assumes that the primary layout may be an old symlink, and operates
8 >>> on realpath(). Therefore, the real file from a secondary layout may
9 >>> be renamed, leaving dangling symlink.
10 >>>
11 >>> Bug: https://bugs.gentoo.org/697906
12 >>> Signed-off-by: Michał Górny <mgorny@g.o>
13 >>> ---
14 >>> lib/portage/_emirrordist/DeletionTask.py | 2 +-
15 >>> 1 file changed, 1 insertion(+), 1 deletion(-)
16 >>>
17 >>> diff --git a/lib/portage/_emirrordist/DeletionTask.py b/lib/portage/_emirrordist/DeletionTask.py
18 >>> index db5ac5ffb..a4bb29419 100644
19 >>> --- a/lib/portage/_emirrordist/DeletionTask.py
20 >>> +++ b/lib/portage/_emirrordist/DeletionTask.py
21 >>> @@ -102,7 +102,7 @@ class DeletionTask(CompositeTask):
22 >>>
23 >>> def _delete_links(self):
24 >>> success = True
25 >>> - for layout in self.config.layouts[1:]:
26 >>> + for layout in self.config.layouts:
27 >>> distfile_path = os.path.join(
28 >>> self.config.options.distfiles,
29 >>> layout.get_path(self.distfile))
30 >>>
31 >>
32 >> Looks good. Please merge.
33 >
34 > Done. Could you make a bugfix release with this, please?
35
36 Sure. Applied with sed in portage-2.3.77-r1.
37 --
38 Thanks,
39 Zac

Attachments

File name MIME type
signature.asc application/pgp-signature