Blame SPECS/eclipse.spec

d433ea
# Set to build Eclipse without circular dependency to eclipse-pde, API
d433ea
# generation and docs will not be built and a second run will be required, but
d433ea
# this is a way to bootstrap Eclipse on secondary archs.
d433ea
%bcond_with bootstrap
d433ea
c90b3b
# Set this to avoid building contributor tools
d433ea
%bcond_without contrib_tools
d433ea
d433ea
Epoch:                  1
d433ea
4008a4
%global eb_commit       b056b40d26d052b788b790f27ead774ff804ab55
c90b3b
%global eclipse_rel     %{version}
4008a4
%global eclipse_tag     R-%{eclipse_rel}-202006040540
d433ea
4008a4
%global _jetty_version  9.4.30
c90b3b
%global _lucene_version 8.4.1
d433ea
%global _batik_version 1.11
d433ea
d433ea
%ifarch %{ix86}
d433ea
    %global eclipse_arch x86
d433ea
%endif
d433ea
%ifarch %{arm}
d433ea
    %global eclipse_arch arm
d433ea
%endif
d433ea
%ifarch s390x x86_64 aarch64 ppc64le
d433ea
    %global eclipse_arch %{_arch}
d433ea
%endif
d433ea
d433ea
# Desktop file information
d433ea
%global app_name %{?app_name_prefix}%{!?app_name_prefix:Eclipse}
d433ea
%global app_exec %{?app_exec_prefix} eclipse
d433ea
d433ea
# Eclipse is arch-specific, but multilib agnostic
d433ea
%global _eclipsedir %{_prefix}/lib/eclipse
d433ea
d433ea
%if 0%{?fedora} || 0%{?rhel} > 7
d433ea
%global use_wayland 1
d433ea
%else
d433ea
%global use_wayland 0
d433ea
%endif
d433ea
4008a4
# Glassfish EE APIs that moved to jakarta namespace
4008a4
%if 0%{?fedora}
4008a4
%global _jakarta_annotations jakarta.annotation-api
4008a4
%else
4008a4
%global _jakarta_annotations javax.annotation-api
4008a4
%endif
4008a4
d433ea
Summary:        An open, extensible IDE
d433ea
Name:           eclipse
4008a4
Version:        4.16
4008a4
Release:        7%{?dist}
d433ea
License:        EPL-2.0
d433ea
URL:            http://www.eclipse.org/
d433ea
d433ea
Source0: https://download.eclipse.org/eclipse/downloads/drops4/%{eclipse_tag}/eclipse-platform-sources-%{eclipse_rel}.tar.xz
d433ea
d433ea
# Can generate locally with:
d433ea
# git archive --format=tar --prefix=org.eclipse.linuxtools.eclipse-build-%%{eb_commit}/ \
d433ea
#   %%{eb_commit} | xz > org.eclipse.linuxtools.eclipse-build-%%{eb_commit}.tar.xz
d433ea
Source1: http://git.eclipse.org/c/linuxtools/org.eclipse.linuxtools.eclipse-build.git/snapshot/org.eclipse.linuxtools.eclipse-build-%{eb_commit}.tar.xz
d433ea
4008a4
# Toolchain configurations for all EEs needed by Eclipse bundles
4008a4
Source2: toolchains.xml
4008a4
d433ea
# Eclipse should not include source for dependencies that are not supplied by this package
d433ea
# and should not include source for bundles that are not relevant to our platform
d433ea
Patch0:  eclipse-no-source-for-dependencies.patch
d433ea
d433ea
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=377515
d433ea
Patch1:  eclipse-p2-pick-up-renamed-jars.patch
d433ea
d433ea
# Patch for this was contributed. Unlikely to be released.
d433ea
Patch2:  eclipse-ignore-version-when-calculating-home.patch
d433ea
d433ea
# Explicit requirement on hamcrest where it is used directly
d433ea
Patch3:  explicit-hamcrest.patch
d433ea
d433ea
# Add support for all arches supported by Fedora
d433ea
Patch4:  eclipse-secondary-arches.patch
d433ea
d433ea
Patch5:  eclipse-debug-symbols.patch
d433ea
d433ea
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=408138
d433ea
Patch12: eclipse-fix-dropins.patch
d433ea
d433ea
# Feature plugin definitions lock onto version of plugin at build-time.
d433ea
# If plugin is external, updating it breaks the feature. (version changes)
d433ea
# Workaround : Change <plugin> definition to a 'requirement'
d433ea
# Also makes the following BSN changes at the same time:
d433ea
# com.sun.el -> com.sun.el.javax.el
d433ea
# javax.el -> javax.el-api
d433ea
# javax.servlet -> javax.servlet-api
d433ea
# org.apache.jasper.glassfish -> org.glassfish.web.javax.servlet.jsp
d433ea
# org.w3c.dom.smil -> removed
d433ea
Patch13: eclipse-feature-plugins-to-category-ius.patch
d433ea
d433ea
Patch14: eclipse-support-symlink-bundles.patch
d433ea
d433ea
# Fix various JDT and PDE tests
d433ea
Patch15: eclipse-fix-tests.patch
d433ea
d433ea
# Droplet fixes
d433ea
Patch17: eclipse-pde-tp-support-droplets.patch
d433ea
d433ea
# Disable uses by default
d433ea
Patch18: eclipse-disable-uses-constraints.patch
d433ea
d433ea
# Droplet fixes
d433ea
Patch19: eclipse-make-droplets-runnable.patch
d433ea
Patch20: eclipse-disable-droplets-in-dropins.patch
d433ea
d433ea
# Temporary measure until wayland improves
d433ea
Patch21: prefer_x11_backend.patch
d433ea
d433ea
# Fix errors when building ant launcher
d433ea
Patch22: fix_ant_build.patch
d433ea
d433ea
# Hide the p2 Droplets from cluttering Install Wizard Combo
d433ea
Patch23: eclipse-hide-droplets-from-install-wizard.patch
d433ea
d433ea
# Avoid the need for a javascript interpreter at build time
d433ea
Patch24: eclipse-swt-avoid-javascript-at-build.patch
d433ea
d433ea
# Avoid optional dep used only for tests
d433ea
Patch25: eclipse-patch-out-fileupload-dep.patch
d433ea
c90b3b
# Force a clean on the restart after p2 operations
c90b3b
Patch26: force-clean-after-p2-operations.patch
d433ea
c90b3b
# SCL-specific patches
c90b3b
Patch100: 0001-Avoid-limitation-with-older-shade-plug-in-versions-w.patch
c90b3b
Patch101: 0002-Allow-bootstrapping-against-OSGi-Core-R6.patch
c90b3b
Patch102: 0004-Add-parent-pom-for-old-tycho-pomless.patch
d433ea
c90b3b
# Upstream no longer supports non-64bit arches
c90b3b
ExclusiveArch: x86_64
d433ea
4008a4
# Require both JDKs until Eclipse can fully move onto Java 11
c90b3b
BuildRequires: java-11-openjdk-devel
4008a4
BuildRequires: java-1.8.0-openjdk-devel
d433ea
d433ea
BuildRequires: maven-local
d433ea
BuildRequires: tycho
d433ea
BuildRequires: tycho-extras
d433ea
BuildRequires: cbi-plugins
d433ea
BuildRequires: maven-antrun-plugin
d433ea
BuildRequires: maven-assembly-plugin
d433ea
BuildRequires: maven-dependency-plugin
d433ea
BuildRequires: maven-enforcer-plugin
d433ea
BuildRequires: maven-install-plugin
d433ea
BuildRequires: maven-shade-plugin
d433ea
BuildRequires: xml-maven-plugin
d433ea
BuildRequires: sonatype-oss-parent
d433ea
BuildRequires: rsync
d433ea
BuildRequires: make, gcc
d433ea
BuildRequires: zip, unzip
d433ea
BuildRequires: desktop-file-utils
d433ea
BuildRequires: pkgconfig(glib-2.0)
d433ea
BuildRequires: pkgconfig(gio-2.0)
d433ea
BuildRequires: pkgconfig(nspr)
d433ea
BuildRequires: pkgconfig(glu)
d433ea
BuildRequires: pkgconfig(gl)
d433ea
BuildRequires: pkgconfig(cairo)
d433ea
BuildRequires: pkgconfig(xt)
d433ea
BuildRequires: pkgconfig(xtst)
d433ea
BuildRequires: pkgconfig(libsecret-1)
d433ea
BuildRequires: pkgconfig(gtk+-2.0)
d433ea
BuildRequires: pkgconfig(gtk+-3.0)
d433ea
BuildRequires: pkgconfig(webkit2gtk-4.0)
c90b3b
BuildRequires: icu4j >= 1:65.1
d433ea
BuildRequires: ant >= 1.10.5
d433ea
BuildRequires: jsch >= 0:0.1.46-2
d433ea
BuildRequires: apache-commons-logging
d433ea
BuildRequires: apache-commons-codec
d433ea
BuildRequires: apache-commons-jxpath
d433ea
BuildRequires: osgi(org.apache.felix.gogo.shell) >= 1.1.0
d433ea
BuildRequires: osgi(org.apache.felix.gogo.command) >= 1.0.2
d433ea
BuildRequires: osgi(org.apache.felix.gogo.runtime) >= 1.1.0
c90b3b
BuildRequires: felix-scr >= 2.1.16-4
d433ea
BuildRequires: osgi(org.eclipse.jetty.util) >= %{_jetty_version}
d433ea
BuildRequires: osgi(org.eclipse.jetty.server) >= %{_jetty_version}
d433ea
BuildRequires: osgi(org.eclipse.jetty.http) >= %{_jetty_version}
d433ea
BuildRequires: osgi(org.eclipse.jetty.continuation) >= %{_jetty_version}
d433ea
BuildRequires: osgi(org.eclipse.jetty.io) >= %{_jetty_version}
d433ea
BuildRequires: osgi(org.eclipse.jetty.security) >= %{_jetty_version}
d433ea
BuildRequires: osgi(org.eclipse.jetty.servlet) >= %{_jetty_version}
d433ea
BuildRequires: lucene-core >= %{_lucene_version}
d433ea
BuildRequires: lucene-analysis >= %{_lucene_version}
d433ea
BuildRequires: lucene-queryparser >= %{_lucene_version}
d433ea
BuildRequires: lucene-analyzers-smartcn >= %{_lucene_version}
d433ea
BuildRequires: junit >= 4.12
d433ea
BuildRequires: junit5 >= 5.4.0
d433ea
BuildRequires: apiguardian
d433ea
BuildRequires: hamcrest
d433ea
BuildRequires: sat4j
c90b3b
BuildRequires: objectweb-asm >= 7.0
d433ea
BuildRequires: sac
d433ea
BuildRequires: batik-css >= %{_batik_version}
d433ea
BuildRequires: batik-util >= %{_batik_version}
d433ea
BuildRequires: google-gson
d433ea
BuildRequires: xmlgraphics-commons >= 2.3
d433ea
BuildRequires: xml-commons-apis
d433ea
BuildRequires: atinject
4008a4
BuildRequires: eclipse-ecf-core >= 3.14.8
4008a4
BuildRequires: eclipse-emf-core >= 1:2.22.0
d433ea
BuildRequires: eclipse-license2
d433ea
BuildRequires: glassfish-annotation-api
d433ea
BuildRequires: glassfish-el-api >= 3.0.1
d433ea
BuildRequires: glassfish-el >= 3.0.1
d433ea
BuildRequires: glassfish-jsp-api >= 2.2.1-4
d433ea
BuildRequires: glassfish-jsp >= 2.2.5
d433ea
BuildRequires: glassfish-servlet-api >= 3.1.0
d433ea
BuildRequires: httpcomponents-core
d433ea
BuildRequires: httpcomponents-client
d433ea
BuildRequires: jsoup
d433ea
BuildRequires: xz-java
d433ea
BuildRequires: osgi(osgi.annotation)
d433ea
# Build deps that are excluded when bootstrapping
d433ea
%if %{without bootstrap}
d433ea
# For building docs and apitooling
d433ea
BuildRequires: eclipse-pde
d433ea
%if %{with contrib_tools}
c90b3b
# For contributor tools
d433ea
BuildRequires: eclipse-egit
d433ea
BuildRequires: eclipse-emf-runtime
d433ea
%endif
d433ea
%endif
d433ea
d433ea
%description
d433ea
The Eclipse platform is designed for building integrated development
d433ea
environments (IDEs), server-side applications, desktop applications, and
d433ea
everything in between.
d433ea
d433ea
%package        swt
d433ea
Summary:        SWT Library for GTK+
d433ea
Requires:       gtk3
d433ea
Requires:       webkitgtk4
d433ea
d433ea
%description swt
d433ea
SWT Library for GTK+.
d433ea
d433ea
%package        equinox-osgi
d433ea
Summary:        Eclipse OSGi - Equinox
d433ea
Provides:       osgi(system.bundle) = %{epoch}:%{version}
d433ea
d433ea
%description  equinox-osgi
d433ea
Eclipse OSGi - Equinox
d433ea
d433ea
%package        platform
d433ea
Summary:        Eclipse platform common files
4008a4
Requires:       java-11-openjdk-devel
4008a4
Requires:       javapackages-tools
c90b3b
d433ea
d433ea
Requires: ant >= 1.10.5
d433ea
Requires: jsch >= 0.1.46-2
d433ea
Requires: apache-commons-logging
d433ea
Requires: apache-commons-codec
d433ea
Requires: apache-commons-jxpath
d433ea
Requires: osgi(org.apache.felix.gogo.shell) >= 1.1.0
d433ea
Requires: osgi(org.apache.felix.gogo.command) >= 1.0.2
d433ea
Requires: osgi(org.apache.felix.gogo.runtime) >= 1.1.0
c90b3b
Requires: felix-scr >= 2.1.16-4
d433ea
Requires: osgi(org.eclipse.jetty.util) >= %{_jetty_version}
d433ea
Requires: osgi(org.eclipse.jetty.server) >= %{_jetty_version}
d433ea
Requires: osgi(org.eclipse.jetty.http) >= %{_jetty_version}
d433ea
Requires: osgi(org.eclipse.jetty.continuation) >= %{_jetty_version}
d433ea
Requires: osgi(org.eclipse.jetty.io) >= %{_jetty_version}
d433ea
Requires: osgi(org.eclipse.jetty.security) >= %{_jetty_version}
d433ea
Requires: osgi(org.eclipse.jetty.servlet) >= %{_jetty_version}
d433ea
Requires: lucene-core >= %{_lucene_version}
d433ea
Requires: lucene-analysis >= %{_lucene_version}
d433ea
Requires: lucene-queryparser >= %{_lucene_version}
d433ea
Requires: lucene-analyzers-smartcn >= %{_lucene_version}
d433ea
Requires: batik-css >= %{_batik_version}
d433ea
Requires: batik-util >= %{_batik_version}
d433ea
Requires: xmlgraphics-commons >= 2.3
d433ea
Requires: xml-commons-apis
d433ea
Requires: atinject
4008a4
Requires: eclipse-ecf-core >= 3.14.8
4008a4
Requires: eclipse-emf-core >= 1:2.22.0
d433ea
Requires: glassfish-annotation-api
d433ea
Requires: glassfish-el-api >= 3.0.1
d433ea
Requires: glassfish-el >= 3.0.1
d433ea
Requires: glassfish-jsp-api >= 2.2.1-4
d433ea
Requires: glassfish-jsp >= 2.2.5
d433ea
Requires: glassfish-servlet-api >= 3.1.0
c90b3b
Requires: icu4j >= 1:65.1
d433ea
Requires: %{name}-swt = %{epoch}:%{version}-%{release}
d433ea
Requires: %{name}-equinox-osgi = %{epoch}:%{version}-%{release}
d433ea
Requires: httpcomponents-core
d433ea
Requires: httpcomponents-client
d433ea
c90b3b
# Obsoletes added in F31
c90b3b
Obsoletes: eclipse-epp-logging <= 2.0.8-4
c90b3b
Obsoletes: eclipse-abrt <= 0.0.3-10
d433ea
d433ea
%description    platform
d433ea
The Eclipse Platform is the base of all IDE plugins.  This does not include the
d433ea
Java Development Tools or the Plugin Development Environment.
d433ea
d433ea
%package        jdt
d433ea
Summary:        Eclipse Java Development Tools
d433ea
BuildArch:      noarch
d433ea
d433ea
Provides:       %{name} = %{epoch}:%{version}-%{release}
d433ea
Requires:       %{name}-platform = %{epoch}:%{version}-%{release}
4008a4
Requires:       java-11-openjdk-src
d433ea
Requires:       junit >= 4.12
d433ea
Requires:       junit5 >= 5.4.0
d433ea
Requires:       osgi(org.hamcrest.core)
d433ea
d433ea
# Obsoletes added in F30
d433ea
Obsoletes: eclipse-recommenders <= 2.5.4-5
d433ea
d433ea
%description    jdt
d433ea
Eclipse Java Development Tools.  This package is required to use Eclipse for
d433ea
developing software written in the Java programming language.
d433ea
d433ea
%package        pde
d433ea
Summary:        Eclipse Plugin Development Environment
d433ea
d433ea
Requires:       %{name}-platform = %{epoch}:%{version}-%{release}
d433ea
Requires:       %{name}-jdt = %{epoch}:%{version}-%{release}
c90b3b
Requires:       objectweb-asm >= 7.0
d433ea
d433ea
%description    pde
d433ea
Eclipse Plugin Development Environment.  This package is required for
d433ea
developing Eclipse plugins.
d433ea
d433ea
%package        p2-discovery
d433ea
Summary:        Eclipse p2 Discovery
d433ea
BuildArch:      noarch
d433ea
d433ea
Requires:       %{name}-platform = %{epoch}:%{version}-%{release}
d433ea
d433ea
%description    p2-discovery
d433ea
The p2 Discovery mechanism provides a simplified and branded front-end for the
d433ea
p2 provisioning platform. Discovery can be used as a tool to display and
d433ea
install from existing P2 repositories or as a framework to build branded
d433ea
installer UIs.
d433ea
d433ea
%if %{without bootstrap} && %{with contrib_tools}
c90b3b
d433ea
%package        contributor-tools
d433ea
Summary:        Tools for Eclipse Contributors
c90b3b
# No longer shipping tests
c90b3b
Obsoletes:      %{name}-tests < 1:4.14-2
d433ea
d433ea
Requires:       %{name}-platform = %{epoch}:%{version}-%{release}
d433ea
d433ea
%description    contributor-tools
d433ea
This package contains tools specifically for Eclipse contributors. It includes
d433ea
SWT tools, E4 tools, Rel-Eng tools and Eclipse Test frameworks.
d433ea
%endif
d433ea
d433ea
%prep
d433ea
%setup -T -c
d433ea
d433ea
# Extract main source
d433ea
tar --strip-components=1 -xf %{SOURCE0}
d433ea
d433ea
# Extract linuxtools/eclipse-build sources
d433ea
tar --strip-components=1 -xf %{SOURCE1}
d433ea
d433ea
# Delete pre-built binary artifacts except some test data that cannot be generated
4008a4
find . ! -path "*/JCL/*" ! -name "rtstubs*.jar" ! -name "java14api.jar" ! -name "j9stubs.jar" ! -name "annotations.jar" \
d433ea
   -type f -name *.jar -delete
d433ea
find . -type f -name *.class -delete
d433ea
find . -type f -name *.so -delete
d433ea
find . -type f -name *.dll -delete
d433ea
find . -type f -name *.jnilib -delete
d433ea
d433ea
# Remove pre-compiled native launchers
d433ea
rm -rf rt.equinox.binaries/org.eclipse.equinox.executable/{bin,contributed}/
d433ea
d433ea
%patch0
d433ea
%patch1
c90b3b
%patch2 -p1
d433ea
%patch3
d433ea
%patch4 -p1
d433ea
%patch5
d433ea
%patch12
d433ea
%patch13 -p1
d433ea
%patch14
d433ea
%patch15
c90b3b
%patch17 -p1
d433ea
%patch18
d433ea
%patch19
d433ea
%patch20
d433ea
%if ! %{use_wayland}
d433ea
# Enable wayland by default on F27+
d433ea
%patch21
d433ea
%endif
d433ea
%patch22
d433ea
%patch23 -p1
c90b3b
%patch24 -p1
d433ea
%patch25
d433ea
%patch26 -p1
c90b3b
c90b3b
# SCL-specific patches
c90b3b
%patch100 -p1
c90b3b
%patch101 -p1
c90b3b
%patch102 -p1
d433ea
d433ea
# Optional (unused) multipart support (see patch 25)
d433ea
rm rt.equinox.bundles/bundles/org.eclipse.equinox.http.servlet/src/org/eclipse/equinox/http/servlet/internal/multipart/MultipartSupport{Impl,FactoryImpl,Part}.java
d433ea
c90b3b
# No strict bin includes
c90b3b
sed -i -e '/jgit.dirtyWorkingTree>/a<strictSrcIncludes>false</strictSrcIncludes><strictBinIncludes>false</strictBinIncludes>' eclipse-platform-parent/pom.xml
d433ea
d433ea
# Remove jgit deps because building from source tarball, not a git repo
d433ea
%pom_remove_dep :tycho-buildtimestamp-jgit eclipse-platform-parent
d433ea
%pom_remove_dep :tycho-sourceref-jgit eclipse-platform-parent
d433ea
%pom_xpath_remove 'pom:configuration/pom:timestampProvider' eclipse-platform-parent
d433ea
%pom_xpath_remove 'pom:configuration/pom:sourceReferences' eclipse-platform-parent
d433ea
d433ea
# Resolving the target platform requires too many changes, so don't use it
d433ea
%pom_xpath_remove "pom:configuration/pom:target" eclipse-platform-parent
d433ea
d433ea
# Disable as many products as possible to make the build faster, we care only for the IDE
d433ea
%pom_disable_module platform.sdk eclipse.platform.releng.tychoeclipsebuilder
d433ea
%pom_disable_module rcp eclipse.platform.releng.tychoeclipsebuilder
d433ea
%pom_disable_module rcp.sdk eclipse.platform.releng.tychoeclipsebuilder
d433ea
%pom_disable_module rcp.config eclipse.platform.releng.tychoeclipsebuilder
d433ea
%pom_disable_module sdk eclipse.platform.releng.tychoeclipsebuilder
d433ea
%pom_disable_module equinox-sdk eclipse.platform.releng.tychoeclipsebuilder
d433ea
%pom_disable_module equinox.starterkit.product eclipse.platform.releng.tychoeclipsebuilder
d433ea
%pom_disable_module eclipse.platform.repository eclipse.platform.releng.tychoeclipsebuilder
d433ea
d433ea
# Disable bundles that we don't ship as part of the remaining products
d433ea
%pom_disable_module bundles/org.eclipse.equinox.cm.test rt.equinox.bundles
d433ea
%pom_disable_module features/org.eclipse.equinox.sdk rt.equinox.bundles
d433ea
%pom_disable_module bundles/org.eclipse.equinox.console.jaas.fragment rt.equinox.bundles
d433ea
%pom_disable_module bundles/org.eclipse.equinox.console.ssh rt.equinox.bundles
d433ea
%pom_disable_module bundles/org.eclipse.equinox.transforms.xslt rt.equinox.bundles
d433ea
%pom_disable_module bundles/org.eclipse.equinox.transforms.hook rt.equinox.bundles
d433ea
%pom_disable_module bundles/org.eclipse.equinox.weaving.caching.j9 rt.equinox.bundles
d433ea
%pom_disable_module bundles/org.eclipse.equinox.weaving.caching rt.equinox.bundles
d433ea
%pom_disable_module bundles/org.eclipse.equinox.weaving.hook rt.equinox.bundles
d433ea
%pom_disable_module features/org.eclipse.equinox.compendium.sdk rt.equinox.bundles
d433ea
%pom_disable_module features/org.eclipse.equinox.core.sdk rt.equinox.bundles
d433ea
%pom_disable_module features/org.eclipse.equinox.p2.sdk rt.equinox.p2
d433ea
%pom_disable_module features/org.eclipse.equinox.server.p2 rt.equinox.bundles
d433ea
%pom_disable_module features/org.eclipse.equinox.serverside.sdk rt.equinox.bundles
d433ea
%pom_disable_module bundles/org.eclipse.equinox.p2.artifact.optimizers rt.equinox.p2
d433ea
%pom_disable_module bundles/org.eclipse.equinox.p2.artifact.processors rt.equinox.p2
c90b3b
%pom_disable_module bundles/org.eclipse.equinox.p2.artifact.checksums.bouncycastle rt.equinox.p2
d433ea
d433ea
# Don't need annotations for obsolete JDKs
d433ea
%pom_disable_module org.eclipse.jdt.annotation_v1 eclipse.jdt.core
4008a4
%pom_xpath_remove "plugin[@version='1.1.500.qualifier']" eclipse.jdt/org.eclipse.jdt-feature/feature.xml
4008a4
4008a4
# javax.annotation -> jakarta.annotation-api
4008a4
sed -i -e 's/javax.annotation/%{_jakarta_annotations}/' eclipse-platform-parent/pom.xml \
4008a4
  eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml \
4008a4
  eclipse.platform.common/bundles/org.eclipse.jdt.doc.isv/pom.xml \
4008a4
  eclipse.platform.common/bundles/org.eclipse.pde.doc.user/pom.xml \
4008a4
  eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/pom.xml
4008a4
4008a4
# Fix requirement on junit 4
4008a4
sed -i -e 's/4.13.0,5.0.0/4.12.0,5.0.0/' eclipse.jdt.ui/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/internal/junit/buildpath/BuildPathSupport.java
d433ea
d433ea
# Disable examples
4008a4
%pom_disable_module infocenter-web eclipse.platform.ua
d433ea
%pom_disable_module examples rt.equinox.p2
d433ea
%pom_disable_module examples eclipse.platform.ui
d433ea
%pom_disable_module org.eclipse.debug.examples.core eclipse.platform.debug
d433ea
%pom_disable_module org.eclipse.debug.examples.memory eclipse.platform.debug
d433ea
%pom_disable_module org.eclipse.debug.examples.mixedmode eclipse.platform.debug
d433ea
%pom_disable_module org.eclipse.debug.examples.ui eclipse.platform.debug
d433ea
%pom_disable_module bundles/org.eclipse.sdk.examples eclipse.platform.releng
d433ea
%pom_disable_module features/org.eclipse.sdk.examples-feature eclipse.platform.releng
d433ea
%pom_disable_module examples/org.eclipse.swt.examples.ole.win32 eclipse.platform.swt
d433ea
%pom_disable_module examples/org.eclipse.compare.examples eclipse.platform.team
d433ea
%pom_disable_module examples/org.eclipse.compare.examples.xml eclipse.platform.team
d433ea
%pom_disable_module examples/org.eclipse.team.examples.filesystem eclipse.platform.team
c90b3b
%pom_disable_module org.eclipse.jface.text.examples eclipse.platform.text
4008a4
%pom_disable_module org.eclipse.ui.examples.javaeditor eclipse.platform.text
d433ea
%pom_disable_module org.eclipse.ui.genericeditor.examples eclipse.platform.text
d433ea
%pom_disable_module org.eclipse.ui.intro.quicklinks.examples eclipse.platform.ua
d433ea
%pom_disable_module org.eclipse.ui.intro.solstice.examples eclipse.platform.ua
c90b3b
c90b3b
# Disable tests
c90b3b
for pom in eclipse.jdt.core{,.binaries} eclipse.jdt.debug eclipse.jdt.ui eclipse.pde.build eclipse.pde.ui{,/apitools} \
c90b3b
    eclipse.platform eclipse.platform.debug eclipse.platform.releng eclipse.platform.resources eclipse.platform.runtime \
c90b3b
    eclipse.platform.swt eclipse.platform.team eclipse.platform.text eclipse.platform.ui eclipse.platform.ua \
c90b3b
    rt.equinox.bundles rt.equinox.framework rt.equinox.p2 ; do
c90b3b
  sed -i -e '/<module>.*tests.*<\/module>/d' $pom/pom.xml
c90b3b
done
c90b3b
%pom_disable_module bundles/org.eclipse.equinox.frameworkadmin.test rt.equinox.p2
c90b3b
%pom_disable_module eclipse-junit-tests eclipse.platform.releng.tychoeclipsebuilder
c90b3b
%pom_disable_module ./tests/org.eclipse.e4.tools.test eclipse.platform.ui.tools
c90b3b
c90b3b
# Disable test framework if we are not shipping tests
c90b3b
%pom_disable_module features/org.eclipse.test-feature eclipse.platform.releng
c90b3b
%pom_disable_module bundles/org.eclipse.test eclipse.platform.releng
c90b3b
%pom_disable_module bundles/org.eclipse.test.performance eclipse.platform.releng
c90b3b
%pom_disable_module bundles/org.eclipse.test.performance.win32 eclipse.platform.releng
c90b3b
%pom_disable_module bundles/org.eclipse.ant.optional.junit eclipse.platform.releng
d433ea
d433ea
# Disable servletbridge stuff
d433ea
%pom_disable_module bundles/org.eclipse.equinox.http.servletbridge rt.equinox.bundles
d433ea
%pom_disable_module bundles/org.eclipse.equinox.servletbridge rt.equinox.bundles
d433ea
%pom_disable_module bundles/org.eclipse.equinox.servletbridge.template rt.equinox.bundles
d433ea
d433ea
# Don't need enforcer on RPM builds
d433ea
%pom_remove_plugin :maven-enforcer-plugin eclipse-platform-parent
d433ea
d433ea
# This part generates secondary fragments using primary fragments
d433ea
rm -rf eclipse.platform.swt.binaries/bundles/org.eclipse.swt.gtk.linux.{aarch64,s390x}
d433ea
rm -rf rt.equinox.framework/bundles/org.eclipse.equinox.launcher.gtk.linux.{aarch64,s390x}
d433ea
for dir in rt.equinox.binaries rt.equinox.framework/bundles eclipse.platform.swt.binaries/bundles ; do
d433ea
  utils/ensure_arch.sh "$dir" x86_64 aarch64 s390x
d433ea
done
d433ea
d433ea
# Remove platform-specific stuff that we don't care about to reduce build time
d433ea
# (i.e., all bundles that are not applicable to the current build platform --
d433ea
# this reduces the build time on arm by around 20 minutes per architecture that
d433ea
# we are not currently building)
d433ea
TYCHO_ENV="<environment><os>linux</os><ws>gtk</ws><arch>%{eclipse_arch}</arch></environment>"
d433ea
%pom_xpath_set "pom:configuration/pom:environments" "$TYCHO_ENV" eclipse-platform-parent
d433ea
%pom_xpath_set "pom:configuration/pom:environments" "$TYCHO_ENV" eclipse.platform.ui/bundles/org.eclipse.e4.ui.swt.gtk
d433ea
for b in `ls eclipse.platform.swt.binaries/bundles | grep -P -e 'org.eclipse.swt\.(?!gtk\.linux.%{eclipse_arch}$)'` ; do
d433ea
  module=$(grep ">bundles/$b<" eclipse.platform.swt.binaries/pom.xml || :)
d433ea
  if [ -n "$module" ] ; then
d433ea
    %pom_disable_module bundles/$b eclipse.platform.swt.binaries
d433ea
    %pom_xpath_inject "pom:excludes" "<plugin id='$b'/>" eclipse.platform.ui/features/org.eclipse.e4.rcp
d433ea
  fi
d433ea
done
d433ea
for b in `ls rt.equinox.framework/bundles | grep -P -e 'org.eclipse.equinox.launcher\.(?!gtk\.linux.%{eclipse_arch}$)'` ; do
d433ea
  module=$(grep ">bundles/$b<" rt.equinox.framework/pom.xml || :)
d433ea
  if [ -n "$module" ] ; then
d433ea
    %pom_disable_module bundles/$b rt.equinox.framework
d433ea
    %pom_xpath_remove -f "plugin[@id='$b']" rt.equinox.framework/features/org.eclipse.equinox.executable.feature/feature.xml
d433ea
  fi
d433ea
done
d433ea
for b in `(cd rt.equinox.bundles/bundles && ls -d *{macosx,win32,linux}*) | grep -P -e 'org.eclipse.equinox.security\.(?!linux\.%{eclipse_arch}$)'` ; do
d433ea
  module=$(grep ">bundles/$b<" rt.equinox.bundles/pom.xml || :)
d433ea
  if [ -n "$module" ] ; then
d433ea
    %pom_disable_module bundles/$b rt.equinox.bundles
d433ea
    %pom_xpath_remove -f "plugin[@id='$b']" rt.equinox.p2/features/org.eclipse.equinox.p2.core.feature/feature.xml
d433ea
  fi
d433ea
done
c90b3b
for b in `ls eclipse.platform.team/bundles/ | grep -P -e 'org.eclipse.core.net\.(?!linux.%{eclipse_arch}$)'` ; do
c90b3b
  %pom_disable_module bundles/$b eclipse.platform.team
d433ea
done
d433ea
for b in `ls eclipse.platform.resources/bundles/ | grep -P -e 'org.eclipse.core.filesystem\.(?!linux\.%{eclipse_arch}$)'` ; do
d433ea
  module=$(grep ">bundles/$b<" eclipse.platform.resources/pom.xml || :)
d433ea
  if [ -n "$module" ] ; then
d433ea
    %pom_disable_module bundles/$b eclipse.platform.resources
d433ea
  fi
d433ea
done
d433ea
%pom_disable_module org.eclipse.jdt.launching.macosx eclipse.jdt.debug
d433ea
%pom_disable_module org.eclipse.jdt.launching.ui.macosx eclipse.jdt.debug
d433ea
%pom_disable_module bundles/org.eclipse.compare.win32 eclipse.platform.team
d433ea
%pom_disable_module org.eclipse.e4.ui.workbench.renderers.swt.cocoa eclipse.platform.ui/bundles
d433ea
%pom_disable_module org.eclipse.ui.cocoa eclipse.platform.ui/bundles
d433ea
%pom_disable_module org.eclipse.ui.win32 eclipse.platform.ui/bundles
4008a4
%pom_disable_module org.eclipse.e4.ui.swt.win32 eclipse.platform.ui/bundles
d433ea
%pom_disable_module bundles/org.eclipse.core.resources.win32.x86_64 eclipse.platform.resources
d433ea
for f in eclipse.jdt/org.eclipse.jdt-feature/feature.xml \
d433ea
         eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml \
d433ea
         eclipse.platform.releng/features/org.eclipse.rcp/feature.xml \
d433ea
         eclipse.platform.releng/features/org.eclipse.platform-feature/feature.xml ; do
d433ea
  %pom_xpath_remove -f "plugin[@os='macosx']" $f
d433ea
  %pom_xpath_remove -f "plugin[@os='win32']" $f
d433ea
  %pom_xpath_remove -f "plugin[@ws='win32']" $f
d433ea
  for arch in x86_64 aarch64 ppc64le s390x ; do
d433ea
    if [ "$arch" != "%{eclipse_arch}" ] ; then
d433ea
      %pom_xpath_remove -f "plugin[@arch='$arch']" $f
d433ea
    fi
d433ea
  done
d433ea
done
d433ea
d433ea
%if %{with bootstrap} || %{without contrib_tools}
d433ea
# Disable contributor tools that have external dependencies during bootstrap
d433ea
%pom_disable_module eclipse.platform.ui.tools
d433ea
%pom_disable_module features/org.eclipse.swt.tools.feature eclipse.platform.swt
d433ea
%pom_disable_module bundles/org.eclipse.swt.tools.base eclipse.platform.swt
d433ea
%pom_disable_module bundles/org.eclipse.swt.tools.spies eclipse.platform.swt
d433ea
%pom_disable_module bundles/org.eclipse.swt.tools eclipse.platform.swt
d433ea
%pom_disable_module features/org.eclipse.releng.tools eclipse.platform.releng
d433ea
%pom_disable_module bundles/org.eclipse.releng.tools eclipse.platform.releng
d433ea
%endif
d433ea
d433ea
# Include some extra features with the product that some other projects may need at
d433ea
# build time as part of their target platform definitions
d433ea
sed -i -e '/<features>/a<feature id="org.eclipse.core.runtime.feature"/>' \
d433ea
  eclipse.platform.releng.tychoeclipsebuilder/platform/platform.product
d433ea
d433ea
# Ensure batch compiler gets installed correctly
d433ea
sed -i -e '/org.eclipse.ui.themes/i<plugin id="org.eclipse.jdt.core.compiler.batch" download-size="0" install-size="0" version="0.0.0" unpack="false"/>' \
d433ea
  eclipse.platform.releng/features/org.eclipse.platform-feature/feature.xml
d433ea
sed -i -e '/<\/excludes>/i<plugin id="org.eclipse.jdt.core.compiler.batch"/>' \
d433ea
  eclipse.platform.releng/features/org.eclipse.platform-feature/pom.xml
d433ea
d433ea
# Don't set perms on files for platforms that aren't linux
d433ea
for f in rt.equinox.framework/features/org.eclipse.equinox.executable.feature/build.properties; do
d433ea
  grep '^root\.linux\.gtk\.%{eclipse_arch}[.=]' $f > tmp
d433ea
  sed -i -e '/^root\./d' $f && cat tmp >> $f
d433ea
done
d433ea
d433ea
# Hack - this can go away once upstream grows arm and aarch64 support
d433ea
mkdir -p rt.equinox.binaries/org.eclipse.equinox.executable/bin/gtk/linux/%{eclipse_arch}
d433ea
d433ea
# Ensure that bundles with native artifacts are dir-shaped, so no *.so is extracted into user.home
d433ea
for f in eclipse.platform.swt.binaries/bundles/org.eclipse.swt.gtk.linux.*/META-INF/MANIFEST.MF \
d433ea
         eclipse.platform.resources/bundles/org.eclipse.core.filesystem.linux.*/META-INF/MANIFEST.MF \
d433ea
         eclipse.platform.team/bundles/org.eclipse.core.net.linux.*/META-INF/MANIFEST.MF ; do
d433ea
    echo -e "Eclipse-BundleShape: dir\n\n" >> $f;
d433ea
done
d433ea
d433ea
# Add dep on Java API stubs when compiling with JDT
d433ea
%pom_xpath_inject "pom:pluginManagement/pom:plugins/pom:plugin[pom:artifactId='tycho-compiler-plugin']/pom:dependencies" \
d433ea
  "<dependency><groupId>org.eclipse</groupId><artifactId>java10api</artifactId><version>10</version></dependency>" eclipse-platform-parent
d433ea
d433ea
# Build fake ant bundle that contains symlinks to system jars
d433ea
dependencies/fake_ant_dependency.sh
d433ea
d433ea
# Allow usage of javax.servlet.jsp 2.3.
d433ea
sed -i '/javax\.servlet\.jsp/ s/2\.3/2\.4/' rt.equinox.bundles/bundles/org.eclipse.equinox.jsp.jasper/META-INF/MANIFEST.MF
d433ea
d433ea
# Use javax.servlet-api (Glassfish) instead of javax.servlet (Tomcat)
d433ea
find -name feature.xml | xargs sed -i -e 's|"javax.servlet"|"javax.servlet-api"|'
d433ea
sed -i -e "2iRequire-Bundle: javax.servlet-api" rt.equinox.bundles/bundles/org.eclipse.equinox.http.{jetty,servlet}/META-INF/MANIFEST.MF
d433ea
d433ea
# Fix constraint on gogo runtime
d433ea
sed -i -e '/org.apache.felix.service.command/s/;status=provisional//' rt.equinox.bundles/bundles/org.eclipse.equinox.console{,.ssh}/META-INF/MANIFEST.MF
d433ea
d433ea
# Pre-compiling JSPs does not currently work
d433ea
%pom_remove_plugin org.eclipse.jetty:jetty-jspc-maven-plugin eclipse.platform.ua/org.eclipse.help.webapp
d433ea
4008a4
# Make maven output less noisy due to lack of intenet connection
4008a4
sed -i -e '/baselineMode/s/warn/disable/' eclipse-platform-parent/pom.xml
4008a4
4008a4
# Remove release parameter not needed when using BREE libs
4008a4
sed -i -e '/maven.compiler.release/d' \
4008a4
  eclipse.jdt.debug/org.eclipse.jdt.debug/pom.xml eclipse.jdt.debug/org.eclipse.jdt.launching/pom.xml rt.equinox.p2/bundles/org.eclipse.equinox.p2.artifact.repository/pom.xml
4008a4
d433ea
# Use system osgi.annotation lib
d433ea
ln -s $(build-classpath osgi-annotation) rt.equinox.framework/bundles/org.eclipse.osgi/osgi/
d433ea
ln -s $(build-classpath osgi-annotation) rt.equinox.framework/bundles/org.eclipse.osgi.services/lib/
d433ea
ln -s $(build-classpath osgi-annotation) rt.equinox.framework/bundles/org.eclipse.osgi.util/lib/
d433ea
ln -s $(build-classpath osgi-annotation) rt.equinox.bundles/bundles/org.eclipse.equinox.http.servlet/osgi/
d433ea
ln -s $(build-classpath osgi-annotation) rt.equinox.bundles/bundles/org.eclipse.equinox.coordinator/lib/
d433ea
ln -s $(build-classpath osgi-annotation) rt.equinox.bundles/bundles/org.eclipse.equinox.log.stream/osgi/
d433ea
d433ea
# The order of these mvn_package calls is important
d433ea
%mvn_package "::pom::" __noinstall
c90b3b
%mvn_package ":org.eclipse.pde.tools.versioning" contributor-tools
d433ea
%mvn_package "::jar:sources{,-feature}:" sdk
d433ea
%mvn_package ":org.eclipse.jdt.doc.isv" sdk
d433ea
%mvn_package ":org.eclipse.platform.doc.isv" sdk
d433ea
%mvn_package ":org.eclipse.equinox.executable" sdk
d433ea
%mvn_package "org.eclipse.jdt{,.feature}:" jdt
d433ea
%mvn_package ":org.eclipse.ant.{launching,ui}" jdt
d433ea
%mvn_package ":org.eclipse.equinox.p2.discovery.{feature,compatibility}" p2-discovery
d433ea
%mvn_package ":org.eclipse.equinox.p2{,.ui}.discovery" p2-discovery
d433ea
%mvn_package ":org.eclipse.e4{,.core}.tools*" contributor-tools
d433ea
%mvn_package ":org.eclipse.releng.tools" contributor-tools
d433ea
%mvn_package ":org.eclipse.swt.tools*" contributor-tools
d433ea
%mvn_package "org.eclipse.cvs{,.feature}:" cvs
d433ea
%mvn_package "org.eclipse.team:org.eclipse.team.cvs*" cvs
d433ea
%mvn_package "org.eclipse.pde{,.ui,.feature}:" pde
c90b3b
%mvn_package ":org.eclipse.pde.api.tools*" pde
d433ea
%mvn_package "org.eclipse.ui:org.eclipse.ui.trace" pde
d433ea
%mvn_package "org.eclipse.sdk{,.feature}:" sdk
d433ea
%mvn_package ":" __noinstall
d433ea
d433ea
%build
d433ea
# Compiler/linker flags for native parts
d433ea
export CFLAGS="%{optflags}"
d433ea
export LDFLAGS="%{__global_ldflags}"
d433ea
export M_CFLAGS="$CFLAGS"
d433ea
export M_ARCH="$LDFLAGS"
d433ea
d433ea
#This is the lowest value where the build succeeds. 512m is not enough.
d433ea
export MAVEN_OPTS="-Xmx1024m -XX:CompileCommand=exclude,org/eclipse/tycho/core/osgitools/EquinoxResolver,newState ${MAVEN_OPTS}"
4008a4
export JAVA_HOME=%{_jvmdir}/java-11
4008a4
4008a4
# TODO: Fix bug in the tycho installation
4008a4
xmvn -o install:install-file -Dtycho.mode=maven -Dfile=%{_javadir}/tycho/tycho-lib-detector.jar -DpomFile=%{_mavenpomdir}/tycho/tycho-lib-detector.pom
d433ea
d433ea
# Pre-build agent jar needed for AdvancedSourceLookupSupport
4008a4
sed -i -e '/createSourcesJar/d' -e 's/8\.0\.1/7.0/' eclipse.jdt.debug/org.eclipse.jdt.launching.javaagent/pom.xml
4008a4
sed -i -e 's/V15/V11/' -e 's/ASM8/ASM7/' eclipse.jdt.debug/org.eclipse.jdt.launching.javaagent/src/main/java/org/eclipse/jdt/launching/internal/weaving/ClassfileTransformer.java \
4008a4
  eclipse.pde.ui/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/Util.java
d433ea
(cd eclipse.jdt.debug/org.eclipse.jdt.launching.javaagent && xmvn -e -o -B clean verify)
d433ea
mv eclipse.jdt.debug/org.eclipse.jdt.launching.javaagent/target/javaagent-shaded.jar \
d433ea
  eclipse.jdt.debug/org.eclipse.jdt.launching/lib
d433ea
d433ea
# Qualifier generated from last modification time of source tarball
d433ea
QUALIFIER=$(date -u -d"$(stat --format=%y %{SOURCE0})" +v%Y%m%d-%H%M)
4008a4
%mvn_build -j -f -- -e -DforceContextQualifier=$QUALIFIER -DaggregatorBuild=true -Dbuild.compiler="extJavac" \
d433ea
%if %{with bootstrap}
4008a4
   -Pbree-libs,!api-generation,!build-docs \
4008a4
%else
4008a4
   -Pbree-libs \
d433ea
%endif
4008a4
   -Declipse.javadoc=%{_jvmdir}/java-11/bin/javadoc -Dnative=gtk.linux.%{eclipse_arch} \
4008a4
   -Dtycho.local.keepTarget --global-toolchains %{SOURCE2} \
d433ea
   -Dfedora.p2.repos=$(pwd)/.m2/p2/repo-sdk/plugins -DbuildType=X
d433ea
d433ea
# Location that the product is materialised
d433ea
product="eclipse.platform.releng.tychoeclipsebuilder/platform/target/products/org.eclipse.platform.ide/linux/gtk/%{eclipse_arch}"
d433ea
d433ea
# Re-symlink ant bundle to use system jars
d433ea
dependencies/fake_ant_dependency.sh $product/eclipse/plugins/org.apache.ant_*
d433ea
d433ea
# Symlink necessary plugins that are provided by other packages
d433ea
dependencies/replace_platform_plugins_with_symlinks.sh $product/eclipse %{_javadir} %{_jnidir}
d433ea
d433ea
pushd $product/eclipse
d433ea
d433ea
#clean up
d433ea
rm -rf configuration/org.eclipse.core.runtime
d433ea
rm -rf configuration/org.eclipse.equinox.app
d433ea
rm -rf configuration/org.eclipse.update
d433ea
rm -rf configuration/org.eclipse.osgi
d433ea
rm -rf p2/org.eclipse.equinox.p2.core/cache/*
d433ea
# no icon needed
d433ea
rm -f icon.xpm
d433ea
d433ea
# EMF and ECF are packaged separately
d433ea
rm -rf features/org.eclipse.emf.* plugins/org.eclipse.emf.* \
d433ea
  features/org.eclipse.ecf.* plugins/org.eclipse.ecf.* plugins/org.eclipse.ecf_*
d433ea
d433ea
#delete all local repositories. We want to have only "original" by default.
d433ea
pushd p2/org.eclipse.equinox.p2.engine/.settings
d433ea
    sed -i "/repositories\/file/d" *.prefs ../profileRegistry/SDKProfile.profile/.data/.settings/*.prefs
d433ea
    sed -i "/repositories\/memory/d" *.prefs ../profileRegistry/SDKProfile.profile/.data/.settings/*.prefs
d433ea
popd
d433ea
d433ea
# ini file adjustements
d433ea
sed -i "s|-Xms40m|-Xms512m|g" eclipse.ini
d433ea
sed -i "s|-Xmx512m|-Xmx1024m|g" eclipse.ini
d433ea
sed -i '1i-protect\nroot' eclipse.ini
4008a4
sed -i '/-vmargs/i-vm\n%{_jvmdir}/java-11/bin/java' eclipse.ini
d433ea
d433ea
# Temporary fix until https://bugs.eclipse.org/294877 is resolved
d433ea
cat >> eclipse.ini <
d433ea
-Dorg.eclipse.swt.browser.UseWebKitGTK=true
d433ea
-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=%{_datadir}/eclipse/dropins
d433ea
-Dp2.fragments=%{_eclipsedir}/droplets,%{_datadir}/eclipse/droplets
d433ea
-Declipse.p2.skipMovedInstallDetection=true
d433ea
-Dosgi.resolver.usesMode=ignore
d433ea
EOF
d433ea
d433ea
popd #eclipse
d433ea
d433ea
%install
d433ea
%mvn_install
d433ea
d433ea
# Some directories we need
d433ea
install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir}
d433ea
install -d -m 755 $RPM_BUILD_ROOT%{_jnidir}
d433ea
install -d -m 755 $RPM_BUILD_ROOT%{_javadir}/eclipse
d433ea
install -d -m 755 $RPM_BUILD_ROOT%{_mavenpomdir}
d433ea
install -d -m 755 $RPM_BUILD_ROOT%{_bindir}
d433ea
d433ea
# Install icons
d433ea
install -D eclipse.platform/platform/org.eclipse.platform/eclipse32.png \
d433ea
    $RPM_BUILD_ROOT/usr/share/icons/hicolor/32x32/apps/%{name}.png
d433ea
install -D eclipse.platform/platform/org.eclipse.platform/eclipse48.png \
d433ea
    $RPM_BUILD_ROOT/usr/share/icons/hicolor/48x48/apps/%{name}.png
d433ea
install -D eclipse.platform/platform/org.eclipse.platform/eclipse256.png \
d433ea
    $RPM_BUILD_ROOT/usr/share/icons/hicolor/256x256/apps/%{name}.png
d433ea
install -d $RPM_BUILD_ROOT/usr/share/pixmaps
d433ea
ln -s /usr/share/icons/hicolor/256x256/apps/%{name}.png \
d433ea
    $RPM_BUILD_ROOT/usr/share/pixmaps/%{name}.png
d433ea
d433ea
# Install desktop file
d433ea
sed -i -e 's/Exec=eclipse/Exec=%{app_exec}/g' desktopintegration/eclipse.desktop
d433ea
sed -i -e 's/Name=Eclipse/Name=%{app_name}/g' desktopintegration/eclipse.desktop
d433ea
sed -i -e 's/Icon=eclipse/Icon=%{name}/g' desktopintegration/eclipse.desktop
d433ea
install -m644 -D desktopintegration/eclipse.desktop $RPM_BUILD_ROOT/usr/share/applications/%{name}.desktop
d433ea
desktop-file-validate $RPM_BUILD_ROOT/usr/share/applications/%{name}.desktop
d433ea
d433ea
# Install appstream appdata
d433ea
install -m644 -D desktopintegration/eclipse.appdata.xml      $RPM_BUILD_ROOT%{_datadir}/appdata/eclipse.appdata.xml
d433ea
install -m644 -D desktopintegration/eclipse-jdt.metainfo.xml $RPM_BUILD_ROOT%{_datadir}/appdata/eclipse-jdt.metainfo.xml
d433ea
install -m644 -D desktopintegration/eclipse-pde.metainfo.xml $RPM_BUILD_ROOT%{_datadir}/appdata/eclipse-pde.metainfo.xml
d433ea
d433ea
LOCAL_PWD=`pwd`
d433ea
#change the installation p2 files
d433ea
pushd eclipse.platform.releng.tychoeclipsebuilder/platform/target/products/org.eclipse.platform.ide/linux/gtk/%{eclipse_arch}/eclipse/p2/org.eclipse.equinox.p2.engine/profileRegistry/SDKProfile.profile/
d433ea
for i in `ls | grep "profile.gz"` ; do  \
d433ea
        echo $i ; \
d433ea
        gunzip $i ; \
d433ea
        sed -i -e "s@${LOCAL_PWD}/eclipse.platform.releng.tychoeclipsebuilder/platform/target/products/org.eclipse.platform.ide/linux/gtk/%{eclipse_arch}/eclipse@%{_eclipsedir}@g" *.profile ; \
d433ea
        gzip *.profile ; \
d433ea
    done 
d433ea
popd 
d433ea
d433ea
#installation itself - copy it into right location
d433ea
rsync -vrpl eclipse.platform.releng.tychoeclipsebuilder/platform/target/products/org.eclipse.platform.ide/linux/gtk/%{eclipse_arch}/eclipse \
d433ea
    %{buildroot}%{_prefix}/lib
d433ea
d433ea
# Symlink eclipse binary
d433ea
pushd %{buildroot}%{_bindir}
d433ea
    ln -s %{_eclipsedir}/eclipse
d433ea
popd
d433ea
d433ea
# Symlink eclipse ini
d433ea
pushd %{buildroot}/%{_sysconfdir}/
d433ea
    ln -s %{_eclipsedir}/eclipse.ini
d433ea
popd
d433ea
d433ea
# List jars to be symlinked into javadir
d433ea
pushd %{buildroot}%{_eclipsedir}/plugins
d433ea
EQUINOX_JARS=$(ls . | grep -P '^org.eclipse.equinox(?!.*\.ui[\._])' | sed -e 's|^org\.eclipse\.\(.*\)_.*|\1|')
d433ea
OSGI_JARS=$(ls . | grep '^org.eclipse.osgi' | sed -e 's|^org\.eclipse\.\(.*\)_.*|\1|')
d433ea
popd
d433ea
d433ea
# Symlink jars into javadir
d433ea
location=%{_eclipsedir}/plugins
d433ea
while [ "$location" != "/" ] ; do
d433ea
    location=$(dirname $location)
d433ea
    updir="$updir../"
d433ea
done
d433ea
pushd %{buildroot}%{_javadir}/eclipse
d433ea
for J in $EQUINOX_JARS core.contenttype core.jobs core.net core.runtime ; do
d433ea
  DIR=$updir%{_eclipsedir}/plugins
d433ea
  if [ "$J" != "equinox.http.servlet" ] ; then
d433ea
    [ -e "`ls $DIR/org.eclipse.${J}_*.jar`" ] && ln -s $DIR/org.eclipse.${J}_*.jar ${J}.jar
d433ea
  fi
d433ea
done
d433ea
popd
d433ea
d433ea
# Generate addition Maven metadata
d433ea
rm -rf .xmvn/ .xmvn-reactor
d433ea
%mvn_package "org.eclipse.osgi:" equinox-osgi
d433ea
%mvn_package "org.eclipse.swt:" swt
d433ea
d433ea
# Install Maven metadata for OSGi jars
d433ea
for J in $OSGI_JARS ; do
d433ea
  JAR=%{buildroot}%{_eclipsedir}/plugins/org.eclipse.${J}_*.jar
d433ea
  VER=$(echo $JAR | sed -e "s/.*${J}_\(.*\)\.jar/\1/")
d433ea
  %mvn_artifact "org.eclipse.osgi:$J:jar:$VER" $JAR
d433ea
  %mvn_alias "org.eclipse.osgi:$J" "org.eclipse.osgi:org.eclipse.$J" "org.eclipse.platform:org.eclipse.$J"
d433ea
done
d433ea
d433ea
# Install Maven metadata for SWT
d433ea
JAR=%{buildroot}%{_eclipsedir}/plugins/org.eclipse.swt_*.jar
d433ea
VER=$(echo $JAR | sed -e "s/.*_\(.*\)\.jar/\1/")
d433ea
%mvn_artifact "org.eclipse.swt:org.eclipse.swt:jar:$VER" ./eclipse.platform.swt.binaries/bundles/org.eclipse.swt.gtk.linux.%{eclipse_arch}/target/org.eclipse.swt.gtk.linux.%{eclipse_arch}-*-SNAPSHOT.jar
d433ea
%mvn_alias "org.eclipse.swt:org.eclipse.swt" "org.eclipse.swt:swt"
d433ea
%mvn_file "org.eclipse.swt:org.eclipse.swt" swt
d433ea
d433ea
%mvn_install
d433ea
d433ea
# Symlink SWT jar
d433ea
pushd %{buildroot}/%{_eclipsedir}/
d433ea
    ln -s $(abs2rel %{_jnidir}/swt.jar %{_eclipsedir})
d433ea
popd
d433ea
d433ea
#fix so permissions
d433ea
find $RPM_BUILD_ROOT/%{_eclipsedir} -name *.so -exec chmod a+x {} \;
d433ea
d433ea
# Usage marker
d433ea
install -d -m 755 %{buildroot}%{_eclipsedir}/.pkgs
d433ea
echo "%{version}-%{release}" > %{buildroot}%{_eclipsedir}/.pkgs/Distro%{?dist}
d433ea
d433ea
%files swt -f .mfiles-swt
d433ea
%{_eclipsedir}/plugins/org.eclipse.swt_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.swt.gtk.linux.*
d433ea
%{_eclipsedir}/swt.jar
d433ea
%{_jnidir}/swt.jar
d433ea
d433ea
%files platform
d433ea
%{_bindir}/eclipse
d433ea
%{_eclipsedir}/eclipse
d433ea
%{_eclipsedir}/.eclipseproduct
d433ea
%{_eclipsedir}/.pkgs
d433ea
%config %{_eclipsedir}/eclipse.ini
d433ea
%config %{_sysconfdir}/eclipse.ini
d433ea
/usr/share/applications/*
d433ea
/usr/share/pixmaps/*
d433ea
/usr/share/icons/*/*/apps/*
d433ea
%{_datadir}/appdata/eclipse.appdata.xml
d433ea
%dir %{_eclipsedir}/configuration/
d433ea
%dir %{_eclipsedir}/configuration/org.eclipse.equinox.simpleconfigurator/
d433ea
%{_eclipsedir}/configuration/config.ini
d433ea
%{_eclipsedir}/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info
d433ea
%{_eclipsedir}/features/org.eclipse.core.runtime.feature_*
d433ea
%{_eclipsedir}/features/org.eclipse.e4.rcp_*
d433ea
%{_eclipsedir}/features/org.eclipse.equinox.core.feature_*
d433ea
%{_eclipsedir}/features/org.eclipse.equinox.p2.core.feature_*
d433ea
%{_eclipsedir}/features/org.eclipse.equinox.p2.extras.feature_*
d433ea
%{_eclipsedir}/features/org.eclipse.equinox.p2.rcp.feature_*
d433ea
%{_eclipsedir}/features/org.eclipse.equinox.p2.user.ui_*
d433ea
%{_eclipsedir}/features/org.eclipse.help_*
d433ea
%{_eclipsedir}/features/org.eclipse.platform_*
d433ea
%{_eclipsedir}/features/org.eclipse.rcp_*
d433ea
%{_eclipsedir}/plugins/com.ibm.icu_*
d433ea
%{_eclipsedir}/plugins/com.jcraft.jsch_*
d433ea
%{_eclipsedir}/plugins/com.sun.el.javax.el_*
d433ea
%{_eclipsedir}/plugins/javax.*
4008a4
%if 0%{?fedora}
4008a4
%{_eclipsedir}/plugins/jakarta.*
4008a4
%endif
d433ea
%{_eclipsedir}/plugins/org.apache.*
d433ea
%{_eclipsedir}/plugins/org.eclipse.ant.core_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.compare_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.compare.core_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.core.commands_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.core.contenttype_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.core.databinding.beans_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.core.databinding.observable_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.core.databinding.property_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.core.databinding_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.core.expressions_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.core.externaltools_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.core.filebuffers_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.core.filesystem*
d433ea
%{_eclipsedir}/plugins/org.eclipse.core.jobs_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.core.net*
d433ea
%{_eclipsedir}/plugins/org.eclipse.core.resources_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.core.runtime_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.core.variables_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.debug.core_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.debug.ui_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.e4.core.commands_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.e4.core.contexts_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.e4.core.di_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.e4.core.di.annotations_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.e4.core.di.extensions_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.e4.core.di.extensions.supplier_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.e4.core.services_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.e4.emf.xpath_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.e4.ui.bindings_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.e4.ui.css.core_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.e4.ui.css.swt_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.e4.ui.css.swt.theme_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.e4.ui.di_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.e4.ui.dialogs_*
c90b3b
%{_eclipsedir}/plugins/org.eclipse.e4.ui.ide_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.e4.ui.model.workbench_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.e4.ui.services_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.e4.ui.swt.gtk_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.e4.ui.widgets_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.e4.ui.workbench_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.e4.ui.workbench3_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.e4.ui.workbench.addons.swt_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.e4.ui.workbench.renderers.swt_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.e4.ui.workbench.swt_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.app_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.bidi_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.common_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.concurrent_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.console_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.ds_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.event_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.frameworkadmin_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.frameworkadmin.equinox_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.http.jetty_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.http.registry_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.http.servlet_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.jsp.jasper_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.jsp.jasper.registry_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.launcher_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.launcher.gtk.linux.*_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.p2.artifact.repository_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.p2.console_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.p2.core_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.p2.director_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.p2.director.app_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.p2.directorywatcher_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.p2.engine_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.p2.extensionlocation_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.p2.garbagecollector_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.p2.jarprocessor_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.p2.metadata_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.p2.metadata.repository_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.p2.operations_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.p2.publisher_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.p2.publisher.eclipse_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.p2.reconciler.dropins_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.p2.repository_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.p2.repository.tools_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.p2.touchpoint.eclipse_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.p2.touchpoint.natives_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.p2.transport.ecf_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.p2.ui_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.p2.ui.importexport_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.p2.ui.sdk_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.p2.ui.sdk.scheduler_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.p2.updatechecker_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.p2.updatesite_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.preferences_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.registry_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.security*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.simpleconfigurator_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.equinox.simpleconfigurator.manipulator_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.help_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.help.base_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.help.ui_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.help.webapp_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.jdt.core.compiler.batch_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.jetty.*
d433ea
%{_eclipsedir}/plugins/org.eclipse.jface_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.jface.databinding_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.jface.text_*
4008a4
%{_eclipsedir}/plugins/org.eclipse.jface.notifications_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.jsch.core_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.jsch.ui_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.ltk.core.refactoring_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.ltk.ui.refactoring_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.platform_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.platform.doc.user_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.rcp_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.search_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.team.core_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.team.genericeditor.diff.extension_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.team.ui_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.text_*
c90b3b
%{_eclipsedir}/plugins/org.eclipse.text.quicksearch_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.ui_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.ui.browser_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.ui.cheatsheets_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.ui.console_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.ui.editors_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.ui.externaltools_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.ui.forms_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.ui.genericeditor_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.ui.ide_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.ui.ide.application_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.ui.intro_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.ui.intro.quicklinks_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.ui.intro.universal_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.ui.monitoring_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.ui.navigator_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.ui.navigator.resources_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.ui.net_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.ui.themes_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.ui.views_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.ui.views.log_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.ui.views.properties.tabbed_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.ui.workbench_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.ui.workbench.texteditor_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.update.configurator_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.urischeme_*
d433ea
%{_eclipsedir}/plugins/org.glassfish.web.javax.servlet.jsp_*
d433ea
%{_eclipsedir}/plugins/org.sat4j.core_*
d433ea
%{_eclipsedir}/plugins/org.sat4j.pb_*
d433ea
%{_eclipsedir}/plugins/org.tukaani.xz_*
d433ea
%{_eclipsedir}/plugins/org.w3c.css.sac_*
d433ea
%{_eclipsedir}/plugins/org.w3c.dom.svg_*
d433ea
%doc %{_eclipsedir}/readme
d433ea
%{_eclipsedir}/artifacts.xml
d433ea
%{_eclipsedir}/p2
d433ea
%{_javadir}/%{name}/core*
d433ea
%{_javadir}/%{name}/equinox*
d433ea
d433ea
%files jdt -f .mfiles-jdt
d433ea
%{_datadir}/appdata/eclipse-jdt.metainfo.xml
d433ea
d433ea
%files pde -f .mfiles-pde -f .mfiles-cvs -f .mfiles-sdk
d433ea
%{_datadir}/appdata/eclipse-pde.metainfo.xml
d433ea
d433ea
%files p2-discovery -f .mfiles-p2-discovery
d433ea
d433ea
%if %{without bootstrap} && %{with contrib_tools}
d433ea
c90b3b
%files contributor-tools -f .mfiles-contributor-tools
d433ea
%endif
d433ea
d433ea
%files equinox-osgi -f .mfiles-equinox-osgi
d433ea
%{_eclipsedir}/plugins/org.eclipse.osgi_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.osgi.compatibility.state_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.osgi.services_*
d433ea
%{_eclipsedir}/plugins/org.eclipse.osgi.util_*
d433ea
d433ea
%changelog
4008a4
* Fri Oct 23 2020 Alexander Kurtakov <akurtako@redhat.com> 1:4.16-8
4008a4
- Add java-11-openjdk-devel - without it /usr/lib/jvm/java-11 is not created.
4008a4
4008a4
* Thu Oct 22 2020 Alexander Kurtakov <akurtako@redhat.com> 1:4.16-7
4008a4
- Add additonal Java 11 dependencies to ensure all parts are installed.
4008a4
4008a4
* Tue Jul 21 2020 Mat Booth <mat.booth@redhat.com> - 1:4.16-6
4008a4
- Require Java 11 explicitly
4008a4
- Drop hotspot exclusions from the JDK 6 era
4008a4
4008a4
* Fri Jul 10 2020 Jiri Vanek <jvanek@redhat.com> - 1:4.16-5
4008a4
- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
4008a4
4008a4
* Mon Jun 29 2020 Mat Booth <mat.booth@redhat.com> - 1:4.16-4
4008a4
- Update linux-build snapshot and fix adding junit classpath containers to java
4008a4
  projects
4008a4
4008a4
* Tue Jun 23 2020 Mat Booth <mat.booth@redhat.com> - 1:4.16-3
4008a4
- Make a bit more portable and fix bootstrap mode
4008a4
4008a4
* Fri Jun 19 2020 Mat Booth <mat.booth@redhat.com> - 1:4.16-2
4008a4
- Non-bootstrap build
4008a4
4008a4
* Thu Jun 18 2020 Mat Booth <mat.booth@redhat.com> - 1:4.16-1
4008a4
- Update to latest upstream release
4008a4
c90b3b
* Thu Apr 02 2020 Mat Booth <mat.booth@redhat.com> - 1:4.15-5
c90b3b
- Make the requirement on felix-scr more strict
c90b3b
c90b3b
* Thu Apr 02 2020 Mat Booth <mat.booth@redhat.com> - 1:4.15-4
c90b3b
- Allow library detector to build on Java 11
c90b3b
c90b3b
* Sun Mar 29 2020 Mat Booth <mat.booth@redhat.com> - 1:4.15-3
c90b3b
- Don't build and ship the test framework. We are not shipping any actual tests
c90b3b
  anyway and this allows to drop the dependency on mockito and friends.
c90b3b
c90b3b
* Mon Mar 23 2020 Mat Booth <mat.booth@redhat.com> - 1:4.15-2
c90b3b
- Set compiler release to Java 8 on certain bundles
c90b3b
c90b3b
* Sat Mar 21 2020 Mat Booth <mat.booth@redhat.com> - 1:4.15-1
c90b3b
- Update to latest upstream release
c90b3b
c90b3b
* Tue Jan 28 2020 Mat Booth <mat.booth@redhat.com> - 1:4.14-5
c90b3b
- Backport patch to fix build against GCC 10
c90b3b
c90b3b
* Thu Jan 23 2020 Mat Booth <mat.booth@redhat.com> - 1:4.14-4
c90b3b
- Remove BR on bouncycastle
c90b3b
c90b3b
* Thu Jan 23 2020 Mat Booth <mat.booth@redhat.com> - 1:4.14-3
c90b3b
- Remove references to kxml/xpp3
c90b3b
c90b3b
* Thu Dec 19 2019 Mat Booth <mat.booth@redhat.com> - 1:4.14-2
c90b3b
- Full build
c90b3b
- Drop tests sub-package
c90b3b
c90b3b
* Thu Dec 19 2019 Mat Booth <mat.booth@redhat.com> - 1:4.14-1
c90b3b
- Update to latest upstream release
c90b3b
c90b3b
* Thu Dec 19 2019 Mat Booth <mat.booth@redhat.com> - 1:4.13-7
c90b3b
- Bump requirements on EMF/ECF
c90b3b
c90b3b
* Wed Dec 18 2019 Mat Booth <mat.booth@redhat.com> - 1:4.13-6
c90b3b
- Remove unnecessary dep on apache-commons-el
c90b3b
- Enable bootstrap mode
c90b3b
c90b3b
* Wed Nov 20 2019 Mat Booth <mat.booth@redhat.com> - 1:4.13-5
c90b3b
- Obsolete retired packages
c90b3b
c90b3b
* Mon Sep 23 2019 Mat Booth <mat.booth@redhat.com> - 1:4.13-4
c90b3b
- Add patch for ebz#550606
c90b3b
c90b3b
* Mon Sep 23 2019 Mat Booth <mat.booth@redhat.com> - 1:4.13-3
c90b3b
- Fix explicit hamcrest reqs
c90b3b
c90b3b
* Mon Sep 16 2019 Mat Booth <mat.booth@redhat.com> - 1:4.13-2
c90b3b
- Fix PDE installation
c90b3b
c90b3b
* Mon Sep 09 2019 Mat Booth <mat.booth@redhat.com> - 1:4.13-1
c90b3b
- Update to latest upstream release
c90b3b
d433ea
* Wed Jul 24 2019 Mat Booth <mat.booth@redhat.com> - 1:4.12-6
d433ea
- Reenable normal debuginfo generation for the launcher binary on Fedora
d433ea
d433ea
* Thu Jun 27 2019 Mat Booth <mat.booth@redhat.com> - 1:4.12-5
d433ea
- Fix NoClassDefFoundError regression in ant support
d433ea
d433ea
* Thu Jun 20 2019 Mat Booth <mat.booth@redhat.com> - 1:4.12-4
d433ea
- Fix deps on batik stack
d433ea
d433ea
* Thu Jun 20 2019 Mat Booth <mat.booth@redhat.com> - 1:4.12-3
d433ea
- Disable more examples and allow contrib-tools mode to build properly
d433ea
d433ea
* Wed Jun 19 2019 Mat Booth <mat.booth@redhat.com> - 1:4.12-2
d433ea
- Additional fixes for ebz548211
d433ea
d433ea
* Mon Jun 17 2019 Mat Booth <mat.booth@redhat.com> - 1:4.12-1
d433ea
- Update to 2019-06 release
d433ea
d433ea
* Sun Jun 16 2019 Mat Booth <mat.booth@redhat.com> - 1:4.11-15
d433ea
- Rebuild against new Jetty, ECF and EMF
d433ea
d433ea
* Wed Jun 12 2019 Mat Booth <mat.booth@redhat.com> - 1:4.11-14
d433ea
- Full rebuild
d433ea
d433ea
* Wed Jun 12 2019 Mat Booth <mat.booth@redhat.com> - 1:4.11-13
d433ea
- Add patch for lucene 8 and rebootstrap
d433ea
d433ea
* Thu May 30 2019 Mat Booth <mat.booth@redhat.com> - 1:4.11-12
d433ea
- Avoid requirement on optional test dependency commons-fileupload
d433ea
d433ea
* Fri May 24 2019 Mat Booth <mat.booth@redhat.com> - 1:4.11-11
d433ea
- Clean up unused maven metadata
d433ea
d433ea
* Fri May 24 2019 Mat Booth <mat.booth@redhat.com> - 1:4.11-10
d433ea
- Add missing BR on google-gson
d433ea
d433ea
* Thu May 23 2019 Mat Booth <mat.booth@redhat.com> - 1:4.11-9
d433ea
- Bump deps on batik and xmlgraphics
d433ea
d433ea
* Tue May 07 2019 Mat Booth <mat.booth@redhat.com> - 1:4.11-8
d433ea
- Re-instate junit5 dep since dependent modules were fixed
d433ea
d433ea
* Wed May 01 2019 Mat Booth <mat.booth@redhat.com> - 1:4.11-7
d433ea
- Bump requirements on Jetty
d433ea
- Avoid reliance on Javascript in SWT build
d433ea
d433ea
* Tue Apr 30 2019 Mat Booth <mat.booth@redhat.com> - 1:4.11-6
d433ea
- Disable hard requirement on ant-junit5
d433ea
d433ea
* Thu Apr 25 2019 Mat Booth <mat.booth@redhat.com> - 1:4.11-5
d433ea
- Fix bootstrap mode to use bcond flags
d433ea
- Bump requirements on Jetty, SCR and ICU4j
d433ea
d433ea
* Wed Apr 10 2019 Mat Booth <mat.booth@redhat.com> - 1:4.11-4
d433ea
- Obsolete recommenders package, rhbz#1698504
d433ea
d433ea
* Tue Mar 19 2019 Mat Booth <mat.booth@redhat.com> - 1:4.11-3
d433ea
- Pre-strip debuginfo from the launcher binary to avoid conflicts with other RCP
d433ea
  applications, which will use identical launcher binaries
d433ea
d433ea
* Thu Mar 14 2019 Mat Booth <mat.booth@redhat.com> - 1:4.11-2
d433ea
- Full build
d433ea
d433ea
* Mon Mar 11 2019 Mat Booth <mat.booth@redhat.com> - 1:4.11-1
d433ea
- Update to 2019-03 release
d433ea
- Drop support for 32-bit architectures
d433ea
d433ea
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.10.0-3
d433ea
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
d433ea
d433ea
* Thu Jan 10 2019 Mat Booth <mat.booth@redhat.com> - 1:4.10.0-2
d433ea
- No longer recommend Code Recommenders
d433ea
d433ea
* Tue Dec 11 2018 Mat Booth <mat.booth@redhat.com> - 1:4.10.0-1
d433ea
- Update to 2018-12 release
d433ea
- Update eclipse-build snapshot
d433ea
d433ea
* Thu Dec 06 2018 Mat Booth <mat.booth@redhat.com> - 1:4.10.0-0.3
d433ea
- Update to latest I-build
d433ea
- Build against latest jetty, mockito packages
d433ea
- Update requirements on EMF and ECF
d433ea
d433ea
* Tue Dec 04 2018 Mat Booth <mat.booth@redhat.com> - 1:4.10.0-0.2
d433ea
- Allow building on Fedora 29
d433ea
d433ea
* Thu Nov 29 2018 Mat Booth <mat.booth@redhat.com> - 1:4.10.0-0.1
d433ea
- Update to latest I-build
d433ea
- Enable bootstrap mode
d433ea
d433ea
* Fri Sep 28 2018 Jeff Johnston <jjohnstn@redhat.com> - 1:4.9.0-2
d433ea
- Add org.eclipse.equinox.executable for building RCP apps
d433ea
d433ea
* Wed Sep 12 2018 Mat Booth <mat.booth@redhat.com> - 1:4.9.0-1
d433ea
- Update to final bits for 4.9
d433ea
- Fix NPE due to missing agent jar
d433ea
d433ea
* Thu Aug 23 2018 Mat Booth <mat.booth@redhat.com> - 1:4.9.0-0.4
d433ea
- Update to latest I-build
d433ea
- Full non-bootstrap build
d433ea
d433ea
* Wed Aug 22 2018 Mat Booth <mat.booth@redhat.com> - 1:4.9.0-0.3
d433ea
- Fix prefer x11 patch used on RHEL
d433ea
d433ea
* Mon Aug 20 2018 Mat Booth <mat.booth@redhat.com> - 1:4.9.0-0.2
d433ea
- Fix secondary arch build
d433ea
d433ea
* Sun Aug 19 2018 Mat Booth <mat.booth@redhat.com> - 1:4.9.0-0.1
d433ea
- Update to latest I-build
d433ea
- Update license
d433ea
d433ea
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.8.0-4
d433ea
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
d433ea
d433ea
* Mon Jun 25 2018 Mat Booth <mat.booth@redhat.com> - 1:4.8.0-3
d433ea
- Add patch to use gsettings instead of gconf
d433ea
d433ea
* Wed Jun 13 2018 Mat Booth <mat.booth@redhat.com> - 1:4.8.0-2
d433ea
- Backport patches for ebz#533655 and ebz#535392
d433ea
d433ea
* Tue Jun 12 2018 Mat Booth <mat.booth@redhat.com> - 1:4.8.0-1
d433ea
- Update to Photon release
d433ea
d433ea
* Thu Jun 07 2018 Mat Booth <mat.booth@redhat.com> - 1:4.8.0-0.8
d433ea
- Update to last RC of Photon
d433ea
d433ea
* Mon May 21 2018 Mat Booth <mat.booth@redhat.com> - 1:4.8.0-0.7
d433ea
- Updated I-build
d433ea
- Switch to using upstream tarball
d433ea
- Disable unused annotation bundle
d433ea
d433ea
* Mon May 21 2018 Mat Booth <mat.booth@redhat.com> - 1:4.8.0-0.6
d433ea
- Rebuild to correct permissions
d433ea
d433ea
* Tue May 15 2018 Mat Booth <mat.booth@redhat.com> - 1:4.8.0-0.5
d433ea
- Rebuild against Photon EMF and ECF versions
d433ea
- Updated I-build
d433ea
d433ea
* Thu May 03 2018 Mat Booth <mat.booth@redhat.com> - 1:4.8.0-0.4
d433ea
- Updated I-build
d433ea
- Attempt to fix arm platform launchers
d433ea
d433ea
* Wed May 02 2018 Mat Booth <mat.booth@redhat.com> - 1:4.8.0-0.3
d433ea
- Non-bootstrap build
d433ea
d433ea
* Sat Apr 28 2018 Mat Booth <mat.booth@redhat.com> - 1:4.8.0-0.2
d433ea
- Update to latest I-build and fix build on 32bit intel platform
d433ea
- Tighten deps on batik to prevent runtime bundle resolution errors
d433ea
d433ea
* Tue Apr 24 2018 Mat Booth <mat.booth@redhat.com> - 1:4.8.0-0.1
d433ea
- Update to Photon I-build
d433ea
- Remove conditional for webkit2 (always use it now)
d433ea
- Bump requirement on lucene
d433ea
d433ea
* Tue Apr 10 2018 Mat Booth <mat.booth@redhat.com> - 1:4.7.3a-4
d433ea
- Ensure patches apply cleanly
d433ea
- Use java API stubs from ecj package
d433ea
d433ea
* Mon Apr 09 2018 Mat Booth <mat.booth@redhat.com> - 1:4.7.3a-3
d433ea
- Package java 10 API stubs jar
d433ea
d433ea
* Mon Apr 09 2018 Mat Booth <mat.booth@redhat.com> - 1:4.7.3a-2
d433ea
- Backport patches to fix broken table editing
d433ea
d433ea
* Mon Apr 09 2018 Mat Booth <mat.booth@redhat.com> - 1:4.7.3a-1
d433ea
- Update to Oxygen.3a release for java 10 support
d433ea
d433ea
* Wed Mar 21 2018 Mat Booth <mat.booth@redhat.com> - 1:4.7.3-2
d433ea
- Bump jetty dependency
d433ea
d433ea
* Thu Mar 15 2018 Mat Booth <mat.booth@redhat.com> - 1:4.7.3-1
d433ea
- Update to Oxygen.3 release
d433ea
d433ea
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.7.2-3
d433ea
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
d433ea
d433ea
* Tue Jan 09 2018 Merlin Mathesius <mmathesi@redhat.com> - 1:4.7.2-2
d433ea
- Cleanup spec file conditionals
d433ea
d433ea
* Wed Nov 29 2017 Mat Booth <mat.booth@redhat.com> - 1:4.7.2-1
d433ea
- Update to last RC/final release of Oxygen.2
d433ea
- Fix x11 crash when running on wayland
d433ea
d433ea
* Fri Nov 24 2017 Mat Booth <mat.booth@redhat.com> - 1:4.7.2-0.2
d433ea
- Update to latest RC of Oxygen.2
d433ea
d433ea
* Tue Nov 21 2017 Mat Booth <mat.booth@redhat.com> - 1:4.7.2-0.1
d433ea
- Update to latest RC of Oxygen.2
d433ea
d433ea
* Fri Nov 17 2017 Mat Booth <mat.booth@redhat.com> - 1:4.7.1-8
d433ea
- Make java 9 api stubs available for use
d433ea
- Migrate away from deprecated maven depmap macros
d433ea
d433ea
* Wed Oct 18 2017 Mat Booth <mat.booth@redhat.com> - 1:4.7.1-7
d433ea
- Update to 4.7.1a release
d433ea
d433ea
* Mon Oct 02 2017 Mat Booth <mat.booth@redhat.com> - 1:4.7.1-6
d433ea
- Use the jit on 32bit arm to speed up the build
d433ea
d433ea
* Mon Oct 02 2017 Mat Booth <mat.booth@redhat.com> - 1:4.7.1-5
d433ea
- Drop workaround for metainfo problem
d433ea
- Add patch for javascript/webkit2 bug ebz#525340
d433ea
- Add missing mocking deps for contributor-tools
d433ea
d433ea
* Tue Sep 19 2017 Mat Booth <mat.booth@redhat.com> - 1:4.7.1-4
d433ea
- Add workaround for appstream metainfo bug in RPM on F27
d433ea
d433ea
* Tue Sep 19 2017 Mat Booth <mat.booth@redhat.com> - 1:4.7.1-3
d433ea
- Obsolete e4-importer that was moved into platform
d433ea
- Add recommends on recommenders from JDT
d433ea
d433ea
* Fri Sep 15 2017 Mat Booth <mat.booth@redhat.com> - 1:4.7.1-2
d433ea
- Debootstrap build
d433ea
d433ea
* Fri Sep 15 2017 Mat Booth <mat.booth@redhat.com> - 1:4.7.1-1
d433ea
- Update to Oxygen.1 release
d433ea
- Relax restriction on objectweb-asm
d433ea
d433ea
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.7.0-4
d433ea
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
d433ea
d433ea
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.7.0-3
d433ea
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
d433ea
d433ea
* Tue Jul 04 2017 Mat Booth <mat.booth@redhat.com> - 1:4.7.0-2
d433ea
- Use 'protect root' instead of 'protect master'
d433ea
d433ea
* Fri Jun 30 2017 Mat Booth <mat.booth@redhat.com> - 1:4.7.0-1
d433ea
- Update to final Oxygen release
d433ea
- Bump jetty requirement
d433ea
d433ea
* Thu Jun 15 2017 Mat Booth <mat.booth@redhat.com> - 1:4.7.0-0.14
d433ea
- Update to latest release candidate build
d433ea
- Rebuild for latest EMF and ECF
d433ea
- Drop nashorn extension mechanism
d433ea
d433ea
* Wed May 31 2017 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:4.7.0-0.13
d433ea
- Add missing build-requires on Maven plugins
d433ea
- Run xmvn in batch mode
d433ea
d433ea
* Thu May 18 2017 Mat Booth <mat.booth@redhat.com> - 1:4.7.0-0.12
d433ea
- Enable Wayland backend by default on F27+
d433ea
- Bump some dependency requirements
d433ea
d433ea
* Tue May 16 2017 Mat Booth <mat.booth@redhat.com> - 1:4.7.0-0.11
d433ea
- Update to latest I-build
d433ea
- Rebuild for latest EMF
d433ea
d433ea
* Tue May 09 2017 Mat Booth <mat.booth@redhat.com> - 1:4.7.0-0.10
d433ea
- Rebuild for new ECF
d433ea
- Obsolete core NLS package
d433ea
- Fix cycle introduced between tests and contributor-tools
d433ea
d433ea
* Sat May 06 2017 Mat Booth <mat.booth@redhat.com> - 1:4.7.0-0.9
d433ea
- Fix build against new felix-gogo
d433ea
- Update to latest I-build
d433ea
d433ea
* Wed May 03 2017 Mat Booth <mat.booth@redhat.com> - 1:4.7.0-0.8
d433ea
- Package missing PDE generic editor extension
d433ea
d433ea
* Tue May 02 2017 Mat Booth <mat.booth@redhat.com> - 1:4.7.0-0.7
d433ea
- Rebuild for s390x
d433ea
- Don't require JDK directly
d433ea
d433ea
* Fri Apr 28 2017 Mat Booth <mat.booth@redhat.com> - 1:4.7.0-0.6
d433ea
- Non-bootstrap build
d433ea
d433ea
* Tue Apr 25 2017 Mat Booth <mat.booth@redhat.com> - 1:4.7.0-0.5
d433ea
- Update to latest I-build
d433ea
- Update generated ant bundle to 1.10.1
d433ea
- Fix missing launcher bundle on s390, rhbz#1445162
d433ea
- Add missing BR on libsecret
d433ea
d433ea
* Fri Apr 21 2017 Mat Booth <mat.booth@redhat.com> - 1:4.7.0-0.4
d433ea
- Fix secondary arch build
d433ea
d433ea
* Thu Apr 20 2017 Mat Booth <mat.booth@redhat.com> - 1:4.7.0-0.3
d433ea
- Simplify test installation and move machinery out of javadir now
d433ea
  that java stuff is installed in its own place
d433ea
- Enable bootstrap mode
d433ea
d433ea
* Wed Apr 19 2017 Mat Booth <mat.booth@redhat.com> - 1:4.7.0-0.2
d433ea
- Update to latest I-build
d433ea
d433ea
* Tue Apr 04 2017 Mat Booth <mat.booth@redhat.com> - 1:4.7.0-0.1
d433ea
- Update to Oxygen I-build
d433ea
- Don't build unsupported GTK2 backend for SWT
d433ea
- Move installation to a multilib agnostic location /usr/lib