Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 9 Apr 2002 12:11:24 +0200 (CEST)
From:      Herve Quiroz <hquiroz@esil.univ-mrs.fr>
To:        Ernst de Haan <znerd@FreeBSD.org>
Cc:        java@FreeBSD.org
Subject:   Re: Default directory locations for Java ports
Message-ID:  <20020409113017.V52936-100000@puget.esil.univ-mrs.fr>
In-Reply-To: <200204081813.UAA08070@smtp.hccnet.nl>

next in thread | previous in thread | raw e-mail | index | archive | help
Ernst,

> > to Logger. So maybe we should enforce the ports to install the jar with
> > the version number : ${JAVA_LIBDESTDIR}/${PORTNAME}-{PORTVERSION}.jar
> > Maybe a wrapper (a link for a jar file without version number as for
> > *standard* C libraries) would also fit nicely (again I am maybe just
> > splitting hairs here ;)).
>
> Well, this does not sound too bad. What if we would introduce INSTALL_JAR
> that would call install and use the naming scheme you're proposing?

Good. That INSTALL_JAR will allow the later implementation of the wrapper
etc. Also, we will be sure every JAR is installed in the correct place.

> Exactly. That would be my next proposed step :-) JAVA_INSTALL_SRC,
> JAVA_INSTALL_APIDOCS, JAVA_INSTALL_JAR. You're getting a bit annoying Herve!
> ;)

;)

> > The same way (keeping it close to other ports scheme), I would preferably
> > make use of JAVA_LIBDIR (or JAVA_LIBSDIR) instead of JAVA_LIBDESTDIR
> > (respectively for JAVA_APIDOCSDIR, JAVA_SRCDIR). Indeed those variables
> > could be used by the final user to set his own classpath and then the
> > "DEST" would not mean anything to him. Splitting hairs once again ;)
>
> No, I think splitting hairs is very important at this stage. At a later stage
> it's less important. We need to set this thing up in a clean way.

So, we supress the "DEST" ? please ;)

> > about APIDOCSDIR, what about that :
> >
> > DOCSDIR=${__JAVA_SHAREDIR}/doc/${PORTNAME}
> > JAVA_APIDOCDESTDIR=${DOCSDIR}/api
>
> I don't know. There's already a directory specified for documentation. I
> don't know what the right choice is here. We obviously have 2 choices. I'll
> look into it some more. Perhaps hier(7) will clarify things.

You're right. In fact, I've done it differently in my ports ;) I don't
even know why I have written this... err maybe I shouldn't reply posts
before taking my morning coffee. What I would have said while under the
influence of caffeine is :

DOCSDIR=${PREFIX}/share/doc/${PORTNAME}   # as any port
Note: possibly have the PORTVERSION in the directory name also (see the
multiple library versions issue above).

JAVA_APIDOCSDIR=${DOCSDIR}/api   # to have all the doc (including api)
                                 # related to a given port in the same
                                 # place

But...

In you take a look at the teTeX port, you'll see that everything (styles,
docs, etc) is located at the same place which is actually
${PREFIX}/share/texmf. When compared to a java port it is the same as
having everything (sources, docs, apidocs, examples) at the same place :
JAVA_PORTBASEDIR=${PREFIX}/share/{PORTNAME}[-${PORTVERSION}]

But in this case, why would we put the jar in another location instead of
${JAVA_PORTBASEDIR}/lib ? And hier(7) says .../share
(${PREFIX}/share in our case) is for "architecture-independent files",
just as is almost any Java application/library.

Personnaly, I don't like this way of doing but as it has been done for
some other non-java ports, we should keep it in mind in our approach. The
question is the following : "Should we put everything related to java
port under the same base dir as java is architecture-independent or
should we dispatch everything in the various dedicated directories
(.../src, .../doc, .../classes etc) ?". My personal preference goes for
the "everything in its dedicated directory" as you proposed, except for
the apidocs that should IMHO be at ${DOCSDIR}/api[doc] (see above).

That make me think we are right to split hairs beforehand if we want the
java ports to be *clean* and unified. I get tired with having to "find
/usr/local/ | grep ***" when I want a doc because I don't know whether to
look for it in /usr/local/share/doc/*** or /usr/local/share/***/doc (or
even /usr/local/share/VENDOR/***/doc).

Anyway that confirms the above need of INSTALL_JAR and others. We are
getting close.


Regards


Herve



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-java" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020409113017.V52936-100000>