Bug 1110413 - Guava bundle should not have 'uses' directives in Export-Package
Summary: Guava bundle should not have 'uses' directives in Export-Package
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: guava
Version: rawhide
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Mikolaj Izdebski
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 1106742
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-06-17 15:12 UTC by Roland Grunberg
Modified: 2014-06-23 06:27 UTC (History)
4 users (show)

Fixed In Version: 17.0-1
Clone Of:
Environment:
Last Closed: 2014-06-23 06:27:33 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Patch (1.21 KB, patch)
2014-06-17 15:13 UTC, Roland Grunberg
no flags Details | Diff
Patch (1.28 KB, patch)
2014-06-17 15:24 UTC, Roland Grunberg
no flags Details | Diff

Description Roland Grunberg 2014-06-17 15:12:42 UTC
Currently /usr/share/java/guava.jar ships with 'uses' directives in its manifest's Export-Package declarations :

com.google.common.net;uses:="com.google.common.base,ja
 vax.annotation,com.google.common.hash,com.google.common.io,com.google
 .common.primitives,com.google.common.collect"
 
Eclipse Mylyn has resolution issues because it started requiring guava which brings in javax.annotation from geronimo-annotation while also requiring org.eclipse.core.runtime, which brings in javax.annotation from org.eclipse.osgi.

Bundle was not resolved because of a uses contraint violation.
  org.osgi.service.resolver.ResolutionException: Uses constraint violation. Unable to resolve resource org.eclipse.mylyn.tasks.core [osgi.identity; osgi.identity="org.eclipse.mylyn.tasks.core"; type="osgi.bundle"; version:Version="3.12.0.201405291626"; singleton:="true"] because it is exposed to package 'javax.annotation' from resources org.eclipse.osgi [osgi.identity; osgi.identity="org.eclipse.osgi"; type="osgi.bundle"; version:Version="3.10.0.v20140603-1713"; singleton:="true"] and org.apache.geronimo.specs.geronimo-annotation_1.1_spec [osgi.identity; singleton="true"; osgi.identity="org.apache.geronimo.specs.geronimo-annotation_1.1_spec"; type="osgi.bundle"; version:Version="1.0.0"; singleton:="true"] via two dependency chains.

Chain 1:
  org.eclipse.mylyn.tasks.core [osgi.identity; osgi.identity="org.eclipse.mylyn.tasks.core"; type="osgi.bundle"; version:Version="3.12.0.201405291626"; singleton:="true"]
    require: (osgi.wiring.bundle=org.eclipse.core.runtime)
     |
    provide: osgi.wiring.bundle: org.eclipse.core.runtime
  org.eclipse.osgi [osgi.identity; osgi.identity="org.eclipse.osgi"; type="osgi.bundle"; version:Version="3.10.0.v20140603-1713"; singleton:="true"]

Chain 2:
  org.eclipse.mylyn.tasks.core [osgi.identity; osgi.identity="org.eclipse.mylyn.tasks.core"; type="osgi.bundle"; version:Version="3.12.0.201405291626"; singleton:="true"]
    require: (&(osgi.wiring.bundle=com.google.guava)(bundle-version>=15.0.0))
     |
    provide: osgi.wiring.bundle; bundle-version:Version="15.0.0"; osgi.wiring.bundle="com.google.guava"
  com.google.guava [osgi.identity; osgi.identity="com.google.guava"; type="osgi.bundle"; version:Version="15.0.0"]
    import: (osgi.wiring.package=javax.annotation)
     |
    export: osgi.wiring.package: javax.annotation
  org.apache.geronimo.specs.geronimo-annotation_1.1_spec [osgi.identity; singleton="true"; osgi.identity="org.apache.geronimo.specs.geronimo-annotation_1.1_spec"; type="osgi.bundle"; version:Version="1.0.0"; singleton:="true"]
  
I'm aware that this package is in the process of being updated from 15 to 17 in rawhide, so I'm fine with waiting until the FTBFS + update are resolved, and fixing this afterwards.

Comment 1 Roland Grunberg 2014-06-17 15:13:43 UTC
Created attachment 909634 [details]
Patch

Comment 2 Mikolaj Izdebski 2014-06-17 15:20:49 UTC
Roland, can you rebase the patch to latest master?

Comment 3 Roland Grunberg 2014-06-17 15:24:52 UTC
Created attachment 909646 [details]
Patch

Comment 4 Mikolaj Izdebski 2014-06-17 15:41:52 UTC
Fixed in guava-15.0-4

Comment 5 Mikolaj Izdebski 2014-06-23 06:27:33 UTC
I believe that this bug is fixed in guava-17.0-1,
which is available in Fedora Rawhide, so I am closing this bug now.

The build containing the fix can be found at Koji:
http://koji.fedoraproject.org/koji/buildinfo?buildID=539183


Note You need to log in before you can comment on or make changes to this bug.