Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
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
Doc Type: Bug Fix
Doc Text:
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.