Gentoo Logo
Gentoo Spaceship




Note: Due to technical difficulties, the Archives are currently not up to date. GMANE provides an alternative service for most mailing lists.
c.f. bug 424647
List Archive: gentoo-dev
Navigation:
Lists: gentoo-dev: < Prev By Thread Next > < Prev By Date Next >
Headers:
To: gentoo-dev@g.o
From: Alistair Bush <ali_bush@g.o>
Subject: QA Overlay Layout support.
Date: Sun, 25 Jan 2009 11:59:04 +1300
Here is an issue that is currently being faced by the java project that
I would like to bring to the attention of everyone.  I have already
discussed this will devs from all pm's.

Intro:

Within the java project we have 2 overlays.  java-overlay and
java-experimental.  java-overlay is mean't to be a "stable" overlay, is
available through layman while java-experimental is the opposite.  We
attempt to not add packages to gentoo unless they are a dependency or an
application to help with maintainability.  We allow newbies access to
java-experimental and there are a number of packages that are difficult
to support so are still very much experimental.

The way we are currently using the overlays results in a hierachy of
gentoo > java-overlay > java-experimental.  Where
packages/eclasses/profiles can be inherited from the previous repository.

Problem:

Repoman currently only checks the current repository/overlay and gentoo.
 This is a problem for java-experimental.

These are the following problems:-

1)  repoman does not find eclasses used to by java-experimental ebuilds
that are located in java-overlay.  see [1] for error.  Maintaining the
eclass in multiple locations _is not a solution_.(zmedico is expecting
to add repository support at some point with support for specifying
ECLASSDIRS.  So this issue may be resolved).

2)  repoman does not find packages used to by java-experimental ebuilds
that are located in java-overlay.

Now this might be a result of the package not existing within gentoo or
as a result of a particular version/slot being available within
java-overlay.  Now zmedico suggested that the use of repository deps (
aka ::java-overlay )  could be the solution.  I would rather this not be
the solution as packages shouldn't need to be edited to more them
between overlays.  Also the dependency specified could be moved into gentoo.


Possible Solution:

Now im going to shoot myself in the foot here by mentioning the
unmentionable.

( -->> ) paludis ( <<-- ) currently has support for specifying an
overlays parent(s) (master_repository) within an overlays
metadata/layout.conf file.   Now i'm not suggesting that paludis's
implementation is the correct one,  but I believe the concept is solid.
 By specifying an overlays parent repositories would allow (at least):

1)  emerge to error if that repository/overlay is not configured.; and
2) repoman to locate packages by checking the current overlay, gentoo as
well as the parents specified within an "overlay metadata file"

Possible Solution:

Merging java-overlay and java-experimental.  From my perspective this
isn't a good one as we loss most of the benefits of java-experimental.

Discussion:

Do you support the "overlay metadata file" concept?
Are there any other possible solutions?
Is there anything stopping this from being implemented?  another EAPI?
profile EAPI?
Is there anything else that would benefit from an "overlay metadata
file"?  Default conf variables e.g ECLASSDIRS.
Any other comments?


Thanks
ali_bush

Alistair Bush
Gentoo Linux Developer

[1]
* ERROR: dev-java/commons-jelly-tags-util-1.0 failed.

 * Call stack:

 *                            ebuild.sh, line 1881:  Called source
'/home/alistair/gentoo/overlays/java-experimental/dev-java/commons-jelly-tags-util/commons-jelly-tags-util-1.0.ebuild'


 *   commons-jelly-tags-util-1.0.ebuild, line    7:  Called inherit
'commons-jelly-tags-2'

 *                            ebuild.sh, line 1238:  Called qa_source
'/home/alistair/gentoo/overlays/java-experimental/eclass/commons-jelly-tags-2.eclass'


 *                            ebuild.sh, line   37:  Called source
'/home/alistair/gentoo/overlays/java-experimental/eclass/commons-jelly-tags-2.eclass'


 *          commons-jelly-tags-2.eclass, line   30:  Called inherit
'java-pkg-2' 'java-ant-2' 'java-maven-2'

 *                            ebuild.sh, line 1215:  Called die

 * The specific snippet of code:

 *              [ ! -e "$location" ] && die "${1}.eclass could not be
found by inherit()"
 *  The die message:

 *   java-maven-2.eclass could not be found by inherit()

 *

 * If you need support, post the topmost build error, and the call stack
if relevant.
 * This ebuild used the following eclasses from overlays:

 *
/home/alistair/gentoo/overlays/java-experimental/eclass/commons-jelly-tags-2.eclass

 *
/home/alistair/gentoo/overlays/java-experimental/eclass/java-pkg-2.eclass

 *
/home/alistair/gentoo/overlays/java-experimental/eclass/java-utils-2.eclass

 * This ebuild is from an overlay:
'/home/alistair/gentoo/overlays/java-experimental/'

[2]
dev-java/glazedlists/glazedlists-1.7.0-r2.ebuild:
~amd64(default/linux/amd64/2008.0/server) ['dev-java/swingx']

dev-java/swingx is located in java-overlay.


Replies:
Re: QA Overlay Layout support.
-- Donnie Berkholz
Re: QA Overlay Layout support.
-- Jorge Manuel B. S. Vicetto
Re: QA Overlay Layout support.
-- Alistair Bush
Navigation:
Lists: gentoo-dev: < Prev By Thread Next > < Prev By Date Next >
Previous by thread:
slot deps in package.mask and profiles
Next by thread:
Re: QA Overlay Layout support.
Previous by date:
Re: slot deps in package.mask and profiles
Next by date:
Handling Launchpad SRC_URI


Updated Jun 17, 2009

Summary: Archive of the gentoo-dev mailing list.

Donate to support our development efforts.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.