Gentoo Archives: gentoo-dev

From: Alistair Bush <ali_bush@g.o>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] QA Overlay Layout support.
Date: Sat, 24 Jan 2009 22:59:17
Message-Id: 497B9D38.6030702@gentoo.org
1 Here is an issue that is currently being faced by the java project that
2 I would like to bring to the attention of everyone. I have already
3 discussed this will devs from all pm's.
4
5 Intro:
6
7 Within the java project we have 2 overlays. java-overlay and
8 java-experimental. java-overlay is mean't to be a "stable" overlay, is
9 available through layman while java-experimental is the opposite. We
10 attempt to not add packages to gentoo unless they are a dependency or an
11 application to help with maintainability. We allow newbies access to
12 java-experimental and there are a number of packages that are difficult
13 to support so are still very much experimental.
14
15 The way we are currently using the overlays results in a hierachy of
16 gentoo > java-overlay > java-experimental. Where
17 packages/eclasses/profiles can be inherited from the previous repository.
18
19 Problem:
20
21 Repoman currently only checks the current repository/overlay and gentoo.
22 This is a problem for java-experimental.
23
24 These are the following problems:-
25
26 1) repoman does not find eclasses used to by java-experimental ebuilds
27 that are located in java-overlay. see [1] for error. Maintaining the
28 eclass in multiple locations _is not a solution_.(zmedico is expecting
29 to add repository support at some point with support for specifying
30 ECLASSDIRS. So this issue may be resolved).
31
32 2) repoman does not find packages used to by java-experimental ebuilds
33 that are located in java-overlay.
34
35 Now this might be a result of the package not existing within gentoo or
36 as a result of a particular version/slot being available within
37 java-overlay. Now zmedico suggested that the use of repository deps (
38 aka ::java-overlay ) could be the solution. I would rather this not be
39 the solution as packages shouldn't need to be edited to more them
40 between overlays. Also the dependency specified could be moved into gentoo.
41
42
43 Possible Solution:
44
45 Now im going to shoot myself in the foot here by mentioning the
46 unmentionable.
47
48 ( -->> ) paludis ( <<-- ) currently has support for specifying an
49 overlays parent(s) (master_repository) within an overlays
50 metadata/layout.conf file. Now i'm not suggesting that paludis's
51 implementation is the correct one, but I believe the concept is solid.
52 By specifying an overlays parent repositories would allow (at least):
53
54 1) emerge to error if that repository/overlay is not configured.; and
55 2) repoman to locate packages by checking the current overlay, gentoo as
56 well as the parents specified within an "overlay metadata file"
57
58 Possible Solution:
59
60 Merging java-overlay and java-experimental. From my perspective this
61 isn't a good one as we loss most of the benefits of java-experimental.
62
63 Discussion:
64
65 Do you support the "overlay metadata file" concept?
66 Are there any other possible solutions?
67 Is there anything stopping this from being implemented? another EAPI?
68 profile EAPI?
69 Is there anything else that would benefit from an "overlay metadata
70 file"? Default conf variables e.g ECLASSDIRS.
71 Any other comments?
72
73
74 Thanks
75 ali_bush
76
77 Alistair Bush
78 Gentoo Linux Developer
79
80 [1]
81 * ERROR: dev-java/commons-jelly-tags-util-1.0 failed.
82
83 * Call stack:
84
85 * ebuild.sh, line 1881: Called source
86 '/home/alistair/gentoo/overlays/java-experimental/dev-java/commons-jelly-tags-util/commons-jelly-tags-util-1.0.ebuild'
87
88
89 * commons-jelly-tags-util-1.0.ebuild, line 7: Called inherit
90 'commons-jelly-tags-2'
91
92 * ebuild.sh, line 1238: Called qa_source
93 '/home/alistair/gentoo/overlays/java-experimental/eclass/commons-jelly-tags-2.eclass'
94
95
96 * ebuild.sh, line 37: Called source
97 '/home/alistair/gentoo/overlays/java-experimental/eclass/commons-jelly-tags-2.eclass'
98
99
100 * commons-jelly-tags-2.eclass, line 30: Called inherit
101 'java-pkg-2' 'java-ant-2' 'java-maven-2'
102
103 * ebuild.sh, line 1215: Called die
104
105 * The specific snippet of code:
106
107 * [ ! -e "$location" ] && die "${1}.eclass could not be
108 found by inherit()"
109 * The die message:
110
111 * java-maven-2.eclass could not be found by inherit()
112
113 *
114
115 * If you need support, post the topmost build error, and the call stack
116 if relevant.
117 * This ebuild used the following eclasses from overlays:
118
119 *
120 /home/alistair/gentoo/overlays/java-experimental/eclass/commons-jelly-tags-2.eclass
121
122 *
123 /home/alistair/gentoo/overlays/java-experimental/eclass/java-pkg-2.eclass
124
125 *
126 /home/alistair/gentoo/overlays/java-experimental/eclass/java-utils-2.eclass
127
128 * This ebuild is from an overlay:
129 '/home/alistair/gentoo/overlays/java-experimental/'
130
131 [2]
132 dev-java/glazedlists/glazedlists-1.7.0-r2.ebuild:
133 ~amd64(default/linux/amd64/2008.0/server) ['dev-java/swingx']
134
135 dev-java/swingx is located in java-overlay.

Replies

Subject Author
Re: [gentoo-dev] QA Overlay Layout support. Alistair Bush <ali_bush@g.o>
Re: [gentoo-dev] QA Overlay Layout support. "Jorge Manuel B. S. Vicetto" <jmbsvicetto@g.o>
Re: [gentoo-dev] QA Overlay Layout support. Donnie Berkholz <dberkholz@g.o>