Gentoo Archives: gentoo-portage-dev

From: Brian Dolbec <dolsen@g.o>
To: gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] [PATCH] binarytree.move_ent: fix binpkg-multi-instance _pkg_paths corruption (bug 545252)
Date: Wed, 01 Apr 2015 19:12:37
Message-Id: 20150401121231.21d8f3cf.dolsen@gentoo.org
In Reply to: [gentoo-portage-dev] [PATCH] binarytree.move_ent: fix binpkg-multi-instance _pkg_paths corruption (bug 545252) by Zac Medico
1 On Wed, 1 Apr 2015 11:40:35 -0700
2 Zac Medico <zmedico@g.o> wrote:
3
4 > When binpkg-multi-instance support was added in commit
5 > 328dd4712f88cbb8ef390ae9eb471afa1ef781d7, the code that adjusts
6 > self._pkg_paths in binarytree.move_ent was not fixed to account for
7 > the extra directory in the path.
8 >
9 > Fixes: 328dd4712f88 ("binpkg-multi-instance 3 of 7")
10 > X-Gentoo-Bug: 545252
11 > X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=545252
12 > ---
13 > pym/portage/dbapi/bintree.py | 3 +--
14 > 1 file changed, 1 insertion(+), 2 deletions(-)
15 >
16 > diff --git a/pym/portage/dbapi/bintree.py
17 > b/pym/portage/dbapi/bintree.py index 2f0bc47..b37f388 100644
18 > --- a/pym/portage/dbapi/bintree.py
19 > +++ b/pym/portage/dbapi/bintree.py
20 > @@ -462,8 +462,7 @@ class binarytree(object):
21 > mynewcpv = _pkg_str(mynewcpv,
22 > metadata=metadata) new_path = self.getname(mynewcpv)
23 > self._pkg_paths[
24 > - self.dbapi._instance_key(mynewcpv)]
25 > = os.path.join(
26 > - *new_path.split(os.path.sep)[-2:])
27 > + self.dbapi._instance_key(mynewcpv)]
28 > = new_path[len(self.pkgdir)+1:] if new_path != mytbz2:
29 > self._ensure_dir(os.path.dirname(new_path))
30 > _movefile(tbz2path, new_path,
31 > mysettings=self.settings)
32
33
34 merge it please :)
35 --
36 Brian Dolbec <dolsen>