Java packages have OSGi auto-provides generated from JAR manifests. They are used by auto-requires generator to specify automatic RPM dependencies for OSGi bundles.
The problem is that there may be more than one package providing bundle with the same Bundle-SymbolicName (BSN), in which case generated auto-provides are also the same.
I have generated a report of BSN duplication for other cases (included below). It doesn't include packages for which I am aware of open bugs in Bugzilla that affect OSGi provides.
osgi(javax.servlet.jsp): glassfish-jsp-api: package version: 2.3.1 provided version: 2.3.1 tomcat-jsp-2.2-api (tomcat): package version: 7.0.47 provided version: 2.2.0
osgi(org.apache.geronimo.specs.geronimo-jaspic_1.0_spec): geronimo-jaspic-spec: package version: 1.1 provided version: 1.1.0 jetty: package version: 9.1.1 provided version: 1.1.0
osgi(org.eclipse.cdt.core.tests): eclipse-cdt: package version: 8.2.1 provided version: 5.4.0 eclipse-cdt-tests (eclipse-cdt): package version: 8.2.1 provided version: 5.4.0
osgi(org.eclipse.emf.edit): eclipse-emf-core (eclipse-emf): package version: 2.9.1 provided version: 2.9.0 eclipse-emf-sdk (eclipse-emf): package version: 2.9.1 provided version: 2.9.0
osgi(org.eclipse.jetty.monitor): jetty: package version: 9.1.1 provided version: 9.1.1 jetty-monitor (jetty): package version: 9.1.1 provided version: 9.1.1
osgi(org.eclipse.jgit): eclipse-jgit: package version: 3.2.0 provided version: 3.2.0 jgit (eclipse-jgit): package version: 3.2.0 provided version: 3.2.0
osgi(org.eclipse.jgit.java7): eclipse-jgit: package version: 3.2.0 provided version: 3.2.0 jgit (eclipse-jgit): package version: 3.2.0 provided version: 3.2.0
osgi(org.eclipse.jpt.common.branding): eclipse-wtp-jpa: package version: 3.5.1 provided version: 1.3.0 eclipse-wtp-jpa-sdk (eclipse-wtp-jpa): package version: 3.5.1 provided version: 1.3.0
osgi(org.eclipse.jpt.common.core): eclipse-wtp-jpa: package version: 3.5.1 provided version: 1.3.0 eclipse-wtp-jpa-sdk (eclipse-wtp-jpa): package version: 3.5.1 provided version: 1.3.0
osgi(org.eclipse.jpt.common.ui): eclipse-wtp-jpa: package version: 3.5.1 provided version: 1.3.0 eclipse-wtp-jpa-sdk (eclipse-wtp-jpa): package version: 3.5.1 provided version: 1.3.0
osgi(org.eclipse.jpt.common.utility): eclipse-wtp-jpa: package version: 3.5.1 provided version: 2.2.0 eclipse-wtp-jpa-sdk (eclipse-wtp-jpa): package version: 3.5.1 provided version: 2.2.0
osgi(org.eclipse.jpt.jaxb.branding): eclipse-wtp-jpa: package version: 3.5.1 provided version: 1.3.0 eclipse-wtp-jpa-sdk (eclipse-wtp-jpa): package version: 3.5.1 provided version: 1.3.0
osgi(org.eclipse.jpt.jaxb.core): eclipse-wtp-jpa: package version: 3.5.1 provided version: 1.3.1 eclipse-wtp-jpa-sdk (eclipse-wtp-jpa): package version: 3.5.1 provided version: 1.3.1
osgi(org.eclipse.jpt.jaxb.core.schemagen): eclipse-wtp-jpa: package version: 3.5.1 provided version: 1.1.0 eclipse-wtp-jpa-sdk (eclipse-wtp-jpa): package version: 3.5.1 provided version: 1.1.0
osgi(org.eclipse.jpt.jaxb.ui): eclipse-wtp-jpa: package version: 3.5.1 provided version: 1.4.0 eclipse-wtp-jpa-sdk (eclipse-wtp-jpa): package version: 3.5.1 provided version: 1.4.0
osgi(org.eclipse.jsf.branding): eclipse-wtp-jsf: package version: 3.5.1 provided version: 3.5.0 eclipse-wtp-jsf-sdk (eclipse-wtp-jsf): package version: 3.5.1 provided version: 3.5.0
osgi(org.eclipse.jst.jsf.apache.trinidad.tagsupport): eclipse-wtp-jsf: package version: 3.5.1 provided version: 1.4.0 eclipse-wtp-jsf-sdk (eclipse-wtp-jsf): package version: 3.5.1 provided version: 1.4.0
osgi(org.eclipse.jst.jsf.common): eclipse-wtp-jsf: package version: 3.5.1 provided version: 1.5.0 eclipse-wtp-jsf-sdk (eclipse-wtp-jsf): package version: 3.5.1 provided version: 1.5.0
osgi(org.eclipse.jst.jsf.common.runtime): eclipse-wtp-jsf: package version: 3.5.1 provided version: 1.4.0 eclipse-wtp-jsf-sdk (eclipse-wtp-jsf): package version: 3.5.1 provided version: 1.4.0
osgi(org.eclipse.jst.jsf.common.ui): eclipse-wtp-jsf: package version: 3.5.1 provided version: 1.5.0 eclipse-wtp-jsf-sdk (eclipse-wtp-jsf): package version: 3.5.1 provided version: 1.5.0
osgi(org.eclipse.jst.jsf.core): eclipse-wtp-jsf: package version: 3.5.1 provided version: 1.7.0 eclipse-wtp-jsf-sdk (eclipse-wtp-jsf): package version: 3.5.1 provided version: 1.7.0
osgi(org.eclipse.jst.jsf.facelet.core): eclipse-wtp-jsf: package version: 3.5.1 provided version: 1.3.0 eclipse-wtp-jsf-sdk (eclipse-wtp-jsf): package version: 3.5.1 provided version: 1.3.0
osgi(org.eclipse.jst.jsf.facelet.ui): eclipse-wtp-jsf: package version: 3.5.1 provided version: 1.3.0 eclipse-wtp-jsf-sdk (eclipse-wtp-jsf): package version: 3.5.1 provided version: 1.3.0
osgi(org.eclipse.jst.jsf.facesconfig): eclipse-wtp-jsf: package version: 3.5.1 provided version: 1.5.0 eclipse-wtp-jsf-sdk (eclipse-wtp-jsf): package version: 3.5.1 provided version: 1.5.0
osgi(org.eclipse.jst.jsf.facesconfig.ui): eclipse-wtp-jsf: package version: 3.5.1 provided version: 1.5.0 eclipse-wtp-jsf-sdk (eclipse-wtp-jsf): package version: 3.5.1 provided version: 1.5.0
osgi(org.eclipse.jst.jsf.standard.tagsupport): eclipse-wtp-jsf: package version: 3.5.1 provided version: 1.5.0 eclipse-wtp-jsf-sdk (eclipse-wtp-jsf): package version: 3.5.1 provided version: 1.5.0
osgi(org.eclipse.jst.jsf.ui): eclipse-wtp-jsf: package version: 3.5.1 provided version: 1.6.0 eclipse-wtp-jsf-sdk (eclipse-wtp-jsf): package version: 3.5.1 provided version: 1.6.0
osgi(org.eclipse.jst.pagedesigner): eclipse-wtp-jsf: package version: 3.5.1 provided version: 1.6.0 eclipse-wtp-jsf-sdk (eclipse-wtp-jsf): package version: 3.5.1 provided version: 1.6.0
osgi(org.eclipse.jst.pagedesigner.jsf.ui): eclipse-wtp-jsf: package version: 3.5.1 provided version: 1.5.0 eclipse-wtp-jsf-sdk (eclipse-wtp-jsf): package version: 3.5.1 provided version: 1.5.0
osgi(org.eclipse.jst.pagedesigner.jsp.core): eclipse-wtp-jsf: package version: 3.5.1 provided version: 1.5.0 eclipse-wtp-jsf-sdk (eclipse-wtp-jsf): package version: 3.5.1 provided version: 1.5.0
osgi(org.eclipse.mylyn.discovery.ui.source): eclipse-mylyn: package version: 3.10.0 provided version: 3.10.0 eclipse-mylyn-sdk (eclipse-mylyn): package version: 3.10.0 provided version: 3.10.0
osgi(org.eclipse.mylyn.ide.ui): eclipse-mylyn-context-java (eclipse-mylyn): package version: 3.10.0 provided version: 3.10.0 eclipse-mylyn-ide (eclipse-mylyn): package version: 3.10.0 provided version: 3.10.0
osgi(org.eclipse.persistence.jpa.jpql): eclipse-wtp-jpa: package version: 3.5.1 provided version: 2.5.1 eclipse-wtp-jpa-sdk (eclipse-wtp-jpa): package version: 3.5.1 provided version: 2.5.1
osgi(org.eclipse.ptp.core.source): eclipse-ptp-core-source (eclipse-ptp): package version: 7.0.3 provided version: 7.0.0 eclipse-ptp-sdk (eclipse-ptp): package version: 7.0.3 provided version: 7.0.0
osgi(org.eclipse.wst.internet.monitor.core): eclipse-wtp-common: package version: 3.5.1 provided version: 1.0.505 eclipse-wtp-sourceediting: package version: 3.5.1 provided version: 1.0.505
osgi(org.eclipse.wst.internet.monitor.ui): eclipse-wtp-servertools: package version: 3.5.1 provided version: 1.0.608 eclipse-wtp-sourceediting: package version: 3.5.1 provided version: 1.0.608
osgi(org.eclipse.wst.server.core): eclipse-wtp-common: package version: 3.5.1 provided version: 1.5.0 eclipse-wtp-sourceediting: package version: 3.5.1 provided version: 1.5.0
osgi(org.eclipse.wst.server.discovery): eclipse-wtp-servertools: package version: 3.5.1 provided version: 1.0.400 eclipse-wtp-sourceediting: package version: 3.5.1 provided version: 1.0.400
osgi(org.eclipse.wst.server.ui): eclipse-wtp-servertools: package version: 3.5.1 provided version: 1.4.104 eclipse-wtp-sourceediting: package version: 3.5.1 provided version: 1.4.104
osgi(org.eclipse.wst.server.ui.doc.user): eclipse-wtp-servertools: package version: 3.5.1 provided version: 1.1.500 eclipse-wtp-sourceediting: package version: 3.5.1 provided version: 1.1.500
osgi(org.eclipse.wst.server.ui.infopop): eclipse-wtp-servertools: package version: 3.5.1 provided version: 1.1.100 eclipse-wtp-sourceediting: package version: 3.5.1 provided version: 1.1.100
osgi(org.eclipse.wst.web): eclipse-wtp-jeetools: package version: 3.5.1 provided version: 1.1.700 eclipse-wtp-sourceediting: package version: 3.5.1 provided version: 1.1.700
osgi(org.jboss.netty): netty3: package version: 3.6.6 provided version: 3.6.6 netty31: package version: 3.1.5 provided version: 3.1.5
osgi(org.objectweb.asm): objectweb-asm: package version: 5.0 provided version: 5.0.0 objectweb-asm3: package version: 3.3.1 provided version: 3.3.1
All of the duplicated provides in $name and $name-[sdk|tests] are clear bugs for me. For cases like objectweb-asm and netty I don't see a problem as the provides are properly versioned.
Alexander Kurtakov Red Hat Eclipse team
----- Original Message -----
From: "Mikolaj Izdebski" mizdebsk@redhat.com To: "Fedora Java Development List" java-devel@lists.fedoraproject.org Sent: Wednesday, January 29, 2014 5:34:31 PM Subject: [fedora-java] Duplicate OSGi provides
Java packages have OSGi auto-provides generated from JAR manifests. They are used by auto-requires generator to specify automatic RPM dependencies for OSGi bundles.
The problem is that there may be more than one package providing bundle with the same Bundle-SymbolicName (BSN), in which case generated auto-provides are also the same.
I have generated a report of BSN duplication for other cases (included below). It doesn't include packages for which I am aware of open bugs in Bugzilla that affect OSGi provides.
osgi(javax.servlet.jsp): glassfish-jsp-api: package version: 2.3.1 provided version: 2.3.1 tomcat-jsp-2.2-api (tomcat): package version: 7.0.47 provided version: 2.2.0
osgi(org.apache.geronimo.specs.geronimo-jaspic_1.0_spec): geronimo-jaspic-spec: package version: 1.1 provided version: 1.1.0 jetty: package version: 9.1.1 provided version: 1.1.0
osgi(org.eclipse.cdt.core.tests): eclipse-cdt: package version: 8.2.1 provided version: 5.4.0 eclipse-cdt-tests (eclipse-cdt): package version: 8.2.1 provided version: 5.4.0
osgi(org.eclipse.emf.edit): eclipse-emf-core (eclipse-emf): package version: 2.9.1 provided version: 2.9.0 eclipse-emf-sdk (eclipse-emf): package version: 2.9.1 provided version: 2.9.0
osgi(org.eclipse.jetty.monitor): jetty: package version: 9.1.1 provided version: 9.1.1 jetty-monitor (jetty): package version: 9.1.1 provided version: 9.1.1
osgi(org.eclipse.jgit): eclipse-jgit: package version: 3.2.0 provided version: 3.2.0 jgit (eclipse-jgit): package version: 3.2.0 provided version: 3.2.0
osgi(org.eclipse.jgit.java7): eclipse-jgit: package version: 3.2.0 provided version: 3.2.0 jgit (eclipse-jgit): package version: 3.2.0 provided version: 3.2.0
osgi(org.eclipse.jpt.common.branding): eclipse-wtp-jpa: package version: 3.5.1 provided version: 1.3.0 eclipse-wtp-jpa-sdk (eclipse-wtp-jpa): package version: 3.5.1 provided version: 1.3.0
osgi(org.eclipse.jpt.common.core): eclipse-wtp-jpa: package version: 3.5.1 provided version: 1.3.0 eclipse-wtp-jpa-sdk (eclipse-wtp-jpa): package version: 3.5.1 provided version: 1.3.0
osgi(org.eclipse.jpt.common.ui): eclipse-wtp-jpa: package version: 3.5.1 provided version: 1.3.0 eclipse-wtp-jpa-sdk (eclipse-wtp-jpa): package version: 3.5.1 provided version: 1.3.0
osgi(org.eclipse.jpt.common.utility): eclipse-wtp-jpa: package version: 3.5.1 provided version: 2.2.0 eclipse-wtp-jpa-sdk (eclipse-wtp-jpa): package version: 3.5.1 provided version: 2.2.0
osgi(org.eclipse.jpt.jaxb.branding): eclipse-wtp-jpa: package version: 3.5.1 provided version: 1.3.0 eclipse-wtp-jpa-sdk (eclipse-wtp-jpa): package version: 3.5.1 provided version: 1.3.0
osgi(org.eclipse.jpt.jaxb.core): eclipse-wtp-jpa: package version: 3.5.1 provided version: 1.3.1 eclipse-wtp-jpa-sdk (eclipse-wtp-jpa): package version: 3.5.1 provided version: 1.3.1
osgi(org.eclipse.jpt.jaxb.core.schemagen): eclipse-wtp-jpa: package version: 3.5.1 provided version: 1.1.0 eclipse-wtp-jpa-sdk (eclipse-wtp-jpa): package version: 3.5.1 provided version: 1.1.0
osgi(org.eclipse.jpt.jaxb.ui): eclipse-wtp-jpa: package version: 3.5.1 provided version: 1.4.0 eclipse-wtp-jpa-sdk (eclipse-wtp-jpa): package version: 3.5.1 provided version: 1.4.0
osgi(org.eclipse.jsf.branding): eclipse-wtp-jsf: package version: 3.5.1 provided version: 3.5.0 eclipse-wtp-jsf-sdk (eclipse-wtp-jsf): package version: 3.5.1 provided version: 3.5.0
osgi(org.eclipse.jst.jsf.apache.trinidad.tagsupport): eclipse-wtp-jsf: package version: 3.5.1 provided version: 1.4.0 eclipse-wtp-jsf-sdk (eclipse-wtp-jsf): package version: 3.5.1 provided version: 1.4.0
osgi(org.eclipse.jst.jsf.common): eclipse-wtp-jsf: package version: 3.5.1 provided version: 1.5.0 eclipse-wtp-jsf-sdk (eclipse-wtp-jsf): package version: 3.5.1 provided version: 1.5.0
osgi(org.eclipse.jst.jsf.common.runtime): eclipse-wtp-jsf: package version: 3.5.1 provided version: 1.4.0 eclipse-wtp-jsf-sdk (eclipse-wtp-jsf): package version: 3.5.1 provided version: 1.4.0
osgi(org.eclipse.jst.jsf.common.ui): eclipse-wtp-jsf: package version: 3.5.1 provided version: 1.5.0 eclipse-wtp-jsf-sdk (eclipse-wtp-jsf): package version: 3.5.1 provided version: 1.5.0
osgi(org.eclipse.jst.jsf.core): eclipse-wtp-jsf: package version: 3.5.1 provided version: 1.7.0 eclipse-wtp-jsf-sdk (eclipse-wtp-jsf): package version: 3.5.1 provided version: 1.7.0
osgi(org.eclipse.jst.jsf.facelet.core): eclipse-wtp-jsf: package version: 3.5.1 provided version: 1.3.0 eclipse-wtp-jsf-sdk (eclipse-wtp-jsf): package version: 3.5.1 provided version: 1.3.0
osgi(org.eclipse.jst.jsf.facelet.ui): eclipse-wtp-jsf: package version: 3.5.1 provided version: 1.3.0 eclipse-wtp-jsf-sdk (eclipse-wtp-jsf): package version: 3.5.1 provided version: 1.3.0
osgi(org.eclipse.jst.jsf.facesconfig): eclipse-wtp-jsf: package version: 3.5.1 provided version: 1.5.0 eclipse-wtp-jsf-sdk (eclipse-wtp-jsf): package version: 3.5.1 provided version: 1.5.0
osgi(org.eclipse.jst.jsf.facesconfig.ui): eclipse-wtp-jsf: package version: 3.5.1 provided version: 1.5.0 eclipse-wtp-jsf-sdk (eclipse-wtp-jsf): package version: 3.5.1 provided version: 1.5.0
osgi(org.eclipse.jst.jsf.standard.tagsupport): eclipse-wtp-jsf: package version: 3.5.1 provided version: 1.5.0 eclipse-wtp-jsf-sdk (eclipse-wtp-jsf): package version: 3.5.1 provided version: 1.5.0
osgi(org.eclipse.jst.jsf.ui): eclipse-wtp-jsf: package version: 3.5.1 provided version: 1.6.0 eclipse-wtp-jsf-sdk (eclipse-wtp-jsf): package version: 3.5.1 provided version: 1.6.0
osgi(org.eclipse.jst.pagedesigner): eclipse-wtp-jsf: package version: 3.5.1 provided version: 1.6.0 eclipse-wtp-jsf-sdk (eclipse-wtp-jsf): package version: 3.5.1 provided version: 1.6.0
osgi(org.eclipse.jst.pagedesigner.jsf.ui): eclipse-wtp-jsf: package version: 3.5.1 provided version: 1.5.0 eclipse-wtp-jsf-sdk (eclipse-wtp-jsf): package version: 3.5.1 provided version: 1.5.0
osgi(org.eclipse.jst.pagedesigner.jsp.core): eclipse-wtp-jsf: package version: 3.5.1 provided version: 1.5.0 eclipse-wtp-jsf-sdk (eclipse-wtp-jsf): package version: 3.5.1 provided version: 1.5.0
osgi(org.eclipse.mylyn.discovery.ui.source): eclipse-mylyn: package version: 3.10.0 provided version: 3.10.0 eclipse-mylyn-sdk (eclipse-mylyn): package version: 3.10.0 provided version: 3.10.0
osgi(org.eclipse.mylyn.ide.ui): eclipse-mylyn-context-java (eclipse-mylyn): package version: 3.10.0 provided version: 3.10.0 eclipse-mylyn-ide (eclipse-mylyn): package version: 3.10.0 provided version: 3.10.0
osgi(org.eclipse.persistence.jpa.jpql): eclipse-wtp-jpa: package version: 3.5.1 provided version: 2.5.1 eclipse-wtp-jpa-sdk (eclipse-wtp-jpa): package version: 3.5.1 provided version: 2.5.1
osgi(org.eclipse.ptp.core.source): eclipse-ptp-core-source (eclipse-ptp): package version: 7.0.3 provided version: 7.0.0 eclipse-ptp-sdk (eclipse-ptp): package version: 7.0.3 provided version: 7.0.0
osgi(org.eclipse.wst.internet.monitor.core): eclipse-wtp-common: package version: 3.5.1 provided version: 1.0.505 eclipse-wtp-sourceediting: package version: 3.5.1 provided version: 1.0.505
osgi(org.eclipse.wst.internet.monitor.ui): eclipse-wtp-servertools: package version: 3.5.1 provided version: 1.0.608 eclipse-wtp-sourceediting: package version: 3.5.1 provided version: 1.0.608
osgi(org.eclipse.wst.server.core): eclipse-wtp-common: package version: 3.5.1 provided version: 1.5.0 eclipse-wtp-sourceediting: package version: 3.5.1 provided version: 1.5.0
osgi(org.eclipse.wst.server.discovery): eclipse-wtp-servertools: package version: 3.5.1 provided version: 1.0.400 eclipse-wtp-sourceediting: package version: 3.5.1 provided version: 1.0.400
osgi(org.eclipse.wst.server.ui): eclipse-wtp-servertools: package version: 3.5.1 provided version: 1.4.104 eclipse-wtp-sourceediting: package version: 3.5.1 provided version: 1.4.104
osgi(org.eclipse.wst.server.ui.doc.user): eclipse-wtp-servertools: package version: 3.5.1 provided version: 1.1.500 eclipse-wtp-sourceediting: package version: 3.5.1 provided version: 1.1.500
osgi(org.eclipse.wst.server.ui.infopop): eclipse-wtp-servertools: package version: 3.5.1 provided version: 1.1.100 eclipse-wtp-sourceediting: package version: 3.5.1 provided version: 1.1.100
osgi(org.eclipse.wst.web): eclipse-wtp-jeetools: package version: 3.5.1 provided version: 1.1.700 eclipse-wtp-sourceediting: package version: 3.5.1 provided version: 1.1.700
osgi(org.jboss.netty): netty3: package version: 3.6.6 provided version: 3.6.6 netty31: package version: 3.1.5 provided version: 3.1.5
osgi(org.objectweb.asm): objectweb-asm: package version: 5.0 provided version: 5.0.0 objectweb-asm3: package version: 3.3.1 provided version: 3.3.1 -- java-devel mailing list java-devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/java-devel
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.
On Wed, 2014-01-29 at 18:00 +0100, Mikolaj Izdebski wrote:
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.
IMHO this example isn't a good one as a "case" for duplicate OSGi provides.
What your example shows is that RPM does not allow one to express version ranges like OSGi can. I'd say the spec should rather have:
Requires: osgi(org.objectweb-asm) = <BUNDLE_VERSION>
It's not great, but probably more accurately what you'd want. Anyhow, there's likely a problem with both approaches depending on your use-case.
Cheers, Severin
----- Original Message -----
From: "Mikolaj Izdebski" mizdebsk@redhat.com To: "Fedora Java Development List" java-devel@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@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/java-devel
java-devel@lists.fedoraproject.org