[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#227587: [PROPOSAL] Java library dependencies



Regarding jython and libreadline-java, I think we've had a small
communiation breakdown.  What I meant is that there are packages that
do not require java2-runtime, i.e., that only use the 1.1 API.
Thus the *absence* of java2-runtime in the depends list is
an indication that the package should work on most JVMs in
debian.  I would however expect these packages to run under
java2 as well.

i.e., there are packages depending on (java1-runtime | java2-runtime),
and there are also packages just depending on (java2-runtime).  Thus
the use of java1-runtime and java2-runtime conveys non-trivial information.

(Note that jython should not really have java2-runtime in its depends
list, but it was added as an interim alternative option since some popular
java2 packages failed to provide java1-runtime as they should.)

> > Fine.  I say that if we're providing debian packages for java libraries,
> > we should at least take basic care to give them a chance of working with
> > custom projects.  Just because you don't want to do this and just because
> 
> I never said that we should not try to make them work with custom 
> project or that that we are not tyring to build our packages in a way 
> that would not allow this. Why do you assume that I meant to say this?

I said let's include API dependencies for libraries in the library
packages themselves.  You said no, put them in the application packages.
I said this won't guarantee that dependencies are satisfied for people
using the libraries in their own custom projects.  You said this didn't
concern you because you don't recommend people doing this anyway.  AIUI.

> It is really impertinent to say that I might not care about the freedom 
> of software.

You explicitly recommended people to use upstream JARs in their custom
projects since the debian JARs frequently have contrib/non-free material
stripped out.  I'm not attacking your point of view, I'm simply pointing
out that not everyone will share it (and so it shouldn't be used as a
basis for forming policy).

> You still have not answered my questions about JUnit: Which package do 
> you want in Debian? A stripped version without Swing GUI in main or a 
> full version in contrib?

If I were maintaining junit and if I had the time, I'd probably be
building a junit and a junit-nonfree in main and contrib respectively.
As for jython, yes - I have explicitly stripped out some parts of
jython so that it can stay in main and hence be part of the debian
release.

> > Where's the problem?  The real_package is only used if the virtual_package
> > is not already satisfied.  Once the first package providing java1-runtime
> > is installed, the rest of the (foobar | java1-runtime) dependencies will
> > be satisfied without further ado.
> 
> What about java2-runtime? It's is not available as Debian package (at 
> least from Debian). This means you need to install the real package and 
> everybody has chosen a different real package: gij (you), classpath 
> (me), kaffe (Arnaud),

For starters, I'm not forcing gij - both jython and libreadline-java
allow java1-runtime as a dependency, which means it can be satisfied by
any number of JVMs in main.  As for your and Arnaud's packages, are you
suggesting that they'll work on any JVM in main?  Because just dropping
JVM dependencies altogether will certainly give this message.

> Even worse: 
> One of your packages might not actually work with kaffe but how do you 
> want to make sure that I'm using the RE that you have specified in your 
> dependencies?

This is an issue that quite simply cannot be solved by dependencies alone,
and your proposal does nothing at all to help here (in fact it makes it
worse since you no longer even guarantee that a working JVM will be
installed, let alone used).  Take a look at Jan's large-scale policy
rewrite for ways of approaching this issue.

> So no non-free software is required to run tomcat4 but the 
> libcommons-beanutils-java package currently depends on non-free software.

I invite you to point out to the maintainer that their software does
work with kaffe and so it can be moved into main (with an appropriately
modified depends).

> If you still object, my propsal is 
> rejected and I'll add java*-runtime dependencies to all my packages.

There are more people on this mailing list than you and me - policy
modifications presumably aren't required to be unanimous, so it might
be worth finding out what others think.

Btw, I do support the new text you wanted to add (re library
dependencies) - I just object to the deletion of the old text
regarding java*-runtime dependencies.  If these are issued as
two separate proposals (which seems sensible to me since they're
actually addressing two different issues), I'll be more than happy
to second the new paragraphs.

Ben.




Reply to: