You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@harmony.apache.org by Mark Hindess <ma...@googlemail.com> on 2007/08/07 09:47:22 UTC

Re: [packaging] Debian packaging

On 6 August 2007 at 18:09, "Nathan Beyer" <nb...@gmail.com> wrote:
> On 8/6/07, Mark Hindess <ma...@googlemail.com> wrote:
> >
> > I've tried to create some Debian packages at:
> >
> >   http://people.apache.org/~hindessm/debian/
> >
> > (And I've created a debian subdirectory in the federation build tree.)
> >
> > At the moment, they are binary only.  This is because Debian source
> > packaging tools expect a "distclean" target that leaves the build
> > tree in pristine condition - i.e. without new files in depends/jars,
> > vm/ build/pre-copied, etc.
> >
> > Currently the jdk package contains the jre so the jdk and jre
> > packages are configured to conflict with one another so that they
> > aren't both installed at the same time.  It might be better to
> > package the jre to install to /usr/lib/apache-harmony/jre and then
> > to have the jdk depend on the jre and install the additional files
> > to /usr/lib/apache-harmony/{bin,lib,include}.  This feels slightly
> > more natural way to define the packages but I'd be interested in
> > what others think about it?  (We might end up duplicating a few text
> > files like README/LICENSE/etc.)
> 
> This may be just an Ubuntu (Fiesty Fawn) thing, but I think the way
> Sun's JDK and JRE are laid out is logical.
> 
> /usr/lib/jvm/java-6-sun -> /usr/lib/jvm/java-6-sun-1.6.0.00
> /usr/lib/jvm/java-6-sun-1.6.0.00 (JDK_HOME)
> /usr/lib/jvm/java-6-sun-1.6.0.00/jre (JRE_HOME)
> 
> Then there's a /etc/alternatives/XXX item for all the relevant
> executables in the "JDK_HOME/bin" and "JRE_HOME/bin" folders. There
> are also symbolic links for these alternatives items in the /usr/bin
> folder. The Java 5 packages do the same.
>
> I'd suggest that we follow this layout and do something like this.
>
> /usr/lib/jvm/java-5-apache-harmony->/usr/lib/jvm/java-5-apache-harmony-5.0.M2
> /usr/lib/jvm/java-5-apache-harmony-5.0.M2 (JDK_HOME)
> /usr/lib/jvm/java-5-apache-harmony-5.0.M2/jre (JRE_HOME)

Nathan, thanks for the additional info.

That was the kind of thing I was suggesting (but without the
version numbers in the path).  I am already using the alternatives
mechanism.  I assume if you don't have the jdk installed then the
/usr/lib/jvm/java-6-sun-1.6.0.00 directory only contains the jre
subdirectory and not bin, lib, include, etc. ?

What is the advantage of having the version in the path?  This is not
typical of other linux/debian packages except perhaps where more than
one version can be installed at once.  However, the unversioned link
makes that complicated, unless that is handled by the alternatives
mechanism too?

-Mark.



Re: [packaging] Debian packaging

Posted by Mark Hindess <ma...@googlemail.com>.
On 7 August 2007 at 22:20, "Nathan Beyer" <nb...@gmail.com> wrote:
> On 8/7/07, Mark Hindess <ma...@googlemail.com> wrote:
> >
> > On 6 August 2007 at 18:09, "Nathan Beyer" <nb...@gmail.com> wrote:
> > > On 8/6/07, Mark Hindess <ma...@googlemail.com> wrote:
> > > >
> > > > I've tried to create some Debian packages at:
> > > >
> > > >   http://people.apache.org/~hindessm/debian/
> > > >
> > > > (And I've created a debian subdirectory in the federation build tree.)
> > > >
> > > > At the moment, they are binary only.  This is because Debian source
> > > > packaging tools expect a "distclean" target that leaves the build
> > > > tree in pristine condition - i.e. without new files in depends/jars,
> > > > vm/ build/pre-copied, etc.
> > > >
> > > > Currently the jdk package contains the jre so the jdk and jre
> > > > packages are configured to conflict with one another so that they
> > > > aren't both installed at the same time.  It might be better to
> > > > package the jre to install to /usr/lib/apache-harmony/jre and then
> > > > to have the jdk depend on the jre and install the additional files
> > > > to /usr/lib/apache-harmony/{bin,lib,include}.  This feels slightly
> > > > more natural way to define the packages but I'd be interested in
> > > > what others think about it?  (We might end up duplicating a few text
> > > > files like README/LICENSE/etc.)
> > >
> > > This may be just an Ubuntu (Fiesty Fawn) thing, but I think the way
> > > Sun's JDK and JRE are laid out is logical.
> > >
> > > /usr/lib/jvm/java-6-sun -> /usr/lib/jvm/java-6-sun-1.6.0.00
> > > /usr/lib/jvm/java-6-sun-1.6.0.00 (JDK_HOME)
> > > /usr/lib/jvm/java-6-sun-1.6.0.00/jre (JRE_HOME)
> > >
> > > Then there's a /etc/alternatives/XXX item for all the relevant
> > > executables in the "JDK_HOME/bin" and "JRE_HOME/bin" folders. There
> > > are also symbolic links for these alternatives items in the /usr/bin
> > > folder. The Java 5 packages do the same.
> > >
> > > I'd suggest that we follow this layout and do something like this.
> > >
> > > /usr/lib/jvm/java-5-apache-harmony->/usr/lib/jvm/java-5-apache-harmony-5.
> 0.M2
> > > /usr/lib/jvm/java-5-apache-harmony-5.0.M2 (JDK_HOME)
> > > /usr/lib/jvm/java-5-apache-harmony-5.0.M2/jre (JRE_HOME)
> >
> > Nathan, thanks for the additional info.
> >
> > That was the kind of thing I was suggesting (but without the
> > version numbers in the path).  I am already using the alternatives
> > mechanism.  I assume if you don't have the jdk installed then the
> > /usr/lib/jvm/java-6-sun-1.6.0.00 directory only contains the jre
> > subdirectory and not bin, lib, include, etc. ?
> >
> > What is the advantage of having the version in the path?  This is not
> > typical of other linux/debian packages except perhaps where more than
> > one version can be installed at once.  However, the unversioned link
> > makes that complicated, unless that is handled by the alternatives
> > mechanism too?
> 
> I'm not sure that the later version info is of any value, now that
> we're talking about it. I do think that having a "java-5", "java-6",
> etc in case systems/applications need the specific version and/or
> vendor for whatever reason.

Agreed.  My next set of changes will include a '5'.

-Mark.



Re: [packaging] Debian packaging

Posted by Nathan Beyer <nb...@gmail.com>.
On 8/7/07, Mark Hindess <ma...@googlemail.com> wrote:
>
> On 6 August 2007 at 18:09, "Nathan Beyer" <nb...@gmail.com> wrote:
> > On 8/6/07, Mark Hindess <ma...@googlemail.com> wrote:
> > >
> > > I've tried to create some Debian packages at:
> > >
> > >   http://people.apache.org/~hindessm/debian/
> > >
> > > (And I've created a debian subdirectory in the federation build tree.)
> > >
> > > At the moment, they are binary only.  This is because Debian source
> > > packaging tools expect a "distclean" target that leaves the build
> > > tree in pristine condition - i.e. without new files in depends/jars,
> > > vm/ build/pre-copied, etc.
> > >
> > > Currently the jdk package contains the jre so the jdk and jre
> > > packages are configured to conflict with one another so that they
> > > aren't both installed at the same time.  It might be better to
> > > package the jre to install to /usr/lib/apache-harmony/jre and then
> > > to have the jdk depend on the jre and install the additional files
> > > to /usr/lib/apache-harmony/{bin,lib,include}.  This feels slightly
> > > more natural way to define the packages but I'd be interested in
> > > what others think about it?  (We might end up duplicating a few text
> > > files like README/LICENSE/etc.)
> >
> > This may be just an Ubuntu (Fiesty Fawn) thing, but I think the way
> > Sun's JDK and JRE are laid out is logical.
> >
> > /usr/lib/jvm/java-6-sun -> /usr/lib/jvm/java-6-sun-1.6.0.00
> > /usr/lib/jvm/java-6-sun-1.6.0.00 (JDK_HOME)
> > /usr/lib/jvm/java-6-sun-1.6.0.00/jre (JRE_HOME)
> >
> > Then there's a /etc/alternatives/XXX item for all the relevant
> > executables in the "JDK_HOME/bin" and "JRE_HOME/bin" folders. There
> > are also symbolic links for these alternatives items in the /usr/bin
> > folder. The Java 5 packages do the same.
> >
> > I'd suggest that we follow this layout and do something like this.
> >
> > /usr/lib/jvm/java-5-apache-harmony->/usr/lib/jvm/java-5-apache-harmony-5.0.M2
> > /usr/lib/jvm/java-5-apache-harmony-5.0.M2 (JDK_HOME)
> > /usr/lib/jvm/java-5-apache-harmony-5.0.M2/jre (JRE_HOME)
>
> Nathan, thanks for the additional info.
>
> That was the kind of thing I was suggesting (but without the
> version numbers in the path).  I am already using the alternatives
> mechanism.  I assume if you don't have the jdk installed then the
> /usr/lib/jvm/java-6-sun-1.6.0.00 directory only contains the jre
> subdirectory and not bin, lib, include, etc. ?
>
> What is the advantage of having the version in the path?  This is not
> typical of other linux/debian packages except perhaps where more than
> one version can be installed at once.  However, the unversioned link
> makes that complicated, unless that is handled by the alternatives
> mechanism too?

I'm not sure that the later version info is of any value, now that
we're talking about it. I do think that having a "java-5", "java-6",
etc in case systems/applications need the specific version and/or
vendor for whatever reason.

-Nathan
>
> -Mark.
>
>
>