public inbox for gentoo-java@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Wiktor Wandachowicz" <siryes@gmail.com>
To: "William L. Thomson Jr." <wlt@obsidian-studios.com>
Cc: gentoo-java <gentoo-java@lists.gentoo.org>
Subject: Re: [gentoo-java] Netbeans
Date: Sat, 8 Jul 2006 11:40:19 +0200	[thread overview]
Message-ID: <254054bc0607080240r6be2968ayff4ff2aa17580f2e@mail.gmail.com> (raw)
In-Reply-To: <1152324992.30603.10.camel@wlt.obsidian-studios.com>

2006/7/8, William L. Thomson Jr. <wlt@obsidian-studios.com>:
> On Fri, 2006-07-07 at 21:29 -0400, nil nil wrote:
> > Shouldn't netbeans 5 be put in the portage tree?
>
> Yes, but no one has really stepped up to maintain Netbeans ebuilds.
> I started to work on it, but instead of focusing on 5 or older, I
> started with Netbeans 5.5 Beta. There is a ebuild for that in the
> migration packages overlay.

This is the reason and a temporary solution. Add to this the fact that
NetBeans have a Linux executable installer as well as .zip / .tar.gz
archive of ready-to-run application. It's perfectly installable in /opt,
for example. So, there's not much incentive to toroughly work on this
right now.

In Gentoo the goal is to compile every package from sources if possible.
It should use already existing jars from previously installed packages, too.
So it could for example benefit from security updates or version upgrades
to the respective packages. This is a general direction that Gentoo takes:
no prepackaged binary jars should be used, unless necessary. The crown
example and a problem without current resolution is Maven, which brings
a lot of jars in its own repositiories.

In essence it means that for complex Java packages the whole build and
packaging process needs to be different (to some degree) from the one
used by the developers. For example, in Linux packages spread their
files in different directories with different permissions (binaries, libraries,
docs, manuals, working dirs/files, etc.), whereas typical "big" Java
packages provide all their files in a single directory. This is an additional
burden for Gentoo maintainers. And the real reason why some packages
"lag" behind.

But still the binary versions of said packages run perfectly under Gentoo:
NetBeans, Eclipse, Tomcat, GlassFish... But they need to be put in their
own separate directories, with all dependencies underneath. So, even if
they have some jars in common, they cannot share them. Depending on
your POV this is good (easy deinstallation or upgrade by removal of a single
directory) or bad (inconsistency with the general philosophy of packaging
in Gentoo and package management by Portage).

OTOH package management tools in Linux already provide solutions for
problems that become to occur to Java packages. Dependencies are the
first thing that comes to my mind. Every non-trivial Java program requires
a number of libraries in the form of jar files to perform its function. Said
libraries have to be provided by every application, so they are duplicated
and cannot be easily upgraded in the event of a repaired bug or security
issue. Currently it requires lots of manual work, so every existing copy
of each library has to be tracked and upgraded independently.

Maven tries to solve this problem by providing a vast number of existing
*binary* packages (jars) that projects under development can use. But
still, they are binary files. I know, there are notions of providing sources
for such jars in Maven, but many packages don't do it properly. These
are some reasons why Maven is not fully supported in Gentoo/Portage
yet. However, you can always install it by hand. But keeping all the
manually installed packages up to date is, frankly, hard to do.

Remember, in Gentoo the source code is the most important and gives
the most flexibility. This is a general problem with Java packaging that
the world will have to tackle sooner or later. Or we will have another
"dependency hell" (or make it "the jar hell") upon us. But the whole
upstream is not aware of the problem yet - if it works why break it?
Yes, it works today. But we're talking on a long-term problems here.
Which, I think, Gentoo is able to avoid in a clean, comprehensive way.

If I missed sth or said sth fundamentaly wrong, please tell me.

Regards,
Wiktor Wandachowicz

-- 
Registered Linux user #390131 (http://counter.li.org)
-- 
gentoo-java@gentoo.org mailing list



  reply	other threads:[~2006-07-08  9:41 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-08  1:29 [gentoo-java] Netbeans nil nil
2006-07-08  2:16 ` William L. Thomson Jr.
2006-07-08  9:40   ` Wiktor Wandachowicz [this message]
2006-07-08 21:12     ` nil nil
2006-07-08 21:23       ` William L. Thomson Jr.

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=254054bc0607080240r6be2968ayff4ff2aa17580f2e@mail.gmail.com \
    --to=siryes@gmail.com \
    --cc=gentoo-java@lists.gentoo.org \
    --cc=wlt@obsidian-studios.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox