[fedora-java] Duplicate OSGi provides

Aleksandar Kurtakov akurtako at redhat.com
Wed Jan 29 17:44:11 UTC 2014


----- Original Message -----
> From: "Mikolaj Izdebski" <mizdebsk at redhat.com>
> To: "Fedora Java Development List" <java-devel at lists.fedoraproject.org>
> Sent: Wednesday, January 29, 2014 7:00:33 PM
> Subject: Re: [fedora-java] Duplicate OSGi provides
> 
> On 01/29/2014 05:43 PM, Aleksandar Kurtakov wrote:
> > For cases like objectweb-asm and netty I don't see a problem as the
> > provides are properly versioned.
> 
> Let's say I have a package which requires ASM3:
> 
>   Require-Bundle: org.objectweb.asm;bundle-version="[3.0.0,4.0.0)"
> 
> That package will have Requires: osgi(org.objectweb.asm).  YUM will
> install objectweb-asm package (version 5.x) because it has shorter name.
>  I think there is a problem, but I'm not sure what's the right solution.

Part of the problem is that OSGi Requires generator doesn't version requires (when versioned). Part of the reason is exactly because of cases like the mentioned one.
Require-Bundle: org.objectweb.asm;bundle-version="[3.0.0,4.0.0)" would become Requires: osgi(org.objectweb.asm) >= 3.0.0 but that would not solve your problem either though it will definetely improve certain cases e.g. Require-Bundle: org.objectweb.asm;bundle-version="[4.0.0,6.0.0)" would properly get objectweb-asm (version 5.x) and objectweb-asm3 wouldn't be a valid solution. Definitely low hanging fruit here.
Now to the non solvable part - trying to expose bundle-version="[3.0.0,4.0.0)" in rpm is impossible cause rpm doesn't support ranges and thus we should try to do it by having 
Requires: osgi(org.objectweb.asm) >= 3.0.0 and Requires: osgi(org.objectweb.asm) < 4.0.0 while this might work for certain cases it might also completely break the whole situation as hypothetical objectewb-asm2 and objectweb-asm6 would satisfy the RPM requirements but would be entirely useless combination from OSGi POV. This is one area where RPM lacks in my eyes - supporting ranges.

Alexander Kurtakov
Red Hat Eclipse team

> 
> --
> Mikolaj Izdebski
> IRC: mizdebsk
> --
> java-devel mailing list
> java-devel at lists.fedoraproject.org
> https://admin.fedoraproject.org/mailman/listinfo/java-devel


More information about the java-devel mailing list