eclipse/eclipse.spec
2007-08-29 13:46:48 +00:00

2004 lines
90 KiB
RPMSpec

Epoch: 1
%define gcj_support 1
%define tomcatsharedir %{_datadir}/tomcat5
%define tomcatlibdir %{_var}/lib/tomcat5
%define eclipse_major 3
%define eclipse_minor 3
%define eclipse_majmin %{eclipse_major}.%{eclipse_minor}
%define eclipse_micro 0
%define libname libswt3
# All arches line up between Eclipse and Linux kernel names except i386 -> x86
%ifarch %{ix86}
%define eclipse_arch x86
%else
%define eclipse_arch %{_arch}
%endif
Summary: An open, extensible IDE
Name: eclipse
Version: %{eclipse_majmin}.%{eclipse_micro}
Release: 11%{?dist}
License: Eclipse Public License
Group: Text Editors/Integrated Development Environments (IDE)
URL: http://www.eclipse.org/
Source0: http://download.eclipse.org/eclipse/downloads/drops/R-3.3-200706251500/eclipse-sourceBuild-srcIncluded-3.3.zip
Source1: %{name}-fedora-splash-3.3.0.png
Source2: %{name}.desktop
Source3: eclipse.in
Source16: %{name}-copy-platform.sh
Source17: efj.sh.in
Source18: ecj.sh.in
# This file contains the types of files we'd like to extract from the jars
# when using the FileInitializer
Source19: %{name}-filenamepatterns.txt
# cvs -d :pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse co equinox-incubator/org.eclipse.equinox.initializer
# tar cjf eclipse-fileinitializerapp.tar.bz2 equinox-incubator/
# (generated 2006-11-01 18:48 UTC)
Source20: %{name}-fileinitializerapp.tar.bz2
# These two patches need to go upstream
Patch3: %{name}-libupdatebuild2.patch
# Build swttools.jar
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=90364
Patch4: %{name}-swttools.patch
# This does two things:
# 1. allows the launcher to be in /usr/bin and
# 2. ensures that the OSGi configuration directory
# (which contains the JNI .sos) is in %{_libdir}
# We should investigate whether or not this can go upstream
Patch12: %{name}-launcher-set-install-dir-and-shared-config.patch
# Always generate debug info when building RPMs (Andrew Haley)
# This needs to be investigated for getEnv changes
Patch14: %{name}-ecj-rpmdebuginfo.patch
# generic releng plugins that can be used to build plugins
# see this thread for details:
# https://www.redhat.com/archives/fedora-devel-java-list/2006-April/msg00048.html
# This needs to be submitted upstream
Patch15: %{name}-pde.build-add-package-build.patch
# FIXME: Should we ship tomcat plugins with 3.3?
# This tomcat stuff will change when they move to the equinox jetty provider
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=98371
Patch6: %{name}-tomcat55.patch
Patch7: %{name}-tomcat55-build.patch
# Use ecj for gcj
Patch17: %{name}-ecj-gcj.patch
Patch24: %{name}-add-ppc64-sparc64-s390-s390x.patch
#https://bugs.eclipse.org/bugs/show_bug.cgi?id=198840
Patch25: %{name}-launcher-double-free-bug.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: ant
BuildRequires: jpackage-utils >= 0:1.5, make, gcc
BuildRequires: gnome-vfs2-devel
BuildRequires: gtk2-devel
BuildRequires: glib2-devel
BuildRequires: libgnome-devel
BuildRequires: libgnomeui-devel
BuildRequires: gcc-c++
BuildRequires: firefox-devel
BuildRequires: nspr-devel
BuildRequires: libXtst-devel
BuildRequires: mesa-libGL-devel
BuildRequires: mesa-libGLU-devel
BuildRequires: cairo >= 1.0
BuildRequires: unzip
BuildRequires: icu4j-eclipse >= 3.6.1
BuildRequires: tomcat5-jasper-eclipse >= 5.5.17
BuildRequires: java-javadoc
BuildRequires: desktop-file-utils
%if %{gcj_support}
BuildRequires: gcc-java >= 4.1.2
BuildRequires: java-gcj-compat-devel >= 1.0.64
%else
BuildRequires: java-devel >= 1.5.0
%endif
# Need to investigate why we don't build ant-apache-bsf or ant-commons-net in
# Fedora. When that's done, add it here and symlink below.
# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=180642
BuildRequires: ant-antlr ant-apache-bcel ant-apache-log4j ant-apache-oro ant-apache-regexp ant-apache-resolver ant-commons-logging
BuildRequires: ant-javamail ant-jdepend ant-junit ant-nodeps ant-swing ant-trax ant-jsch
BuildRequires: jsch >= 0:0.1.31
BuildRequires: jakarta-commons-beanutils jakarta-commons-collections jakarta-commons-digester jakarta-commons-dbcp jakarta-commons-el jakarta-commons-fileupload jakarta-commons-launcher jakarta-commons-logging jakarta-commons-modeler jakarta-commons-pool
BuildRequires: mx4j >= 2.1
BuildRequires: tomcat5 >= 5.5.23
BuildRequires: tomcat5-jasper >= 5.5.23
BuildRequires: tomcat5-servlet-2.4-api >= 5.5.23
BuildRequires: jetty
BuildRequires: lucene >= 1.9.1
BuildRequires: lucene-contrib >= 1.9.1
BuildRequires: regexp
BuildRequires: junit >= 3.8.1-3jpp
BuildRequires: junit4
%if %{gcj_support}
Requires(post): java-gcj-compat >= 1.0.64
Requires(postun): java-gcj-compat >= 1.0.64
%endif
%description
The Eclipse Platform is designed for building integrated development
environments (IDEs) that can be used to create applications as diverse
as web sites, embedded Java(tm) programs, C++ programs, and Enterprise
JavaBeans(tm).
%package ecj
Summary: Eclipse Compiler for Java
Group: Development/Languages
Obsoletes: ecj <= 2.1.3
Provides: ecj <= 2.1.3
%if %{gcj_support}
Requires: libgcj >= 4.0.2
Requires(post): java-gcj-compat >= 1.0.64
Requires(postun): java-gcj-compat >= 1.0.64
%else
Requires: java >= 1.4.2
%endif
%description ecj
Eclipse compiler for Java.
%package -n %{libname}-gtk2
Summary: SWT Library for GTK+-2.0
Group: Text Editors/Integrated Development Environments (IDE)
%if %{gcj_support}
Requires: libgcj >= 4.0.2
Requires(post): java-gcj-compat >= 1.0.64
Requires(postun): java-gcj-compat >= 1.0.64
%endif
Requires: gtk2
Requires: firefox
Conflicts: mozilla
%description -n %{libname}-gtk2
SWT Library for GTK+-2.0.
%package rcp
Summary: Eclipse Rich Client Platform
Group: Development/Languages
Requires: %{libname}-gtk2 = %{epoch}:%{version}-%{release}
# This file-level requirement is for the bi-arch multilib case
Requires: %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk.linux.%{eclipse_arch}_3.3.0.v3346.jar
Requires(post): %{libname}-gtk2 = %{epoch}:%{version}-%{release}
Requires(postun): %{libname}-gtk2 = %{epoch}:%{version}-%{release}
Requires: icu4j-eclipse >= 3.6.1
%if %{gcj_support}
Requires: libgcj >= 4.0.2
Requires(post): java-gcj-compat >= 1.0.64
Requires(postun): java-gcj-compat >= 1.0.64
%else
Requires: java >= 1.4.2
%endif
%description rcp
Eclipse Rich Client Platform
%package rcp-sdk
Summary: Eclipse Rich Client Platform SDK
Group: Text Editors/Integrated Development Environments (IDE)
Requires: %{name}-rcp = %{epoch}:%{version}-%{release}
Requires(post): %{name}-rcp = %{epoch}:%{version}-%{release}
Requires(postun): %{name}-rcp = %{epoch}:%{version}-%{release}
%description rcp-sdk
Source for Eclipse Rich Client Platform for use within Eclipse.
%package cvs-client
Summary: Eclipse CVS Client
Group: Text Editors/Integrated Development Environments (IDE)
Requires: %{name}-rcp = %{epoch}:%{version}-%{release}
Requires(post): %{name}-rcp = %{epoch}:%{version}-%{release}
Requires(postun): %{name}-rcp = %{epoch}:%{version}-%{release}
%if %{gcj_support}
Requires: libgcj >= 4.0.2
Requires(post): java-gcj-compat >= 1.0.64
Requires(postun): java-gcj-compat >= 1.0.64
%else
Requires: java >= 1.4.2
%endif
%description cvs-client
Eclipse CVS Client
%package cvs-client-sdk
Summary: Eclipse Rich Client Platform SDK
Group: Text Editors/Integrated Development Environments (IDE)
Requires: %{name}-cvs-client = %{epoch}:%{version}-%{release}
Requires(post): %{name}-cvs-client = %{epoch}:%{version}-%{release}
Requires(postun): %{name}-cvs-client = %{epoch}:%{version}-%{release}
%description cvs-client-sdk
Source for Eclipse CVS Client for use within Eclipse.
%package platform
Summary: Eclipse platform common files
Group: Text Editors/Integrated Development Environments (IDE)
%if %{gcj_support}
Requires(post): java-gcj-compat >= 1.0.64
Requires(postun): java-gcj-compat >= 1.0.64
%endif
Requires: %{name}-rcp = %{epoch}:%{version}-%{release}
# This file-level requirement is for the bi-arch multilib case
Requires: %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk.linux.%{eclipse_arch}_3.3.0.v3346.jar
Requires(post): %{name}-rcp = %{epoch}:%{version}-%{release}
Requires(postun): %{name}-rcp = %{epoch}:%{version}-%{release}
# Need to investigate why we don't build ant-apache-bsf or ant-commons-net in
# Fedora. When that's done, add it here and symlink below.
# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=180642
#Requires: ant-apache-bsf ant-commons-net
Requires: ant-antlr ant-apache-bcel ant-apache-log4j ant-apache-oro ant-apache-regexp ant-apache-resolver ant-commons-logging
Requires: ant-javamail ant-jdepend ant-junit ant-nodeps ant-swing ant-trax ant-jsch
Requires: jakarta-commons-beanutils jakarta-commons-collections jakarta-commons-digester jakarta-commons-dbcp jakarta-commons-el jakarta-commons-fileupload jakarta-commons-launcher jakarta-commons-logging jakarta-commons-modeler jakarta-commons-pool
Requires: mx4j >= 2.1
Requires: tomcat5 >= 5.5.23
Requires: tomcat5-jasper-eclipse >= 5.5.23
Requires: tomcat5-servlet-2.4-api >= 5.5.23
Requires: tomcat5-jsp-2.0-api >= 5.5.23
Requires: jetty
Requires: jsch >= 0.1.31
Requires: lucene >= 1.9.1
Requires: lucene-contrib >= 1.9.1
Requires: regexp
Requires: eclipse-cvs-client
Requires: eclipse-subclipse
Requires: eclipse-changelog
Requires: eclipse-mylyn
Requires: eclipse-mylyn-ide
Requires: eclipse-mylyn-bugzilla
Requires: eclipse-mylyn-trac
%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 platform-sdk
Summary: Eclipse Platform SDK
Group: Text Editors/Integrated Development Environments (IDE)
Requires: %{name}-platform = %{epoch}:%{version}-%{release}
Requires(post): %{name}-platform = %{epoch}:%{version}-%{release}
Requires(postun): %{name}-platform = %{epoch}:%{version}-%{release}
%description platform-sdk
Source and docs for Eclipse Platform for use within Eclipse.
%package jdt
Summary: Eclipse Java Development Tools
Group: Text Editors/Integrated Development Environments (IDE)
Requires: %{name}-platform = %{epoch}:%{version}-%{release}
Requires: %{name}-cvs-client = %{epoch}:%{version}-%{release}
Requires: %{name}-ecj = %{epoch}:%{version}-%{release}
Requires(post): %{name}-platform = %{epoch}:%{version}-%{release}
Requires(postun): %{name}-platform = %{epoch}:%{version}-%{release}
Requires(post): %{name}-ecj = %{epoch}:%{version}-%{release}
Requires(postun): %{name}-ecj = %{epoch}:%{version}-%{release}
Requires: junit >= 3.8.1-3jpp
Requires: junit4
Requires: java-javadoc
Requires: eclipse-mylyn-java
%if %{gcj_support}
Requires(post): java-gcj-compat >= 1.0.64
Requires(postun): java-gcj-compat >= 1.0.64
%endif
%description jdt
Eclipse Java Development Tools. This package is required to use Eclipse for
developing software written in the Java programming language.
%package jdt-sdk
Summary: Eclipse Java Development Tools SDK
Group: Text Editors/Integrated Development Environments (IDE)
Requires: %{name}-jdt = %{epoch}:%{version}-%{release}
Requires(post): %{name}-jdt = %{epoch}:%{version}-%{release}
Requires(postun): %{name}-jdt = %{epoch}:%{version}-%{release}
%description jdt-sdk
Source and docs for Eclipse Java Development Tools for use within Eclipse.
%package pde
Summary: Eclipse Plugin Development Environment
Group: Text Editors/Integrated Development Environments (IDE)
Provides: eclipse
Requires: %{name}-platform = %{epoch}:%{version}-%{release}
Requires: %{name}-jdt = %{epoch}:%{version}-%{release}
Requires: %{name}-pde-runtime = %{epoch}:%{version}-%{release}
Requires: %{name}-platform-sdk = %{epoch}:%{version}-%{release}
Requires: %{name}-cvs-client-sdk = %{epoch}:%{version}-%{release}
Requires: %{name}-jdt-sdk = %{epoch}:%{version}-%{release}
Requires: %{name}-rcp-sdk = %{epoch}:%{version}-%{release}
Requires: eclipse-mylyn-pde
Requires(post): %{name}-platform = %{epoch}:%{version}-%{release}
Requires(postun): %{name}-platform = %{epoch}:%{version}-%{release}
Requires(post): %{name}-platform-sdk = %{epoch}:%{version}-%{release}
Requires(postun): %{name}-platform-sdk = %{epoch}:%{version}-%{release}
Requires(post): %{name}-jdt = %{epoch}:%{version}-%{release}
Requires(postun): %{name}-jdt = %{epoch}:%{version}-%{release}
Requires(post): %{name}-jdt-sdk = %{epoch}:%{version}-%{release}
Requires(postun): %{name}-jdt-sdk = %{epoch}:%{version}-%{release}
Requires(post): %{name}-pde-runtime = %{epoch}:%{version}-%{release}
Requires(postun): %{name}-pde-runtime = %{epoch}:%{version}-%{release}
Requires(post): %{name}-cvs-client-sdk = %{epoch}:%{version}-%{release}
Requires(postun): %{name}-cvs-client-sdk = %{epoch}:%{version}-%{release}
Requires(post): %{name}-rcp-sdk = %{epoch}:%{version}-%{release}
Requires(postun): %{name}-rcp-sdk = %{epoch}:%{version}-%{release}
%if %{gcj_support}
Requires(post): java-gcj-compat >= 1.0.64
Requires(postun): java-gcj-compat >= 1.0.64
%endif
%description pde
Eclipse Plugin Development Environment. This package is required for
developing Eclipse plugins.
%package pde-runtime
Summary: Eclipse Plugin Development Environment runtime plugin.
Group: Text Editors/Integrated Development Environments (IDE)
Requires: %{name}-platform = %{epoch}:%{version}-%{release}
Requires(post): %{name}-platform = %{epoch}:%{version}-%{release}
Requires(postun): %{name}-platform = %{epoch}:%{version}-%{release}
%if %{gcj_support}
Requires(post): java-gcj-compat >= 1.0.64
Requires(postun): java-gcj-compat >= 1.0.64
%endif
%description pde-runtime
Eclipse Plugin Development Environment runtime plugin (org.eclipse.pde.runtime).
%prep
%setup -q -c
sed --in-place "s/java5.home/java.home/" build.xml
%patch3 -p0
# FIXME: investigate why we are pushd'ing here
# Build swttools.jar
pushd plugins/org.eclipse.swt.gtk.linux.x86_64
%patch4 -p0
popd
# tomcat patches
pushd plugins/org.eclipse.tomcat
%patch6 -p0
%patch7 -p0
popd
sed --in-place "s/4.1.130/5.5.23/g" \
features/org.eclipse.platform/build.xml \
plugins/org.eclipse.tomcat/build.xml \
plugins/org.eclipse.tomcat/META-INF/MANIFEST.MF \
assemble.*.xml
pushd plugins/org.eclipse.jdt.core
%patch17 -p0
popd
# launcher patches
rm plugins/org.eclipse.platform/launchersrc.zip
pushd features/org.eclipse.equinox.executable
%patch12 -p0
%patch25 -p0
# put the configuration directory in an arch-specific location
sed --in-place "s:/usr/lib/eclipse/configuration:%{_libdir}/%{name}/configuration:" library/eclipse.c
# make the eclipse binary relocatable
sed --in-place "s:/usr/share/eclipse:%{_datadir}/%{name}:" library/eclipse.c
zip -q -9 -r ../../plugins/org.eclipse.platform/launchersrc.zip library
popd
# use our system-installed javadocs
sed --in-place "s|http://java.sun.com/j2se/1.4.2/docs/api|%{_datadir}/javadocs/java|" \
plugins/org.eclipse.platform.doc.isv/platformOptions.txt
sed --in-place "s|http://java.sun.com/j2se/1.5/docs/api|%{_datadir}/javadocs/java|" \
plugins/org.eclipse.jdt.doc.isv/jdtaptOptions.txt \
plugins/org.eclipse.jdt.doc.isv/jdtOptions.txt
sed --in-place "s|http://java.sun.com/j2se/1.4/docs/api|%{_datadir}/javadocs/java|" \
plugins/org.eclipse.pde.doc.user/pdeOptions.txt \
plugins/org.eclipse.pde.doc.user/pdeOptions
%patch14 -p0
pushd plugins/org.eclipse.pde.build
%patch15
sed --in-place "s:/usr/share/eclipse:%{_datadir}/%{name}:" templates/package-build/build.properties
popd
# Splashscreen
cp %{SOURCE1} plugins/org.eclipse.platform/splash.bmp
# FIXME this should be patched upstream with a flag to turn on and off
# all output should be directed to stdout
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=144942
find -type f -name \*.xml -exec sed --in-place -r "s/output=\".*(txt|log).*\"//g" "{}" \;
# Remove existing .sos and binary launcher
find -name \*.so | xargs rm
find features/org.eclipse.equinox.executable -type f -name eclipse | xargs rm
# Symlinks
## BEGIN ANT ##
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-antlr.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-apache-bcel.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-apache-bsf.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-apache-log4j.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-apache-oro.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-apache-regexp.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-apache-resolver.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-commons-logging.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-commons-net.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-jai.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-javamail.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-jdepend.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-jmf.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-jsch.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-junit.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-launcher.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-netrexx.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-nodeps.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-starteam.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-stylebook.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-swing.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-trax.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-weblogic.jar
# FIXME: use build-jar-repository
ln -s %{_javadir}/ant/ant-antlr.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-antlr.jar
ln -s %{_javadir}/ant/ant-apache-bcel.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-apache-bcel.jar
#ln -s %{_javadir}/ant/ant-apache-bsf.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-apache-bsf.jar
ln -s %{_javadir}/ant/ant-apache-log4j.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-apache-log4j.jar
ln -s %{_javadir}/ant/ant-apache-oro.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-apache-oro.jar
ln -s %{_javadir}/ant/ant-apache-regexp.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-apache-regexp.jar
ln -s %{_javadir}/ant/ant-apache-resolver.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-apache-resolver.jar
ln -s %{_javadir}/ant/ant-commons-logging.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-commons-logging.jar
# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=180642
# the symlinks that are commented-out are not currently shipped on Fedora
#ln -s %{_javadir}/ant/ant-commons-net.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-commons-net.jar
#ln -s %{_javadir}/ant/ant-jai.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-jai.jar
ln -s %{_javadir}/ant.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant.jar
ln -s %{_javadir}/ant/ant-javamail.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-javamail.jar
ln -s %{_javadir}/ant/ant-jdepend.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-jdepend.jar
#ln -s %{_javadir}/ant/ant-jmf.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-jmf.jar
ln -s %{_javadir}/ant/ant-jsch.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-jsch.jar
ln -s %{_javadir}/ant/ant-junit.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-junit.jar
ln -s %{_javadir}/ant-launcher.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-launcher.jar
#ln -s %{_javadir}/ant/ant-netrexx.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-netrexx.jar
ln -s %{_javadir}/ant/ant-nodeps.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-nodeps.jar
#ln -s %{_javadir}/ant/ant-starteam.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-starteam.jar
#ln -s %{_javadir}/ant/ant-stylebook.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-stylebook.jar
ln -s %{_javadir}/ant/ant-swing.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-swing.jar
ln -s %{_javadir}/ant/ant-trax.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-trax.jar
#ln -s %{_javadir}/ant/ant-weblogic.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-weblogic.jar
## END ANT ##
## BEGIN TOMCAT ##
rm plugins/org.eclipse.tomcat/commons-beanutils.jar
rm plugins/org.eclipse.tomcat/commons-collections.jar
rm plugins/org.eclipse.tomcat/commons-digester.jar
rm plugins/org.eclipse.tomcat/commons-logging-api.jar
rm plugins/org.eclipse.tomcat/commons-modeler.jar
rm plugins/org.eclipse.tomcat/jakarta-regexp-1.3.jar
rm plugins/org.eclipse.tomcat/servlet.jar
rm plugins/org.eclipse.tomcat/servlets-manager.jar
rm plugins/org.eclipse.tomcat/naming-common.jar
rm plugins/org.eclipse.tomcat/servlets-common.jar
rm plugins/org.eclipse.tomcat/tomcat-http11.jar
rm plugins/org.eclipse.tomcat/bootstrap.jar
rm plugins/org.eclipse.tomcat/catalina.jar
rm plugins/org.eclipse.tomcat/jasper-compiler.jar
rm plugins/org.eclipse.tomcat/jasper-runtime.jar
rm plugins/org.eclipse.tomcat/mx4j-jmx.jar
rm plugins/org.eclipse.tomcat/naming-resources.jar
rm plugins/org.eclipse.tomcat/naming-factory.jar
rm plugins/org.eclipse.tomcat/servlets-default.jar
rm plugins/org.eclipse.tomcat/servlets-invoker.jar
rm plugins/org.eclipse.tomcat/tomcat-coyote.jar
rm plugins/org.eclipse.tomcat/tomcat-util.jar
mkdir -p plugins/org.eclipse.tomcat/lib
ln -s %{tomcatsharedir}/bin/bootstrap.jar plugins/org.eclipse.tomcat/lib/bootstrap.jar
ln -s %{_javadir}/tomcat5/catalina.jar plugins/org.eclipse.tomcat/lib/catalina.jar
ln -s %{_javadir}/tomcat5/catalina-optional.jar plugins/org.eclipse.tomcat/lib/catalina-optional.jar
ln -s %{_javadir}/jasper5-compiler.jar plugins/org.eclipse.tomcat/lib/jasper-compiler.jar
ln -s %{_javadir}/jasper5-runtime.jar plugins/org.eclipse.tomcat/lib/jasper-runtime.jar
ln -s %{_javadir}/mx4j/mx4j.jar plugins/org.eclipse.tomcat/lib/mx4j.jar
ln -s %{_javadir}/mx4j/mx4j-impl.jar plugins/org.eclipse.tomcat/lib/mx4j-impl.jar
ln -s %{_javadir}/mx4j/mx4j-jmx.jar plugins/org.eclipse.tomcat/lib/mx4j-jmx.jar
ln -s %{_javadir}/tomcat5/naming-factory.jar plugins/org.eclipse.tomcat/lib/naming-factory.jar
ln -s %{_javadir}/tomcat5/naming-resources.jar plugins/org.eclipse.tomcat/lib/naming-resources.jar
ln -s %{_javadir}/tomcat5/servlets-default.jar plugins/org.eclipse.tomcat/lib/servlets-default.jar
ln -s %{_javadir}/tomcat5/servlets-invoker.jar plugins/org.eclipse.tomcat/lib/servlets-invoker.jar
ln -s %{_javadir}/tomcat5/tomcat-coyote.jar plugins/org.eclipse.tomcat/lib/tomcat-coyote.jar
ln -s %{_javadir}/tomcat5/tomcat-http.jar plugins/org.eclipse.tomcat/lib/tomcat-http.jar
ln -s %{_javadir}/tomcat5/tomcat-util.jar plugins/org.eclipse.tomcat/lib/tomcat-util.jar
build-jar-repository -s -p plugins/org.eclipse.tomcat/lib commons-beanutils
build-jar-repository -s -p plugins/org.eclipse.tomcat/lib commons-collections
build-jar-repository -s -p plugins/org.eclipse.tomcat/lib commons-dbcp
build-jar-repository -s -p plugins/org.eclipse.tomcat/lib commons-digester
build-jar-repository -s -p plugins/org.eclipse.tomcat/lib commons-digester-rss
build-jar-repository -s -p plugins/org.eclipse.tomcat/lib commons-el
build-jar-repository -s -p plugins/org.eclipse.tomcat/lib commons-fileupload
build-jar-repository -s -p plugins/org.eclipse.tomcat/lib commons-launcher
build-jar-repository -s -p plugins/org.eclipse.tomcat/lib commons-logging-api
build-jar-repository -s -p plugins/org.eclipse.tomcat/lib commons-modeler
build-jar-repository -s -p plugins/org.eclipse.tomcat/lib commons-pool
build-jar-repository -s -p plugins/org.eclipse.tomcat/lib jspapi
build-jar-repository -s -p plugins/org.eclipse.tomcat/lib regexp
build-jar-repository -s -p plugins/org.eclipse.tomcat/lib servletapi5
## END TOMCAT ##
JETTYPLUGINVERSION=$(ls plugins | grep org.mortbay.jetty_5 | sed 's/org.mortbay.jetty_//')
rm plugins/org.mortbay.jetty_$JETTYPLUGINVERSION
ln -s %{_javadir}/jetty/jetty.jar plugins/org.mortbay.jetty_$JETTYPLUGINVERSION
JUNITVERSION=$(ls plugins | grep org.junit_3 | sed 's/org.junit_//')
build-jar-repository -s -p plugins/org.junit_$JUNITVERSION junit
rm plugins/org.junit4/junit.jar
ln -s %{_javadir}/junit4.jar plugins/org.junit4/junit.jar
pushd plugins/org.eclipse.swt/Eclipse\ SWT\ PI/gtk/library
# /usr/lib -> /usr/lib64
sed --in-place "s:/usr/lib/:%{_libdir}/:g" build.sh
sed --in-place "s:-L\$(AWT_LIB_PATH):-L%{_jvmdir}/java/jre/lib/%{_arch}:" make_linux.mak
popd
# FIXME: figure out what's going on with build.index.
find plugins -type f -name \*.xml -exec sed --in-place "s/\(<antcall target=\"build.index\".*\/>\)/<\!-- \1 -->/" "{}" \;
# the swt version is set to HEAD on ia64 but shouldn't be
# get swt version
SWT_MAJ_VER=$(grep maj_ver plugins/org.eclipse.swt/Eclipse\ SWT/common/library/make_common.mak | cut -f 2 -d =)
SWT_MIN_VER=$(grep min_ver plugins/org.eclipse.swt/Eclipse\ SWT/common/library/make_common.mak | cut -f 2 -d =)
SWT_VERSION=$SWT_MAJ_VER$SWT_MIN_VER
swt_frag_ver=$(grep v$SWT_VERSION plugins/org.eclipse.swt.gtk.linux.x86/build.xml | sed "s:.*<.*\"\(.*\)\"/>:\1:")
swt_frag_ver_ia64=$(grep "version\.suffix\" value=" plugins/org.eclipse.swt.gtk.linux.ia64/build.xml | sed "s:.*<.*\"\(.*\)\"/>:\1:")
sed --in-place "s/$swt_frag_ver_ia64/$swt_frag_ver/g" plugins/org.eclipse.swt.gtk.linux.ia64/build.xml \
assemble.org.eclipse.sdk.linux.gtk.ia64.xml \
features/org.eclipse.rcp/build.xml
## Nasty hack to get suppport for ppc64, s390{,x}, sparc{,64} and alpha
%patch24 -p1
# there is only partial support for ppc64 so we have to remove this
# partial support to get the replacemnt hack to work
find -name \*ppc64\* | xargs rm -r
# remove ppc64 support from features/org.eclipse.platform.source/feature.xml
# replace ppc64 with a fake arch (ppc128) so we don't have duplicate ant targets
find -type f -name \*.xml -exec sed --in-place "s/\(rootFileslinux_gtk_\)ppc64/\1ppc128/g" "{}" \;
# remove org.eclipse.platform.source.linux.gtk.ppc64,3.2.0.v20060602-0010-gszCh-8eOaU1uKq
sed --in-place "s/,.\{38\}ppc64.*macosx/,org.eclipse.platform.source.macosx/g" features/org.eclipse.platform.source/build.xml
# replace final occurances with an existing arch
sed --in-place "s/ppc64/x86_64/g" features/org.eclipse.platform.source/build.xml
# Move all of the ia64 directories to ppc64 or s390{,x} or sparc{,64} or alpha dirs and replace
# the ia64 strings with ppc64 or s390(x)
%ifarch ppc64 s390 s390x sparc sparc64 alpha
for f in $(find -name \*ia64\* | grep -v motif | grep -v ia64_32); do
mv $f $(echo $f | sed "s/ia64/%{_arch}/")
done
find -type f ! -name \*.java -a ! -name feature.xml -exec sed --in-place "s/ia64_32/@eye-eh-64_32@/g" "{}" \;
find -type f ! -name \*.java -a ! -name feature.xml -exec sed --in-place "s/ia64/%{_arch}/g" "{}" \;
find -type f ! -name \*.java -a ! -name feature.xml -exec sed --in-place "s/@eye-eh-64_32@/ia64_32/g" "{}" \;
%endif
# remove jdt.apt.pluggable.core, jdt.compiler.tool and org.eclipse.jdt.compiler.apt as they require a JVM that supports Java 1.6
for plugin in jdt.apt.pluggable.core jdt.compiler.tool jdt.compiler.apt; do
version=$(grep org.eclipse.$plugin plugins/org.eclipse.$plugin/build.xml | grep condition.property | cut -d _ -f 2-3 | cut -d \" -f 1)
sed --in-place "s/org.eclipse.$plugin:0.0.0,$version,//" features/org.eclipse.jdt/build.xml
linenum=$(grep -no $plugin features/org.eclipse.jdt/build.xml | cut -d : -f 1)
sed --in-place -e "$linenum,$(expr $linenum + 4)d" features/org.eclipse.jdt/build.xml
linenum=$(grep -no $plugin features/org.eclipse.jdt/feature.xml | cut -d : -f 1)
sed --in-place -e "$(expr $linenum - 1),$(expr $linenum + 5)d" features/org.eclipse.jdt/feature.xml
linenum=$(grep -no "dir=\"plugins/org.eclipse.$plugin" assemble.org.eclipse.sdk.linux.gtk.%{eclipse_arch}.xml | cut -d : -f 1)
sed --in-place -e "$linenum,$(expr $linenum + 2)d" assemble.org.eclipse.sdk.linux.gtk.%{eclipse_arch}.xml
linenum=$(grep -no "value=\"org.eclipse.$plugin" assemble.org.eclipse.sdk.linux.gtk.%{eclipse_arch}.xml | cut -d : -f 1)
sed --in-place -e "$(expr $linenum - 2),$(expr $linenum + 1)d" assemble.org.eclipse.sdk.linux.gtk.%{eclipse_arch}.xml
done
# link to the jsch jar
rm plugins/com.jcraft.jsch_0.1.31.jar
ln -s %{_javadir}/jsch.jar plugins/com.jcraft.jsch_0.1.31.jar
# link to the icu4j stuff
rm plugins/com.ibm.icu_3.6.1.v20070417.jar
ln -s %{_datadir}/eclipse/plugins/com.ibm.icu_3.6.1.v20070417.jar plugins/com.ibm.icu_3.6.1.v20070417.jar
# link to lucene
rm plugins/org.apache.lucene_1.9.1.v200706111724.jar
ln -s %{_javadir}/lucene.jar plugins/org.apache.lucene_1.9.1.v200706111724.jar
rm plugins/org.apache.lucene.analysis_1.9.1.v200706181610.jar
ln -s %{_javadir}/lucene-contrib/lucene-analyzers.jar plugins/org.apache.lucene.analysis_1.9.1.v200706181610.jar
# link to commons-logging
rm plugins/org.apache.commons.logging_1.0.4.v200706111724.jar
ln -s %{_javadir}/commons-logging.jar plugins/org.apache.commons.logging_1.0.4.v200706111724.jar
# link to commons-el
rm plugins/org.apache.commons.el_1.0.0.v200706111724.jar
ln -s %{_javadir}/commons-el.jar plugins/org.apache.commons.el_1.0.0.v200706111724.jar
# link to jasper
rm plugins/org.apache.jasper_5.5.17.v200706111724.jar
ln -s %{_datadir}/eclipse/plugins/org.apache.jasper_5.5.17.v200706111724.jar \
plugins/org.apache.jasper_5.5.17.v200706111724.jar
# link to serlet-api
rm plugins/javax.servlet_2.4.0.v200706111738.jar
ln -s %{_javadir}/tomcat5-servlet-2.4-api.jar plugins/javax.servlet_2.4.0.v200706111738.jar
# link to jsp-api
rm plugins/javax.servlet.jsp_2.0.0.v200706191603.jar
ln -s %{_javadir}/tomcat5-jsp-2.0-api.jar plugins/javax.servlet.jsp_2.0.0.v200706191603.jar
# delete included jars
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=170662
rm plugins/org.eclipse.swt.win32.win32.x86/swt.jar \
plugins/org.eclipse.swt/extra_jars/exceptions.jar \
plugins/org.eclipse.swt.tools/swttools.jar \
plugins/org.eclipse.osgi/osgi/osgi.cmpn.jar \
plugins/org.eclipse.osgi/osgi/osgi.core.jar \
plugins/org.eclipse.osgi/supplement/osgi/osgi.jar
# make sure there are no jars left
JARS=""
for j in $(find -name \*.jar); do
if [ ! -L $j ]; then
JARS="$JARS $j"
fi
done
if [ ! -z "$JARS" ]; then
echo "These jars should be deleted and symlinked to system jars: $JARS"
#FIXME: enable exit 1
fi
tar jxf %{SOURCE20}
%build
ORIGCLASSPATH=$CLASSPATH
# Bootstrapping:
# 1. Build ecj with gcj-built ecj ("javac")
# 2. Re-build ecj with output of 1.
# 1a. compile ecj with javac
ant -DcompilerArg="-encoding ISO-8859-1 -nowarn" -buildfile jdtcoresrc/compilejdtcorewithjavac.xml
%if %{gcj_support}
# 1b. Natively-compile ecj
gcj -fPIC -fjni -findirect-dispatch -shared -Wl,-Bsymbolic \
-o jdtcoresrc/ecj.jar.so jdtcoresrc/ecj.jar
gcj-dbtool -n jdtcoresrc/ecj.db 30000
gcj-dbtool -a jdtcoresrc/ecj.db jdtcoresrc/ecj.jar{,.so}
# To ensure we're not using any pre-compiled ecj on the build system, set this
export ANT_OPTS="-Dgnu.gcj.precompiled.db.path=`pwd`/jdtcoresrc/ecj.db"
%endif
# 2. Use this ecj to rebuild itself
export CLASSPATH=`pwd`/jdtcoresrc/ecj.jar:$ORIGCLASSPATH
ant -DcompilerArg="-encoding ISO-8859-1 -nowarn" -buildfile jdtcoresrc/compilejdtcore.xml
%if %{gcj_support}
# Natively-compile it
gcj -fPIC -fjni -findirect-dispatch -shared -Wl,-Bsymbolic \
-o ecj.jar.so ecj.jar
gcj-dbtool -n ecj.db 30000
gcj-dbtool -a ecj.db ecj.jar{,.so}
export ANT_OPTS="-Dgnu.gcj.precompiled.db.path=`pwd`/ecj.db"
# Remove old native bits
rm jdtcoresrc/ecj.db jdtcoresrc/ecj.jar.so
%endif
# Build the rest of Eclipse
export CLASSPATH=`pwd`/ecj.jar:$ORIGCLASSPATH
export JAVA_HOME=%{java_home}
ant \
-Dnobootstrap=true \
-DinstallOs=linux -DinstallWs=gtk -DinstallArch=%{eclipse_arch} \
-Dlibsconfig=true -DjavacSource=1.5 -DjavacTarget=1.5 -DcompilerArg="-encoding ISO-8859-1 -nowarn"
## Build the FileInitializer application
SDK=$(cd eclipse && pwd)
PDEPLUGINVERSION=$(ls $SDK/plugins | grep pde.build | sed 's/org.eclipse.pde.build_//')
pushd equinox-incubator
mkdir -p build
mkdir -p home
homedir=$(cd home && pwd)
# This can go away when package build handles plugins (not just features)
echo "<project default=\"main\"><target name=\"main\"></target></project>" > build/assemble.org.eclipse.equinox.initializer.all.xml
echo "<project default=\"main\"><target name=\"main\"></target></project>" > build/package.org.eclipse.equinox.initializer.all.xml
LAUNCHERVERSION=$(ls $SDK/plugins | grep equinox.launcher_ | sed 's/org.eclipse.equinox.launcher_//')
java -cp $SDK/plugins/org.eclipse.equinox.launcher_$LAUNCHERVERSION \
-Duser.home=$homedir \
org.eclipse.core.launcher.Main \
-application org.eclipse.ant.core.antRunner \
-Dtype=plugin \
-Did=org.eclipse.equinox.initializer \
-DsourceDirectory=$(pwd) \
-DbaseLocation=$SDK \
-Dbuilder=$SDK/plugins/org.eclipse.pde.build_$PDEPLUGINVERSION/templates/package-build \
-f $SDK/plugins/org.eclipse.pde.build_$PDEPLUGINVERSION/scripts/build.xml
pushd build/plugins/org.eclipse.equinox.initializer
java -cp $SDK/plugins/org.eclipse.equinox.launcher_$LAUNCHERVERSION \
-Duser.home=$homedir \
org.eclipse.core.launcher.Main \
-application org.eclipse.ant.core.antRunner \
-f build.xml build.update.jar
popd
popd
%install
rm -rf $RPM_BUILD_ROOT
# Get swt version
SWT_MAJ_VER=$(grep maj_ver plugins/org.eclipse.swt/Eclipse\ SWT/common/library/make_common.mak | cut -f 2 -d =)
SWT_MIN_VER=$(grep min_ver plugins/org.eclipse.swt/Eclipse\ SWT/common/library/make_common.mak | cut -f 2 -d =)
SWT_VERSION=$SWT_MAJ_VER$SWT_MIN_VER
# Some directories we need
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/links
install -d -m 755 $RPM_BUILD_ROOT%{_libdir}/%{name}
install -d -m 755 $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins
install -d -m 755 $RPM_BUILD_ROOT%{_libdir}/%{name}/features
# Explode the resulting SDK tarball
tar -C $RPM_BUILD_ROOT%{_datadir} -zxf result/linux-gtk-%{eclipse_arch}-sdk.tar.gz
cp launchertmp/eclipse $RPM_BUILD_ROOT%{_datadir}/eclipse
%ifarch ppc64 s390 s390x sparc sparc64 alpha
cp features/org.eclipse.platform/gtk/eclipse.ini $RPM_BUILD_ROOT%{_datadir}/eclipse
%endif
# Add a compatibility symlink to startup.jar
pushd $RPM_BUILD_ROOT%{_datadir}/%{name}
LAUNCHERNAME=$(ls plugins | grep equinox.launcher_)
ln -s plugins/$LAUNCHERNAME startup.jar
popd
## The FileInitializer app isn't part of the SDK (yet?) but we want it to be
## around for other RPMs
cp equinox-incubator/org.eclipse.equinox.initializer/org.eclipse.equinox.initializer_*.jar \
$RPM_BUILD_ROOT%{_datadir}/%{name}/plugins
# Set up an extension location and a link file for the arch-specific dir
echo "path:$RPM_BUILD_ROOT%{_libdir}" > $RPM_BUILD_ROOT%{_datadir}/%{name}/links/fragments.link
echo "name=Eclipse Platform" > $RPM_BUILD_ROOT%{_libdir}/%{name}/.eclipseextension
echo "id=org.eclipse.platform" >> $RPM_BUILD_ROOT%{_libdir}/%{name}/.eclipseextension
echo "version=%{eclipse_majmin}.%{eclipse_micro}" >> $RPM_BUILD_ROOT%{_libdir}/%{name}/.eclipseextension
# Install the platform-specific fragments in an arch-specific dir
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/*%{eclipse_arch}* $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins
# platform.source has the launcher src zip which is platform-specific
PLATFORMSOURCEVERSION=$(ls $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins | grep platform.source_ | sed 's/org.eclipse.platform.source_//')
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/org.eclipse.platform.source_$PLATFORMSOURCEVERSION \
$RPM_BUILD_ROOT%{_libdir}/%{name}/plugins
# help.webapp generates web.xml with Apache Jakarta Tomcat JspC. This file is
# generated differently for different arches. FIXME investigate this.
HELPWEBAPPVERSION=$(ls $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins | grep help.webapp_ | sed 's/org.eclipse.help.webapp_//')
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/org.eclipse.help.webapp_$HELPWEBAPPVERSION \
$RPM_BUILD_ROOT%{_libdir}/%{name}/plugins
# update.core.linux is a fragment
# FIXME: make a patch for upstream to change to swt fragment notation
UPDATECORELINUXVERSION=$(ls $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins | grep update.core.linux_ | sed 's/org.eclipse.update.core.linux_//')
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/org.eclipse.update.core.linux_$UPDATECORELINUXVERSION \
$RPM_BUILD_ROOT%{_libdir}/%{name}/plugins
# FIXME: there is a problem with gjdoc generating different HTML on different
# architectures.
PLATFORMDOCISVVERSION=$(ls $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins | grep platform.doc.isv_ | sed 's/org.eclipse.platform.doc.isv_//')
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/org.eclipse.platform.doc.isv_$PLATFORMDOCISVVERSION \
$RPM_BUILD_ROOT%{_libdir}/%{name}/plugins
# ppc64 is problematic with these two
JDTDOCISVVERSION=$(ls $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins | grep jdt.doc.isv_ | sed 's/org.eclipse.jdt.doc.isv_//')
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/org.eclipse.jdt.doc.isv_$JDTDOCISVVERSION \
$RPM_BUILD_ROOT%{_libdir}/%{name}/plugins
PDEDOCUSERVERSION=$(ls $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins | grep pde.doc.user_ | sed 's/org.eclipse.pde.doc.user_//')
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/org.eclipse.pde.doc.user_$PDEDOCUSERVERSION \
$RPM_BUILD_ROOT%{_libdir}/%{name}/plugins
# Adding support for ppc64, s390{x} and sparc{64} makes the rcp feature
# have multilib conflicts
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/features/org.eclipse.rcp_* \
$RPM_BUILD_ROOT%{_libdir}/%{name}/features
# FIXME: investigate why it doesn't work to set this -- configuration data is
# always written to /usr/share/eclipse/configuration, even with
# -Dosgi.sharedConfiguration.area=$RPM_BUILD_ROOT%{_libdir}/%{name}/configuration
# Note (2006-12-05): upon looking at this again, we (bkonrath, overholt) don't
# know what we're doing with $libdir_path :) It requires some investigation.
#
# Extract .so files
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=90535
pushd $RPM_BUILD_ROOT
datadir_path=$(echo %{_datadir}/%{name} | sed -e 's/^\///')
libdir_path=$(echo %{_libdir}/%{name} | sed -e 's/^\///')
java -Dosgi.sharedConfiguration.area=$libdir_path/configuration \
-cp $datadir_path/startup.jar \
org.eclipse.core.launcher.Main \
-consolelog \
-application org.eclipse.equinox.initializer.configInitializer \
-fileInitializer %{SOURCE19}
popd
# Make proper links file
echo "path:/usr/lib" > $RPM_BUILD_ROOT%{_datadir}/%{name}/links/fragments.link
echo "path:/usr/lib64" > $RPM_BUILD_ROOT%{_datadir}/%{name}/links/fragments64.link
# Install config.ini to an arch dependent location and remove the unnecessary
# configuration data
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/configuration $RPM_BUILD_ROOT%{_libdir}/%{name}
rm -r $RPM_BUILD_ROOT%{_libdir}/%{name}/configuration/org.eclipse.update
rm -r $RPM_BUILD_ROOT%{_libdir}/%{name}/configuration/org.eclipse.core.runtime
rm -r $RPM_BUILD_ROOT%{_libdir}/%{name}/configuration/org.eclipse.equinox.app
# Set eclipse.product to be org.eclipse.platform.ide
sed --in-place "s/eclipse.product=org.eclipse.sdk.ide/eclipse.product=org.eclipse.platform.ide/" \
$RPM_BUILD_ROOT%{_libdir}/%{name}/configuration/config.ini
# Install the launcher so
LAUNCHERFRAGVERSION=$(ls $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins | grep equinox.launcher.gtk.linux.%{eclipse_arch}_ | sed "s/.*equinox.launcher.gtk.linux.*_//")
cp launchertmp/library/gtk/eclipse_*.so \
$RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/org.eclipse.equinox.launcher.gtk.linux.%{eclipse_arch}_$LAUNCHERFRAGVERSION
# Install the Eclipse binary wrapper
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/eclipse $RPM_BUILD_ROOT%{_libdir}/%{name}
install -d -m 755 $RPM_BUILD_ROOT%{_bindir}
cp %{SOURCE3} $RPM_BUILD_ROOT%{_bindir}/eclipse
sed --in-place "s|@LIBDIR@|%{_libdir}|g" $RPM_BUILD_ROOT%{_bindir}/eclipse
ECLIPSELIBSUFFIX=$(ls $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/org.eclipse.equinox.launcher.gtk.linux*/*.so | sed "s/.*.launcher.gtk.linux.//")
sed --in-place "s|@ECLIPSELIBSUFFIX@|$ECLIPSELIBSUFFIX|" $RPM_BUILD_ROOT%{_bindir}/eclipse
# Ensure the shared libraries have the correct permissions
pushd $RPM_BUILD_ROOT%{_libdir}/%{name}
for lib in `find configuration -name \*.so`; do
chmod 755 $lib
done
# Create file listings for the extracted shared libraries
echo -n "" > %{_builddir}/%{buildsubdir}/%{name}-platform.install;
for id in `ls configuration/org.eclipse.osgi/bundles`; do
if [ "Xconfiguration" = $(echo X`find configuration/org.eclipse.osgi/bundles/$id -name libswt\*.so` | sed "s:/.*::") ]; then
echo "%{_libdir}/%{name}/configuration/org.eclipse.osgi/bundles/$id" > %{_builddir}/%{buildsubdir}/%{libname}-gtk2.install;
else
echo "%{_libdir}/%{name}/configuration/org.eclipse.osgi/bundles/$id" >> %{_builddir}/%{buildsubdir}/%{name}-platform.install;
fi
done
popd
# Install symlinks to the SWT JNI shared libraries in /usr/lib/eclipse
pushd $RPM_BUILD_ROOT%{_libdir}/%{name}
for lib in $(find configuration -name libswt\*.so); do
ln -s %{_libdir}/%{name}/$lib `basename $lib`
done
popd
# Install the SWT jar symlinks in libdir
SWTJARVERSION=$(grep v$SWT_VERSION plugins/org.eclipse.swt.gtk.linux.%{eclipse_arch}/build.xml | sed "s:.*<.*\"\(.*\)\"/>:\1:")
pushd $RPM_BUILD_ROOT%{_libdir}/%{name}
ln -s %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk.linux.%{eclipse_arch}_$SWTJARVERSION.jar swt-gtk-%{eclipse_majmin}.%{eclipse_micro}.jar
ln -s swt-gtk-%{eclipse_majmin}.%{eclipse_micro}.jar swt-gtk-%{eclipse_majmin}.jar
popd
# Install the eclipse-ecj.jar symlink for java-1.4.2-gcj-compat's "javac"
JDTCORESUFFIX=$(ls $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins | grep jdt.core_ | sed "s/org.eclipse.jdt.core_//")
install -d -m 755 $RPM_BUILD_ROOT%{_javadir}
ln -s %{_datadir}/%{name}/plugins/org.eclipse.jdt.core_$JDTCORESUFFIX $RPM_BUILD_ROOT%{_javadir}/eclipse-ecj.jar
ln -s %{_javadir}/eclipse-ecj.jar $RPM_BUILD_ROOT%{_javadir}/jdtcore.jar
# FIXME: get rid of this by putting logic in package build to know what version
# of pde.build it's using
# Install a versionless pde.build
pushd $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/
ln -s org.eclipse.pde.build_* org.eclipse.pde.build
popd
# Icons
PLATFORMSUFFIX=$(ls $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins | grep eclipse.platform_ | sed "s/org.eclipse.platform_//")
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps
ln -s %{_datadir}/%{name}/plugins/org.eclipse.platform_$PLATFORMSUFFIX/eclipse48.png \
$RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps/%{name}.png
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps
ln -s %{_datadir}/%{name}/plugins/org.eclipse.platform_$PLATFORMSUFFIX/eclipse32.png \
$RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps/%{name}.png
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps
ln -s ../../../../%{name}/plugins/org.eclipse.platform_$PLATFORMSUFFIX/eclipse.png \
$RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps/%{name}.png
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/pixmaps
ln -s %{_datadir}/icons/hicolor/48x48/apps/%{name}.png \
$RPM_BUILD_ROOT%{_datadir}/pixmaps
%ifarch %{ix86} x86_64
# Remove unused icon.xpm
# see https://bugs.eclipse.org/bugs/show_bug.cgi?id=86848
rm $RPM_BUILD_ROOT%{_datadir}/%{name}/icon.xpm
%endif
# Install the efj wrapper script
install -p -D -m0755 %{SOURCE17} $RPM_BUILD_ROOT%{_bindir}/efj
sed --in-place "s:startup.jar:%{_datadir}/%{name}/startup.jar:" \
$RPM_BUILD_ROOT%{_bindir}/efj
# Install the ecj wrapper script
install -p -D -m0755 %{SOURCE18} $RPM_BUILD_ROOT%{_bindir}/ecj
sed --in-place "s:@JAVADIR@:%{_javadir}:" $RPM_BUILD_ROOT%{_bindir}/ecj
# A sanity check.
desktop-file-validate %{SOURCE2}
# freedesktop.org menu entry
install -p -D -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop
# Put Fedora Core version into about.mappings of org.eclipse.sdk and
# org.eclipse.platform to show it in Eclipse about dialog.
# (courtesy Debian Eclipse packagers)
# FIXME use the third id
SDKPLUGINVERSION=$(ls $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins | grep eclipse.sdk_ | sed "s/org.eclipse.sdk_//")
pushd $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/org.eclipse.sdk_$SDKPLUGINVERSION
OS_VERSION=$(cat /etc/*-release | head -n 1)
sed -e "s/\(0=.*\)/\1 ($OS_VERSION)/" < about.mappings > about.mappings.tmp
mv about.mappings.tmp about.mappings
popd
PLATFORMPLUGINVERSION=$(ls $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins | grep eclipse.platform_ | sed "s/org.eclipse.platform_//")
pushd $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/org.eclipse.platform_$PLATFORMPLUGINVERSION
sed -e "s/\(0=.*\)/\1 ($OS_VERSION)/" < about.mappings > about.mappings.tmp
mv about.mappings.tmp about.mappings
popd
# Create a script that can be used to make a symlink tree of the
# eclipse platform.
cp %{SOURCE16} copy-platform
(
cd $RPM_BUILD_ROOT%{_datadir}/%{name}
ls -d * | egrep -v '^(plugins|features|links|about_files)$'
ls -d plugins/* features/* links/*
) |
sed -e's/^\(.*\)$/\1 \1/' -e's,^,ln -s $eclipse/,' >> copy-platform
mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}/buildscripts
cp copy-platform $RPM_BUILD_ROOT%{_datadir}/%{name}/buildscripts
pushd $RPM_BUILD_ROOT%{_datadir}/%{name}
## BEGIN ANT ##
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-antlr.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-apache-bcel.jar
#rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-apache-bsf.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-apache-log4j.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-apache-oro.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-apache-regexp.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-apache-resolver.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-commons-logging.jar
#rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-commons-net.jar
#rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-jai.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-javamail.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-jdepend.jar
#rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-jmf.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-jsch.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-junit.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-launcher.jar
#rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-netrexx.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-nodeps.jar
#rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-starteam.jar
#rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-stylebook.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-swing.jar
rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-trax.jar
#rm plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-weblogic.jar
# FIXME: use build-jar-repository
ln -s %{_javadir}/ant/ant-antlr.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-antlr.jar
ln -s %{_javadir}/ant/ant-apache-bcel.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-apache-bcel.jar
#ln -s %{_javadir}/ant/ant-apache-bsf.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-apache-bsf.jar
ln -s %{_javadir}/ant/ant-apache-log4j.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-apache-log4j.jar
ln -s %{_javadir}/ant/ant-apache-oro.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-apache-oro.jar
ln -s %{_javadir}/ant/ant-apache-regexp.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-apache-regexp.jar
ln -s %{_javadir}/ant/ant-apache-resolver.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-apache-resolver.jar
ln -s %{_javadir}/ant/ant-commons-logging.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-commons-logging.jar
# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=180642
# the symlinks that are commented-out are not currently shipped on Fedora
#ln -s %{_javadir}/ant/ant-commons-net.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-commons-net.jar
#ln -s %{_javadir}/ant/ant-jai.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-jai.jar
ln -s %{_javadir}/ant.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant.jar
ln -s %{_javadir}/ant/ant-javamail.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-javamail.jar
ln -s %{_javadir}/ant/ant-jdepend.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-jdepend.jar
#ln -s %{_javadir}/ant/ant-jmf.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-jmf.jar
ln -s %{_javadir}/ant/ant-jsch.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-jsch.jar
ln -s %{_javadir}/ant/ant-junit.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-junit.jar
ln -s %{_javadir}/ant-launcher.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-launcher.jar
#ln -s %{_javadir}/ant/ant-netrexx.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-netrexx.jar
ln -s %{_javadir}/ant/ant-nodeps.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-nodeps.jar
#ln -s %{_javadir}/ant/ant-starteam.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-starteam.jar
#ln -s %{_javadir}/ant/ant-stylebook.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-stylebook.jar
ln -s %{_javadir}/ant/ant-swing.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-swing.jar
ln -s %{_javadir}/ant/ant-trax.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-trax.jar
#ln -s %{_javadir}/ant/ant-weblogic.jar plugins/org.apache.ant_1.7.0.v200706080842/lib/ant-weblogic.jar
## END ANT ##
## BEGIN TOMCAT ##
TOMCATPLUGINVERSION=$(ls plugins | grep tomcat | sed 's/org.eclipse.tomcat_//')
mkdir -p plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib
ln -s %{tomcatsharedir}/bin/bootstrap.jar plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib/bootstrap.jar
ln -s %{_javadir}/tomcat5/catalina.jar plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib/catalina.jar
ln -s %{_javadir}/tomcat5/catalina-optional.jar plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib/catalina-optional.jar
ln -s %{_javadir}/jasper5-compiler.jar plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib/jasper-compiler.jar
ln -s %{_javadir}/jasper5-runtime.jar plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib/jasper-runtime.jar
ln -s %{_javadir}/mx4j/mx4j.jar plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib/mx4j.jar
ln -s %{_javadir}/mx4j/mx4j-impl.jar plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib/mx4j-impl.jar
ln -s %{_javadir}/mx4j/mx4j-jmx.jar plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib/mx4j-jmx.jar
ln -s %{_javadir}/tomcat5/naming-factory.jar plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib/naming-factory.jar
ln -s %{_javadir}/tomcat5/naming-resources.jar plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib/naming-resources.jar
ln -s %{_javadir}/tomcat5/servlets-default.jar plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib/servlets-default.jar
ln -s %{_javadir}/tomcat5/servlets-invoker.jar plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib/servlets-invoker.jar
ln -s %{_javadir}/tomcat5/tomcat-coyote.jar plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib/tomcat-coyote.jar
ln -s %{_javadir}/tomcat5/tomcat-http.jar plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib/tomcat-http.jar
ln -s %{_javadir}/tomcat5/tomcat-util.jar plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib/tomcat-util.jar
build-jar-repository -s -p plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib commons-beanutils
build-jar-repository -s -p plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib commons-collections
build-jar-repository -s -p plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib commons-dbcp
build-jar-repository -s -p plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib commons-digester
build-jar-repository -s -p plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib commons-digester-rss
build-jar-repository -s -p plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib commons-el
build-jar-repository -s -p plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib commons-fileupload
build-jar-repository -s -p plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib commons-launcher
build-jar-repository -s -p plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib commons-logging-api
build-jar-repository -s -p plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib commons-modeler
build-jar-repository -s -p plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib commons-pool
build-jar-repository -s -p plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib jspapi
build-jar-repository -s -p plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib regexp
build-jar-repository -s -p plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib servletapi5
## END TOMCAT ##
JETTYPLUGINVERSION=$(ls plugins | grep org.mortbay.jetty_5 | sed 's/org.mortbay.jetty_//')
rm plugins/org.mortbay.jetty_$JETTYPLUGINVERSION
ln -s %{_javadir}/jetty/jetty.jar plugins/org.mortbay.jetty_$JETTYPLUGINVERSION
build-jar-repository -s -p plugins/org.junit_* junit
rm plugins/org.junit4_4.3.1/junit.jar
ln -s %{_javadir}/junit4.jar plugins/org.junit4_4.3.1/junit.jar
# link to the jsch jar
rm plugins/com.jcraft.jsch_0.1.31.jar
ln -s %{_javadir}/jsch.jar plugins/com.jcraft.jsch_0.1.31.jar
# link to the icu4j stuff
rm plugins/com.ibm.icu_3.6.1.v20070417.jar
# link to lucene
rm plugins/org.apache.lucene_1.9.1.v200706111724.jar
ln -s %{_javadir}/lucene.jar plugins/org.apache.lucene_1.9.1.v200706111724.jar
rm plugins/org.apache.lucene.analysis_1.9.1.v200706181610.jar
ln -s %{_javadir}/lucene-contrib/lucene-analyzers.jar plugins/org.apache.lucene.analysis_1.9.1.v200706181610.jar
# link to commons-logging
rm plugins/org.apache.commons.logging_1.0.4.v200706111724.jar
ln -s %{_javadir}/commons-logging.jar plugins/org.apache.commons.logging_1.0.4.v200706111724.jar
# link to commons-el
rm plugins/org.apache.commons.el_1.0.0.v200706111724.jar
ln -s %{_javadir}/commons-el.jar plugins/org.apache.commons.el_1.0.0.v200706111724.jar
# link to jasper
rm plugins/org.apache.jasper_5.5.17.v200706111724.jar
# link to serlet-api
rm plugins/javax.servlet_2.4.0.v200706111738.jar
ln -s %{_javadir}/tomcat5-servlet-2.4-api.jar plugins/javax.servlet_2.4.0.v200706111738.jar
# link to jsp-api
rm plugins/javax.servlet.jsp_2.0.0.v200706191603.jar
ln -s %{_javadir}/tomcat5-jsp-2.0-api.jar plugins/javax.servlet.jsp_2.0.0.v200706191603.jar
popd
# Ensure that the zip files are the same across all builds.
# This is needed to make these package multilib compatible.
# FIXME: this needs to be re-written as a separate program
# warning: big hack!
mkdir -p ${RPM_BUILD_ROOT}/tmp
for zip in `find ${RPM_BUILD_ROOT}%{_datadir}/%{name} -type f -name \*.zip -o -type f -name \*.jar`; do
# unpack every zip, set the date of the files and directories and repack the zip
ZIPNAME=`basename $zip`
TMPDIR=`mktemp -d -p ${RPM_BUILD_ROOT}/tmp $ZIPNAME.tmpdir.XXXXXXXXXX`
ZIPDIR=`mktemp -d -p ${RPM_BUILD_ROOT}/tmp $ZIPNAME.zipdir.XXXXXXXXXX`
pushd $TMPDIR
unzip -qq -o $zip
rm -f $zip
# check if there are jars or zips inside the zip or jar
zipsinside=`find $TMPDIR -type f -name \*.zip -o -name \*.jar`
if [ -n "$zipsinside" ]; then
for zip2 in $zipsinside; do
# unpack every zip, set the date of the files and directories and repack the zip
ZIPNAME2=`basename $zip2`
TMPDIR2=`mktemp -d -p ${RPM_BUILD_ROOT}/tmp $ZIPNAME2.tmpdir.XXXXXXXXXX`
ZIPDIR2=`mktemp -d -p ${RPM_BUILD_ROOT}/tmp $ZIPNAME2.zipdir.XXXXXXXXXX`
pushd $TMPDIR2
unzip -qq -o $zip2
rm -f $zip2
# create the directories first
for d in `find -type d | LC_ALL=C sort`; do
mkdir -p $ZIPDIR2/$d
done
# move the contents over to the a new directory in order and set the times.
for f in `find -type f | LC_ALL=C sort`; do
cp $f $ZIPDIR2/$f
touch --date="1980-01-01 UTC" $ZIPDIR2/$f
done
popd
# Set the times of the directories.
touch --date="1980-01-01 UTC" `find $ZIPDIR2 -type d`
# make the new zip
pushd $ZIPDIR2
find -type f -print | LC_ALL=C sort | /usr/bin/zip -q -X -9 $zip2 -@
popd
# Cleanup.
rm -rf $TMPDIR2
rm -rf $ZIPDIR2
done
fi
# now on to the original zip or jar.
# create the directories first
for d in `find -type d | LC_ALL=C sort`; do
mkdir -p $ZIPDIR/$d
done
# move the contents over to the a new directory in order and set the times.
for f in `find -type f | LC_ALL=C sort`; do
cp $f $ZIPDIR/$f
touch --date="1980-01-01 UTC" $ZIPDIR/$f
done
popd
# Set the times of the directories.
touch --date="1980-01-01 UTC" `find $ZIPDIR -type d`
# make the new zip
pushd $ZIPDIR
find -type f -print | LC_ALL=C sort | /usr/bin/zip -q -X -9 $zip -@
popd
# Cleanup.
rm -rf $TMPDIR
rm -rf $ZIPDIR
done
rm -rf ${RPM_BUILD_ROOT}/tmp
pushd $RPM_BUILD_ROOT%{_datadir}/%{name}
# remove this python script so that it is not aot compiled, thus avoiding a
# multilib conflict
ANTPLUGINVERSION=$(ls plugins | grep org.apache.ant_ | sed 's/org.apache.ant_//')
rm plugins/org.apache.ant_$ANTPLUGINVERSION/bin/runant.py
%if %{gcj_support}
# exclude org.eclipse.ui.ide to work around
# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=175547
UIIDEPLUGINVERSION=$(ls plugins | grep ui.ide_ | sed 's/org.eclipse.ui.ide_//')
%ifnarch ia64
aot-compile-rpm --exclude %{_datadir}/%{name}/plugins/org.eclipse.ui.ide_$UIIDEPLUGINVERSION
%else
OSGIPLUGINVERSION=$(ls plugins | grep osgi_ | sed 's/org.eclipse.osgi_//')
aot-compile-rpm --exclude %{_datadir}/%{name}/plugins/org.eclipse.ui.ide_$UIIDEPLUGINVERSION \
--exclude %{_datadir}/%{name}/plugins/org.eclipse.osgi_$OSGIPLUGINVERSION
%endif
%endif
popd
%clean
rm -rf $RPM_BUILD_ROOT
%post platform
%if %{gcj_support}
if [ -x %{_bindir}/rebuild-gcj-db ]
then
%{_bindir}/rebuild-gcj-db
fi
%endif
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
%if %{gcj_support}
if [ -x %{_bindir}/rebuild-gcj-db ]
then
%{_bindir}/rebuild-gcj-db
fi
%endif
touch --no-create %{_datadir}/icons/hicolor
if [ -x /usr/bin/gtk-update-icon-cache ]; then
gtk-update-icon-cache -q %{_datadir}/icons/hicolor
fi
%if %{gcj_support}
%post ecj -p %{_bindir}/rebuild-gcj-db
%postun ecj -p %{_bindir}/rebuild-gcj-db
%post -n %{libname}-gtk2 -p %{_bindir}/rebuild-gcj-db
%postun -n %{libname}-gtk2 -p %{_bindir}/rebuild-gcj-db
%post rcp -p %{_bindir}/rebuild-gcj-db
%postun rcp -p %{_bindir}/rebuild-gcj-db
%post rcp-sdk -p %{_bindir}/rebuild-gcj-db
%postun rcp-sdk -p %{_bindir}/rebuild-gcj-db
%post platform-sdk -p %{_bindir}/rebuild-gcj-db
%postun platform-sdk -p %{_bindir}/rebuild-gcj-db
%post jdt -p %{_bindir}/rebuild-gcj-db
%postun jdt -p %{_bindir}/rebuild-gcj-db
%post jdt-sdk -p %{_bindir}/rebuild-gcj-db
%postun jdt-sdk -p %{_bindir}/rebuild-gcj-db
%post pde -p %{_bindir}/rebuild-gcj-db
%postun pde -p %{_bindir}/rebuild-gcj-db
%post pde-runtime -p %{_bindir}/rebuild-gcj-db
%postun pde-runtime -p %{_bindir}/rebuild-gcj-db
%endif
%files ecj
%defattr(-,root,root)
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/plugins
%{_datadir}/%{name}/plugins/org.eclipse.jdt.core_*
%{_javadir}/eclipse-ecj.jar
%{_javadir}/jdtcore.jar
%{_bindir}/ecj
%if %{gcj_support}
%dir %{_libdir}/gcj/%{name}
%{_libdir}/gcj/%{name}/org.eclipse.jdt.core_*
%endif
%files -n %{libname}-gtk2 -f %{libname}-gtk2.install
%defattr(-,root,root)
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/plugins
%dir %{_libdir}/%{name}
%dir %{_libdir}/%{name}/libswt-*.so
%dir %{_libdir}/%{name}/plugins
%dir %{_libdir}/%{name}/configuration
%dir %{_libdir}/%{name}/configuration/org.eclipse.osgi
%dir %{_libdir}/%{name}/configuration/org.eclipse.osgi/bundles
%{_datadir}/%{name}/plugins/org.eclipse.swt_*
%{_libdir}/%{name}/plugins/org.eclipse.swt.gtk.linux.%{eclipse_arch}_*
%{_libdir}/%{name}/swt-gtk*.jar
%if %{gcj_support}
%dir %{_libdir}/gcj/%{name}
%{_libdir}/gcj/%{name}/org.eclipse.swt.gtk.linux.%{eclipse_arch}_*
%endif
%files rcp
%defattr(-,root,root)
%dir %{_datadir}/%{name}/features
%dir %{_libdir}/%{name}/features
%{_libdir}/%{name}/configuration/org.eclipse.osgi/.bundledata*
%{_libdir}/%{name}/configuration/org.eclipse.osgi/.lazy*
%{_libdir}/%{name}/configuration/org.eclipse.osgi/.manager
%{_libdir}/%{name}/configuration/org.eclipse.osgi/.state*
%{_libdir}/%{name}/configuration/config.ini
%{_libdir}/%{name}/.eclipseextension
%{_datadir}/%{name}/.eclipseproduct
%{_datadir}/%{name}/notice.html
%{_datadir}/%{name}/epl-v10.html
%{_datadir}/%{name}/links
%{_datadir}/%{name}/startup.jar
%ifarch %{ix86} x86_64
%{_datadir}/%{name}/about.html
%endif
%ifarch x86_64
%{_datadir}/%{name}/about_files
%endif
%{_datadir}/%{name}/readme
%{_libdir}/%{name}/features/org.eclipse.rcp_*
%{_datadir}/%{name}/plugins/org.eclipse.core.commands_*
%{_datadir}/%{name}/plugins/org.eclipse.core.contenttype_*
%{_datadir}/%{name}/plugins/org.eclipse.core.databinding_*
%{_datadir}/%{name}/plugins/org.eclipse.core.databinding.beans_*
%{_datadir}/%{name}/plugins/org.eclipse.core.expressions_*
%{_datadir}/%{name}/plugins/org.eclipse.core.jobs_*
%{_datadir}/%{name}/plugins/org.eclipse.core.runtime_*
%{_datadir}/%{name}/plugins/org.eclipse.core.runtime.compatibility.auth_*
%{_datadir}/%{name}/plugins/org.eclipse.equinox.app_*
%{_datadir}/%{name}/plugins/org.eclipse.equinox.common_*
%{_datadir}/%{name}/plugins/org.eclipse.equinox.launcher_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.launcher.gtk.linux.%{eclipse_arch}_*
%{_datadir}/%{name}/plugins/org.eclipse.equinox.preferences_*
%{_datadir}/%{name}/plugins/org.eclipse.equinox.registry_*
%{_datadir}/%{name}/plugins/org.eclipse.help_*
%{_datadir}/%{name}/plugins/org.eclipse.jface_*
%{_datadir}/%{name}/plugins/org.eclipse.jface.databinding_*
%{_datadir}/%{name}/plugins/org.eclipse.osgi_*
%{_datadir}/%{name}/plugins/org.eclipse.rcp_*
%{_datadir}/%{name}/plugins/org.eclipse.swt_*
%{_datadir}/%{name}/plugins/org.eclipse.ui_*
%{_datadir}/%{name}/plugins/org.eclipse.ui.workbench_*
%{_datadir}/%{name}/plugins/org.eclipse.update.configurator_*
%if %{gcj_support}
%{_libdir}/gcj/%{name}/org.eclipse.update.configurator_*
%ifnarch ia64
%{_libdir}/gcj/%{name}/org.eclipse.osgi_*
%endif
%{_libdir}/gcj/%{name}/org.eclipse.equinox.registry_*
%{_libdir}/gcj/%{name}/org.eclipse.equinox.launcher_*
%{_libdir}/gcj/%{name}/org.eclipse.equinox.app_*
%{_libdir}/gcj/%{name}/org.eclipse.jface_*
%{_libdir}/gcj/%{name}/org.eclipse.jface.databinding_*
%{_libdir}/gcj/%{name}/org.eclipse.core.commands_*
%{_libdir}/gcj/%{name}/org.eclipse.core.runtime.compatibility.auth_*
%{_libdir}/gcj/%{name}/org.eclipse.ui.workbench_*
%{_libdir}/gcj/%{name}/org.eclipse.core.jobs_*
%{_libdir}/gcj/%{name}/org.eclipse.ui_*
%{_libdir}/gcj/%{name}/org.eclipse.core.runtime_*
%{_libdir}/gcj/%{name}/org.eclipse.equinox.preferences_*
%{_libdir}/gcj/%{name}/org.eclipse.core.expressions_*
%{_libdir}/gcj/%{name}/org.eclipse.equinox.common_*
%{_libdir}/gcj/%{name}/org.eclipse.help_*
%{_libdir}/gcj/%{name}/org.eclipse.core.contenttype_*
%{_libdir}/gcj/%{name}/org.eclipse.core.databinding_*
%{_libdir}/gcj/%{name}/org.eclipse.core.databinding.beans_*
%endif
%files rcp-sdk
%defattr(-,root,root)
%{_datadir}/%{name}/features/org.eclipse.rcp.source_*
%{_libdir}/%{name}/plugins/org.eclipse.rcp.source.linux.gtk.%{eclipse_arch}*
%{_datadir}/%{name}/plugins/org.eclipse.rcp.source_*
%files cvs-client
%{_datadir}/%{name}/plugins/org.eclipse.team.cvs.core_*
%{_datadir}/%{name}/plugins/org.eclipse.cvs_*
%{_datadir}/%{name}/plugins/org.eclipse.team.cvs.ssh2_*
%{_datadir}/%{name}/plugins/org.eclipse.team.cvs.ssh_*
%{_datadir}/%{name}/plugins/org.eclipse.team.cvs.ui_*
%{_datadir}/%{name}/features/org.eclipse.cvs_*
%if %{gcj_support}
%{_libdir}/gcj/%{name}/org.eclipse.team.cvs.core_*
%{_libdir}/gcj/%{name}/org.eclipse.team.cvs.ssh_*
%{_libdir}/gcj/%{name}/org.eclipse.team.cvs.ssh2_*
%{_libdir}/gcj/%{name}/org.eclipse.team.cvs.ui_*
%endif
%files cvs-client-sdk
%{_datadir}/%{name}/plugins/org.eclipse.cvs.source_*
%{_datadir}/%{name}/features/org.eclipse.cvs.source_*
%files platform -f %{name}-platform.install
%defattr(-,root,root)
%attr(0755,root,root) %{_bindir}/%{name}
%{_datadir}/%{name}/eclipse.ini
%{_libdir}/%{name}/eclipse
%{_datadir}/applications/*
%{_datadir}/pixmaps/*
%{_datadir}/icons/*/*/apps/*
%{_datadir}/%{name}/features/org.eclipse.platform_*
%{_datadir}/%{name}/plugins/com.jcraft.jsch_*
%{_datadir}/%{name}/plugins/javax.servlet_*
%{_datadir}/%{name}/plugins/javax.servlet.jsp_*
%{_datadir}/%{name}/plugins/org.apache.ant_*
%{_datadir}/%{name}/plugins/org.apache.commons.el_*
%{_datadir}/%{name}/plugins/org.apache.commons.logging_*
%{_datadir}/%{name}/plugins/org.apache.lucene_*
%{_datadir}/%{name}/plugins/org.apache.lucene.analysis_*
%{_datadir}/%{name}/plugins/org.eclipse.ant.core_*
%{_datadir}/%{name}/plugins/org.eclipse.compare_*
%{_datadir}/%{name}/plugins/org.eclipse.core.boot_*
%{_datadir}/%{name}/plugins/org.eclipse.core.filebuffers_*
%{_datadir}/%{name}/plugins/org.eclipse.core.filesystem_*
%ifarch %{ix86} x86_64 ppc
%{_libdir}/%{name}/plugins/org.eclipse.core.filesystem.linux.%{eclipse_arch}_*
%endif
%{_datadir}/%{name}/plugins/org.eclipse.core.net_*
%{_datadir}/%{name}/plugins/org.eclipse.core.resources_*
%{_datadir}/%{name}/plugins/org.eclipse.core.resources.compatibility_*
%{_datadir}/%{name}/plugins/org.eclipse.core.runtime.compatibility_*
%{_datadir}/%{name}/plugins/org.eclipse.core.runtime.compatibility.registry_*
%{_datadir}/%{name}/plugins/org.eclipse.core.variables_*
%{_datadir}/%{name}/plugins/org.eclipse.debug.core_*
%{_datadir}/%{name}/plugins/org.eclipse.debug.ui_*
%{_datadir}/%{name}/plugins/org.eclipse.equinox.http.jetty_*
%{_datadir}/%{name}/plugins/org.eclipse.equinox.http.registry_*
%{_datadir}/%{name}/plugins/org.eclipse.equinox.http.servlet_*
%{_datadir}/%{name}/plugins/org.eclipse.equinox.jsp.jasper_*
%{_datadir}/%{name}/plugins/org.eclipse.equinox.jsp.jasper.registry_*
%{_datadir}/%{name}/plugins/org.eclipse.help.appserver_*
%{_datadir}/%{name}/plugins/org.eclipse.help.base_*
%{_datadir}/%{name}/plugins/org.eclipse.help.ui_*
%{_libdir}/%{name}/plugins/org.eclipse.help.webapp_*
%{_datadir}/%{name}/plugins/org.eclipse.jface.text_*
%{_datadir}/%{name}/plugins/org.eclipse.jsch.core_*
%{_datadir}/%{name}/plugins/org.eclipse.jsch.ui_*
%{_datadir}/%{name}/plugins/org.eclipse.ltk.core.refactoring_*
%{_datadir}/%{name}/plugins/org.eclipse.ltk.ui.refactoring_*
%{_datadir}/%{name}/plugins/org.eclipse.osgi.services_*
%{_datadir}/%{name}/plugins/org.eclipse.osgi.util_*
%{_datadir}/%{name}/plugins/org.eclipse.platform_*
%{_datadir}/%{name}/plugins/org.eclipse.platform.doc.user_*
%{_datadir}/%{name}/plugins/org.eclipse.search_*
%{_datadir}/%{name}/plugins/org.eclipse.team.core_*
%{_datadir}/%{name}/plugins/org.eclipse.team.ui_*
%{_datadir}/%{name}/plugins/org.eclipse.text_*
%{_datadir}/%{name}/plugins/org.eclipse.tomcat_*
%{_datadir}/%{name}/plugins/org.eclipse.ui.browser_*
%{_datadir}/%{name}/plugins/org.eclipse.ui.cheatsheets_*
%{_datadir}/%{name}/plugins/org.eclipse.ui.console_*
%{_datadir}/%{name}/plugins/org.eclipse.ui.editors_*
%{_datadir}/%{name}/plugins/org.eclipse.ui.externaltools_*
%{_datadir}/%{name}/plugins/org.eclipse.ui.forms_*
%{_datadir}/%{name}/plugins/org.eclipse.ui.ide_*
%{_datadir}/%{name}/plugins/org.eclipse.ui.ide.application_*
%{_datadir}/%{name}/plugins/org.eclipse.ui.intro_*
%{_datadir}/%{name}/plugins/org.eclipse.ui.intro.universal_*
%{_datadir}/%{name}/plugins/org.eclipse.ui.navigator_*
%{_datadir}/%{name}/plugins/org.eclipse.ui.navigator.resources_*
%{_datadir}/%{name}/plugins/org.eclipse.ui.net_*
%{_datadir}/%{name}/plugins/org.eclipse.ui.presentations.r21_*
%{_datadir}/%{name}/plugins/org.eclipse.ui.views_*
%{_datadir}/%{name}/plugins/org.eclipse.ui.views.properties.tabbed_*
%{_datadir}/%{name}/plugins/org.eclipse.ui.workbench.compatibility_*
%{_datadir}/%{name}/plugins/org.eclipse.ui.workbench.texteditor_*
%{_datadir}/%{name}/plugins/org.eclipse.update.core_*
%{_libdir}/%{name}/plugins/org.eclipse.update.core.linux_*
%{_datadir}/%{name}/plugins/org.eclipse.update.scheduler_*
%{_datadir}/%{name}/plugins/org.eclipse.update.ui_*
%{_datadir}/%{name}/plugins/org.mortbay.jetty_*
%{_datadir}/%{name}/plugins/org.eclipse.equinox.initializer_*
%if %{gcj_support}
%{_libdir}/gcj/%{name}/org.eclipse.ant.core_*
%{_libdir}/gcj/%{name}/org.eclipse.compare_*
%{_libdir}/gcj/%{name}/org.eclipse.core.filebuffers_*
%{_libdir}/gcj/%{name}/org.eclipse.core.filesystem_*
%{_libdir}/gcj/%{name}/org.eclipse.core.net_*
%{_libdir}/gcj/%{name}/org.eclipse.core.resources_*
%{_libdir}/gcj/%{name}/org.eclipse.core.resources.compatibility_*
%{_libdir}/gcj/%{name}/org.eclipse.core.runtime.compatibility_*
%{_libdir}/gcj/%{name}/org.eclipse.core.variables_*
%{_libdir}/gcj/%{name}/org.eclipse.debug.core_*
%{_libdir}/gcj/%{name}/org.eclipse.debug.ui_*
%{_libdir}/gcj/%{name}/org.eclipse.equinox.http.jetty_*
%{_libdir}/gcj/%{name}/org.eclipse.equinox.http.servlet_*
%{_libdir}/gcj/%{name}/org.eclipse.equinox.jsp.jasper_*
%{_libdir}/gcj/%{name}/org.eclipse.equinox.jsp.jasper.registry_*
%{_libdir}/gcj/%{name}/org.eclipse.help.appserver_*
%{_libdir}/gcj/%{name}/org.eclipse.help.base_*
%{_libdir}/gcj/%{name}/org.eclipse.help.ui_*
%{_libdir}/gcj/%{name}/org.eclipse.help.webapp_*
%{_libdir}/gcj/%{name}/org.eclipse.jface.text_*
%{_libdir}/gcj/%{name}/org.eclipse.jsch.core_*
%{_libdir}/gcj/%{name}/org.eclipse.jsch.ui_*
%{_libdir}/gcj/%{name}/org.eclipse.ltk.core.refactoring_*
%{_libdir}/gcj/%{name}/org.eclipse.ltk.ui.refactoring_*
%{_libdir}/gcj/%{name}/org.eclipse.osgi.services_*
%{_libdir}/gcj/%{name}/org.eclipse.osgi.util_*
%{_libdir}/gcj/%{name}/org.eclipse.search_*
%{_libdir}/gcj/%{name}/org.eclipse.team.core_*
%{_libdir}/gcj/%{name}/org.eclipse.team.ui_*
%{_libdir}/gcj/%{name}/org.eclipse.text_*
%{_libdir}/gcj/%{name}/org.eclipse.ui.browser_*
%{_libdir}/gcj/%{name}/org.eclipse.ui.cheatsheets_*
%{_libdir}/gcj/%{name}/org.eclipse.ui.console_*
%{_libdir}/gcj/%{name}/org.eclipse.ui.editors_*
%{_libdir}/gcj/%{name}/org.eclipse.ui.externaltools_*
%{_libdir}/gcj/%{name}/org.eclipse.ui.forms_*
%{_libdir}/gcj/%{name}/org.eclipse.ui.ide.application_*
%{_libdir}/gcj/%{name}/org.eclipse.ui.intro_*
%{_libdir}/gcj/%{name}/org.eclipse.ui.navigator_*
%{_libdir}/gcj/%{name}/org.eclipse.ui.navigator.resources_*
%{_libdir}/gcj/%{name}/org.eclipse.ui.net_*
%{_libdir}/gcj/%{name}/org.eclipse.ui.presentations.r21_*
%{_libdir}/gcj/%{name}/org.eclipse.ui.views_*
%{_libdir}/gcj/%{name}/org.eclipse.ui.views.properties.tabbed_*
%{_libdir}/gcj/%{name}/org.eclipse.ui.workbench.texteditor_*
%{_libdir}/gcj/%{name}/org.eclipse.update.core_*
%{_libdir}/gcj/%{name}/org.eclipse.update.scheduler_*
%{_libdir}/gcj/%{name}/org.eclipse.update.ui_*
%{_libdir}/gcj/%{name}/compatibility.*
%{_libdir}/gcj/%{name}/org.eclipse.equinox.http.registry_*
%{_libdir}/gcj/%{name}/org.eclipse.equinox.initializer_*
%{_libdir}/gcj/%{name}/platform.jar.*
%{_libdir}/gcj/%{name}/runtime_registry_compatibility.jar.*
%{_libdir}/gcj/%{name}/tomcatwrapper.jar.*
%{_libdir}/gcj/%{name}/universal.jar.*
%endif
%files platform-sdk
%defattr(-,root,root)
%{_datadir}/%{name}/features/org.eclipse.platform.source_*
%{_datadir}/%{name}/plugins/javax.servlet.jsp.source_*
%{_datadir}/%{name}/plugins/javax.servlet.source_*
%{_datadir}/%{name}/plugins/org.apache.ant.source_*
%{_datadir}/%{name}/plugins/org.apache.commons.el.source_*
%{_datadir}/%{name}/plugins/org.apache.commons.logging.source_*
%{_datadir}/%{name}/plugins/org.apache.jasper.source_*
%{_datadir}/%{name}/plugins/org.apache.lucene.analysis.source_*
%{_datadir}/%{name}/plugins/org.apache.lucene.source_*
%{_libdir}/%{name}/plugins/org.eclipse.platform.doc.isv_*
%{_libdir}/%{name}/plugins/org.eclipse.platform.source_*
%{_libdir}/%{name}/plugins/org.eclipse.platform.source.linux.gtk.%{eclipse_arch}_*
%{_datadir}/%{name}/plugins/org.mortbay.jetty.source_*
%if %{gcj_support}
%{_libdir}/gcj/%{name}/org.eclipse.platform.doc.isv_*
%endif
%files jdt
%defattr(-,root,root)
%{_bindir}/efj
%{_datadir}/%{name}/features/org.eclipse.jdt_*
%{_datadir}/%{name}/plugins/org.eclipse.ant.ui_*
%{_datadir}/%{name}/plugins/org.junit_*
%{_datadir}/%{name}/plugins/org.eclipse.jdt.junit_*
%{_datadir}/%{name}/plugins/org.eclipse.jdt.doc.user_*
%{_datadir}/%{name}/plugins/org.eclipse.jdt.apt.core_*
%{_datadir}/%{name}/plugins/org.eclipse.jdt.ui_*
%{_datadir}/%{name}/plugins/org.eclipse.jdt.debug_*
%{_datadir}/%{name}/plugins/org.eclipse.jdt.junit4.runtime_*
%{_datadir}/%{name}/plugins/org.junit4_*
%{_datadir}/%{name}/plugins/org.eclipse.jdt_*
%{_datadir}/%{name}/plugins/org.eclipse.jdt.launching_*
%{_datadir}/%{name}/plugins/org.eclipse.jdt.core.manipulation_*
%{_datadir}/%{name}/plugins/org.eclipse.jdt.apt.ui_*
%{_datadir}/%{name}/plugins/org.eclipse.jdt.junit.runtime_*
%{_datadir}/%{name}/plugins/org.eclipse.jdt.debug.ui_*
%if %{gcj_support}
%{_libdir}/gcj/%{name}/org.eclipse.ant.ui_*
%{_libdir}/gcj/%{name}/org.eclipse.jdt.apt.core_*
%{_libdir}/gcj/%{name}/org.eclipse.jdt.ui_*
%{_libdir}/gcj/%{name}/org.eclipse.jdt.junit4.runtime_*
%{_libdir}/gcj/%{name}/org.eclipse.jdt.junit.runtime_*
%{_libdir}/gcj/%{name}/org.eclipse.jdt.junit_*
%{_libdir}/gcj/%{name}/org.eclipse.jdt.launching_*
%{_libdir}/gcj/%{name}/org.eclipse.jdt.core.manipulation_*
%{_libdir}/gcj/%{name}/org.eclipse.jdt.apt.ui_*
%{_libdir}/gcj/%{name}/org.eclipse.jdt.debug.ui_*
%{_libdir}/gcj/%{name}/jdimodel.jar.*
%{_libdir}/gcj/%{name}/jdi.jar.*
%endif
%files jdt-sdk
%defattr(-,root,root)
%{_datadir}/%{name}/features/org.eclipse.jdt.source_*
%{_libdir}/%{name}/plugins/org.eclipse.jdt.doc.isv_*
%{_datadir}/%{name}/plugins/org.eclipse.jdt.source_*
%{_datadir}/%{name}/plugins/org.junit.source_*
%files pde
%defattr(-,root,root)
%{_datadir}/%{name}/features/org.eclipse.sdk_*
%{_datadir}/%{name}/features/org.eclipse.pde_*
%{_datadir}/%{name}/features/org.eclipse.pde.source_*
%{_libdir}/%{name}/plugins/org.eclipse.pde.doc.user_*
%{_datadir}/%{name}/plugins/org.eclipse.pde.build_*
%{_datadir}/%{name}/plugins/org.eclipse.pde.build
%{_datadir}/%{name}/plugins/org.eclipse.pde_*
%{_datadir}/%{name}/plugins/org.eclipse.pde.core_*
%{_datadir}/%{name}/plugins/org.eclipse.pde.junit.runtime_*
%{_datadir}/%{name}/plugins/org.eclipse.pde.ui_*
%{_datadir}/%{name}/plugins/org.eclipse.pde.ui.templates_*
%{_datadir}/%{name}/plugins/org.eclipse.pde.source_*
%{_datadir}/%{name}/plugins/org.eclipse.sdk_*
%{_datadir}/%{name}/buildscripts
%if %{gcj_support}
%{_libdir}/gcj/%{name}/org.eclipse.pde_*
%{_libdir}/gcj/%{name}/org.eclipse.pde.core_*
%{_libdir}/gcj/%{name}/org.eclipse.pde.junit.runtime_*
%{_libdir}/gcj/%{name}/org.eclipse.pde.ui_*
%{_libdir}/gcj/%{name}/org.eclipse.pde.ui.templates_*
%{_libdir}/gcj/%{name}/pdebuild.jar*
%{_libdir}/gcj/%{name}/pdebuild-ant.jar*
%endif
%files pde-runtime
%defattr(-,root,root)
%{_datadir}/%{name}/plugins/org.eclipse.pde.runtime_*
%if %{gcj_support}
%{_libdir}/gcj/%{name}/org.eclipse.pde.runtime_*
%endif
%changelog
* Tue Aug 28 2007 Andrew Overholt <overholt@redhat.com> 3.3.0-11
- Symlink to jetty.
* Tue Aug 28 2007 Ben Konrath <bkonrath@redhat.com> 3.3.0-10
- Add requires eclipse-cvs-client, eclipse-subclipse, eclipse-mylyn,
eclipse-mylyn-ide, eclipse-mylyn-bugzilla, eclipse-mylyn-trac
and eclipse-changelog to platform package.
- Add requires eclipse-mylyn-java to jdt.
- Add requires eclipse-mylyn-pde to pde.
- Remove pde-sdk and sdk sub-packages
* Thu Aug 23 2007 Ben Konrath <bkonrath@redhat.com> 3.3.0-9
- Add Requires: eclipse-cvs-client to jdt package.
* Tue Aug 14 2007 Ben Konrath <bkonrath@redhat.com> 3.3.0-8
- Link to junit4 jar.
- Remove included eclipse binaries.
- Add Provides: eclipse to sdk subpackage.
* Mon Aug 13 2007 Oliver Falk <oliver@linux-kernel.at> 3.3.0-7
- Also explode SDK tarball on alpha
- Resolves: #251958
* Tue Aug 07 2007 Ben Konrath <bkonrath@redhat.com> 3.3.0-6
- Add links for jsp api, servlet api and jasper.
- Add %%{_libdir}/%%{name}/features to the rcp %%files listing.
* Fri Aug 03 2007 Ben Konrath <bkonrath@redhat.com> 3.3.0-5
- Add patch to fix double free bug in launcher library.
- Resolves: #248798.
* Tue Jul 31 2007 Ben Konrath <bkonrath@redhat.com> 3.3.0-4
- Link to commons-el.jar.
- Remove ant 1.7 hacks.
* Wed Jul 18 2007 Ben Konrath <bkonrath@redhat.com> 3.3.0-3
- Add links for lucene and lucene.analysis.
- Remove icu4j symlink from /usr/share/eclipse/plugins.
- Resolves: #248749.
* Mon Jul 16 2007 Ben Konrath <bkonrath@redhat.com> 3.3.0-2
- Fix dep in rcp sub-package.
- Add Alpha support.
- Link to commons-logging.jar
- Resolves: #248359.
* Fri Jun 29 2007 Ben Konrath <bkonrath@redhat.com> 3.3.0-1
- 3.3.
* Wed Jun 27 2007 Ben Konrath <bkonrath@redhat.com> 3.3.0-0.3.RC4
- Restore ppc64, s390{,x} and sparc{,64} support.
- Restore multilib support.
* Tue Jun 19 2007 Ben Konrath <bkonrath@redhat.com> 3.3.0-0.2.RC4
- Use icu4j-eclipse sub-package instead of building icu4j here.
- Use exec in binary wrapper.
- Add 3.3.0 splashscreen.
* Tue Jun 12 2007 Ben Konrath <bkonrath@redhat.com> 3.3.0-0.1.RC4
- 3.3RC4.
* Mon Jun 11 2007 Ben Konrath <bkonrath@redhat.com> 3.3.0-0.2.RC3
- Update launching strategy for 3.3.
- Pull in package-build fix from F-7.
* Wed May 23 2007 Ben Konrath <bkonrath@redhat.com> 3.3.0-0.1.RC3
- 3.3RC3.
* Wed May 23 2007 Ben Konrath <bkonrath@redhat.com> 3.3.0-0.1.RC2
- 3.3RC2.
* Wed May 23 2007 Ben Konrath <bkonrath@redhat.com> 3.3.0-0.1.RC1
- 3.3RC1.
- Pull in changes from F-7.
* Mon Feb 26 2007 Ben Konrath <bkonrath@redhat.com> 3.3.0-0.1.M5eh
- 3.3M5.
- Remove launcher-addplatformtotildeeclipse.patch as it's only needed
for FC-5 -> FC-6.
- Remove swt firefox patches as they are no longer needed.
- Remove ppc64, s390{,x} and sparc{,64} support.
- Remove use-built-launcher patch.
- Update set-launcher-and-configuration-dir patch.
* Mon Jan 29 2007 Ben Konrath <bkonrath@redhat.com> 3.3.0-0.3.M4
- Enable updated ecj square brackets patch.
* Fri Jan 12 2007 Ben Konrath <bkonrath@redhat.com> 3.3.0-0.2.M4
- Pull in fixes from rawhide.
* Wed Dec 20 2006 Ben Konrath <bkonrath@redhat.com> 3.3.0-0.1.M4
- 3.3M4.
- Update patches for 3.3M4.
- Remove SWT JNI symlinks in %%{_libdir}.
* Wed Dec 6 2006 Ben Konrath <bkonrath@redhat.com> 3.2.1-25
- Add %%{_libdir}/eclipse dir to files list of libswt-gtk2.
- Resolves: #211008.
* Tue Dec 5 2006 Andrew Overholt <overholt@redhat.com> 3.2.1-24
- Specfile review with Ben Konrath.
- Lots of cleanups.
* Tue Nov 28 2006 Andrew Overholt <overholt@redhat.com> 3.2.1-23
- Move back to ~/.eclipse for update site pending upstream comments.
- Add patch to add platform to ~/.eclipse's platform.xml. This maintains
user-installed plugins but allows us to remove the pre-configured
platform.xml in the OSGi configuration area.
* Mon Nov 20 2006 Andrew Overholt <overholt@redhat.com> 3.2.1-22
- Use ~/.eclipseplugins instead of ~/.eclipse in update site - homedir patch.
- Bump release.
* Fri Nov 17 2006 Ben Konrath <bkonrath@redhat.com> 3.2.1-21
- Add patch to workaround an xml parsing bug in libgcj (gcc bug #29853).
- Resolves: #209393.
* Fri Nov 17 2006 Andrew Overholt <overholt@redhat.com> 3.2.1-20
- Revise gre64 patch to just do ppc64 addition and not ordering change.
* Thu Nov 16 2006 Andrew Overholt <overholt@redhat.com> 3.2.1-19
- Add patch to look at gre64.conf on ppc64.
* Fri Nov 10 2006 Ben Konrath <bkonrath@redhat.com> 3.2.1-18
- Remove SWT ON_TOP patch as it is fixed in 3.2.1.
* Thu Nov 09 2006 Ben Konrath <bkonrath@redhat.com> 3.2.1-17
- Add file level requirement for swt fragment to rcp and platform packages.
This is needed so that the rcp and platform packages pull in the swt package
of the correct word size.
* Mon Nov 06 2006 Ben Konrath <bkonrath@redhat.com> 3.2.1-16
- Move copy-platform back to %%{_datadir}/eclipse.
- Require gjdoc >= 0.7.7-14 as it generates consistent html across archs.
- Move most of the doc plugins back to %%{_datatdir}/eclipse now that gjdoc
is fixed.
* Fri Nov 03 2006 Andrew Overholt <overholt@redhat.com> 3.2.1-15
- Make sdk require config.ini itself rather than the package to deal with the
bi-arch installation situation.
- Move sdk feature and plugin to %%{_libdir} so we can check for its existence
in the post scripts.
* Thu Nov 02 2006 Andrew Overholt <overholt@redhat.com> 3.2.1-14
- Remove post sections that munge eclipse.product; always set it to
org.eclipse.platform.ide or org.eclipse.sdk.ide.
- Remove changelogs prior to 3.2.0.
* Thu Nov 02 2006 Ben Konrath <bkonrath@redhat.com> 3.2.1-12
- Move doc plugins to %%{_libdir}/eclipse/plugins because of html is being
generated differently on different arches.
- Fix multilib problem when there are two or more jars within a jar.
- BR dos2unix always (for mac2unix).
* Wed Nov 01 2006 Ben Konrath <bkonrath@redhat.com> 3.2.1-11
- Move copy-platform to %%{_libdir}/eclipse
- Move the platform.source, icu4j, icu4j.source, help.webapp and
update.core.linux plugins to %%{_libdir}/eclipse/plugins because these plugins
have platform specific content. Some of the platform specific content may be
a result of bugs in libgcj. These need to be investigated.
- Disable building the help indexes on all archs so that we have the same doc
plugins on all archs.
- Remove org.apache.ant_1.6.5/bin/runant.py to avoid multilib conflicts.
- Repack all the jars and the jars within those jars. This is needed
to make this package multilib compatible.
- Put SWT symlinks in %%{_libdir}/eclipse instead of
%%{_libdir}/eclipse/plugins.
* Wed Nov 01 2006 Andrew Overholt <overholt@redhat.com> 3.2.1-11
- Use equinox initializer instead of old patch to core.runtime.
- Run initializer *after* splitting install into arch-specific and
arch-independent locations.
- Move copy-platform to arch-specific location.
- Get rid of broken symlinks in tomcat plugin.
* Tue Oct 31 2006 Andrew Overholt <overholt@redhat.com> 3.2.1-11
- Fix copy-platform to work with split install.
* Tue Oct 31 2006 Ben Konrath <bkonrath@redhat.com> 3.2.1-10
- Add 3.2.1 splash screen.
- Sort the java source files before building (#209249).
- Remove Fedora ifdefs.
- Resolves: #209249.
* Tue Oct 31 2006 Ben Konrath <bkonrath@redhat.com> 3.2.1-9
- Re-enable building of the icu4j plugins.
* Mon Oct 30 2006 Ben Konrath <bkonrath@redhat.com> 3.2.1-8
- Temporarily disable building of icu4j plugin.
* Mon Oct 30 2006 Andrew Overholt <overholt@redhat.com> 3.2.1-8
- Fix eclipse-ecj symlink to point to correct location.
- Put SWT symlinks in %%{_libdir} instead of %%{_datadir} as they're
target-dependent.
* Sat Oct 28 2006 Ben Konrath <bkonrath@redhat.com> 3.2.1-7
- Add patch for ecj [] classpath problem.
- Remove configuration files from rcp files list.
- Add patch set bindir and shared config patch to allow the eclipse binary
to sit in %%{_bindir} and remove the symlinks. This patch also allows us to
set osgi.sharedConfiguration.area config on a per build basis so that the
configuration directory can be arch dependant.
- Remove launcher link patch as the bindir patch removes the requirement for
this patch.
- Don't aot-compile org.eclipse.ui.ide to work around rh bug # 175547.
- Add Requies(post,postun) to all packages to ensure that no files are left
behind when eclipse is un-installed.
- Many spec file clean ups.
- Resolves: #199961, #202585, #210764, #207016.
- Related: #175547.
* Mon Oct 16 2006 Andrew Overholt <overholt@redhat.com> 3.2.1-6
- Remove unneeded tomcat symlinks.
* Mon Oct 16 2006 Andrew Overholt <overholt@redhat.com> 3.2.1-6
- Remove unnecessary bits of configuration.
- Resolves: #210764, #202585.
* Tue Oct 10 2006 Ben Konrath <bkonrath@redhat.com> 3.2.1-5
- Remove perl dependancy.
- Fix offsets in libswt-enableallandO2 patch.
- Add Requires(post,postun) java-gcj-compat to sdk to avoid errors when
uninstalling the java stack.
- Move jface and jface.databinding from libswt3-gtk2 to rcp because these
plugins have dependancies on some plugins in rcp.
* Sun Oct 01 2006 Andrew Overholt <overholt@redhat.com> 3.2.1-4
- Fix triggerpostun to include epoch of previous releases.
* Fri Sep 29 2006 Ben Konrath <bkonrath@redhat.com> 3.2.1-3
- Add Requires(post,postun) to platform and sdk sub-packages so that post and
postun scripts work correctly.
* Fri Sep 29 2006 Andrew Overholt <overholt@redhat.com> 3.2.1-3
- Add triggerpostun to deal with old rebuild-sdk-features postun crap
(rh#207442, rh#207013).
* Fri Sep 29 2006 Andrew Overholt <overholt@redhat.com> 3.2.1-2
- Fix swt-firefox patch to not create DSOs with undefined symbols (rh#201778).
* Thu Sep 28 2006 Ben Konrath <bkonrath@redhat.com> 3.2.1-1
- 3.2.1 final.
* Thu Sep 28 2006 Andrew Overholt <overholt@redhat.com> 3.2.1-1
- Use new swt-firefox patch and consolidate others into one.
* Wed Sep 27 2006 Ben Konrath <bkonrath@redhat.com> 3.2.1-0.RC.3
- Fix typo in %%postun of -sdk and -platform.
- Disable help index generation on ia64.
* Tue Sep 26 2006 Ben Konrath <bkonrath@redhat.com> 3.2.1-0.RC.2
- Don't set eclipse.product incorrectly in %%postun of -sdk and -platform.
* Mon Sep 25 2006 Ben Konrath <bkonrath@redhat.com> 3.2.1-0.RC.1
- M20060921-0945 (3.2.1 pre-release).
- Upadate patches to 3.2.1.
- Add icu4j 3.4.5 sources.
- Add Fedora version to platform about.mappings as well as sdk.
* Mon Sep 25 2006 Andrew Overholt <overholt@redhat.com> 3.2.0-8
- Remove unused eclipse.conf.
- Remove unused gre64.conf patch (applied upstream).
* Thu Sep 21 2006 Ben Konrath <bkonrath@redhat.com> 3.2.0-7
- Use real SWT version on ia64, ppc64, s390 and s390x.
- Remove the swt native libs from the rcp sub-package because they are
already in the libswt-gtk2 sub-package and rcp requires libswt-gtk2.
- Set correct eclipse.product in post and postun of sdk and platform
sub-packages (rh bug # 207442)
- Don't set the .eclipseproduct twice.
- Add Conflicts: mozilla to libswt3-gtk2 (rh bug # 207626).
- Move Requires: firefox to libswt3-gtk2.
* Thu Sep 21 2006 Andrew Overholt <overholt@redhat.com> 3.2.0-7
- Add workaround for gjdoc Mac-encoded bug (gcc#29167) to make javadocs build.
- Fix tomcat symlinking in %%install to make help work (rh#199453).
* Mon Sep 11 2006 Ben Konrath <bkonrath@redhat.com> 3.2.0-6
- Update swt-firefox patch and remove libswt-xpcom patch (rh bug # 200929).
- Re-work files list to match upstream and remove rebuild-sdk-features
(rh bug # 205933).
* Thu Sep 07 2006 Ben Konrath <bkonrath@redhat.com> 3.2.0-5
- Add swt-firefox patch; moves SWT to NS_InitXPCOM3() from NS_InitEmbedding().
- Add sparc support (Dennis Gilmore <dennis@ausil.us>).
- Disable help index generation on s390.
* Wed Sep 06 2006 Ben Konrath <bkonrath@redhat.com> 3.2.0-4
- Re-add customBuildCallbacks.xml-add-pre.gather.bin.parts.patch because
it has not been applied upstream.
- Minor spec file clean ups.
- Add %%{name} to the -devel package Provides so that upgrading from
FC-5 to FC-6 works.
- Re-enable natively compiling the ant.ui plugin.
- Re-enable natively compiling the team.cvs.core plugin on ia64.
* Fri Sep 01 2006 Ben Konrath <bkonrath@redhat.com> 3.2.0-3
- Use the system tomcat on ppc64 and s390x.
* Wed Aug 30 2006 Andrew Overholt <overholt@redhat.com> 3.2.0-3
- Don't use pkg_summary.
* Tue Aug 29 2006 Ben Konrath <bkonrath@redhat.com> 3.2.0-2
- Remove double Manifest file in com.jcraft.jsch_0.1.28.jar.
- Require java-gcj-compat >= 1.0.64.
* Thu Aug 17 2006 Andrew Overholt <overholt@redhat.com> 3.2.0-1jpp_12fc
- Fix tomcat55 patch to not conflict with wst.ws (commons-logging visibility).
* Thu Aug 10 2006 Andrew Overholt <overholt@redhat.com> 3.2.0-1jpp_11fc
- Fix eclipse-tomcat55.patch and eclipse-tomcat55-build.patch to not reference
jars that don't exist.
- Fix rebuild-sdk-features to work with 3.2.x feature versions.
* Tue Aug 01 2006 Andrew Overholt <overholt@redhat.com> 3.2.0-1jpp_10fc
- Use firefox-devel instead of mozilla-devel.
- Add patch for rh#200929 (include embed_base in xpcom's pkgconfig -I flags).
* Tue Jul 25 2006 Ben Konrath <bkonrath@redhat.com> 3.2.0-1jpp_9fc
- Use sed instead of patches for tomcat version numbers.
* Sun Jul 23 2006 Ben Konrath <bkonrath@redhat.com> 3.2.0-1jpp_8fc
- Disable build.index doc generation on i386.
* Sun Jul 23 2006 Andrew Overholt <overholt@redhat.com> 3.2.0-1jpp_7fc
- Remove org.eclipse.ant.ui* from %%files.
* Sun Jul 23 2006 Ben Konrath <bkonrath@redhat.com> 3.2.0-1jpp_7fc
- Exclude org.eclipse.ant.ui_3.2.0.v20060531.jar from aot-compile-rpm.
* Sat Jul 22 2006 Jakub Jelinek <jakub@redhat.com> 3.2.0-1jpp_6fc
- Rebuilt
* Thu Jul 20 2006 Andrew Overholt <overholt@redhat.com> 3.2.0-1jpp_5fc
- New splash screen from Diana Fong (rh#199456).
* Tue Jul 18 2006 Andrew Overholt <overholt@redhat.com> 3.2.0-1jpp_4fc
- Add patch from Tom Tromey for ecj-gcj branch of gcj.
- Fix SWT symlinks.
* Tue Jul 18 2006 Igor Foox <ifoox@redhat.com> 3.2.0-1jpp_3fc
- Rebuild.
* Mon Jul 17 2006 Ben Konrath <bkonrath@redhat.com> 3.2.0-1jpp_2fc
- Rebuild.
* Thu Jul 06 2006 Andrew Overholt <overholt@redhat.com> 3.2.0-1jpp_1fc
- Temporarily add webapp patch for ppc64 and s390x.
- Bump tomcat5 to 5.5.17 both in BR/R and in patches.
* Wed Jul 05 2006 Andrew Overholt <overholt@redhat.com> 3.2.0-1jpp_1fc
- Don't require tomcat on ppc64, s390, or s390x until we've got it there.
- org.eclipse.tomcat -> org.eclipse.tomcat/lib.
- Update webapp build patch.
- Use commons-* instead of jakarta-commons-*.
- Don't delete jars in %%install.
- Don't apply tomcat and webapp patches on ppc64, s390, and s390x (for now).
- Don't include tomcat jars in %%files for ix86, ppc, x86_64, ia64.
- Use tomcat plugin version instead of org.eclipse.tomcat_*.
* Tue Jul 04 2006 Ben Konrath <bkonrath@redhat.com> 3.2.0-1jpp_1fc
- Fix tomcat symlinks.
* Tue Jul 04 2006 Andrew Overholt <overholt@redhat.com> 3.2.0-1jpp_1fc
- 3.2.0.
- Remove Provides: eclipse-sdk from eclipse-platform.
- Use build-jar-repository where appropriate.
* Tue Jun 13 2006 Ben Konrath <bkonrath@redhat.com> 3.2.0-0jpp_0fc.3.2RC7.7
- Rename -devel packages to -sdk to match upstream names.
- Add Provides eclipse-sdk to platform-sdk.
- Remove zip re-pack code.
* Mon Jun 12 2006 Ben Konrath <bkonrath@redhat.com> 3.2.0-0jpp_0fc.3.2RC7.6
- Bump release again.
* Mon Jun 12 2006 Ben Konrath <bkonrath@redhat.com> 3.2.0-0jpp_0fc.3.2RC7.5
- Bump release.
* Mon Jun 12 2006 Ben Konrath <bkonrath@redhat.com> 3.2.0-0jpp_0fc.3.2RC7.4
- Require java-gcj-compat 1.0.52.
- Don't use '*' to set the quatifier name in the eclipse-ecj symlink.
- Really fix swt symlinks rh #194500.
* Wed Jun 07 2006 Ben Konrath <bkonrath@redhat.com> 3.2.0-0jpp_0fc.3.2RC7.3
- Enable ppc64, s390 and s390x.
- Add check for jars at the end of prep.
- Fix patch for rh #162177 (square brackets patch).
- Fix swt symlinks rh #194500.
- Add versionless pde.build symlink.
- Rename efj-wrapper.sh to efj.sh.in.
- Re-pack all zips after the build to ensure that zips have the same md5sum
across arch re-builds. This is needed to avoid multilib conflicts.
* Wed Jun 07 2006 Andrew Overholt <overholt@redhat.com> 3.2.0-0jpp_0fc.3.2RC7.2
- Fix eclipse-ecj.jar symlink to include qualifier.
* Tue Jun 06 2006 Ben Konrath <bkonrath@redhat.com> 3.2.0-0jpp_0fc.3.2RC7.1
- 3.2RC7.
- Remove com.jcraft.jsch_0.1.28.jar and repackage with classes from the system
jsch.jar.
- Work around ia64 compile problem in aot-compile-rpm.
* Wed May 31 2006 Ben Konrath <bkonrath@redhat.com> 3.2.0-0jpp_0fc.3.2RC6
- 3.2RC6.