eclipse/eclipse.spec
2014-06-10 15:25:38 +03:00

1103 lines
51 KiB
RPMSpec

%{?scl:%scl_package eclipse}
%{!?scl:%global pkg_name %{name}}
%{!?scl:%global _scl_root %{nil}}
# Set to 1 to build Eclipse without dependency to eclipse-pde
# Some parts (help) will not be built, and second run will be required,
# but this is a way to bootstrap Eclipse on secondary archs.
%global bootstrap 0
Epoch: 1
%global eclipse_major 4
%global eclipse_minor 4
%global eclipse_majmin %{eclipse_major}.%{eclipse_minor}
%global eclipse_micro 0
%global initialize 1
%global eb_commit 27d9371a79744f02da09de58db140256a6a9b9e7
%global eclipse_tag I20140604-2000
%global eclipse_version %{eclipse_majmin}.%{eclipse_micro}
%global _jetty_version 9.1.3
%ifarch %{ix86}
%define eclipse_arch x86
%endif
%ifarch %{arm}
%define eclipse_arch arm
%endif
%ifarch ppc64 ppc64p7
%define eclipse_arch ppc64
%endif
%ifarch s390 s390x ppc x86_64 aarch64 ppc64le
%define eclipse_arch %{_arch}
%endif
# See fedora-devel-java-list discussion in September 2008.
#
# Prevent brp-java-repack-jars from being run.
%define __jar_repack %{nil}
Summary: An open, extensible IDE
Name: %{?scl_prefix}eclipse
Version: %{eclipse_version}
Release: 0.28.git201406042000%{?dist}
License: EPL
Group: Development/Tools
URL: http://www.eclipse.org/
#get-eclipse.sh
Source0: R4_platform-aggregator-%{eclipse_tag}.tar.xz
Source1: http://git.eclipse.org/c/linuxtools/org.eclipse.linuxtools.eclipse-build.git/snapshot/org.eclipse.linuxtools.eclipse-build-%{eb_commit}.tar.bz2
# -com.sun.el
# +javax.el
# -org.apache.jasper.glassfish
# +org.glassfish.web.javax.servlet.jsp
Patch0: %{pkg_name}-help-doc-adjust-dependencies.patch
# -org.w3c.dom.smil
# -javax.annotation
# +org.apache.geronimo.specs.geronimo-annotation_1.1_spec
Patch1: %{pkg_name}-remove-w3c-smil-and-use-geronimo.patch
# Eclipse should not include source for dependencies that are not supplied by this package
# and should not include source for bundles that are not relevant to our platform
Patch2: %{pkg_name}-no-source-for-dependencies.patch
# This has too many dependencies. We will not build it.
Patch3: %{pkg_name}-remove-weaving.patch
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=377515
Patch4: %{pkg_name}-p2-pick-up-renamed-jars.patch
# Patch for this was contributed. Unlikely to be released.
Patch5: %{pkg_name}-ignore-version-when-calculating-home.patch
# CBI uses timestamps generated from the git commits. We don't have the repo,
# just source, and we don't want additional dependencies.
Patch6: %{pkg_name}-remove-jgit-provider.patch
# This is for Fedora purposes to have working eclipse-pdebuild script.
Patch7: %{pkg_name}-pdebuild-add-target.patch
# Strict Fedora purpose, too. We can't build entire product, just base
# and JDT and SDK as update sites, then we can assemble our own packages.
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=386670
# additional poms are a part of e-b
Patch8: %{pkg_name}-change-build-packagings.patch
Patch9: %{pkg_name}-test-support.patch
Patch10: %{pkg_name}-secondary-arches.patch
Patch11: %{pkg_name}-debug-symbols.patch
Patch12: %{pkg_name}-fix-comaptibility-class.patch
Patch13: %{pkg_name}-bug-903537.patch
Patch14: %{pkg_name}-jetty-9.patch
Patch15: %{pkg_name}-fix-startup-class-refresh.patch
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=408138
Patch16: %{pkg_name}-fix-dropins.patch
Patch17: %{pkg_name}-bug-386377.patch
Patch18: %{pkg_name}-servlet-3.1.patch
Patch19: %{pkg_name}-lucene-4.patch
Patch20: %{pkg_name}-no-target-platform.patch
# org.mockito -> org.mockito.mockito-core
Patch21: %{pkg_name}-mockito.patch
Patch22: %{pkg_name}-policy-comparators.patch
BuildRequires: rsync
BuildRequires: make, gcc
BuildRequires: gtk2-devel
BuildRequires: gtk3-devel
BuildRequires: glib2-devel
BuildRequires: gcc-c++
BuildRequires: nspr-devel
BuildRequires: libXtst-devel
BuildRequires: mesa-libGL-devel
BuildRequires: mesa-libGLU-devel
BuildRequires: cairo >= 1.0
BuildRequires: unzip
BuildRequires: desktop-file-utils
BuildRequires: java-1.8.0-openjdk-devel
BuildRequires: libXt-devel
BuildRequires: webkitgtk-devel
BuildRequires: webkitgtk3
BuildRequires: geronimo-annotation >= 1.0-7
BuildRequires: %{?scl_prefix}icu4j-eclipse >= 1:52.1
BuildRequires: ant-antlr ant-apache-bcel ant-apache-log4j ant-apache-oro ant-apache-regexp ant-apache-resolver ant-commons-logging ant-apache-bsf ant-commons-net
BuildRequires: ant-javamail ant-jdepend ant-junit ant-swing ant-jsch ant-testutil ant-apache-xalan2 ant-jmf
BuildRequires: jsch >= 0:0.1.46-2
BuildRequires: apache-commons-el >= 1.0-22
BuildRequires: apache-commons-logging
BuildRequires: apache-commons-codec >= 1.6-2
BuildRequires: felix-gogo-command >= 0.12
BuildRequires: felix-gogo-shell >= 0.10.0-3
BuildRequires: osgi(org.eclipse.jetty.util) >= %{_jetty_version}
BuildRequires: osgi(org.eclipse.jetty.server) >= %{_jetty_version}
BuildRequires: osgi(org.eclipse.jetty.http) >= %{_jetty_version}
BuildRequires: osgi(org.eclipse.jetty.continuation) >= %{_jetty_version}
BuildRequires: osgi(org.eclipse.jetty.io) >= %{_jetty_version}
BuildRequires: osgi(org.eclipse.jetty.security) >= %{_jetty_version}
BuildRequires: osgi(org.eclipse.jetty.servlet) >= %{_jetty_version}
BuildRequires: %{?scl_prefix}lucene-core >= 4.8.0-1
BuildRequires: %{?scl_prefix}lucene-analysis >= 4.8.0-1
BuildRequires: junit >= 4.10-5
BuildRequires: hamcrest >= 0:1.1-11
BuildRequires: %{?scl_prefix}sat4j >= 2.3.5-1
BuildRequires: %{?scl_prefix}objectweb-asm >= 5.0.1-1
BuildRequires: zip
BuildRequires: sac >= 1.3-12
BuildRequires: batik >= 1.8
BuildRequires: xml-commons-apis >= 1.4.01-12
BuildRequires: atinject >= 1-6
BuildRequires: tycho >= 0.19
BuildRequires: tycho-extras >= 0.19
BuildRequires: eclipse-ecf-core >= 3.8.0-1
BuildRequires: eclipse-emf-core >= 1:2.9.2-2
BuildRequires: glassfish-jsp-api >= 2.2.1-4
BuildRequires: glassfish-jsp >= 2.2.5
BuildRequires: glassfish-servlet-api >= 3.1.0
BuildRequires: cbi-plugins
BuildRequires: xml-maven-plugin
BuildRequires: httpcomponents-core
BuildRequires: httpcomponents-client
BuildRequires: mockito
%if ! %{bootstrap}
BuildRequires: eclipse-pde
%endif
BuildRequires: eclipse-license
%description
The Eclipse platform is designed for building integrated development
environments (IDEs), server-side applications, desktop applications, and
everything in between.
%package swt
Summary: SWT Library for GTK+
Group: Development/Tools
Requires: java >= 1:1.7.0
Requires: jpackage-utils
Requires: gtk2
Requires: gtk3
Requires: webkitgtk
Requires: webkitgtk3
%description swt
SWT Library for GTK+.
%package equinox-osgi
Summary: Eclipse OSGi - Equinox
Requires: java-headless >= 1:1.7.0
Requires: javapackages-tools
Provides: osgi(system.bundle) = %{epoch}:%{eclipse_version}
%description equinox-osgi
Eclipse OSGi - Equinox
%package platform
Summary: Eclipse platform common files
Group: Development/Tools
Requires: ant-antlr ant-apache-bcel ant-apache-log4j ant-apache-oro ant-apache-regexp ant-apache-resolver ant-commons-logging ant-apache-bsf ant-commons-net
Requires: ant-javamail ant-jdepend ant-junit ant-swing ant-jsch ant-testutil ant-apache-xalan2 ant-jmf
Requires: apache-commons-el >= 1.0-23
Requires: apache-commons-logging
Requires: apache-commons-codec >= 1.6-2
Requires: felix-gogo-command >= 0.12
Requires: felix-gogo-shell >= 0.10.0-3
Requires: osgi(org.eclipse.jetty.util) >= %{_jetty_version}
Requires: osgi(org.eclipse.jetty.server) >= %{_jetty_version}
Requires: osgi(org.eclipse.jetty.http) >= %{_jetty_version}
Requires: osgi(org.eclipse.jetty.continuation) >= %{_jetty_version}
Requires: osgi(org.eclipse.jetty.io) >= %{_jetty_version}
Requires: osgi(org.eclipse.jetty.security) >= %{_jetty_version}
Requires: osgi(org.eclipse.jetty.servlet) >= %{_jetty_version}
Requires: jsch >= 0.1.46-2
Requires: %{?scl_prefix}lucene-core >= 4.8.0-1
Requires: %{?scl_prefix}lucene-analysis >= 4.8.0-1
Requires: %{?scl_prefix}sat4j >= 2.3.5-1
Requires: sac >= 1.3-12
Requires: xml-commons-apis >= 1.4.01-12
Requires: batik >= 1.8
Requires: atinject >= 1-6
Requires: geronimo-annotation >= 1.0-7
Requires: eclipse-ecf-core >= 3.8.0-1
Requires: eclipse-emf-core >= 1:2.9.2-2
Requires: glassfish-jsp-api >= 2.2.1-4
Requires: glassfish-jsp >= 2.2.5
Requires: glassfish-servlet-api >= 3.1.0
Requires: %{?scl_prefix}icu4j-eclipse >= 1:52.1
Requires: %{name}-swt = %{epoch}:%{eclipse_version}-%{release}
Requires: %{name}-equinox-osgi = %{epoch}:%{eclipse_version}-%{release}
Requires: httpcomponents-core
Requires: httpcomponents-client
%{?scl:Requires: %scl_runtime}
Obsoletes: %{name}-rcp < 1:4.3.0
Provides: %{name}-rcp = 1:%{eclipse_version}-%{release}
%description platform
The Eclipse Platform is the base of all IDE plugins. This does not include the
Java Development Tools or the Plugin Development Environment.
%package jdt
Summary: Eclipse Java Development Tools
Group: Development/Tools
Requires: %{name}-platform = %{epoch}:%{eclipse_version}-%{release}
Requires: junit >= 4.10-5
Requires: hamcrest >= 0:1.1-11
%description jdt
Eclipse Java Development Tools. This package is required to use Eclipse for
developing software written in the Java programming language.
%package pde
Summary: Eclipse Plugin Development Environment
Group: Development/Tools
Provides: %{name} = %{epoch}:%{eclipse_version}-%{release}
Requires: %{name}-platform = %{epoch}:%{eclipse_version}-%{release}
Requires: %{name}-jdt = %{epoch}:%{eclipse_version}-%{release}
Requires: %{?scl_prefix}objectweb-asm >= 5.0.1-1
# For PDE Build wrapper script + creating jars
Requires: zip
Requires: bash
%description pde
Eclipse Plugin Development Environment. This package is required for
developing Eclipse plugins.
%package tests
Summary: Eclipse Tests
Group: Development/Tools
Requires: %{name}-pde = %{epoch}:%{eclipse_version}-%{release}
Requires: %{?scl_prefix}easymock3
Requires: mockito
%description tests
Eclipse Tests.
%prep
%setup -q %{SOURCE0} -n R4_platform-aggregator-%{eclipse_tag}
tar --strip-components=1 -xf %{SOURCE1}
%patch0 -p1
%patch1
%patch2
%patch3
%patch4
%patch5
%patch6
%patch7
%patch8
%patch9
%patch10 -p1
%patch11
%patch12
%patch13
%patch14
%patch15
%patch16
%patch17
%patch18
%patch19 -p1
%patch20
%patch21
%patch22
#Disable as many things as possible to make the build faster. We care only for Eclipse.
%pom_disable_module platform.sdk eclipse.platform.releng.tychoeclipsebuilder
%pom_disable_module rcp eclipse.platform.releng.tychoeclipsebuilder
%pom_disable_module rcp.sdk eclipse.platform.releng.tychoeclipsebuilder
%pom_disable_module sdk eclipse.platform.releng.tychoeclipsebuilder
%pom_disable_module equinox-sdk eclipse.platform.releng.tychoeclipsebuilder
%pom_disable_module equinox.starterkit.product eclipse.platform.releng.tychoeclipsebuilder
%pom_disable_module bundles/org.eclipse.equinox.region.tests rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.weaving.aspectj rt.equinox.bundles
%pom_disable_module features/org.eclipse.equinox.weaving.sdk rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.cm.test rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.console.ssh rt.equinox.bundles
%pom_disable_module features/org.eclipse.equinox.sdk rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.console.jaas.fragment rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.ip rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.transforms.xslt rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.transforms.hook rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.weaving.caching.j9 rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.weaving.caching rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.weaving.hook rt.equinox.bundles
%pom_disable_module features/org.eclipse.equinox.compendium.sdk rt.equinox.bundles
%pom_disable_module features/org.eclipse.equinox.core.sdk rt.equinox.bundles
%pom_disable_module features/org.eclipse.equinox.p2.sdk rt.equinox.p2
%pom_disable_module features/org.eclipse.equinox.server.p2 rt.equinox.bundles
%pom_disable_module features/org.eclipse.equinox.serverside.sdk rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.p2.tests.discovery rt.equinox.p2
%pom_disable_module bundles/org.eclipse.equinox.p2.tests.reconciler.product rt.equinox.p2
%pom_disable_module org.eclipse.ua.tests eclipse.platform.ua
# We don't need releng tools
%pom_disable_module bundles/org.eclipse.releng.tests eclipse.platform.releng
%pom_disable_module bundles/org.eclipse.releng.tools eclipse.platform.releng
%pom_disable_module features/org.eclipse.releng.tools eclipse.platform.releng
# We don't need support for Eclipse 2.x style plugins
%pom_disable_module features/org.eclipse.osgi.compatibility.plugins.feature rt.equinox.framework
%pom_disable_module bundles/org.eclipse.osgi.compatibility.plugins rt.equinox.framework
# Remove platform-specific stuff that we don't care about to reduce build time
# (i.e., all bundles that are only applicable on non-linux platforms)
for b in `ls eclipse.platform.swt.binaries/bundles | grep -P -e 'org.eclipse.swt\.(?!gtk\.linux)'` ; do
module=$(grep ">bundles/$b<" eclipse.platform.swt.binaries/pom.xml || :)
if [ -n "$module" ] ; then
%pom_disable_module bundles/$b eclipse.platform.swt.binaries
fi
done
for b in `ls rt.equinox.framework/bundles | grep -P -e 'org.eclipse.equinox.launcher\.(?!gtk\.linux)'` ; do
module=$(grep ">bundles/$b<" rt.equinox.framework/pom.xml || :)
if [ -n "$module" ] ; then
%pom_disable_module bundles/$b rt.equinox.framework
fi
done
%pom_disable_module org.eclipse.jdt.launching.macosx eclipse.jdt.debug
%pom_disable_module org.eclipse.jdt.launching.ui.macosx eclipse.jdt.debug
%pom_disable_module bundles/org.eclipse.equinox.security.macosx rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.security.win32.x86 rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.security.win32.x86_64 rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.compare.win32 eclipse.platform.team
%pom_disable_module bundles/org.eclipse.core.net/fragments/org.eclipse.core.net.win32.x86 eclipse.platform.team
%pom_disable_module bundles/org.eclipse.core.net/fragments/org.eclipse.core.net.win32.x86_64 eclipse.platform.team
%pom_disable_module bundles/org.eclipse.e4.ui.workbench.renderers.swt.cocoa eclipse.platform.ui
%pom_disable_module bundles/org.eclipse.ui.cocoa eclipse.platform.ui
%pom_disable_module bundles/org.eclipse.ui.win32 eclipse.platform.ui
%pom_disable_module bundles/org.eclipse.core.filesystem.hpux.ia64 eclipse.platform.resources
%pom_disable_module bundles/org.eclipse.core.filesystem.macosx eclipse.platform.resources
%pom_disable_module bundles/org.eclipse.core.filesystem.solaris.sparc eclipse.platform.resources
%pom_disable_module bundles/org.eclipse.core.filesystem.win32.x86 eclipse.platform.resources
%pom_disable_module bundles/org.eclipse.core.filesystem.win32.x86_64 eclipse.platform.resources
%pom_disable_module bundles/org.eclipse.core.filesystem/fragments/org.eclipse.core.filesystem.aix.ppc eclipse.platform.resources
%pom_disable_module bundles/org.eclipse.core.filesystem/fragments/org.eclipse.core.filesystem.aix.ppc64 eclipse.platform.resources
%pom_disable_module bundles/org.eclipse.core.filesystem/fragments/org.eclipse.core.filesystem.solaris.sparcv9 eclipse.platform.resources
%pom_disable_module bundles/org.eclipse.core.resources.win32.x86 eclipse.platform.resources
%pom_disable_module bundles/org.eclipse.core.resources.win32.x86_64 eclipse.platform.resources
%pom_disable_module examples/org.eclipse.swt.examples.ole.win32 eclipse.platform.swt
# This part generates secondary fragments using primary fragments
for dir in eclipse.platform.swt.binaries/bundles \
rt.equinox.framework/bundles rt.equinox.binaries ; do
utils/ensure_arch.sh "$dir" x86 arm
utils/ensure_arch.sh "$dir" x86_64 aarch64 ppc64le
done
# Don't mirror stuff to the repo that we haven't built
%pom_xpath_remove "pom:execution[pom:id[text()='mirror-build-emf']]" \
eclipse.platform.releng.tychoeclipsebuilder/eclipse.platform.repository
%pom_xpath_remove "pom:execution[pom:id[text()='mirror-build-ecf']]" \
eclipse.platform.releng.tychoeclipsebuilder/eclipse.platform.repository
%pom_xpath_remove "pom:execution[pom:id[text()='mirror-org.eclipse.rcp']]" \
eclipse.platform.releng.tychoeclipsebuilder/eclipse.platform.repository
%pom_xpath_remove "pom:execution[pom:id[text()='mirror-org.eclipse.rcp.source']]" \
eclipse.platform.releng.tychoeclipsebuilder/eclipse.platform.repository
%pom_xpath_remove "pom:execution[pom:id[text()='mirror-org.eclipse.releng.tools']]" \
eclipse.platform.releng.tychoeclipsebuilder/eclipse.platform.repository
# Remove the SWT build sections from every linux arch that is not currently being built
# (this is not really necessary but further reduces the build time on arm by around 20
# minutes per architecture that we are not currently building, over 2.5 hours in total)
for b in `ls eclipse.platform.swt.binaries/bundles | grep -P -e 'org.eclipse.swt.gtk.linux.(?!%{eclipse_arch})'` ; do
%pom_xpath_remove "/pom:project/pom:build" eclipse.platform.swt.binaries/bundles/$b
done
# Don't set perms on files for platforms that aren't linux
sed -i -e '/^root\.[^l]/d' \
rt.equinox.framework/features/org.eclipse.equinox.executable.feature/build.properties \
eclipse.platform.releng.tychoeclipsebuilder/rcp.config/build.properties
#hack - there should be a patch providing a profile for each arch
mkdir -p rt.equinox.binaries/org.eclipse.equinox.executable/bin/gtk/linux/%{eclipse_arch}
#pdebuild script should point to dropins
sed -i -e "s|@DATADIR@|%{_datadir}|g" eclipse.pde.build/org.eclipse.pde.build/templates/package-build/build.properties
#ensure that bundles with *.so libs are dirs, so no *.so is extracted into user.home
for f in `find eclipse.platform.swt.binaries/bundles/org.eclipse.swt.gtk.* -name MANIFEST.MF` ; do
echo -e "Eclipse-BundleShape: dir\n\n" >> $f;
done
for f in `find eclipse.platform.resources/bundles/org.eclipse.core.filesystem.linux.* -name MANIFEST.MF` ; do
echo -e "Eclipse-BundleShape: dir\n\n" >> $f;
done
for f in `find eclipse.platform.team/bundles/org.eclipse.core.net/fragments -name MANIFEST.MF` ; do
echo -e "Eclipse-BundleShape: dir\n\n" >> $f;
done
#fake dependencies that don't exist in fedora
./dependencies/./fake_ant_dependency.sh .m2/p2/repo-sdk/plugins/org.apache.ant_* /usr/share/java /usr/bin -makejar
cp -r %{_javadir}/eclipse-license/eclipse/features/* .m2/p2/repo-sdk/features/
cp -r %{_javadir}/emf/eclipse/features/* .m2/p2/repo-sdk/features/
cp -r %{_javadir}/ecf/eclipse/features/* .m2/p2/repo-sdk/features/
%{?scl: cp %{_javadir}/ecf/eclipse/plugins/* .m2/p2/repo-sdk/plugins}
%{?scl: cp %{_javadir}/*sat4j* .m2/p2/repo-sdk/plugins}
%if ! %{bootstrap}
cp -rf %{_libdir}/eclipse/dropins/sdk/plugins/org.eclipse.pde.build_* .m2/p2/repo-sdk/plugins/
cp -rf %{_libdir}/eclipse/dropins/sdk/plugins/org.eclipse.pde.core_* .m2/p2/repo-sdk/plugins/
%else
# Use org.eclipse.tycho:org.eclipse.jdt.core (ecj)
sed -i -e 's@>org.eclipse.jdt<@>org.eclipse.tycho<@' eclipse-platform-parent/pom.xml
%endif
# Allow usage of javax.servlet.jsp 2.3.
sed -i '/javax\.servlet\.jsp/ s/2\.3/2\.4/' rt.equinox.bundles/bundles/org.eclipse.equinox.jsp.jasper/META-INF/MANIFEST.MF
# Use com.sun.el.java.el (Glassfish) instead of javax.el (Tomcat)
sed -i 's/javax\.el/com\.sun\.el\.javax\.el/' \
eclipse.platform.releng/features/org.eclipse.help-feature/feature.xml \
eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/pom.xml
# Bump javax.servlet Import-Package statements
sed -i '/javax\.servlet/ s/3\.1/3\.2/' rt.equinox.bundles/bundles/org.eclipse.equinox.http.servlet/META-INF/MANIFEST.MF
sed -i '/javax\.servlet/ s/3\.1/3\.2/' rt.equinox.bundles/bundles/org.eclipse.equinox.jsp.jasper/META-INF/MANIFEST.MF
%pom_remove_plugin org.mortbay.jetty:jetty-jspc-maven-plugin eclipse.platform.ua/org.eclipse.help.webapp
sed -i -e 's@Dhelp.lucene.tokenizer=standard@XX:MaxPermSize=384M@g' eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/pom.xml
%build
%{?scl:%scl_maven_opts}
#This is the lowest value where the build succeeds. 512m is not enough.
export MAVEN_OPTS="-Xmx1000m -XX:MaxPermSize=256m -XX:CompileCommand=exclude,org/eclipse/tycho/core/osgitools/EquinoxResolver,newState ${MAVEN_OPTS}"
export JAVA_HOME=%{java_home}
export GTK_VERSION=3.0
xmvn -o clean verify \
%if %{bootstrap}
-P !api-generation,!build-docs \
%endif
-Declipse.javadoc=/usr/bin/javadoc \
-Dmaven.test.skip=true -Dnative=gtk.linux.%{eclipse_arch} \
-Dtycho.local.keepTarget -DbuildId=`echo "%{release}" | tr -d "."` \
-Dtargets=install
#symlink necessary plugins (that are provided by other packages)
dependencies/replace_platform_plugins_with_symlinks.sh \
eclipse.platform.releng.tychoeclipsebuilder/platform/target/products/org.eclipse.platform.ide/linux/gtk/%{eclipse_arch}/eclipse %{_javadir}
#ant again
dependencies/fake_ant_dependency.sh \
eclipse.platform.releng.tychoeclipsebuilder/platform/target/products/org.eclipse.platform.ide/linux/gtk/%{eclipse_arch}/eclipse/plugins/org.apache.ant_* \
/usr/share/java /usr/bin
# JDT and PDE are built as update sites.
# Initialize them and move into dropins.
utils/move_JDT_PDE_to_dropins.sh \
eclipse.platform.releng.tychoeclipsebuilder/platform/target/products/org.eclipse.platform.ide/linux/gtk/%{eclipse_arch}/ \
`pwd`/eclipse.platform.releng.tychoeclipsebuilder/eclipse.platform.repository/target/repository
pushd eclipse.platform.releng.tychoeclipsebuilder/platform/target/products/org.eclipse.platform.ide/linux/gtk/%{eclipse_arch}/eclipse
# This is a temporary hack
# We offer javax.servlet and javax.servlet-api as the same bundle
# References to javax.servlet should be renamed
pushd plugins
f=`ls | grep -e "^javax.servlet-api_"`
rm -f $f
ln -s %{_javadir}/glassfish-servlet-api.jar $f
popd
#in jdt
pushd dropins/jdt/plugins
f=`ls | grep -e "^org.hamcrest.core_"`
rm -rf $f
ln -s %{_javadir}/hamcrest/core.jar ${f%.jar}.jar
f=`ls | grep -e "^org.junit_4"`
rm -rf $f
ln -s %{_javadir}/junit.jar ${f%.jar}.jar
popd
#clean up
rm -rf configuration/org.eclipse.core.runtime
rm -rf configuration/org.eclipse.equinox.app
rm -rf configuration/org.eclipse.update
rm -rf configuration/org.eclipse.osgi
rm -rf p2/org.eclipse.equinox.p2.core/cache/*
# no icon needed
rm -f icon.xpm
#delete all local repositories. We want to have only "original" by default.
pushd p2/org.eclipse.equinox.p2.engine/.settings
sed -i "/repositories\/file/d" *.prefs ../profileRegistry/SDKProfile.profile/.data/.settings/*.prefs
sed -i "/repositories\/memory/d" *.prefs ../profileRegistry/SDKProfile.profile/.data/.settings/*.prefs
popd
#ini file adjustements
sed -i "s|-Xms40m|-Xms128m|g" eclipse.ini
sed -i "s|-Xmx384m|-Xmx512m|g" eclipse.ini
sed -i '1i-protect\nmaster' eclipse.ini
# Temporary fix until https://bugs.eclipse.org/294877 is resolved
cat >> eclipse.ini <<EOF
-Dorg.eclipse.swt.browser.UseWebKitGTK=true
-Dhelp.lucene.tokenizer=standard
-XX:CompileCommand=exclude,org/eclipse/core/internal/dtree/DataTreeNode,forwardDeltaWith
-XX:CompileCommand=exclude,org/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding,<init>
-XX:CompileCommand=exclude,org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates,instantiateTemplate
-XX:CompileCommand=exclude,org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage,addBinding
-XX:CompileCommand=exclude,org/python/pydev/editor/codecompletion/revisited/PythonPathHelper,isValidSourceFile
-XX:CompileCommand=exclude,org/eclipse/tycho/core/osgitools/EquinoxResolver,newState
-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=%{_scl_root}/usr/share/eclipse/dropins
-Declipse.p2.skipMovedInstallDetection=true
EOF
popd #eclipse
%install
# Some directories we need
install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir}
install -d -m 755 $RPM_BUILD_ROOT%{_javadir}/%{pkg_name}
install -d -m 755 $RPM_BUILD_ROOT%{_libdir}/%{pkg_name}/buildscripts
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{pkg_name}/dropins
install -d -m 755 $RPM_BUILD_ROOT%{_mavenpomdir}
install -d -m 755 $RPM_BUILD_ROOT%{_bindir}
# Install icons
install -D eclipse.platform/platform/org.eclipse.platform/eclipse32.png \
$RPM_BUILD_ROOT/usr/share/icons/hicolor/32x32/apps/%{?scl_prefix}eclipse.png
install -D eclipse.platform/platform/org.eclipse.platform/eclipse48.png \
$RPM_BUILD_ROOT/usr/share/icons/hicolor/48x48/apps/%{?scl_prefix}eclipse.png
install -D eclipse.platform/platform/org.eclipse.platform/eclipse256.png \
$RPM_BUILD_ROOT/usr/share/icons/hicolor/256x256/apps/%{?scl_prefix}eclipse.png
install -d $RPM_BUILD_ROOT/usr/share/pixmaps
ln -s /usr/share/icons/hicolor/256x256/apps/%{?scl_prefix}eclipse.png \
$RPM_BUILD_ROOT/usr/share/pixmaps/%{?scl_prefix}eclipse.png
# Install desktop file and app data
%{?scl: sed -i -e 's/Exec=eclipse/Exec=scl enable %{scl_name} eclipse/g' desktopintegration/eclipse.desktop}
%{?scl: sed -i -e 's/Icon=eclipse/Icon=%{?scl_prefix}eclipse/g' desktopintegration/eclipse.desktop}
%{?scl: sed -i -e 's/Name=Eclipse/Name=DTS Eclipse/g' desktopintegration/eclipse.desktop}
install -D desktopintegration/eclipse.desktop $RPM_BUILD_ROOT/usr/share/applications/%{?scl_prefix}eclipse.desktop
install -D desktopintegration/eclipse.appdata.xml $RPM_BUILD_ROOT/usr/share/appdata/%{?scl_prefix}eclipse.appdata.xml
desktop-file-validate $RPM_BUILD_ROOT/usr/share/applications/%{?scl_prefix}eclipse.desktop
#################################
### Extraced from old build.xml #
#################################
LOCAL_PWD=`pwd`
#change the installation p2 files
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/
for i in `ls | grep "profile.gz"` ; do \
echo $i ; \
gunzip $i ; \
sed -i -e "s@${LOCAL_PWD}/eclipse.platform.releng.tychoeclipsebuilder/platform/target/products/org.eclipse.platform.ide/linux/gtk/%{eclipse_arch}/eclipse@%{_libdir}/eclipse@g" *.profile ; \
gzip *.profile ; \
done
popd
#installation itself - copy it into right location
rsync -vrpl eclipse.platform.releng.tychoeclipsebuilder/platform/target/products/org.eclipse.platform.ide/linux/gtk/%{eclipse_arch}/eclipse \
$RPM_BUILD_ROOT%{_libdir}
#eclipse compiler
install -m 755 jdtcompilatorscript/efj.sh $RPM_BUILD_ROOT%{_bindir}/efj
TARGET_LAUNCHER=%{_libdir}/%{pkg_name}/plugins/`ls eclipse.platform.releng.tychoeclipsebuilder/platform/target/products/org.eclipse.platform.ide/linux/gtk/%{eclipse_arch}/eclipse/plugins | grep launcher_[0-9]*`
sed -i -e "s,@LAUNCHER@,${TARGET_LAUNCHER}," $RPM_BUILD_ROOT%{_bindir}/efj
#eclipse binary
pushd $RPM_BUILD_ROOT%{_scl_root}%{_bindir}
ln -s %{_libdir}/%{pkg_name}/eclipse
popd
#SWT is now a folder, but we need to provide jars for others that depend on it.
pushd $RPM_BUILD_ROOT/%{_libdir}/%{pkg_name}
pushd plugins
SWT_JAR=`ls | grep swt.gtk`
#it's a dir now
cd ${SWT_JAR}
#fix privileges
#zip the contents
zip -r "../../swt.jar" *
popd
ln -s swt.jar swt-gtk.jar
mkdir -p ../../lib/java
ln -s %{_libdir}/%{pkg_name}/swt.jar ../../lib/java/swt.jar
popd
#eclipse ini
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/
pushd $RPM_BUILD_ROOT/%{_sysconfdir}/
ln -s %{_libdir}/%{pkg_name}/eclipse.ini
popd
#################################
### End of extraction #
#################################
# Symlink OSGI jars into javadir
for J in osgi osgi.services osgi.util osgi.compatibility.state equinox.http.servlet ; do
pushd $RPM_BUILD_ROOT%{_javadir}/eclipse
DIR=%{?scl: ../../../../}../../../..%{_libdir}/%{pkg_name}
[ -e "`ls $DIR/plugins/org.eclipse.${J}_*.jar`" ] && ln -s $DIR/plugins/org.eclipse.${J}_*.jar ${J}.jar
[ -e "`ls $DIR/dropins/*/plugins/org.eclipse.${J}_*.jar`" ] && ln -s $DIR/dropins/*/plugins/org.eclipse.${J}_*.jar ${J}.jar
popd
VER=$(echo $RPM_BUILD_ROOT%{_libdir}/%{pkg_name}/plugins/org.eclipse.${J}_*.jar | sed -e "s/.*${J}_\(.*\)\.jar/\1/")
sed -i -e "s/@VERSION@/$VER/" externalpoms/org.eclipse.${J}.pom
install -m 0644 externalpoms/org.eclipse.${J}.pom $RPM_BUILD_ROOT%{_mavenpomdir}/JPP.eclipse-${J}.pom
done
# Install maven depmaps for OSGI jars
%add_maven_depmap JPP.eclipse-osgi.pom %{pkg_name}/osgi.jar -a "org.eclipse:osgi,org.eclipse.tycho:org.eclipse.osgi" -f equinox-osgi
%add_maven_depmap JPP.eclipse-osgi.compatibility.state.pom %{pkg_name}/osgi.compatibility.state.jar -a "org.eclipse.osgi:compatibility.state" -f equinox-osgi
%add_maven_depmap JPP.eclipse-osgi.services.pom %{pkg_name}/osgi.services.jar -a "org.eclipse.osgi:services" -f equinox-osgi
%add_maven_depmap JPP.eclipse-osgi.util.pom %{pkg_name}/osgi.util.jar -a "org.eclipse.osgi:util" -f equinox-osgi
%add_maven_depmap JPP.eclipse-equinox.http.servlet.pom %{pkg_name}/equinox.http.servlet.jar -a "org.eclipse.equinox.http:servlet" -f platform
# Create a script that can be used to make a symlink tree of the
# eclipse platform.
cp -p pdebuildscripts/eclipse-copy-platform.sh copy-platform
sed -i -e "s|@DATADIR@|%{_datadir}|g" copy-platform
mv copy-platform $RPM_BUILD_ROOT%{_libdir}/%{pkg_name}/buildscripts
# Install the PDE Build wrapper script.
install -p -D -m0755 pdebuildscripts/eclipse-pdebuild.sh \
$RPM_BUILD_ROOT%{_bindir}/%{pkg_name}-pdebuild
PDEBUILDVERSION=$(ls $RPM_BUILD_ROOT%{_libdir}/%{pkg_name}/dropins/sdk/plugins \
| grep org.eclipse.pde.build_ | sed 's/org.eclipse.pde.build_//')
sed -i "s/@PDEBUILDVERSION@/$PDEBUILDVERSION/g" \
$RPM_BUILD_ROOT%{_bindir}/%{pkg_name}-pdebuild
sed -i "s|@LIBDIR@|%{_libdir}|g" \
$RPM_BUILD_ROOT%{_bindir}/eclipse-pdebuild
#fix pde permissions
chmod a+x $RPM_BUILD_ROOT%{_libdir}/%{pkg_name}/dropins/sdk/plugins/org.eclipse.pde.build_*/templates/package-build/*.sh
#replace pde reference
sed -i "s@/usr/share/eclipse@%{libdir}/%{pkg_name}@" $RPM_BUILD_ROOT%{_libdir}/%{pkg_name}/dropins/sdk/plugins/org.eclipse.pde.build_*/templates/package-build/build.properties
##############
# Tests
##############
unzip eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests/target/eclipse-junit-tests-bundle.zip -d $RPM_BUILD_ROOT/%{_javadir}/
unzip $RPM_BUILD_ROOT/%{_javadir}/eclipse-testing/eclipse-junit-tests-*.zip -d $RPM_BUILD_ROOT/%{_javadir}/eclipse-testing
cp eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests/src/main/scripts/JUNIT.XSL $RPM_BUILD_ROOT/%{_javadir}/eclipse-testing
cp eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests/src/main/scripts/library.xml $RPM_BUILD_ROOT/%{_javadir}/eclipse-testing
cp production/testScripts/configuration/sdk.tests/testConfigs/linux/testing.properties $RPM_BUILD_ROOT/%{_javadir}/eclipse-testing
cp utils/splitter.xsl $RPM_BUILD_ROOT/%{_javadir}/eclipse-testing
rm $RPM_BUILD_ROOT/%{_javadir}/eclipse-testing/eclipse-junit-tests-*.zip
rm $RPM_BUILD_ROOT/%{_javadir}/eclipse-testing/runtests.bat
pushd $RPM_BUILD_ROOT/%{_javadir}/eclipse-testing/plugins
f=`ls | grep org.easymock_`
rm $f
ln -s /usr/share/java/easymock.jar $f
rm -rf org.hamcrest.core_*
rm -rf org.junit_*
popd
sed -i -e "s#@libdir@#%{_libdir}#" $RPM_BUILD_ROOT/%{_javadir}/eclipse-testing/runtests.sh
sed -i -e "s#@USR@#%{?scl:%{_scl_root}}%{_usr}#" $RPM_BUILD_ROOT/%{_javadir}/eclipse-testing/runtests.sh
touch $RPM_BUILD_ROOT%{_bindir}/%{pkg_name}-runEclipsePackageTests
chmod a+x $RPM_BUILD_ROOT/%{_bindir}/%{pkg_name}-runEclipsePackageTests
echo '#!/bin/sh' >> $RPM_BUILD_ROOT/%{_bindir}/%{pkg_name}-runEclipsePackageTests
echo 'echo "results in /tmp/eclipse-tests-directory/results/"' >> $RPM_BUILD_ROOT/%{_bindir}/%{pkg_name}-runEclipsePackageTests
echo 'export testslocation="%{_javadir}/eclipse-testing/"' >> $RPM_BUILD_ROOT/%{_bindir}/%{pkg_name}-runEclipsePackageTests
echo "pushd %{_javadir}/eclipse-testing;./runtests.sh -os linux -ws gtk -arch %{eclipse_arch} ; popd;" >> $RPM_BUILD_ROOT/%{_bindir}/%{pkg_name}-runEclipsePackageTests
# Package testbundle-to-eclipse-test
cp -r testbundle-to-eclipse-test $RPM_BUILD_ROOT/%{_javadir}/eclipse-testing/testbundle
pushd $RPM_BUILD_ROOT/%{_javadir}/eclipse-testing/testbundle
# Set the proper paths for scripts
sed -i 's|\.\+/\(gatherBundles\.sh\)|%{_javadir}/eclipse-testing/testbundle/\1|' prepRuntimeLocation.sh
sed -i 's|\.\+/\(genRepo\.sh\)|%{_javadir}/eclipse-testing/testbundle/\1|' prepAllTestBundles.sh
sed -i 's|\.\+/\(prepRuntimeLocation\.sh\)|%{_javadir}/eclipse-testing/testbundle/\1|' %{pkg_name}-runTestBundles
sed -i 's|\.\+/\(prepAllTestBundles\.sh\)|%{_javadir}/eclipse-testing/testbundle/\1|' %{pkg_name}-runTestBundles
sed -i 's|cp swtbot-library.xml alltest.xml updateTestBundleXML.sh target/|cp %{_javadir}/eclipse-testing/testbundle/{swtbot-library.xml,alltest.xml,updateTestBundleXML.sh} target/|' prepRuntimeLocation.sh
for file in genRepo.sh gatherBundles.sh ;do
sed -i '/prefix=\$ROOT_PREFIX/ i ROOT_PREFIX=%{_scl_root}' ${file}
done
mv $RPM_BUILD_ROOT/%{_javadir}/eclipse-testing/testbundle/%{pkg_name}-runTestBundles $RPM_BUILD_ROOT/%{_bindir}/%{pkg_name}-runTestBundles
popd
#fix so permissions
find $RPM_BUILD_ROOT/%{_libdir}/eclipse -name *.so -exec chmod a+x {} \;
%post platform
touch --no-create %{_datadir}/icons/hicolor
if [ -x /usr/bin/gtk-update-icon-cache ]; then
gtk-update-icon-cache -q %{_datadir}/icons/hicolor
fi
%postun platform
touch --no-create %{_datadir}/icons/hicolor
if [ -x /usr/bin/gtk-update-icon-cache ]; then
gtk-update-icon-cache -q %{_datadir}/icons/hicolor
fi
%files swt
%dir %{_libdir}/%{pkg_name}
%dir %{_libdir}/%{pkg_name}/plugins
%{_libdir}/%{pkg_name}/notice.html
%{_libdir}/%{pkg_name}/eclipse.ini
%{_libdir}/%{pkg_name}/epl-v10.html
%{_libdir}/%{pkg_name}/plugins/org.eclipse.swt_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.swt.gtk.linux.*
%{_libdir}/%{pkg_name}/swt-gtk*.jar
%{_libdir}/%{pkg_name}/swt.jar
%{_libdir}/../lib/java/swt.jar
%files platform -f .mfiles-platform
%{_bindir}/%{pkg_name}
%{_libdir}/%{pkg_name}/.eclipseproduct
%config %{_libdir}/%{pkg_name}/eclipse.ini
%config %{_sysconfdir}/eclipse.ini
/usr/share/applications/*
/usr/share/pixmaps/*
/usr/share/icons/*/*/apps/*
/usr/share/appdata/%{?scl_prefix}eclipse.appdata.xml
%{_libdir}/%{pkg_name}/eclipse
%dir %{_libdir}/%{pkg_name}/dropins
%dir %{_datadir}/%{pkg_name}/
%dir %{_datadir}/%{pkg_name}/dropins
%dir %{_libdir}/%{pkg_name}/configuration/
%{_libdir}/%{pkg_name}/configuration/config.ini
%{_libdir}/%{pkg_name}/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info
%dir %{_libdir}/%{pkg_name}/features/
%{_libdir}/%{pkg_name}/features/org.eclipse.platform_*
%{_libdir}/%{pkg_name}/features/org.eclipse.e4.rcp_*
%{_libdir}/%{pkg_name}/features/org.eclipse.rcp_*
%{_libdir}/%{pkg_name}/features/org.eclipse.emf.common_*
%{_libdir}/%{pkg_name}/features/org.eclipse.emf.ecore_*
%{_libdir}/%{pkg_name}/features/org.eclipse.rcp.configuration_*
%{_libdir}/%{pkg_name}/plugins/asm*
%{_libdir}/%{pkg_name}/plugins/com.ibm.icu_*
%{_libdir}/%{pkg_name}/plugins/com.jcraft.jsch_*
%{_libdir}/%{pkg_name}/plugins/javax.servlet-api_*
%{_libdir}/%{pkg_name}/plugins/javax.servlet_*
%{_libdir}/%{pkg_name}/plugins/javax.servlet.jsp_*
%{_libdir}/%{pkg_name}/plugins/javax.xml_*
%{_libdir}/%{pkg_name}/plugins/com.sun.el.javax.el_*
%{_libdir}/%{pkg_name}/plugins/javax.inject_*.jar
%{_libdir}/%{pkg_name}/plugins/org.apache.ant_*
%{_libdir}/%{pkg_name}/plugins/org.apache.batik.css_*
%{_libdir}/%{pkg_name}/plugins/org.apache.batik.util.gui_*
%{_libdir}/%{pkg_name}/plugins/org.apache.batik.util_*
%{_libdir}/%{pkg_name}/plugins/org.apache.commons.codec_*
%{_libdir}/%{pkg_name}/plugins/org.apache.httpcomponents.httpclient_*
%{_libdir}/%{pkg_name}/plugins/org.apache.httpcomponents.httpcore_*
%{_libdir}/%{pkg_name}/plugins/org.apache.commons.logging_*
%{_libdir}/%{pkg_name}/plugins/org.apache.felix.gogo.command_*
%{_libdir}/%{pkg_name}/plugins/org.apache.felix.gogo.runtime_*
%{_libdir}/%{pkg_name}/plugins/org.apache.felix.gogo.shell_*
%{_libdir}/%{pkg_name}/plugins/org.apache.geronimo.specs.geronimo-annotation_1.1_spec_*
%{_libdir}/%{pkg_name}/plugins/org.glassfish.web.javax.servlet.jsp_*
%{_libdir}/%{pkg_name}/plugins/org.apache.lucene.core_*
%{_libdir}/%{pkg_name}/plugins/org.apache.lucene.analysis_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.ant.core_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.compare_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.compare.core_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.core.externaltools_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.core.filebuffers_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.core.filesystem*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.core.net*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.core.resources_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.core.runtime.compatibility_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.core.runtime.compatibility.registry_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.core.variables_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.debug.core_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.debug.ui_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.emf.common_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.emf.ecore.change_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.emf.ecore.xmi_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.emf.ecore_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.ds_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.event_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.http.jetty_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.http.registry_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.http.servlet_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.jsp.jasper_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.jsp.jasper.registry_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.help.base_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.help.ui_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.help.webapp_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.jdt.core.compiler.batch_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.jface.text_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.jsch.core_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.jsch.ui_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.ltk.core.refactoring_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.ltk.ui.refactoring_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.platform_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.platform.doc.user_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.search_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.team.core_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.team.ui_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.text_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.ui.browser_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.ui.cheatsheets_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.ui.console_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.ui.editors_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.ui.externaltools_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.ui.forms_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.ui.ide_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.ui.ide.application_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.ui.intro_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.ui.intro.universal_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.ui.navigator_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.ui.navigator.resources_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.ui.net_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.ui.views_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.ui.views.properties.tabbed_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.ui.workbench.texteditor_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.e4.core.commands_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.e4.core.contexts_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.e4.core.di.extensions_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.e4.core.di_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.e4.core.services_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.e4.ui.bindings_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.e4.ui.css.core_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.e4.ui.css.swt.theme_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.e4.ui.css.swt_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.e4.ui.di_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.e4.ui.model.workbench_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.e4.ui.services_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.e4.ui.widgets_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.e4.ui.workbench.addons.swt_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.e4.ui.workbench.renderers.swt_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.e4.ui.workbench.swt_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.e4.ui.workbench3_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.e4.ui.workbench_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.jetty.util_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.jetty.server_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.jetty.http_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.jetty.continuation_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.jetty.io_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.jetty.security_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.jetty.servlet_*
%{_libdir}/%{pkg_name}/features/org.eclipse.help_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.frameworkadmin_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.frameworkadmin.equinox_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.simpleconfigurator.manipulator_*
%{_libdir}/%{pkg_name}/features/org.eclipse.equinox.p2.core.feature_*
%{_libdir}/%{pkg_name}/features/org.eclipse.equinox.p2.extras.feature_*
%{_libdir}/%{pkg_name}/features/org.eclipse.equinox.p2.rcp.feature_*
%{_libdir}/%{pkg_name}/features/org.eclipse.equinox.p2.user.ui_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.p2.director_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.p2.core_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.p2.engine_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.p2.jarprocessor_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.p2.metadata_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.p2.metadata.repository_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.p2.artifact.repository_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.p2.touchpoint.eclipse_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.p2.touchpoint.natives_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.p2.console_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.p2.ql_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.p2.operations_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.p2.transport.ecf_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.p2.ui_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.p2.ui.importexport_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.p2.ui.sdk_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.p2.ui.sdk.scheduler_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.p2.updatechecker_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.p2.garbagecollector_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.p2.directorywatcher_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.p2.publisher_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.p2.publisher.eclipse_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.p2.repository_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.p2.repository.tools_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.p2.reconciler.dropins_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.p2.updatesite_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.security_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.security.ui_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.p2.extensionlocation_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.p2.director.app_*
%{_libdir}/%{pkg_name}/features/org.eclipse.ecf.core.feature_*
%{_libdir}/%{pkg_name}/features/org.eclipse.ecf.core.ssl.feature_*
%{_libdir}/%{pkg_name}/features/org.eclipse.ecf.filetransfer.feature_*
%{_libdir}/%{pkg_name}/features/org.eclipse.ecf.filetransfer.httpclient4.feature_*
%{_libdir}/%{pkg_name}/features/org.eclipse.ecf.filetransfer.httpclient4.ssl.feature_*
%{_libdir}/%{pkg_name}/features/org.eclipse.ecf.filetransfer.ssl.feature_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.ecf.provider.filetransfer_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.ecf.provider.filetransfer.httpclient4_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.ecf.provider.filetransfer.httpclient4.ssl_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.ecf.provider.filetransfer.ssl_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.ecf.ssl_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.ecf_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.ecf.filetransfer_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.ecf.identity_*
%{_libdir}/%{pkg_name}/plugins/org.sat4j.core_*
%{_libdir}/%{pkg_name}/plugins/org.sat4j.pb_*
%{_libdir}/%{pkg_name}/plugins/org.w3c.css.sac_*
%{_libdir}/%{pkg_name}/plugins/org.w3c.dom.svg_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.core.commands_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.core.contenttype_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.core.databinding.beans_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.core.databinding.observable_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.core.databinding.property_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.core.databinding_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.core.expressions_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.core.jobs_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.core.runtime_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.app_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.bidi_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.common_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.concurrent_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.console_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.launcher.gtk.linux.*_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.launcher_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.preferences_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.registry_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.simpleconfigurator_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.equinox.util_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.help_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.jface.databinding_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.jface_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.rcp_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.ui.themes_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.ui.workbench_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.ui_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.update.configurator_*
%{_libdir}/%{pkg_name}/readme
%{_libdir}/%{pkg_name}/about_files
%doc %{_libdir}/%{pkg_name}/about.html
%{_libdir}/%{pkg_name}/artifacts.xml
%{_libdir}/%{pkg_name}/p2
%files jdt
%attr(0755,root,root) %{_bindir}/efj
%{_libdir}/%{pkg_name}/dropins/jdt
%files pde
%{_bindir}/%{pkg_name}-pdebuild
%{_libdir}/%{pkg_name}/buildscripts
%{_libdir}/%{pkg_name}/dropins/sdk
%files tests
%{_bindir}/%{pkg_name}-runEclipsePackageTests
%{_bindir}/%{pkg_name}-runTestBundles
%{_javadir}/%{pkg_name}-testing
%files equinox-osgi -f .mfiles-equinox-osgi
%dir %{_javadir}/%{pkg_name}
%{_libdir}/%{pkg_name}/plugins/org.eclipse.osgi_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.osgi.services_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.osgi.util_*
%{_libdir}/%{pkg_name}/plugins/org.eclipse.osgi.compatibility.state_*
%changelog
* Tue Jun 10 2014 Alexander Kurtakov <akurtako@redhat.com> 1:4.4.0-0.28.git201406042000
- Drop jdt mvn depmaps.
* Thu Jun 05 2014 Mat Booth <mat.booth@redhat.com> - 1:4.4.0-0.27.git201406042000
- Remove pre-built launcher binaries
- Remove last uses of tomcat
* Tue Jun 03 2014 Mat Booth <mat.booth@redhat.com> - 1:4.4.0-0.26.git201406022000
- Update to latest I-build
* Fri May 30 2014 Michael Simacek <msimacek@redhat.com> - 1:4.4.0-0.25.git201405252000
- Rebuild against new jetty
* Tue May 27 2014 Alexander Kurtakov <akurtako@redhat.com> 1:4.4.0-0.24.git201405252000
- Pass eclipse.javadoc as param to mvn call to fix javadoc generation.
* Tue May 27 2014 Alexander Kurtakov <akurtako@redhat.com> 1:4.4.0-0.23.git201405252000
- Update to latest I-build.
* Fri May 23 2014 Alexander Kurtakov <akurtako@redhat.com> 1:4.4.0-0.22.git201405112000
- Rebuild for new lucene/junit metadata.
* Wed May 21 2014 Alexander Kurtakov <akurtako@redhat.com> 1:4.4.0-0.21.git201405112000
- Drop tomcat BR/Rs.
* Wed May 21 2014 Alexander Kurtakov <akurtako@redhat.com> 1:4.4.0-0.20.git201405112000
- Drop cglib dep.
- Apply jetty 9 patch unconditionally.
* Mon May 19 2014 Mat Booth <mat.booth@redhat.com> - 1:4.4.0-0.19.git201405112000
- Drop unnecessary BRs
- Update e-b snapshot for new felix-gogo-* jar locations
* Mon May 12 2014 Alexander Kurtakov <akurtako@redhat.com> 1:4.4.0-0.18.git201405112000
- Update to latest I-build.
- Move pre-luna changelog to separate file.
* Wed May 07 2014 Mat Booth <mat.booth@redhat.com> - 1:4.4.0-0.17.git201405062000
- Update to latest I-build of Luna 4.4.0
- New e-b snapshot for updated gnome appdata
- Rebuilt for new dependency versions.
* Thu May 01 2014 Mat Booth <mat.booth@redhat.com> - 1:4.4.0-0.16.git201405010200
- Update to latest I-build of Luna 4.4.0
* Mon Apr 28 2014 Mat Booth <mat.booth@redhat.com> - 1:4.4.0-0.15.git201404280800
- Don't mirror emf and ecf into the final p2 repository
* Mon Apr 28 2014 Mat Booth <mat.booth@redhat.com> - 1:4.4.0-0.14.git201404280800
- Update to latest I-build of Luna 4.4.0
* Thu Apr 24 2014 Mat Booth <mat.booth@redhat.com> - 1:4.4.0-0.13.git201404220800
- Drop the use of custom jdtpde repository build from e-b
- Don't use a custom product ID
- Add BR on mockito
- Fix pixmaps directory ownership
* Tue Apr 22 2014 Mat Booth <mat.booth@redhat.com> - 1:4.4.0-0.12.git201404220800
- Update to latest I-build of Luna 4.4.0
- Enable Java 8 specific bundles
- Rebuild for updated lucene dependency
* Tue Apr 15 2014 Mat Booth <mat.booth@redhat.com> - 1:4.4.0-0.11.git201404150800
- Update to latest I-build of Luna 4.4.0
- Fix missing copy resource step on ppc64le
- Don't build bundles that are only applicable on non-linux platforms
* Thu Apr 10 2014 Mat Booth <mat.booth@redhat.com> - 1:4.4.0-0.10.git201404081645
- Drop unnecessary BR on GConf2-devel
- Drop unneeded patch: fix-swt-build-in-rawhide
* Thu Apr 10 2014 Mat Booth <mat.booth@redhat.com> - 1:4.4.0-0.9.git201404081645
- Make globbing work on arches that don't have platform specific fragments.
* Tue Apr 08 2014 Mat Booth <mat.booth@redhat.com> - 1:4.4.0-0.8.git201404081645
- Update to latest I-build of Luna 4.4.0
- Don't unnecessarily create platform specific fragments for o.e.core.net and
o.e.core.filesystem.
- Accomodate for ppc64le architecture.
- Drop upstreamed patch: objectweb-asm
* Thu Apr 03 2014 Mat Booth <mat.booth@redhat.com> - 1:4.4.0-0.7.git201404011500
- Fix symlinking junit when it is a directory.
* Thu Apr 03 2014 Mat Booth <mat.booth@redhat.com> - 1:4.4.0-0.6.git201404011500
- Non-bootstrap build.
* Wed Apr 02 2014 Mat Booth <mat.booth@redhat.com> - 1:4.4.0-0.5.git201404011500
- Add patch for org.ojectweb.asm -> org.ojectweb.asm.all
* Wed Apr 02 2014 Mat Booth <mat.booth@redhat.com> - 1:4.4.0-0.4.git201404011500
- Move secondary-arch fragment generation into e-b.
* Wed Apr 02 2014 Mat Booth <mat.booth@redhat.com> - 1:4.4.0-0.3.git201404011500
- Update eclipse-build snapshot
* Tue Apr 01 2014 Mat Booth <mat.booth@redhat.com> - 1:4.4.0-0.2.git201404011500
- Update to latest I-build of Luna 4.4.0
- Require objectweb-asm >= 5.0.1
* Mon Mar 24 2014 Mat Booth <mat.booth@redhat.com> - 1:4.4.0-0.1.M6
- Update to M6 pre-release of Luna 4.4.0
- Bootstrap build
- Drop upstreamed patches: do-not-run-as-root, bug-408505,
bug-404448, osgi-unpack-sources
- Add patch to use mockito-core 1.9