1 |
First thanks for sharing your concerns and setup bits. |
2 |
That's the right thing at the the right time. |
3 |
|
4 |
|
5 |
|
6 |
Robin H. Johnson wrote: |
7 |
> Relevant to this, I might not want to disclose my profile inheritance |
8 |
> tree. Here's one of them for you: |
9 |
> /etc/make.profile |
10 |
> /etc/managed-portage/hosts/build_webdb/make.profile |
11 |
> /etc/managed-portage/common/post/make.profile |
12 |
> /etc/managed-portage/class/webdb/make.profile |
13 |
> /etc/managed-portage/class/db/make.profile |
14 |
> /etc/managed-portage/class/web/make.profile |
15 |
> /etc/managed-portage/common/pre/make.profile |
16 |
> /etc/managed-portage/location/surrey/make.profile |
17 |
> /etc/managed-portage/hwtype/nehalem/make.profile |
18 |
> /usr/portage/profiles/default/linux/amd64/2008.0 |
19 |
|
20 |
Which of these is the target of the /etc/make.profile link? |
21 |
The last one? My current approach resolves the soft link and |
22 |
cuts of the profiles dir prefix. So in case it's the last for |
23 |
you that would be |
24 |
|
25 |
default/linux/amd64/2008.0 |
26 |
|
27 |
To auto-filter profiles would parsing profiles.desc work? |
28 |
Would a synced CVS checkout of |
29 |
<http://sources.gentoo.org/viewcvs.py/gentoo-x86/profiles/> |
30 |
give anything more that I could or should use? |
31 |
|
32 |
|
33 |
>> For Overlays .. |
34 |
>> we filter out overlays not located below /usr/local/portage/layman/. |
35 |
> This is going to be fail. |
36 |
> 1. That's not the only location used for layman. |
37 |
> - At home: /code/gentoo/layman/ |
38 |
> - At work: /usr/local/portage-layman/ |
39 |
> - Gentoo Infra: /usr/portage/local/layman/ |
40 |
> |
41 |
> 2. Just because an overlay is distributed by layman does NOT mean that |
42 |
> it's safe to disclose the existence of, within Gentoo infra, we do |
43 |
> this in layman.cfg: |
44 |
> overlays : http://www.gentoo.org/proj/en/overlays/layman-global.txt |
45 |
> file:///etc/layman/infra-overlays.xml |
46 |
|
47 |
I see. How about this approach instead: |
48 |
|
49 |
- Get list of overlays from layman-global.txt, through either |
50 |
|
51 |
A) Download and keep a snapshot of layman-global.txt in sync ourselves |
52 |
|
53 |
B) Use heuristic on layman's cache |
54 |
|
55 |
- Resolve ${cache} from /etc/layman/layman.cfg |
56 |
|
57 |
- Parse all ${cache}/cache_*.xml files using the Layman API |
58 |
|
59 |
- Compare the list of overlays each file provides against |
60 |
a hardcoded snapshot of overlay names ("akoya alexxy arcon ..") |
61 |
|
62 |
- Assume the file with the highest count of matches for |
63 |
layman-global.txt if the count is >=50 of the number hardcoded |
64 |
overlays |
65 |
|
66 |
- Take the official tree and globa overlays (overlays from |
67 |
layman-global.txt) into account for statistics |
68 |
|
69 |
- Resolve ${storage} from /etc/layman/layman.cfg |
70 |
|
71 |
- Include ebuilds from ${storage}/{global,overlays,here} and |
72 |
/usr/portage/ |
73 |
|
74 |
What it does not catch is people putting their own ebuilds |
75 |
right into the main tree. As they lose them all on the next sync |
76 |
are we safe to assume that no one really does that? |
77 |
If not are there alternatives to comparing to a synced checkout |
78 |
of gentoo-x86 (either rsync or CVS)? |
79 |
|
80 |
Any concerns or ideas for improvement? |
81 |
|
82 |
|
83 |
> While I don't mind disclosing the list of overlays we have in infra, |
84 |
> other large-scale use of layman might not be happy to disclose it. |
85 |
|
86 |
Agreed. |
87 |
|
88 |
|
89 |
> 3. For one of my work overlays, we have a custom category called |
90 |
> 'ih-int', for our internal ebuilds (some just meta ebuild, others |
91 |
> full applications). I might not want to disclose just those package names. |
92 |
|
93 |
Right. With the approach described above the whole overlay is ignored. |
94 |
|
95 |
|
96 |
|
97 |
Sebastian |