Gentoo Archives: gentoo-portage-dev

From: Brian Dolbec <dolsen@g.o>
To: gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] plugin-sync progress report
Date: Sun, 16 Mar 2014 04:31:37
Message-Id: 20140315213121.49584669.dolsen@gentoo.org
In Reply to: Re: [gentoo-portage-dev] plugin-sync progress report by Sebastian Luther
1 On Sat, 15 Mar 2014 21:48:59 +0100
2 Sebastian Luther <SebastianLuther@×××.de> wrote:
3
4 > Am 15.03.2014 21:32, schrieb Brian Dolbec:
5 > > I've started working on the repository/config.py changes needed for
6 > > the plugin-sync system.
7 > >
8 > > First:
9 > > The following class performed checks on the
10 > > repos.conf entries for the sync variables regardless if they were
11 > > being used or not. [...]
12 > >
13 > > Second:
14 > > - Should all the repos.conf entires to be synced be validated
15 > > prior to syncing and fail if there are any errors?
16 > > - Or, just call each sync module's sync() and let each fail
17 > > individually and continue syncing remaining repos?
18 > >
19 >
20 > Maybe that's just me, but I don't like things that sometimes work and
21 > sometimes not. Having some emerge invocations fail with "broken
22 > config" and some not, seems rather ugly to me.
23 >
24 > (This also implies that syncing a repo with working config is not
25 > possible as long as there are repos with broken config.)
26 >
27
28 So, what your saying is EVERY time emerge is run or portage is imported
29 for api use. It _MUST_ load the sync modules and verify the sync
30 parameters regardless if those setting will be used or NOT. That is a
31 waste of resources and time to me. Portage is already far too slow. I
32 admit, that this will not be much of a time/resource consumer for the
33 majority of gentoo systems. But what about low power systems, where
34 resources including memory are at a premium? After all, how many times
35 do you edit your repos.conf files? Why test them for every possible
36 error every time portage code is started up?
37
38 I was intending on adding a check-config option to the emaint sync
39 module I planned on adding. I think that is a good compromise between
40 over checking and no checking at all.
41
42
43 > > Third:
44 > > - I would like to add a new config item for all repos.
45 > > It is a variable to define which sources of sync operations
46 > > which the repo will be allowed to be synced from. It could be a
47 > > space separated list which could be used to prevent it from being
48 > > synced via certain commands.
49 >
50 > What exactly does this variable mean? What are emaint or layman doing
51 > here?
52 >
53 >
54 >
55
56 emaint is here because I intend on making an emaint sync module for
57 doing more detailed sync operations. Like syncing individual repos. If
58 a user had an overlay that they did not want to be synced via emerge
59 then not putting emerge there, when the emerge --sync command was
60 started. It would skip syncing that repo, even though it had a
61 sync-type and sync-url. Layman was an entry there since most overlays
62 are installed & managed by it. So, would have been a possible entry.
63
64
65 Alex's solution seems like a good fit in place of this. See his email
66 reply.
67
68
69 --
70 Brian Dolbec <dolsen>