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> |