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

Re: java bytecode / java runtime version mismatch



On Mon, Nov 10, 2008 at 3:46 AM, Matthew Johnson <mjj29@debian.org> wrote:
<snip>
> That version uses javap -verbose, which is rather slow, other
> suggestions welcome. It uses the following table:
>
> highest version in the package => depends line
>
> 50 => java-runtime6
> 49 => java-runtime6 | java-runtime5
> 48 => java-runtime6 | java-runtime5 | java-runtime2
> <48 => java-runtime6 | java-runtime5 | java-runtime2 | java-runtime
</snip>

This is really nice except that you have got the dependency names
wrong. They should be java6-runtime, java5-runtime, java2-runtime etc.

And have you considered the possibility of having dependency only on
headless runtimes? I am not sure how easy it is to detect as you will
need to check what package each class file depends on ex. swing or awt
etc.

> Of course, this doesn't catch a program compiled at 49 which depends on
> a library compiled at 50, since the library doesn't keep depends
> information, but it's a good first start.

I don't understand why a library doesn't keep depends information.
AFAIK, if a library specifically needs java6-runtime then it should
reflect that in 'Depends'. And if this is not the case then it is a
packaging problem.


Onkar


Reply to: