Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Linux Tools Project/Eclipse Build"

(To-do list: Eclipse build is harness for Platform.releng.aggregator and no longer developed anymore.)
 
(93 intermediate revisions by 10 users not shown)
Line 1: Line 1:
Eclipse-build aims at ease the building of the Eclipse SDK especially for Linux distributions.  
+
{{#eclipseproject:tools.linuxtools}}
 +
{{Linux_Tools}}
  
'''Detailed TODO:'''
+
Eclipse-build aims to ease the building of the Eclipse SDK for Linux distributions.
* Fix broken features build.xml caused by source features/plugins generation.
+
Workaround for now: Copy back the original after generation is done.
+
* Migrate plugins with custom build.xml files to customCallbacks.
+
* Check naming of org.eclipse.equinox.http.jetty_1.1.0 with upstream. Version should
+
not be part of the name. According to Kim Moir there are 2 equino.http.jetty plugins used in different
+
part of the build problem.
+
* Hook native compilation in the build.xml.
+
* Add a target to create an all-in-one tarball - srcIncluded zip, patches, missing bundles from srcIncluded and the build scripts
+
* add a 'make DESTDIR=foo install' equivalent target, that installs a FHS compliant image into a specific directory, like:<br />''foo''
+
** etc/
+
*** configuration files<sup>1</sup>
+
** usr/
+
*** lib{,64}/
+
**** eclipse-<SLOT>
+
***** features/
+
***** plugins/
+
*** share/
+
**** applications/
+
***** eclipse-<SLOT>.desktop
+
**** pixmaps/
+
***** eclipse.xpm
+
'''(WIP)'''
+
  
Possibly patch one (or both) of:<br />
+
== Eclipse Build: Why And How ==
- SDK/plugins/org.eclipse.pde.build/src/org/eclipse/pde/internal/build/BuildScriptGenerator.java<br />
+
- SDK/plugins/org.eclipse.pde.build/src_ant/org/eclipse/pde/internal/build/tasks/BuildScriptGeneratorTask.java<br />
+
  
 +
When building, Eclipse normally satisfies its third party requirements by using libraries provided in [http://www.eclipse.org/orbit/ Orbit]. Orbit provides pre-built libraries which have been made into [http://www.osgi.org/About/HomePage OSGi] bundles with proper versioning, etc.
  
 +
The problem for some Linux distributions is that they cannot use the pre-built binaries provided by Orbit. Eclipse must be built using the binaries provided in that distribution.
  
'''Overall PLAN:'''
+
For more information about how Eclipse Build works please refer to the [http://wiki.eclipse.org/Linux_Tools_Project/Eclipse_Build/Inner_Workings Eclipse Build Inner Workings Page]
# Create a working build with upstream srcIncluded build.
+
 
# Create a script to fetch sources from cvs.
+
== How To build Eclipse SDK with eclipse-build released tarballs ==
# Fix to properly build with the fetched sources.
+
 
# Put all patches we have in Fedora srpm here so other distros can easily reuse them.
+
* Download and extract the [http://download.eclipse.org/technology/linuxtools/eclipse-build/ latest eclipse-build*.tar.gz] (pick the appropriate directory for the release you want)
Others are welcome.
+
* Download tarballs of the [http://www.eclipse.org/downloads/download.php?file=/technology/linuxtools/eclipse-build/3.6.x_Helios/eclipse-3.6.2-src.tar.bz2 SDK sources] (and optionally the [http://www.eclipse.org/downloads/download.php?file=/technology/linuxtools/eclipse-build/3.6.x_Helios/eclipse-sdktests-3.6.2-src.tar.bz2 SDK test sources] and [http://www.eclipse.org/downloads/download.php?file=/technology/linuxtools/eclipse-build/3.6.x_Helios/eclipse-sdktests-3.6.2-scripts.tar.bz2 SDK test scripts]) from the [http://download.eclipse.org/technology/linuxtools/eclipse-build/ eclipse-build downloads area] and put them in the eclipse-build* directory.  '''NOTE''': eclipse-build provides source tarballs created from the ''same tag'' as the official releases but with additional sources needed for the build.
 +
** 3.7.1 tarball is [http://www.eclipse.org/downloads/download.php?file=/technology/linuxtools/eclipse-build/3.7.x_Indigo/eclipse-3.7.1-src.tar.bz2&url=http://ftp.man.poznan.pl/eclipse/technology/linuxtools/eclipse-build/3.7.x_Indigo/eclipse-3.7.1-src.tar.bz2&mirror_id=488 here]
 +
* Run <tt>ant</tt> (you will likely need to ensure that JAVA_HOME points to your JDK installation directory)
 +
 
 +
If the build finishes without error there will be a <tt>build/eclipse-$YOUR_BUILD_ID-src/installation</tt> directory containing a ready-to-use Eclipse SDK.  Eclipse-build is verified to work on x86, x86_64 and ppc architectures.  Eclipse-build has been successfully tested on Fedora, Debian, Ubuntu, Gentoo, and RHEL.  Refer to distribution-specific instructions below.  We are interested in reports of success on other distributions.  Please let us know via linuxtools-dev@eclipse.org.
 +
 
 +
Optional:  <tt>ant runTests</tt>.  Look for test results (a few hours running time) in <tt>tests_<timestamp>/results/html/org.eclipse.sdk.tests.html</tt>.
 +
 
 +
== Submitting patches ==
 +
* Clone our git repository:  [http://git.eclipse.org/c/linuxtools/org.eclipse.linuxtools.eclipse-build.git/ http://git.eclipse.org/c/linuxtools/org.eclipse.linuxtools.eclipse-build.git/]
 +
* It is preferred that patches are generated from within Eclipse (use [[EGit]]. All patches must be submitted via [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Linux%20Tools&component=PackagingTools http://bugs.eclipse.org eclipse.org bugzila]
 +
 
 +
== Fedora Build Requirements ==
 +
On Fedora, just run <tt>yum-builddep eclipse</tt> to get the build dependencies (''including'' the dependencies to which the Fedora package is symlinked). You must also ensure you have the following installed (the latter to run the tests):  <tt>patch tigervnc-server</tt>.
 +
 
 +
= Testing =
 +
See [[/Tests|tests]] for how to build and run the SDK tests and to report results and check if others are working on common failures.

Latest revision as of 06:43, 13 January 2022

{{#eclipseproject:tools.linuxtools}}

Linux Tools
Website
Download
Community
Mailing ListForumsIRCmattermost
Issues
OpenHelp WantedBug Day
Contribute
Browse Source

Eclipse-build aims to ease the building of the Eclipse SDK for Linux distributions.

Eclipse Build: Why And How

When building, Eclipse normally satisfies its third party requirements by using libraries provided in Orbit. Orbit provides pre-built libraries which have been made into OSGi bundles with proper versioning, etc.

The problem for some Linux distributions is that they cannot use the pre-built binaries provided by Orbit. Eclipse must be built using the binaries provided in that distribution.

For more information about how Eclipse Build works please refer to the Eclipse Build Inner Workings Page

How To build Eclipse SDK with eclipse-build released tarballs

  • Download and extract the latest eclipse-build*.tar.gz (pick the appropriate directory for the release you want)
  • Download tarballs of the SDK sources (and optionally the SDK test sources and SDK test scripts) from the eclipse-build downloads area and put them in the eclipse-build* directory. NOTE: eclipse-build provides source tarballs created from the same tag as the official releases but with additional sources needed for the build.
    • 3.7.1 tarball is here
  • Run ant (you will likely need to ensure that JAVA_HOME points to your JDK installation directory)

If the build finishes without error there will be a build/eclipse-$YOUR_BUILD_ID-src/installation directory containing a ready-to-use Eclipse SDK. Eclipse-build is verified to work on x86, x86_64 and ppc architectures. Eclipse-build has been successfully tested on Fedora, Debian, Ubuntu, Gentoo, and RHEL. Refer to distribution-specific instructions below. We are interested in reports of success on other distributions. Please let us know via linuxtools-dev@eclipse.org.

Optional: ant runTests. Look for test results (a few hours running time) in tests_<timestamp>/results/html/org.eclipse.sdk.tests.html.

Submitting patches

Fedora Build Requirements

On Fedora, just run yum-builddep eclipse to get the build dependencies (including the dependencies to which the Fedora package is symlinked). You must also ensure you have the following installed (the latter to run the tests): patch tigervnc-server.

Testing

See tests for how to build and run the SDK tests and to report results and check if others are working on common failures.

Back to the top