From Fedora Project Wiki

< Eclipse

Revision as of 12:25, 13 August 2012 by Kdaniel (talk | contribs) (→‎Eclipse Mylyn >= 3.8.0 Packaging Guide (F17))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Eclipse Mylyn >= 3.8.0 Packaging Guide (F17)

Mylyn has adopted Tycho for builds, which is kind of monolithic. Mylyn inter-dependencies has forced us to have only one package (eclipse-mylyn) with subpackages. However, sources are retrieved from three places:

  1. Mylyn main repo
  2. Mylyn incubator repo
  3. Auth compatibility layer.

All main packages except eclipse-mylyn have been retired.

Eclipse Mylyn >= 3.5.0 Packaging Guide

As of release 3.5.0, Eclipse Mylyn is a new top-level project at eclipse.org. In addition, Mylyn decided to split their only project prior to 3.5.0 into several sub-projects. Those Mylyn sub-projects are as follows:

  1. org.eclipse.mylyn
  2. org.eclipse.mylyn.commons
  3. org.eclipse.mylyn.contexts
  4. org.eclipse.mylyn.tasks
  5. org.eclipse.mylyn.versions
  6. org.eclipse.mylyn.builds
  7. org.eclipse.mylyn.docs
  8. org.eclipse.mylyn.reviews


For Fedora we aimed for one SRPM per sub-project. Due to dependencies, this is not entirely true, but matches for the most part. The Fedora SRPMs for upstream Eclipse Mylyn >= 3.5.0 are as follows:

Fedora SRPM Corresponding upstream sub-project (mostly)
eclipse-mylyn-commons org.eclipse.mylyn.commons
eclipse-mylyn n/a
eclipse-mylyn-ide n/a
eclipse-mylyn-context org.eclipse.mylyn.contexts
eclipse-mylyn-tasks org.eclipse.mylyn.tasks
eclipse-mylyn-docs org.eclipse.mylyn.docs
eclipse-mylyn-versions org.eclipse.mylyn.versions
eclipse-mylyn-builds org.eclipse.mylyn.builds
Not in Fedora (yet) org.eclipse.mylyn.reviews


These SRPMs produce the following binary RPMs:

SRPM Binary RPMs
eclipse-mylyn-commons eclipse-mylyn-commons
eclipse-mylyn eclipse-mylyn
eclipse-mylyn-ide eclipse-mylyn-ide
eclipse-mylyn-context eclipse-mylyn-context, eclipse-mylyn-context-team, eclipse-mylyn-context-pde, eclipse-mylyn-context-java, eclipse-mylyn-context-cdt
eclipse-mylyn-tasks eclipse-mylyn-tasks-trac, eclipse-mylyn-tasks-bugzilla
eclipse-mylyn-docs eclipse-mylyn-docs-wikitext, eclipse-mylyn-docs-htmltext
eclipse-mylyn-versions eclipse-mylyn-versions, eclipse-mylyn-versions-git, eclipse-mylyn-versions-cvs
eclipse-mylyn-builds eclipse-mylyn-builds, eclipse-mylyn-builds-hudson


And here is the mapping of upstream Eclipse Mylyn features to Fedora's binary RPMs:

Binary RPM Includes Eclipse Mylyn upstream feature id
eclipse-mylyn-commons org.eclipse.mylyn.commons
eclipse-mylyn org.eclipse.mylyn_feature
eclipse-mylyn-ide org.eclipse.mylyn.ide_feature
eclipse-mylyn-context org.eclipse.mylyn.context_feature
eclipse-mylyn-context-team org.eclipse.mylyn.team_feature
eclipse-mylyn-context-pde org.eclipse.mylyn.pde_feature
eclipse-mylyn-context-java org.eclipse.mylyn.java_feature
eclipse-mylyn-context-cdt org.eclipse.cdt.mylyn
eclipse-mylyn-tasks-trac org.eclipse.mylyn.trac_feature
eclipse-mylyn-tasks-bugzilla org.eclipse.mylyn.bugzilla_feature
eclipse-mylyn-docs-wikitext org.eclipse.mylyn.wikitext_feature
eclipse-mylyn-docs-htmltext org.eclipse.mylyn.htmltext
eclipse-mylyn-versions org.eclipse.mylyn.versions
eclipse-mylyn-versions-git org.eclipse.mylyn.git
eclipse-mylyn-versions-cvs org.eclipse.mylyn.cvs
eclipse-mylyn-builds org.eclipse.mylyn.builds
eclipse-mylyn-builds-hudson org.eclipse.mylyn.hudson


Recommended Packaging Order for Future Eclipse Mylyn Upstream Releases due to Dependencies

We recommend to package Eclipse Mylyn upstream releases in the following order (this is a known to be working):

  1. eclipse-mylyn-commons
  2. eclipse-mylyn
  3. eclipse-mylyn-context
  4. eclipse-mylyn-ide
  5. eclipse-mylyn-tasks
  6. eclipse-mylyn-docs
  7. eclipse-mylyn-versions
  8. eclipse-mylyn-builds


Implications for Eclipse Mylyn (version < 3.5.0) Dependent Packages

First note that users should be able to update their mylyn packages as usual ( yum update eclipse-mylyn\*). However, due to the restructuring of Eclipse Mylyn packages in Fedora, it may be required to update dependencies for Mylyn dependent Eclipse plug-ins. It may also be required to update build requirements for Mylyn dependent RPMs in Fedora. Here is a table showing which Mylyn 3.5 packages replace old (< 3.5) Mylyn packages (above tables and the following table may be helpful determining the correct packages for updating your R/BR's in relevant spec files):

Old RPM Package Name Since Mylyn 3.5 in Fedora Provided By
eclipse-mylyn eclipse-mylyn-commons, eclipse-mylyn, eclipse-mylyn-tasks-bugzilla, eclipse-mylyn-context, eclipse-mylyn-context-team, eclipse-mylyn-ide (eclipse-mylyn used to provide all corresponding features; see feature/rpm-package mapping table for a more granular listing).
eclipse-mylyn-trac eclipse-mylyn-tasks-trac
eclipse-mylyn-java eclipse-mylyn-context-java
eclipse-mylyn-pde eclipse-mylyn-context-pde
eclipse-mylyn-cdt eclipse-mylyn-context-cdt
eclipse-mylyn-webtasks eclipse-mylyn-tasks-web
eclipse-mylyn-wikitext eclipse-mylyn-docs-wikitext

Also, have a look in /usr/share/eclipse/dropins for plug-in dependency names to be used by the -d option of %{_libdir}/eclipse/buildscripts/pdebuild. All mylyn related plug-ins contain the string "mylyn" in the directory name.