All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robert Schuster <theBohemian@gmx.net>
To: openembedded-devel@lists.openembedded.org
Subject: java recipe policy for OE
Date: Fri, 21 Dec 2007 10:54:02 +0100	[thread overview]
Message-ID: <476B8D3A.7010703@gmx.net> (raw)

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

Hi,
the toolchain stuff has not been committed yet but I still want to start
a little discussion about the future of java packages in OE.

a) jar location
The Debian java packages have the fine habit of placing all the jars
(this is what resembles a shared library in java land) into
/usr/share/java. Since Java (still) lacks an automated mechanism to look
up those jars they have to be provided manually when starting an
application (e.g. through a shell script) and putting them into a common
directory saves people's nerves.

Making the jar location variable is easy, making applications work can
be hard (patching scripts etc). I don't see much value in making this
configurable either.

b) jni library location
Another addition from the Debian guys is to put JNI libraries (shared
libraries which provide some C stuff to the Java side) into
/usr/lib/jni. Native library lookup is even more strange in Java and it
was decided to simply patch Java runtimes to add /usr/lib/jni to the
default native library search path (hard coding).

Making this location configurable is difficult since it would involve
making the patches for the Java runtime configurable.

If OE follows both approaches I hope that people will have it easier to
use start scripts from Debian or Debian-aware projects on their devices.

c) naming
Debian names packages containing only jars lib<PN>-java. If it has a
corresponding JNI library it is called lib<PN>-jni. I would like to
adopt this for OE. With the help of a bbclass for java library recipes
this safes boilerplate. I have an early version of such a bbclass in the
Jalimo repository for everyone to look at, criticise and enhance. :)

For those coming from the C world these suggestion may look quite strict
but please keep in mind that compiling Java package from source is often
a complete mess: Source tarballs often contains pre-built dependencies
of some unknown version and every project has its own special way of
being built. So it is already very complicated to write proper OE
recipes for those. Making the policy for Java packages as strict as
explained above gives us the possibility to patch every out of place
source tarball into obedience. :)

Regards
Robert


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

             reply	other threads:[~2007-12-21  9:59 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-12-21  9:54 Robert Schuster [this message]
2007-12-21 11:38 ` java recipe policy for OE Paul Sokolovsky
2007-12-21 12:07   ` Robert Schuster
2007-12-21 13:04     ` Paul Sokolovsky
2007-12-21 14:46     ` Richard Purdie
2007-12-21 11:38 ` Henning Heinold

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=476B8D3A.7010703@gmx.net \
    --to=thebohemian@gmx.net \
    --cc=openembedded-devel@lists.openembedded.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.