Bug 806412
Summary: | Eclipse spec file should have versioned "Requires" on libraries it uses | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Mary Ellen Foster <mefoster> | ||||
Component: | eclipse | Assignee: | Alexander Kurtakov <akurtako> | ||||
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
Severity: | unspecified | Docs Contact: | |||||
Priority: | unspecified | ||||||
Version: | 16 | CC: | akurtako, andjrobins, kdaniel, overholt, rgrunber, sgehwolf, swagiaal | ||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Whiteboard: | |||||||
Fixed In Version: | eclipse-3.7.1-8.fc16 | Doc Type: | Bug Fix | ||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2012-04-24 14:58:37 UTC | Type: | --- | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
p.s. -- Search for "jetty" in the diff I attached and it will show the problem Alex, Will this problem be solved by the auto-generated OSGI requires and provides ? Jetty was donated at some time to eclipse.org and thus http://wiki.eclipse.org/Jetty/Starting/Porting_to_Jetty_7#Renaming_of_Packages_and_Classes happened, breaking all the compatibility. I am in favour of limiting jetty in Eclipse 3.7 spec: Requires: jetty >= 6.1.24-1 Requires: jetty < 7 What's more, we need some tool to parse eclipse manifest and report constraints that may not be satisfied by fedora. Questions/comments? (In reply to comment #3) > Jetty was donated at some time to eclipse.org and thus > http://wiki.eclipse.org/Jetty/Starting/Porting_to_Jetty_7#Renaming_of_Packages_and_Classes > happened, breaking all the compatibility. > > I am in favour of limiting jetty in Eclipse 3.7 spec: > Requires: jetty >= 6.1.24-1 > Requires: jetty < 7 This will not help at all because the exact version is saved in the metadata. > > What's more, we need some tool to parse eclipse manifest and report constraints > that may not be satisfied by fedora. > > Questions/comments? NO, there is no way strict versions can help. One should remember the number of build cycles we have. Adding proper >= Requires is the best we can do because if we have = Requires we can not update packages freely. To give the simplest failure example: * update jsch (no manifest changes, rpm release is bumped) * you're no longer able to install eclipse because of the exact versioned require, hence no longer being able to rebuild things that needs eclipse to build e.g. icu4j. Putting this constraints to packagers is destined to fail as we would have to rebuild Eclipse everytime one of the underlying libraries changes and the same is true for all the plugins too. Considering the dropins issues on updates I'm definetely not looking towards an exact versions requires. Sami, osgi requires/provides will not help as we do have versioned provides generated but not requires. Having versioned requires autogenerated will bee too much of a problem because of version ranges. I would propose closing this bug as wontfix because soon it will get even uglier thanks to eclipse-emf. If we have strict requires having to rebuild eclipse everytime emf is rebuild is something that will bite us more times than people installing things from rawhide. Sorry, Mary :) I think that in this one case actually limiting the jetty version could help - mostly because we know that jetty packages were renamed and there is no way any pre-3.8 Eclipse will ever work with >= 7 jetty version. eclipse-3.7.1-8.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/eclipse-3.7.1-8.fc16 Package eclipse-3.7.1-8.fc16: * should fix your issue, * was pushed to the Fedora 16 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing eclipse-3.7.1-8.fc16' as soon as you are able to, then reboot. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2012-5804/eclipse-3.7.1-8.fc16 then log in and leave karma (feedback). eclipse-3.7.1-8.fc16 has been pushed to the Fedora 16 stable repository. If problems still persist, please make note of it in this bug report. |
Created attachment 572328 [details] Diff between my local bundles.info and the system one Description of problem: Currently, Eclipse has requirements like this on libraries it uses: jetty >= 6.1.24-1 jsch >= 0.1.41 However, this fails miserably if you update one of those libraries to a new version. For example, eclipse-platform contains the file: /usr/lib64/eclipse/plugins/org.mortbay.jetty.server_6.1.26.jar This will only really work if you actually have jetty-6.1.26 installed on your machine. If you update to a different version of jetty, then you get very confusing differences between your use bundles.info and the system bundles.info which mean that all of your plugins appear to go away. Version-Release number of selected component (if applicable): eclipse-3.7.1-7.fc16.src.rpm How reproducible: Every time Steps to Reproduce: 1. yum --enablerepo=rawhide update jetty (on F16) 2. (re)install some other eclipse plugin (e.g., "yum reinstall eclipse-subclipse" 3. restart eclipse Actual results: Eclipse doesn't believe it has any plugins installed Expected results: All plugins still present Additional info: You can see the differences in bundles.info as follows: diff -u `find /usr/lib*/eclipse -name bundles.info` `find ~/.eclipse -name bundles.info` I've attached a file from my computer where I did exactly the above steps