(Add "Troubleshooting Eclipse in Fedora" section.) |
m (Minor typos) |
||
Line 153: | Line 153: | ||
rpm -qV eclipse-rcp eclipse-platform | rpm -qV eclipse-rcp eclipse-platform | ||
</pre> | </pre> | ||
Make sure that | Make sure that there is no output when you run the above command. Next, run: | ||
<pre> | <pre> | ||
rpm -qf /usr/lib*/eclipse/p2/org.eclipse.equinox.p2.engine/profileRegistry/PlatformProfile.profile/*.profile.gz | rpm -qf /usr/lib*/eclipse/p2/org.eclipse.equinox.p2.engine/profileRegistry/PlatformProfile.profile/*.profile.gz | ||
</pre> | </pre> | ||
Make sure that there are no files which are not owned by any | Make sure that there are no files which are not owned by any RPMs. | ||
If the result of the above commands is not clean that means that you don't have a clean Eclipse installation. It is possible that you may have | If the result of the above commands is not clean that means that you don't have a clean Eclipse installation. It is possible that you may have | ||
run eclipse as root at some point. You can clean that up by removing all files which are not owned by any | run eclipse as root at some point. You can clean that up by removing all files which are not owned by any RPMs, and | ||
removing and reinstalling the eclipse | removing and reinstalling the eclipse RPMs. | ||
If both of the above | If both of the above outputs are clean, you will need to file a bug. Collect the following information and file | ||
a bug here https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora | a bug here: https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=eclipse | ||
Create a file ~/.options and add the following flags to it: | Create a file ~/.options and add the following flags to it: | ||
Line 174: | Line 174: | ||
</pre> | </pre> | ||
Then run eclipse with the following flags: | Then run eclipse from a terminal with the following flags: | ||
<pre>eclipse -consolelog -debug -clean >& log</pre> | <pre>eclipse -consolelog -debug -clean >& log</pre> | ||
Line 182: | Line 182: | ||
<pre>diff `find /usr/lib*/eclipse -name bundles.info` `find ~/.eclipse -name bundles.info`</pre> | <pre>diff `find /usr/lib*/eclipse -name bundles.info` `find ~/.eclipse -name bundles.info`</pre> | ||
If there are any bundles present in the system bundles.info and not in the user bundles.info these bundles are the source of the problem. If the bundles are installed and have the correct versions (the path to the bundles in stated relative to /usr/lib/eclipse or /usr/lib64/eclipse) then that means that things have been upgraded in a way that contradicts the previous installation. Adding those bundles to your user bundles.info will solve the problem. Before doing so backup your ~/.eclipse directory just in case. Here is a script wich will do that: | If there are any bundles present in the system bundles.info and not in the user bundles.info, these bundles are the source of the problem. If the bundles are installed and have the correct versions (the path to the bundles in stated relative to /usr/lib/eclipse or /usr/lib64/eclipse) then that means that things have been upgraded in a way that contradicts the previous installation. Adding those bundles to your user bundles.info will solve the problem. Before doing so backup your ~/.eclipse directory just in case. Here is a script wich will do that: | ||
<pre> | <pre> |
Revision as of 15:48, 12 March 2012
Eclipse
What is Eclipse?
Eclipse is an awesome IDE with tooling for various languages. It has a GTK+ UI that is much more accesible to regular programmers from a Windows environment than the tools traditionally used by FOSS hackers.
It was originally a (very) large body of code that IBM open-sourced. There is now a large community of companies and developers using and extending Eclipse.
It has its own Open Source license (the Eclipse Public Library, or EPL).
It is shipped in Fedora (>= 4). Plug-ins are continuously being added to Fedora. We aim to take care of Eclipse plugin review requests quickly. Packaging guidelines for Eclipse plugins can be found here: Packaging/EclipsePlugins.
Fedora Eclipse
Fedora Eclipse is a community project encompassing everything Eclipse-related in Fedora. We ship the Eclipse SDK along with many plugins (see below). We are working on making plugin packaging easier (see RPM Stubby and Fedora Packager for Eclipse).
Would you like to help?
Talk to us on IRC or the java-devel mailing list. Package a plug-in for Fedora!
Plug-ins We Ship
Autotools (part of CDT SRPM)
CMakeed -- Editor for CMake files
CDT -- C/C++ Development Tooling
CollabNet Merge Client for Subclipse -- Take advantage of the new merge cleverness in Subversion 1.5+
Dynamic Language Toolkit -- Complete with TCL and Ruby IDEs
DTP -- Database Development Tools
EclEmma -- Code coverage tool to help you enhance your unit tests.
EGit -- Support for working with Git repositories
EMF -- Eclipse Modeling Framework
EPIC -- Perl tooling
GEF -- Eclipse Graphical Editing Framework (not the Visual Editor )
MoreUnit -- Helper for writing more and better unit tests.
Mylyn -- a task-focused UI for Eclipse with bugzilla and trac integration. See also Eclipse Mylyn Red Hat Bugzilla setup instructions and Eclipse Mylyn packaging guide for more Mylyn related information.
Parallel Tools Platform (PTP) -- Parallel and Fortran programming support for Eclipse
PHPEclipse -- PHP Development Tooling
PyDev -- Python IDE for Eclipse
QuickREx -- Regular expression tester
RPM Specfile Generator -- This plugin makes packaging other plugins really easy.
Eclipse SETools -- SELinux policy analysis tools
Shelled -- Editor for shell scripts
SLIDE -- SLIDE is an integrated development environment (IDE) for Security Enhanced Linux (SELinux) developers and integrators
Subclipse -- Support for working with Subversion repositories
Plug-ins We'd Like To Ship
- WTP
- needs some non-Eclipse deps, all of which may not be in Fedora
- tracker bug: 486369
- old SRPM and .spec uploaded here (most likely won't build, needs work):
- VE
- requested here
- development has been re-started upstream
- Mylyn's JIRA plugin
- bug to ship JIRA plugin
- needs axis 1.4 with OSGi metadata (bug #497126)
needs org.apache.commons.discovery_0.2.0 (hopefully 0.4 we have is acceptable) (bug to add OSGi metadata)needs javax.wsdl_1.5.1 (bug to add OSGi metadata)- needs javax.xml.soap_1.2.0 (bug to add OSGi metadata)
- javax.xml.rpc_1.1.0 (bug to add OSGi metadata)
Plug-ins Which Need Packaging Work
- BIRT
- all of it needs WTP
- Tracker bug to get WTP built (filed against BIRT since that's what needs it) 486369
Contact
Most of the Fedora "free java" people hang out on #fedora-java on Freenode . There are also people on #classpath also on Freenode. Community around the Eclipse Linux Tools project is emerging now and developers are hanging out on #eclipse-linux on Freenode.
Testing
It has automated tests . You can also run individual plug-in tests .
Running the Eclipse SDK automated tests against the installed RPMs can be done using the following steps:
- $ svn co http://dev.eclipse.org/svnroot/technology/org.eclipse.linuxtools/sdktests/3.4.1/Fedora eclipse-sdk-tests
- $ cd eclipse-sdk-tests
- $ ./build.sh
- (... wait for build)
- # rpm -Uvh RPMS/{x86_64,i386,etc.}/eclipse-tests-3.4*.rpm
- $ cd <somewhere you can write>
- $ /usr/lib (or lib64) /eclipse/dropins/eclipse/runtests
- (... wait for tests to run)
- $ ls /tmp/eclipseSDKtests/results/html
- View results in browser: file:///tmp/eclipseSDKtests/results/html
We appreciate any and all reports of success or failure with the SDK tests. The fedora-devel-java-list mailing list is a fine place to send them.
Troubleshooting Eclipse in Fedora
The way Eclipse and its plugins are installed in Fedora differs from the way this is done upstream. This can sometimes lead to installation problems in Fedora. We are working on a solution to make installations more robust in future Fedora releases. In the meantime however, this section is meant to help you troubleshoot those problems. The main theme is "I updated eclipse and my plugins no longer show up".
1. The first thing you want to do is to make sure that you have a bundles.info file in your ~/.eclipse directory
find ~/.eclipse -name bundles.info
If you find one then you can move on to step 2. If you don't find a file that means that there is a problem occurring early on during the startup of Eclipse. To start with you need to make sure that you have a standard Eclipse installation. To do so run the following:
rpm -qV eclipse-rcp eclipse-platform
Make sure that there is no output when you run the above command. Next, run:
rpm -qf /usr/lib*/eclipse/p2/org.eclipse.equinox.p2.engine/profileRegistry/PlatformProfile.profile/*.profile.gz
Make sure that there are no files which are not owned by any RPMs.
If the result of the above commands is not clean that means that you don't have a clean Eclipse installation. It is possible that you may have run eclipse as root at some point. You can clean that up by removing all files which are not owned by any RPMs, and removing and reinstalling the eclipse RPMs.
If both of the above outputs are clean, you will need to file a bug. Collect the following information and file a bug here: https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=eclipse
Create a file ~/.options and add the following flags to it:
org.eclipse.equinox.p2.core/debug=true org.eclipse.equinox.p2.core/reconciler=true org.eclipse.equinox.p2.garbagecollector/debug=true
Then run eclipse from a terminal with the following flags:
eclipse -consolelog -debug -clean >& log
Attached this log to the bug you file.
2. If you have found a bundles.info you will need to do is do a diff between your system bundles.info and user bundles.info:
diff `find /usr/lib*/eclipse -name bundles.info` `find ~/.eclipse -name bundles.info`
If there are any bundles present in the system bundles.info and not in the user bundles.info, these bundles are the source of the problem. If the bundles are installed and have the correct versions (the path to the bundles in stated relative to /usr/lib/eclipse or /usr/lib64/eclipse) then that means that things have been upgraded in a way that contradicts the previous installation. Adding those bundles to your user bundles.info will solve the problem. Before doing so backup your ~/.eclipse directory just in case. Here is a script wich will do that:
diff `find /usr/lib*/eclipse/ -name bundles.info` `find ~/.eclipse/ -name bundles.info` | grep "<" | sed s/"< "/""/ >> `find ~/.eclipse/ -name bundles.info`
If the extra bundles are not present or have different versions than what is in the system bundles.info, that means that the bundles.info is faulty and needs to be updated. Please file a bug which includes the diff.
Plans
We ship the Eclipse SDK (eclipse SRPM) version 3.6.1 in Fedora 14. Other Helios release train projects are also updated to their Helios versions.
The other plugins we ship should work with Eclipse 3.6 without problems. We will of course have to coordinate testing them all.
Fedora Eclipse Branding
Up to and including Fedora 11, we shipped a branding plugin with a custom splash screen and product ID. From Fedora 12 onwards, we will no longer be doing this.
Updating the branding for a new version
This section is no longer important but is kept for historical purposes. The splash screen itself was originally done by Diana Fong and given to us as a PSD file. It is kept with the rest of the branding plugin in CVS:
:pserver:anonymous@sources.redhat.com:/cvs/eclipse
branding/org.fedoraproject.ide.platform
People wishing to commit will have to have a Sourceware account. We should probably move this to Fedora Hosted. In the meantime, use this form to request an account (project: eclipse, sponsor: Andrew Overholt):
http://sourceware.org/cgi-bin/pdw/ps_form.cgi
When updating the branding to a new version, you will need to:
- update the product file fedoraeclipse.product to include the build ID matching upstream's release build (ex. http://download.eclipse.org/eclipse/downloads/drops/R-3.4.2-200902111700 gives a build ID of 20090211-1700)
- be sure to hit the synchronize link on the "Overview" page of the product editor to sync up the various generated files
- make a new splash.bmp (yes, it is an actual BMP):
- open the .psd file in the Gimp
- adjust the visible layers of the numbering in the Gimp to have the correct version shown
- for versions that are not present in the PSD, you will need to use the Gimp to draw a number that looks very close to the font originally used
- export the visible layers you want to splash.bmp; do not include the Fedora logo layer in the resulting splash.bmp
- refresh the splash.bmp file in your workspace and open it to ensure it is what you want
- commit your changes. Comparing two previous tags (ex. fedoraeclipse-3_4_1 vs. fedoraeclipse-3_4_2) is a helpful indicator to guarantee you've made all of the necessary changes.
- do not include the PSD file in build.properties; it should not be shipped in the SRPM/RPM
- branch and tag for the new version; follow previous tags and branch names to be consistent
- update eclipse.spec to reflect the new locations and generate a new org.fedoraproject.ide.platform-%{version}.zip
References
- Introduction to Eclipse on Fedora
- Confessions of an Eclipse convert
- Eclipse for developing Mono applications