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

Re: GNU/Linux Java Policy and Packaging



Paul Cager kirjoitti:
> Petteri Räty wrote:
>> manfred@mosabuam.com kirjoitti:
>>> Quoting Marcus Better <marcus@better.se>:
>>>
>>>> Tom Marble wrote:
>>>>> Packaging
>>>>> ---------
>>>> I think we need to add:
>>>>
>>>> * Library ABI handling and support for parallel installation of multiple
>>>> versions (as discussed in another thread [1]).
>>>>
>>>> Marcus
>>>>
>>>> [1] http://thread.gmane.org/gmane.linux.debian.devel.java/6537
>>> Thanks for mentioning it. I second that notion.
>>>
>>> manfred
>>>
>>>
>> We solved this by installing to /usr/share/<pkg>-<slot> where slot is
>> roughly the ABI (we increase it every time a new version breaks
>> something using the library).
> 
> That's interesting - a compromise between keeping *every* version of the
> Jar, and just the latest.
> 
> A couple of questions spring to mind:
> 
> *  How do you detect when a new version breaks the ABI? It seems quite
> complicated. Do you use a tool to compare the classes / method
> signatures, etc, or do you only bump the slot number if an application
> fails?

We use a wrapper for japitools:
http://overlays.gentoo.org/proj/java/browser/scripts/apicheck
It compares the ABI of jars installed by two ebuilds. Usually it's not
100% so then we just re-emerge the packages depending on the library
just to be sure.


> 
> * Supposing I (as an end-user) download an application (not packaged by
> gentoo) which requires version 1.5 of foo.jar; how would I translate
> that to a slot number?

Well you would first try emerge =foo-1.5* and if there is no version
available then use something like eix:
betelgeuse@pena /usr/portage/dev-java/xerces $ eix xerces
[U] dev-java/xerces
     Available versions:
        (1.3)   1.3.1-r1 1.3.1-r2
        (2.3)   2.3.0-r1 2.3.0-r3
        (2.6)   2.6.2-r3 2.6.2-r4
        (2)     2.8.1 (~)2.9.0
<rest of the output removed>

With xerces we keep the latest version around as slot 2 as there are
very many ebuilds using that slot and incrementing it would be painful
work so it's easier to add things like 2.6 when the need comes.

Regards,
Petteri

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: