Gentoo Archives: gentoo-portage-dev

From: Brian Dolbec <dolsen@g.o>
To: gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] [Patch] Repoman rewrite stage2 modularization conversion complete
Date: Mon, 14 Mar 2016 17:54:04
Message-Id: 20160314105256.37fb8e90.dolsen@gentoo.org
In Reply to: Re: [gentoo-portage-dev] [Patch] Repoman rewrite stage2 modularization conversion complete by Zac Medico
1 On Mon, 14 Mar 2016 10:22:11 -0700
2 Zac Medico <zmedico@g.o> wrote:
3
4 > On 03/14/2016 10:14 AM, Zac Medico wrote:
5 > > On 03/05/2016 01:37 PM, Brian Dolbec wrote:
6 > >
7 > >> Zac, I'm done with code changes in the rewrite. Ready for a last
8 > >> look before a merge. Can you have a look again? I did some
9 > >> changes/fixes and rebased them in. Floppym hasn't reported any
10 > >> more bugs, so I think it's ready for broader testing in a
11 > >> release. Then we can work on moving all the test data to a
12 > >> separate file in the tree or downloaded...
13 > >
14 > > The dynamic_data stuff in Scanner is a little hard to follow. Then
15 > > it calls dynamic_data.update(rdata), is there any chance that the
16 > > update operation might clobber something that shouldn't have been
17 > > clobbered?
18 >
19 > To clarify my question, suppose that one function returns {'foo':
20 > True} and another one returns {'foo', False}, so now there first
21 > {'foo': True} setting is forgotten. Is that going to be a problem?
22
23 No, as stated in my other reply. There are only a few things that are
24 modified. Mostly as I made a new module, following the original
25 order the checks were run. As data was discovered missing it was added
26 to dynamic_data from the previous check that supplied it to the Scanner
27 class. So, only data needed later was passed back to update the
28 dynamic_data.
29
30 Also all those checks originally ran in one huge 1k LOC loop with
31 another slightly smaller ebuild loop nested inside it. So all those
32 variables were subject to change already by previous code run. In the
33 stage1 rewrite, I/we did the same thing in creating the separated
34 checks classes. After the check was done, only the data required was
35 brought back into the primary loop.
36
37 --
38 Brian Dolbec <dolsen>

Replies