Re: [gentoo-soc] [GSoC] Maven integration for Gentoo ebuilds

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Re: [gentoo-soc] [GSoC] Maven integration for Gentoo ebuilds

Kasun Gajasinghe
Hi all,

On Sun, Mar 27, 2011 at 1:59 PM, Petteri Räty <[hidden email]> wrote:

> On 03/27/2011 08:09 AM, Kasun Gajasinghe wrote:
>> These days I'm trying to figure out and list the requirements for the
>> project. The idea page only contain a brief description. I'd very much
>> appreciate if anyone can give some further information regarding this
>> idea. I'm little depressed with lesser support because Google Summer
>> of Code is time-constrained which means I have to do a good initial
>> research and submit a proposal in a 1 1/2 weeks time. I guess it's
>> probably because of weekends?
> As much as GSoC is time-constrained so are our personal lives. Some
> delays come with the territory of volunteer work.

I apologize for asking that. It won't happen again.

For the basic goal of

> the project we would like to be able to natively use Maven in Java
> packages in the main tree. Currently we for example use the ant:ant
> target to generate build.xml and then sanitize that. As we would like
> these ebuilds to be dependencies for others an ebuild generator like
> proposed by Brian doesn't cut it alone. A generator could of course be
> useful in the process of generating ebuilds that are good enough to be
> committed to Portage. I think both Fedora and Debian have already been
> able to accomplish this so I would do some research into their
> solutions. Here's some quick Google results to get you started:
> If you want to have an online discussion or ask any questions you might
> have interactively you can find the Java developers at
> #gentoo-java@freenode. Please note that depending on how time zones
> match we might not always be around.

Thanks for the pointers again. After the discussion at the IRC, I've
been going through those recommended references. I think I have a
fairly good idea about the requirements now. I have few further

I'd like to know how the dependencies will be handled by maven based
ebuilds. Can you let me know the difference between dependencies
specified in Maven's POM file, and ebuild's dependencies? Are both
should be same? Since, Maven's POM contains the unique artifacts IDs
(with the combination of groupId, artifactId, version) which points to
a _binary_ jar, how should the developers who write _ebuilds_ specify
it? I got to know that dependencies are also ebuilds under gentoo i.e.
no binaries.

I've been going through the Ralph's (nick: sera ) suggested eclass
[1]. It turned out to be very useful. (sera, I got your name from [1],
hope it's correct! :) ). Because maven offline building is the biggest
issue Gentoo is currently facing, As Petteri suggested, I've been
going through to see how other distributions handle this. I see that
both in sera's eclass and in Debian's MavenRepoSpec [2], that they
specify a variable which points to a maven local-repository location.
Ralph's eclass specified MAVEN_REPO_DIR="${T}/maven-repo/" while
Debian has REPO=/usr/share/maven-repo. Since the file-system will be
read-only for ebuilds, and ebuilds should be built offline, what's the
purpose of this?

Further, please let me know the other issues that needs to be
addressed that you have in mind. It turned out that the project is
challenging than I thought before, and is getting exciting now!


Thanks for the help.

PS: Sorry for cross-posting this to gentoo-java and gentoo-soc.
Thought to do it for _this_ period of time since Donnie has agreed
that it's important to make the interactions with the community
visible to all the mentors. I hope it's OK!

Kasun Gajasinghe,
University of Moratuwa,
Sri Lanka.