Paul Cager kirjoitti: > Petteri Räty wrote: >> [EMAIL PROTECTED] kirjoitti: >>> Quoting Marcus Better <[EMAIL PROTECTED]>: >>> >>>> 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: [EMAIL PROTECTED] /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
signature.asc
Description: OpenPGP digital signature