public inbox for gentoo-soc@lists.gentoo.org
 help / color / mirror / Atom feed
* Re: [gentoo-soc] [GSoC] Maven integration for Gentoo ebuilds
@ 2011-03-29 15:32 Kasun Gajasinghe
  0 siblings, 0 replies; 12+ messages in thread
From: Kasun Gajasinghe @ 2011-03-29 15:32 UTC (permalink / raw
  To: gentoo-soc@lists.gentoo.org; +Cc: gentoo-soc@lists.gentoo.org


On 29 Mar 2011, at 14:42, Petteri Räty <betelgeuse@gentoo.org> wrote:

> On 03/29/2011 06:47 AM, Kasun Gajasinghe wrote:
>>
>> 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 am not sure how POM files categorize dependencies but in general  
> there
> should be some kind of a mapping between the two.
>
>> 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?
>>
>
> ${T} is a temporary directory for a single ebuild so it's writable.
>
>> 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!
>>
>
> Besides writing the needed infrastructure for building with Maven it
> would also be useful to convert as much as possible of our manual
> ebuilds to use that infrastructure so that the solution will also be
> field tested. I see the work happening initially in a separate overlay
> with the goal of main tree merging before the project is over.
>

Ok great. I saw that there is functionality to create user-defined  
overlays at overlays.gentoo.org. I'll create a one there and do the  
implementation. Hopefully I can add a clone of gentoo-x86/dev-java/  
there first? I'm not sure how the version controlling happens then  
though!

Surely, I'll convert the current manually ebuilds to that  
infrastructure. I'm not aware of how much work is there. I'm hoping to  
continue working on it even after the Google Summer of Code over.
I think this is a great chance the students can get to contribute to  
open-source development with the initial push with an individually  
assigned mentor. I've done Google Summer of Code 2010 program under  
DocBook open repository and has continued my work even after the  
assigned project which gained me committer status. I'm sincerely  
expect to do the same with Gentoo this year.

Thanks,
Kasun

> Petteri
>




^ permalink raw reply	[flat|nested] 12+ messages in thread
* Re: [gentoo-soc] [GSoC] Maven integration for Gentoo ebuilds
@ 2011-03-29 15:11 Kasun Gajasinghe
  2011-03-30  5:11 ` Kasun Gajasinghe
  0 siblings, 1 reply; 12+ messages in thread
From: Kasun Gajasinghe @ 2011-03-29 15:11 UTC (permalink / raw
  To: gentoo-soc@lists.gentoo.org; +Cc: gentoo-soc@lists.gentoo.org



On 29 Mar 2011, at 09:37, Serkan Kaba <serkan@gentoo.org> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 29-03-2011 06:47, Kasun Gajasinghe wrote:
>> 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.
> POM dependencies can be too restrictive sometimes, like depending on a
> specific version. We should be depending on any version (or sometimes
> with >=,<=) as long as the package compiles and runs fine with it.

I've come across a package called JPackage which does the job of  
retrieving a jar from /usr/share/java and return it to use by maven.  
It neglects the version numbers as well.


>> 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?
> We then still need to add symlinks to jars during build time in there
> which is an "access violation" in sand box

Ok. Then the viable option is to have to generate the maven directory  
structure inside a folder named ${T}/maven-repo. We can do the  
symlinking through that, and we won't face any access violation since  
the writing happens in the sandbox.
Ubuntu too have proposed a similar solution. I'm away from my machine,  
I'll provide the links to it as well as for the JPackage soon if it  
you all may want to check it out!

Thanks,
Kasun

>
> - --
> Sincerely,
> Serkan KABA
> Gentoo Developer
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v2.0.17 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>
> iEYEARECAAYFAk2RWvIACgkQRh6X64ivZaLfkgCfVF99iZaa6Pa+dTlC4cjuLvZd
> ILkAn34OooCvrNy6uu9yEg4bua/q7X6G
> =staW
> -----END PGP SIGNATURE-----
>




^ permalink raw reply	[flat|nested] 12+ messages in thread
* [gentoo-soc] [GSoC] Maven integration for Gentoo ebuilds
@ 2011-03-25 18:20 Kasun Gajasinghe
  2011-03-26 20:35 ` Brian Dolbec
  0 siblings, 1 reply; 12+ messages in thread
From: Kasun Gajasinghe @ 2011-03-25 18:20 UTC (permalink / raw
  To: gentoo-soc, betelgeuse

[-- Attachment #1: Type: text/plain, Size: 2409 bytes --]

Hi Petteri and devs,
I'm Kasun Gajasinghe, a final year undergraduate from University of
Moratuwa. I'm interested in contributing to Gentoo under Google Summer of
Code 2011 program.

I've gone through the ideas page, and found the project idea "Maven
integration" [0] very interesting, mainly because I have a good background
on that area. I've gone through "Quickstart Ebuild Guide" [1] to understand
how ebuilding works, and then went through Gentoo java-overlay [2] since
it's a suggested approach. It's exciting to see that they are looking for
new Java developers! I have already checked out the java-overlay source, and
started poking around.

As I understood, the main goal of the project is generating an ebuild file
by parsing maven project file (POM), right? If so, I think it's better if I
looked at how the current maven-based projects are integrated to Gentoo.
Further, I'd very much appreciate if you can provide me some directives and
guide me. Specially, I'm looking for documentation/articles explaining how
Maven is currently used in the system, current status of Maven in
java-overlay, and documentation to understand how Gentoo Java-Overlay works.
Please tell me if I missed something important.

Further, I welcome any advices that you'd like to give for a beginner Gentoo
developer interested in contriuting.

To justify my ability to complete the project, I thought to provide a brief
introduction about my self. I'm a linux-user and Ubuntu has been my default
OS for few years now. I've used different flavors including Fedora, and
Kubuntu, and I'm now interested in using Gentoo. I am very much competent in
Java and Apache Maven and has good experience. I have used Maven for several
projects of mine, along with other open sources projects am contributing.
Some of the projects are hosted at Google code [3]. I've participated for
Google Summer of Code in 2010 under DocBook Open Repository and successfully
completed the project [4].


[0] http://www.gentoo.org/proj/en/userrel/soc/ideas.xml#doc_chap2_sect20
[1] http://devmanual.gentoo.org/quickstart/index.html
[2] http://overlays.gentoo.org/proj/java/

[3] http://code.google.com/u/kasun.gajasinghe/
[4] http://blog.kasunbg.org/search/label/gsoc-2010

Thanks,
Kasun

-- 
~~~*******'''''''''''''*******~~~
Kasun Gajasinghe,
University of Moratuwa,
Sri Lanka.
Blog: http://kasunbg.blogspot.com
Twitter: http://twitter.com/kasunbg

[-- Attachment #2: Type: text/html, Size: 3856 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2011-04-06 19:36 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-29 15:32 [gentoo-soc] [GSoC] Maven integration for Gentoo ebuilds Kasun Gajasinghe
  -- strict thread matches above, loose matches on Subject: below --
2011-03-29 15:11 Kasun Gajasinghe
2011-03-30  5:11 ` Kasun Gajasinghe
2011-04-06 19:36   ` Kasun Gajasinghe
2011-03-25 18:20 Kasun Gajasinghe
2011-03-26 20:35 ` Brian Dolbec
2011-03-26 20:54   ` Serkan Kaba
2011-03-27  5:09     ` Kasun Gajasinghe
2011-03-27  8:29       ` Petteri Räty
2011-03-29  3:47         ` Kasun Gajasinghe
2011-03-29  4:07           ` Serkan Kaba
2011-03-29  9:12           ` Petteri Räty

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox