Blob Blame Raw
#   - migrate compare API patch (patch33) to 3.2 final
#   - migrate cairo patch (patch43) to 3.2 final
#   - migrate GNU formatter patches (patch20, patch21) to 3.2 final
#   - comment on this bug:

Epoch:	1

%define gcj_support 	0
%define tomcatsharedir 	%{_datadir}/tomcat5
%define tomcatlibdir 	%{_var}/lib/tomcat5
%define section         free
%define eclipse_major   3
%define eclipse_minor   2
%define eclipse_majmin  %{eclipse_major}.%{eclipse_minor}
%define eclipse_micro   1
%define libname         libswt3

# All arches line up except i386 -> x86
%ifarch %{ix86}
%define eclipse_arch    x86
%define eclipse_arch   %{_arch}

Summary:        An open, extensible IDE
Name:           eclipse
Version:        %{eclipse_majmin}.%{eclipse_micro}
Release:        11%{?dist} 
License:        EPL
Group:          Text Editors/Integrated Development Environments (IDE)
Source2:        %{name}.desktop
Source5:        %{name}-48.png
# FIXME: this should be in its own package
Source11:	%{name}-fedora-splash-3.2.1.png
Source16:       %{name}
Source19:       %{name}-filenamepatterns.txt
# cvs -d 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

# Build libswt-mozilla and libswt-cairo and use O2
Patch0:         %{name}-libswt-enableallandO2.patch
# Build JNI libs
# FIXME:  these should be built by upstream build method
# GNU XML issue identified by Michael Koch
Patch2:		%{name}-build.patch
Patch3:		%{name}-icu4j-build-files.patch
Patch4:		%{name}-libupdatebuild.patch
Patch5:		%{name}-libupdatebuild2.patch
# Build swttools.jar
Patch18: 	%{name}-swttools.patch
# GNU-style JDT formatter
#Patch20: 	%{name}-gnuformatterjdt.patch
#Patch21: 	%{name}-gnuformatterjdtui.patch
Patch38:	%{name}-helpindexbuilder.patch
Patch40:	%{name}-usebuiltlauncher.patch
## Build cairo native libs
#Patch43:	%{name}-libswt-cairo1.0-3.patch
Patch46:	%{name}-libswt-xpcomgcc4.patch
Patch47:	%{name}-launcher-set-install-dir-and-shared-config.patch
# Don't attempt to link to Sun's javadocs
Patch48:	%{name}-javadoclinks.patch
# Always generate debug info when building RPMs (Andrew Haley)
Patch49:	%{name}-ecj-rpmdebuginfo.patch
# generic releng plugins that can be used to build plugins
# see this thread for deails: 
Patch53:	%{name}
# We need to disable junit4 and apt until GCJ can handle Java5 code
Patch55: 	%{name}-disable-junit4-apt.patch

# These patches need to go upstream
Patch28: 	%{name}-tomcat55.patch
Patch29: 	%{name}-tomcat55-build.patch
Patch31: 	%{name}-webapp-tomcat55.patch
Patch33:        %{name}-compare-create-api.patch
Patch54:	%{name}-swt-rm-ON_TOP.patch
Patch22: 	%{name}-updatehomedir.patch
# JPackage []s in names of symlinks ...
Patch34:	%{name}-ecj-square-bracket-classpath.patch
# Use ecj for gcj
Patch57:	%{name}-ecj-gcj.patch
# Build against firefox:
#  - fix swt profile include path
#  - don't compile the mozilla 1.7 / firefox profile library -- build it inline
#  - don't use symbols not in our firefox builds
# FIXME:  add reference(s) to discussion(s) and bug(s)
# Note:  I made this patch from within Eclipse and then did the following to
#        it due to spaces in the paths:
#  sed --in-place "s/Eclipse\ SWT\ Mozilla/Eclipse_SWT_Mozilla/g" eclipse-swt-firefox.patch
#  sed --in-place "s/Eclipse\ SWT\ PI/Eclipse_SWT_PI/g" eclipse-swt-firefox.patch
Patch59:	%{name}-swt-firefox.patch
Patch60:	%{name}-swt-firefox.2.patch

%if %{gcj_support}
ExclusiveArch: %{ix86} x86_64 ppc ia64 sparc sparc64
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-buildroot
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:  java-javadoc
%if %{gcj_support}
BuildRequires:	gcc-java >= 4.0.2
BuildRequires:	java-gcj-compat-devel >= 1.0.64
BuildRequires:  dos2unix
BuildRequires:	java-devel >= 1.4.2

#BuildRequires: ant-antlr ant-apache-bcel ant-apache-bsf ant-apache-log4j ant-apache-oro ant-apache-regexp ant-apache-resolver ant-commons-logging
BuildRequires: ant-antlr ant-apache-bcel ant-apache-log4j ant-apache-oro ant-apache-regexp ant-apache-resolver ant-commons-logging
#BuildRequires: ant-commons-net
BuildRequires: ant-javamail ant-jdepend ant-junit ant-nodeps ant-swing ant-trax ant-jsch
BuildRequires: jsch >= 0:0.1.28-1jpp
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.17
BuildRequires: tomcat5-jasper >= 5.5.17
BuildRequires: tomcat5-servlet-2.4-api >= 5.5.17
BuildRequires: lucene
BuildRequires: regexp 
BuildRequires: junit >= 3.8.1-3jpp
%if %{gcj_support}
Requires(post,postun):   java-gcj-compat >= 1.0.64

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

%package        ecj
Summary:        Eclipse Compiler for Java
Group:          Development/Languages
Obsoletes:	ecj
Provides:	ecj
%if %{gcj_support}
Requires:	libgcj >= 4.0.2
Requires(post,postun):   java-gcj-compat >= 1.0.64
Requires:	java >= 1.4.2

%description    ecj
Eclipse compiler for Java.

%package     -n %{libname}-gtk2
Summary:        SWT Library for GTK2
Group:          Text Editors/Integrated Development Environments (IDE)
%if %{gcj_support}
Requires:	libgcj >= 4.0.2
Requires(post,postun):   java-gcj-compat >= 1.0.64
Requires:       firefox
Conflicts:     	mozilla

%description -n %{libname}-gtk2
SWT Library for GTK2.

%package        rcp
Summary:        Eclipse Rich Client Platform
Group:          Development/Languages
Requires:       %{libname}-gtk2 = %{epoch}:%{version}-%{release}
Requires(post,postun): 	%{libname}-gtk2 = %{epoch}:%{version}-%{release}
%if %{gcj_support}
Requires:	libgcj >= 4.0.2
Requires(post,postun):   java-gcj-compat >= 1.0.64
Requires:	java >= 1.4.2

%description    rcp
Eclipse Rich Client Platform

%package        rcp-sdk
Summary:        Eclipse RCP Source
Group:          Text Editors/Integrated Development Environments (IDE)
# FIXME: these Provides and Obsoletes can be removed when FC-5 goes into legacy
Provides:	%{name}-rcp-devel
Obsoletes:	%{name}-rcp-devel
Requires:       %{name}-rcp = %{epoch}:%{version}-%{release}
Requires(post,postun): 	%{name}-rcp = %{epoch}:%{version}-%{release}

#FIXME: fix description to include docs
%description    rcp-sdk
Source for RCP for use within Eclipse.

%package        platform
Summary:        Eclipse platform common files
Group:          Text Editors/Integrated Development Environments (IDE)
%if %{gcj_support}
Requires:	libgcj >= 4.0.2
Requires:	java-gcj-compat >= 1.0.64
Requires(post,postun):   java-gcj-compat >= 1.0.64
Requires:	java >= 1.4.2
Requires:       %{name}-rcp = %{epoch}:%{version}-%{release}
Requires(post,postun): 	%{name}-rcp = %{epoch}:%{version}-%{release}
BuildRequires:    gtk2 >= 2.6
Requires:         gtk2 >= 2.6
Requires: ant-antlr ant-apache-bcel ant-apache-log4j ant-apache-oro ant-apache-regexp ant-apache-resolver ant-commons-logging
#Requires: ant-antlr ant-apache-bcel ant-apache-bsf ant-apache-log4j ant-apache-oro ant-apache-regexp ant-apache-resolver ant-commons-logging
#Requires: ant-commons-net
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.17
Requires: tomcat5-jasper >= 5.5.17
Requires: tomcat5-servlet-2.4-api >= 5.5.17
Requires: lucene 
Requires: regexp

%description    platform
Eclipse platform common files. This package now contains the GTK2 UI (the
former eclipse-gtk2 package).

%package        platform-sdk
Summary:        Eclipse platform Source
Group:          Text Editors/Integrated Development Environments (IDE)
# FIXME: these Provides and Obsoletes can be removed when FC-5 goes into legacy
Provides:	%{name}-platform-devel
Obsoletes:	%{name}-platform-devel
Requires:       %{name}-platform = %{epoch}:%{version}-%{release}
Requires:       %{name}-rcp-sdk = %{epoch}:%{version}-%{release}
Requires(post,postun): 	%{name}-platform = %{epoch}:%{version}-%{release}
Requires(post,postun): 	%{name}-rcp-sdk = %{epoch}:%{version}-%{release}
Requires:       java-javadoc

#FIXME: fix description to include docs
%description    platform-sdk
Source 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}-ecj = %{epoch}:%{version}-%{release}
Requires(post,postun): 	%{name}-platform = %{epoch}:%{version}-%{release}
Requires(post,postun): 	%{name}-ecj = %{epoch}:%{version}-%{release}
Requires:       junit >= 3.8.1-3jpp
%if %{gcj_support}
Requires:	libgcj >= 4.0.2
Requires(post,postun):   java-gcj-compat >= 1.0.64

%description    jdt
Eclipse Java developments tools.

%package        jdt-sdk
Summary:        Eclipse JDT Source
Group:          Text Editors/Integrated Development Environments (IDE)
# FIXME: these Provides and Obsoletes can be removed when FC-5 goes into legacy
Provides:	%{name}-jdt-devel
Obsoletes:	%{name}-jdt-devel
Requires:       %{name}-jdt = %{epoch}:%{version}-%{release}
Requires:       %{name}-platform-sdk = %{epoch}:%{version}-%{release}
Requires(post,postun): 	%{name}-jdt = %{epoch}:%{version}-%{release}
Requires(post,postun): 	%{name}-platform-sdk = %{epoch}:%{version}-%{release}
Requires:       java-javadoc

#FIXME: fix description to include docs
%description    jdt-sdk
Source for JDT for use within Eclipse.

%package        pde
Summary:        Eclipse PDE
Group:          Text Editors/Integrated Development Environments (IDE)
Requires:       %{name}-jdt = %{epoch}:%{version}-%{release}
Requires:       %{name}-pde-runtime = %{epoch}:%{version}-%{release}
Requires:       %{name}-platform-sdk = %{epoch}:%{version}-%{release}
Requires(post,postun): 	%{name}-jdt = %{epoch}:%{version}-%{release}
Requires(post,postun): 	%{name}-pde-runtime = %{epoch}:%{version}-%{release}
Requires(post,postun): 	%{name}-platform-sdk = %{epoch}:%{version}-%{release}
%if %{gcj_support}
Requires:	libgcj >= 4.0.2
Requires(post,postun):   java-gcj-compat >= 1.0.64

%description    pde
Eclipse Plug-in Development Environment.

%package        pde-runtime
Summary:        Eclipse PDE runtime plugin.
Group:          Text Editors/Integrated Development Environments (IDE)
Requires:       %{name}-platform = %{epoch}:%{version}-%{release}
Requires(post,postun): 	%{name}-platform = %{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

%description    pde-runtime
Eclipse Plug-in Development Environment runtime plugin (org.eclipse.pde.runtime).

%package        pde-sdk
Summary:        Eclipse PDE Source
Group:          Text Editors/Integrated Development Environments (IDE)
Requires:       %{name}-pde = %{epoch}:%{version}-%{release}
Requires:       %{name}-jdt-sdk = %{epoch}:%{version}-%{release}
Requires(post,postun): 	%{name}-pde = %{epoch}:%{version}-%{release}

#FIXME: fix description to include docs
%description    pde-sdk
Source for Eclipse Plug-in Development Environment for use within Eclipse.

%package        sdk
Summary:        Eclipse PDE Source
Group:          Text Editors/Integrated Development Environments (IDE)
# FIXME: these Provides and Obsoletes can be removed when FC-5 goes into legacy
Provides:	%{name}-pde-devel
Obsoletes:	%{name}-pde-devel
Requires:       %{name}-platform-sdk = %{epoch}:%{version}-%{release}
Requires:       %{name}-jdt-sdk = %{epoch}:%{version}-%{release}
Requires:       %{name}-pde-sdk = %{epoch}:%{version}-%{release}
Requires(post,postun): 	%{name}-platform-sdk = %{epoch}:%{version}-%{release}
Requires(post,postun): 	%{name}-pde-sdk = %{epoch}:%{version}-%{release}
Requires(post,postun): 	%{name}-jdt-sdk = %{epoch}:%{version}-%{release}
%if %{gcj_support}
Requires:	libgcj >= 4.0.2
Requires(post,postun):   java-gcj-compat >= 1.0.64

#FIXME: fix description to be better
%description    sdk
The Eclipse Plug-in Development Environment SDK. This package allows you 
to create an IDE based on Eclipse.

%setup -q -c

# I hate spaces in paths with patch!
pushd plugins/org.eclipse.swt/Eclipse\ SWT\ PI/gtk/library
%patch0 -p0

%patch2 -p0
%patch4 -p0
%patch5 -p0
pushd plugins/org.eclipse.swt.gtk.linux.x86_64
%patch18 -p0
%patch22 -p0

# tomcat patches
pushd plugins/org.eclipse.tomcat
%patch28 -p0
%patch29 -p0
sed --in-place "s/4.1.130/5.5.17/"                      \
                features/org.eclipse.platform/build.xml \
                plugins/org.eclipse.tomcat/build.xml    \
pushd plugins/
%patch31 -p0
pushd plugins/
#%patch33 -p0
pushd plugins/org.eclipse.jdt.core
%patch34 -p0
%patch57 -p0
%patch38 -p0
%patch40 -p0
pushd plugins/org.eclipse.swt/Eclipse\ SWT\ Mozilla/common/library

# Because the launcher source is zipped up, we need to unzip, patch, and re-pack
# FIXME: figure out why we need to patch and sed twice and fix upstream
mkdir launchertmp
unzip -qq -d launchertmp plugins/org.eclipse.platform/
pushd launchertmp
%patch47 -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 install relocatable 
sed --in-place "s:/usr/share/eclipse:%{_datadir}/%{name}:" library/eclipse.c
zip -q -9 -r ../ *
mv plugins/org.eclipse.platform
rm -rf launchertmp
pushd features/org.eclipse.platform.launchers
%patch47 -p0
# put the configuration directory in an arch specific location
sed --in-place "s:/usr/lib/eclipse:%{_libdir}/%{name}:" library/eclipse.c
# make the eclipse install relocatable 
sed --in-place "s:/usr/share/eclipse:%{_datadir}/%{name}:" library/eclipse.c

# Link against our system-installed javadocs
%patch48 -p0
sed --in-place "s:/usr/share/:%{_datadir}/:g"           \
	plugins/org.eclipse.jdt.doc.isv/jdtOptions.txt  \
	plugins/org.eclipse.pde.doc.user/pdeOptions.txt \
	plugins/org.eclipse.pde.doc.user/pdeOptions     \
%patch49 -p0

pushd plugins/
sed --in-place "s:@eclipse_base@:%{_datadir}/%{name}:" templates/package-build/

pushd plugins/org.eclipse.swt/Eclipse\ SWT

%patch55 -p0
rm plugins/org.junit4/junit-4.1.jar

# I love directories with spaces in their names
pushd plugins/org.eclipse.swt
mv "Eclipse SWT Mozilla" Eclipse_SWT_Mozilla
mv "Eclipse SWT PI" Eclipse_SWT_PI
mv Eclipse_SWT_Mozilla "Eclipse SWT Mozilla"
mv Eclipse_SWT_PI "Eclipse SWT PI"
pushd plugins/
mv "JNI Generation" JNI_Generation 
mv JNI_Generation "JNI Generation"
# FIXME check if this has been applied upstream
pushd plugins/org.eclipse.platform.doc.isv
%patch100 -p0
pushd plugins/org.eclipse.platform.doc.user
%patch100 -p0

pushd plugins/org.eclipse.platform
cp %{SOURCE11} splash.bmp

# FIXME this should be patched upstream with a flag to turn on and off 
# all output should be directed to stdout
find -type f -name \*.xml -exec sed --in-place -r "s/output=\".*(txt|log).*\"//g" "{}" \;

# Remove existing .sos
find -name \*.so | xargs rm

# Symlinks

rm plugins/org.apache.ant/lib/ant-antlr.jar
rm plugins/org.apache.ant/lib/
rm plugins/org.apache.ant/lib/ant-apache-bcel.jar
rm plugins/org.apache.ant/lib/
#rm plugins/org.apache.ant/lib/ant-apache-bsf.jar
#rm plugins/org.apache.ant/lib/
rm plugins/org.apache.ant/lib/ant-apache-log4j.jar
rm plugins/org.apache.ant/lib/
rm plugins/org.apache.ant/lib/ant-apache-oro.jar
rm plugins/org.apache.ant/lib/
rm plugins/org.apache.ant/lib/ant-apache-regexp.jar
rm plugins/org.apache.ant/lib/
rm plugins/org.apache.ant/lib/ant-apache-resolver.jar
rm plugins/org.apache.ant/lib/
rm plugins/org.apache.ant/lib/ant-commons-logging.jar
rm plugins/org.apache.ant/lib/
rm plugins/org.apache.ant/lib/ant-commons-net.jar
rm plugins/org.apache.ant/lib/
rm plugins/org.apache.ant/lib/ant-icontract.jar
rm plugins/org.apache.ant/lib/
rm plugins/org.apache.ant/lib/ant-jai.jar
rm plugins/org.apache.ant/lib/
rm plugins/org.apache.ant/lib/ant.jar
rm plugins/org.apache.ant/lib/
rm plugins/org.apache.ant/lib/ant-javamail.jar
rm plugins/org.apache.ant/lib/
rm plugins/org.apache.ant/lib/ant-jdepend.jar
rm plugins/org.apache.ant/lib/
rm plugins/org.apache.ant/lib/ant-jmf.jar
rm plugins/org.apache.ant/lib/
rm plugins/org.apache.ant/lib/ant-jsch.jar
rm plugins/org.apache.ant/lib/
rm plugins/org.apache.ant/lib/ant-junit.jar
rm plugins/org.apache.ant/lib/
rm plugins/org.apache.ant/lib/ant-launcher.jar
rm plugins/org.apache.ant/lib/
rm plugins/org.apache.ant/lib/ant-netrexx.jar
rm plugins/org.apache.ant/lib/
rm plugins/org.apache.ant/lib/ant-nodeps.jar
rm plugins/org.apache.ant/lib/
rm plugins/org.apache.ant/lib/ant-starteam.jar
rm plugins/org.apache.ant/lib/
rm plugins/org.apache.ant/lib/ant-stylebook.jar
rm plugins/org.apache.ant/lib/
rm plugins/org.apache.ant/lib/ant-swing.jar
rm plugins/org.apache.ant/lib/
rm plugins/org.apache.ant/lib/ant-trax.jar
rm plugins/org.apache.ant/lib/
rm plugins/org.apache.ant/lib/ant-vaj.jar
rm plugins/org.apache.ant/lib/
rm plugins/org.apache.ant/lib/ant-weblogic.jar
rm plugins/org.apache.ant/lib/
rm plugins/org.apache.ant/lib/ant-xalan1.jar
rm plugins/org.apache.ant/lib/
rm plugins/org.apache.ant/lib/ant-xslp.jar
rm plugins/org.apache.ant/lib/
# FIXME use build-jar-repository
ln -s %{_javadir}/ant/ant-antlr.jar plugins/org.apache.ant/lib/ant-antlr.jar
ln -s %{_javadir}/ant/ant-apache-bcel.jar plugins/org.apache.ant/lib/ant-apache-bcel.jar
#ln -s %{_javadir}/ant/ant-apache-bsf.jar plugins/org.apache.ant/lib/ant-apache-bsf.jar
ln -s %{_javadir}/ant/ant-apache-log4j.jar plugins/org.apache.ant/lib/ant-apache-log4j.jar
ln -s %{_javadir}/ant/ant-apache-oro.jar plugins/org.apache.ant/lib/ant-apache-oro.jar
ln -s %{_javadir}/ant/ant-apache-regexp.jar plugins/org.apache.ant/lib/ant-apache-regexp.jar
ln -s %{_javadir}/ant/ant-apache-resolver.jar plugins/org.apache.ant/lib/ant-apache-resolver.jar
ln -s %{_javadir}/ant/ant-commons-logging.jar plugins/org.apache.ant/lib/ant-commons-logging.jar
# the symlinks that are commented out are not currently shipped on Fedora
#ln -s %{_javadir}/ant/ant-commons-net.jar plugins/org.apache.ant/lib/ant-commons-net.jar
#ln -s %{_javadir}/ant/ant-icontract.jar plugins/org.apache.ant/lib/ant-icontract.jar
#ln -s %{_javadir}/ant/ant-jai.jar plugins/org.apache.ant/lib/ant-jai.jar
ln -s %{_javadir}/ant.jar plugins/org.apache.ant/lib/ant.jar
ln -s %{_javadir}/ant/ant-javamail.jar plugins/org.apache.ant/lib/ant-javamail.jar
ln -s %{_javadir}/ant/ant-jdepend.jar plugins/org.apache.ant/lib/ant-jdepend.jar
#ln -s %{_javadir}/ant/ant-jmf.jar plugins/org.apache.ant/lib/ant-jmf.jar
ln -s %{_javadir}/ant/ant-jsch.jar plugins/org.apache.ant/lib/ant-jsch.jar
ln -s %{_javadir}/ant/ant-junit.jar plugins/org.apache.ant/lib/ant-junit.jar
ln -s %{_javadir}/ant-launcher.jar plugins/org.apache.ant/lib/ant-launcher.jar
#ln -s %{_javadir}/ant/ant-netrexx.jar plugins/org.apache.ant/lib/ant-netrexx.jar
ln -s %{_javadir}/ant/ant-nodeps.jar plugins/org.apache.ant/lib/ant-nodeps.jar
#ln -s %{_javadir}/ant/ant-starteam.jar plugins/org.apache.ant/lib/ant-starteam.jar
#ln -s %{_javadir}/ant/ant-stylebook.jar plugins/org.apache.ant/lib/ant-stylebook.jar
ln -s %{_javadir}/ant/ant-swing.jar plugins/org.apache.ant/lib/ant-swing.jar
ln -s %{_javadir}/ant/ant-trax.jar plugins/org.apache.ant/lib/ant-trax.jar
#ln -s %{_javadir}/ant/ant-vaj.jar plugins/org.apache.ant/lib/ant-vaj.jar
#ln -s %{_javadir}/ant/ant-weblogic.jar plugins/org.apache.ant/lib/ant-weblogic.jar
#ln -s %{_javadir}/ant/ant-xalan1.jar plugins/org.apache.ant/lib/ant-xalan1.jar
#ln -s %{_javadir}/ant/ant-xslp.jar plugins/org.apache.ant/lib/ant-xslp.jar
## END ANT ##
rm plugins/org.apache.lucene/lucene-1.4.3.jar
# FIXME:  Remove this zip until we have a lucene-devel package containing it.
rm plugins/org.apache.lucene/
ln -s %{_javadir}/lucene.jar plugins/org.apache.lucene/lucene-1.4.3.jar

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 %{tomcatlibdir}/server/lib/catalina.jar plugins/org.eclipse.tomcat/lib/catalina.jar
ln -s %{tomcatlibdir}/server/lib/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 %{tomcatlibdir}/common/lib/naming-factory.jar plugins/org.eclipse.tomcat/lib/naming-factory.jar
ln -s %{tomcatlibdir}/common/lib/naming-resources.jar plugins/org.eclipse.tomcat/lib/naming-resources.jar
ln -s %{tomcatlibdir}/server/lib/servlets-default.jar plugins/org.eclipse.tomcat/lib/servlets-default.jar
ln -s %{tomcatlibdir}/server/lib/servlets-invoker.jar plugins/org.eclipse.tomcat/lib/servlets-invoker.jar
ln -s %{tomcatlibdir}/server/lib/tomcat-coyote.jar plugins/org.eclipse.tomcat/lib/tomcat-coyote.jar
ln -s %{tomcatlibdir}/server/lib/tomcat-http.jar plugins/org.eclipse.tomcat/lib/tomcat-http.jar
ln -s %{tomcatlibdir}/server/lib/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

build-jar-repository -s -p plugins/org.junit junit

pushd plugins/org.eclipse.swt/Eclipse\ SWT\ PI/gtk/library
# /usr/lib -> /usr/lib64
sed --in-place "s:/usr/lib/:%{_libdir}/:g"
sed --in-place "s:-L\$(AWT_LIB_PATH):-L%{_jvmdir}/java/jre/lib/%{_arch}:" make_linux.mak

# 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
# FIXME: file a bug about this
# 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_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 \

# nasty hack to get suppport for ppc64, s390(x) and sparc(64)
# move all of the ia64 directories to ppc64 or s390(x) or sparc(64) dirs and replace 
# the ia64 strings with ppc64 or s390(x)
%ifarch ppc64 s390 s390x sparc sparc64
  # there is only partial support for ppc64 in 3.2 so we have to remove this 
  # partial support to get the replacemnt hack to work
  find -name \*ppc64\* | xargs rm -r
  # remove 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

  # remove remove ppc64 support from features/org.eclipse.platform.source/feature.xml
  mv features/org.eclipse.platform.source/feature.xml features/org.eclipse.platform.source/feature.xml.orig
  grep -v ppc64 features/org.eclipse.platform.source/feature.xml.orig > features/org.eclipse.platform.source/feature.xml	

  # finally the replacement hack
  for f in $(find -name \*ia64\* | grep -v motif | grep -v ia64_32); do 
    mv $f $(echo $f | sed "s/ia64/%{_arch}/")
  find -type f -exec sed --in-place "s/ia64_32/@eye-eh-64_32@/g" "{}" \;
  find -type f -exec sed --in-place "s/ia64/%{_arch}/g" "{}" \;
  find -type f -exec sed --in-place "s/@eye-eh-64_32@/ia64_32/g" "{}" \;

# gjdoc can't handle Mac-encoded files
pushd plugins
for f in `find .. -name \*.java`; do
  file $f | grep "CR line" > /dev/null && mac2unix $f

# setup the jsch plugin build
rm plugins/*.jar
# FIXME remove version number, file a bug about this
pushd baseLocation/plugins
# get the Manifest file
unzip -qq -o -d com.jcraft.jsch_0.1.28.jar-build com.jcraft.jsch_*.jar -x com\*
rm com.jcraft.jsch_*.jar

# setup with the icu4j plugins for building
pushd baseLocation/plugins
rm \ \ \
mkdir -p icu4j-build-temp

pushd icu4j-build-temp
unzip -qq %{SOURCE7} 
sed --in-place "s/ .*bootclasspath=.*//g" build.xml
ant eclipseProjects

mkdir -p icu4j-build
mv icu4j-build-temp/eclipseProjects/ icu4j-build
mv icu4j-build-temp/eclipseProjects/ icu4j-build
rm -r icu4j-build-temp

# add build.xml patches
pushd icu4j-build
%patch3 -p1


# delete included jars
# FIXME: file a bug about these
rm plugins/org.eclipse.swt.win32.win32.x86/swt.jar \
   plugins/org.eclipse.swt/extra_jars/exceptions.jar \
   plugins/ \

# make sure there are no jars left
for j in $(find -name \*.jar); do
  if [ ! -L $j ]; then
    JARS="$JARS $j"
if [ ! -z "$JARS" ]; then
    echo "These jar should be deleted and symlinked to system jars: $JARS"
   #FIXME: enable  exit 1

tar jxf %{SOURCE20}


# finish the jsch plugin build
# FIXME remove version numbers
# FIXME jar -V does not work for proprietary VMs 
pushd baseLocation/plugins/com.jcraft.jsch_0.1.28.jar-build
unzip -qq %{_javadir}/jsch.jar -x META-INF\*
sed --in-place "s/$(grep Created-By: META-INF/MANIFEST.MF)/Created-By: $(jar -V | head -1)/" META-INF/MANIFEST.MF
jar -Mcf ../com.jcraft.jsch_0.1.28.jar *
# FXIME don't delete this, do what icu4j does
rm -r baseLocation/plugins/com.jcraft.jsch_0.1.28.jar-build

# finish the icu4j build
pushd baseLocation/plugins

# build the icu.base plugin
pushd icu4j-build/
find -name \*.java | xargs touch --date=1/1/1970
zip -X -9 -r $zipfile . -i \*.java
pushd icu4j-build/
ant build.update.jar
mv icu4j-build/ .

# build the icu plugin
pushd icu4j-build/
find -name \*.java | xargs touch --date=1/1/1970
zip -X -9 -r $zipfile . -i \*.java
pushd icu4j-build/
ant build.update.jar
mv icu4j-build/ .


# Bootstrapping is 3 parts:
# 1. Build ecj with gcj -C -- only necessary until gcjx/ecj lands in gcc
# 2. Build ecj with gcj-built ecj ("javac")
# 3. Re-build ecj with output of 2.

%if %{gcj_support}
  # Unzip the "stable compiler" source into a temp dir and build it.
  # Note:  we don't want to build the CompilerAdapter.
  mkdir ecj-bootstrap-tmp
  unzip -qq -d ecj-bootstrap-tmp jdtcoresrc/src/
  rm -f ecj-bootstrap-tmp/org/eclipse/jdt/core/

  # 1a. Build ecj with gcj -C
  pushd ecj-bootstrap-tmp
  for f in `find -name '*.java' | cut -c 3- | LC_ALL=C sort`; do
      gcj -Wno-deprecated -C $f
  find -name '*.class' -or -name '*.properties' -or -name '*.rsc' |\
      xargs jar cf ../ecj-bootstrap.jar
  # Delete our modified ecj and restore the backup
  rm -rf ecj-bootstrap-tmp
  # 1b. Natively-compile it
  gcj -fPIC -fjni -findirect-dispatch -shared -Wl,-Bsymbolic \
    -o ecj-bootstrap.jar

  gcj-dbtool -n ecj-bootstrap.db 30000
  gcj-dbtool -a ecj-bootstrap.db ecj-bootstrap.jar{,.so}
  # 2a. Build ecj
  export CLASSPATH=ecj-bootstrap.jar:$ORIGCLASSPATH
  export ANT_OPTS="-Dgnu.gcj.precompiled.db.path=`pwd`/ecj-bootstrap.db"
ant -buildfile jdtcoresrc/compilejdtcorewithjavac.xml

%if %{gcj_support}
  # 2b. Natively-compile ecj
  gcj -fPIC -fjni -findirect-dispatch -shared -Wl,-Bsymbolic \
    -o jdtcoresrc/ jdtcoresrc/ecj.jar
  gcj-dbtool -n jdtcoresrc/ecj.db 30000
  gcj-dbtool -a jdtcoresrc/ecj.db jdtcoresrc/ecj.jar{,.so}

  # Remove our gcj-built ecj
  rm ecj-bootstrap.db ecj-bootstrap.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"

# 3. Use this ecj to rebuild itself
export CLASSPATH=`pwd`/jdtcoresrc/ecj.jar:$ORIGCLASSPATH
ant -buildfile jdtcoresrc/compilejdtcore.xml

%if %{gcj_support}
  # Natively-compile it
  gcj -fPIC -fjni -findirect-dispatch -shared -Wl,-Bsymbolic \
    -o 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/

# 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} \

# Hack to get the -debuginfo source code references
# to be pointing to the right place:
# Hardlink all the org.* source we can find
# Presumably, all the zipped source gets unzipped before compilation?
#pushd result
#mkdir -p eclipse/org
#cat >copyallsrc <<-EOF
#	#! /bin/bash -peu
#	cd "\$1"
#	echo "Copying all .java source files from \$1 to $collected_src_dir..."
#	find . -type f -name '*.java' -print0 \
#	| xargs -0 -r cp -l --parents --target-directory=$collected_src_dir/org
#chmod u+x copyallsrc
## Special case logic for SWT - only copy linux-gtk source
#find $src_root -type d -a \( -name org.eclipse.swt -prune -o -name org -print0 \) | xargs -l -0 ./copyallsrc
#./copyallsrc $src_root/org.eclipse.swt/Eclipse\ SWT/gtk/org

# Build the FileInitializer application
SDK=$(cd eclipse && pwd)
PDEPLUGINVERSION=$(ls $SDK/plugins | grep | sed 's/org.eclipse.pde.build_//')
pushd equinox-incubator
mkdir -p build
mkdir -p home
homedir=$(cd home && pwd)

echo "<project default=\"main\"><target name=\"main\"></target></project>" > build/
echo "<project default=\"main\"><target name=\"main\"></target></project>" > build/

java -cp $SDK/startup.jar \
      org.eclipse.core.launcher.Main \
     -Duser.home=$homedir                              \
     -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/startup.jar \
      org.eclipse.core.launcher.Main \
     -Duser.home=$homedir                              \
     -application org.eclipse.ant.core.antRunner       \
     -f build.xml build.update.jar



# 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 =)

install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}
tar -C $RPM_BUILD_ROOT%{_datadir} -zxf result/linux-gtk-%{eclipse_arch}-sdk.tar.gz

cp equinox-incubator/org.eclipse.equinox.initializer/org.eclipse.equinox.initializer_*.jar \

install -d -m 755 $RPM_BUILD_ROOT%{_libdir}/%{name}

# Install the platform specific fragments in an arch specific dir
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/links
echo "path:$RPM_BUILD_ROOT%{_libdir}" > $RPM_BUILD_ROOT%{_datadir}/%{name}/links/
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 -d -m 755 $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins

# Install the platform specific fragments in an arch specific dir
install -d -m 755 $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins
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 \
# 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/')
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/$HELPWEBAPPVERSION \
# 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 \
# FIXME: icu4j generates res_index.txt differently on different arches.
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/ $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/ $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins

mkdir -p home
homedir=$(cd home && pwd)
# FIXME: investigate why it doesn't work to set this -- configuration data is
# always written to /usr/share/eclipse/configuration
#     -Dosgi.sharedConfiguration.area=$RPM_BUILD_ROOT%{_libdir}/%{name}/configuration \
# Extract .so files
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}

# Make propper links file
echo "path:/usr/lib" > $RPM_BUILD_ROOT%{_datadir}/%{name}/links/
echo "path:/usr/lib64" > $RPM_BUILD_ROOT%{_datadir}/%{name}/links/

# 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
# Where did these go?
#rm -r $RPM_BUILD_ROOT%{_libdir}/%{name}/configuration/*.log

# Set config.ini for the rcp package, the lowest package in the dependancy chain.
sed --in-place "s/eclipse.product=org.eclipse.sdk.ide/#eclipse.product=/" \

# Install the Eclipse binary
install -d -m 755 $RPM_BUILD_ROOT%{_bindir}
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/eclipse $RPM_BUILD_ROOT%{_bindir}/%{name}

# 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

# Create file listings for the extracted shared objects 
echo -n "" > %{_builddir}/%{buildsubdir}/%{name}-platform.install;
for id in `ls configuration/org.eclipse.osgi/bundles`; do
  if [ "Aconfiguration" = $(echo A`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;
    echo "%{_libdir}/%{name}/configuration/org.eclipse.osgi/bundles/$id" >> %{_builddir}/%{buildsubdir}/%{name}-platform.install;

# Install symlinks to the SWT JNI shared libraries in /usr/lib
pushd $RPM_BUILD_ROOT%{_libdir}
for lib in $(find %{name}/configuration -name libswt\*.so); do  
  ln -s %{_libdir}/$lib `basename $lib`

# Install the SWT 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

# 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 it's using
# Install a versionless
pushd $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/
ln -s org.eclipse.pde.build_*

# rh/ icons
install -p -D -m0644 %{SOURCE5} \
install -d -m0755 $RPM_BUILD_ROOT%{_datadir}/pixmaps
ln -s ../icons/hicolor/48x48/apps/%{name}.png \
install -d -m0755 $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps
ln -s ../../../../%{name}/plugins/org.eclipse.platform_%{eclipse_majmin}.%{eclipse_micro}/eclipse32.gif \
install -d -m0755 $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps
ln -s ../../../../%{name}/plugins/org.eclipse.platform_%{eclipse_majmin}.%{eclipse_micro}/eclipse.gif \
# Remove unused icon.xpm
rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/icon.xpm

# 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:" \

# 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}

# menu entry
install -p -D -m0644 %{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
pushd $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/org.eclipse.sdk_%{eclipse_majmin}.*
FEDORA_VERSION=`cat /etc/fedora-release`
sed -e "s/\(0=.*\)/\1 ($FEDORA_VERSION)/" < about.mappings > about.mappings.tmp
mv about.mappings.tmp about.mappings
pushd $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/org.eclipse.platform_%{eclipse_majmin}.*
sed -e "s/\(0=.*\)/\1 ($FEDORA_VERSION)/" < about.mappings > about.mappings.tmp
mv about.mappings.tmp about.mappings

# 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 '^(links|plugins|features)$'
  ls -d plugins/* features/*
) |
sed -e's/^\(.*\)$/\1 \1/' -e's,^,ln -s $eclipse/,' >> copy-platform
echo "ln -s %{_libdir}/eclipse fragments" >> copy-platform
echo "sed --in-place s:%{_libdir}:\$where/fragments: links/" >> copy-platform

mkdir -p $RPM_BUILD_ROOT%{_libdir}/%{name}/buildscripts
cp copy-platform $RPM_BUILD_ROOT%{_libdir}/%{name}/buildscripts

pushd $RPM_BUILD_ROOT%{_datadir}/%{name}
rm plugins/org.apache.ant_*/lib/ant-antlr.jar
rm plugins/org.apache.ant_*/lib/ant-apache-bcel.jar
#rm plugins/org.apache.ant_*/lib/ant-apache-bsf.jar
rm plugins/org.apache.ant_*/lib/ant-apache-log4j.jar
rm plugins/org.apache.ant_*/lib/ant-apache-oro.jar
rm plugins/org.apache.ant_*/lib/ant-apache-regexp.jar
rm plugins/org.apache.ant_*/lib/ant-apache-resolver.jar
rm plugins/org.apache.ant_*/lib/ant-commons-logging.jar
#rm plugins/org.apache.ant_*/lib/ant-commons-net.jar
#rm plugins/org.apache.ant_*/lib/ant-icontract.jar
#rm plugins/org.apache.ant_*/lib/ant-jai.jar
rm plugins/org.apache.ant_*/lib/ant.jar
rm plugins/org.apache.ant_*/lib/ant-javamail.jar
rm plugins/org.apache.ant_*/lib/ant-jdepend.jar
#rm plugins/org.apache.ant_*/lib/ant-jmf.jar
rm plugins/org.apache.ant_*/lib/ant-jsch.jar
rm plugins/org.apache.ant_*/lib/ant-junit.jar
rm plugins/org.apache.ant_*/lib/ant-launcher.jar
#rm plugins/org.apache.ant_*/lib/ant-netrexx.jar
rm plugins/org.apache.ant_*/lib/ant-nodeps.jar
#rm plugins/org.apache.ant_*/lib/ant-starteam.jar
#rm plugins/org.apache.ant_*/lib/ant-stylebook.jar
rm plugins/org.apache.ant_*/lib/ant-swing.jar
rm plugins/org.apache.ant_*/lib/ant-trax.jar
#rm plugins/org.apache.ant_*/lib/ant-vaj.jar
#rm plugins/org.apache.ant_*/lib/ant-weblogic.jar
#rm plugins/org.apache.ant_*/lib/ant-xalan1.jar
#rm plugins/org.apache.ant_*/lib/ant-xslp.jar
# FIXME use build-jar-repository
ln -s %{_javadir}/ant/ant-antlr.jar plugins/org.apache.ant_1.6.5/lib/ant-antlr.jar
ln -s %{_javadir}/ant/ant-apache-bcel.jar plugins/org.apache.ant_1.6.5/lib/ant-apache-bcel.jar
#ln -s %{_javadir}/ant/ant-apache-bsf.jar plugins/org.apache.ant_1.6.5/lib/ant-apache-bsf.jar
ln -s %{_javadir}/ant/ant-apache-log4j.jar plugins/org.apache.ant_1.6.5/lib/ant-apache-log4j.jar
ln -s %{_javadir}/ant/ant-apache-oro.jar plugins/org.apache.ant_1.6.5/lib/ant-apache-oro.jar
ln -s %{_javadir}/ant/ant-apache-regexp.jar plugins/org.apache.ant_1.6.5/lib/ant-apache-regexp.jar
ln -s %{_javadir}/ant/ant-apache-resolver.jar plugins/org.apache.ant_1.6.5/lib/ant-apache-resolver.jar
ln -s %{_javadir}/ant/ant-commons-logging.jar plugins/org.apache.ant_1.6.5/lib/ant-commons-logging.jar
# 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.6.5/lib/ant-commons-net.jar
#ln -s %{_javadir}/ant/ant-icontract.jar plugins/org.apache.ant_1.6.5/lib/ant-icontract.jar
#ln -s %{_javadir}/ant/ant-jai.jar plugins/org.apache.ant_1.6.5/lib/ant-jai.jar
ln -s %{_javadir}/ant.jar plugins/org.apache.ant_1.6.5/lib/ant.jar
ln -s %{_javadir}/ant/ant-javamail.jar plugins/org.apache.ant_1.6.5/lib/ant-javamail.jar
ln -s %{_javadir}/ant/ant-jdepend.jar plugins/org.apache.ant_1.6.5/lib/ant-jdepend.jar
#ln -s %{_javadir}/ant/ant-jmf.jar plugins/org.apache.ant_1.6.5/lib/ant-jmf.jar
ln -s %{_javadir}/ant/ant-jsch.jar plugins/org.apache.ant_1.6.5/lib/ant-jsch.jar
ln -s %{_javadir}/ant/ant-junit.jar plugins/org.apache.ant_1.6.5/lib/ant-junit.jar
ln -s %{_javadir}/ant-launcher.jar plugins/org.apache.ant_1.6.5/lib/ant-launcher.jar
#ln -s %{_javadir}/ant/ant-netrexx.jar plugins/org.apache.ant_1.6.5/lib/ant-netrexx.jar
ln -s %{_javadir}/ant/ant-nodeps.jar plugins/org.apache.ant_1.6.5/lib/ant-nodeps.jar
#ln -s %{_javadir}/ant/ant-starteam.jar plugins/org.apache.ant_1.6.5/lib/ant-starteam.jar
#ln -s %{_javadir}/ant/ant-stylebook.jar plugins/org.apache.ant_1.6.5/lib/ant-stylebook.jar
ln -s %{_javadir}/ant/ant-swing.jar plugins/org.apache.ant_1.6.5/lib/ant-swing.jar
ln -s %{_javadir}/ant/ant-trax.jar plugins/org.apache.ant_1.6.5/lib/ant-trax.jar
#ln -s %{_javadir}/ant/ant-vaj.jar plugins/org.apache.ant_1.6.5/lib/ant-vaj.jar
#ln -s %{_javadir}/ant/ant-weblogic.jar plugins/org.apache.ant_1.6.5/lib/ant-weblogic.jar
#ln -s %{_javadir}/ant/ant-xalan1.jar plugins/org.apache.ant_1.6.5/lib/ant-xalan1.jar
#ln -s %{_javadir}/ant/ant-xslp.jar plugins/org.apache.ant_1.6.5/lib/ant-xslp.jar
## END ANT ##
# FIXME: rm -f in ln
#rm plugins/org.apache.lucene_*/lucene-1.4.3.jar
ln -sf %{_javadir}/lucene.jar plugins/org.apache.lucene_*/lucene-1.4.3.jar
#rm plugins/*/jsch-0.1.18.jar
#ln -s %{_javadir}/jsch.jar plugins/*/jsch-0.1.18.jar

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 %{tomcatlibdir}/server/lib/catalina.jar plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib/catalina.jar
ln -s %{tomcatlibdir}/server/lib/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 %{tomcatlibdir}/common/lib/naming-common.jar plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib/naming-common.jar
ln -s %{tomcatlibdir}/common/lib/naming-factory.jar plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib/naming-factory.jar
ln -s %{tomcatlibdir}/common/lib/naming-resources.jar plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib/naming-resources.jar
ln -s %{tomcatlibdir}/server/lib/servlets-common.jar plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib/servlets-common.jar
ln -s %{tomcatlibdir}/server/lib/servlets-default.jar plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib/servlets-default.jar
ln -s %{tomcatlibdir}/server/lib/servlets-invoker.jar plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib/servlets-invoker.jar
ln -s %{tomcatlibdir}/server/lib/tomcat-coyote.jar plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib/tomcat-coyote.jar
ln -s %{tomcatlibdir}/server/lib/tomcat-http.jar plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib/tomcat-http.jar
ln -s %{tomcatlibdir}/server/lib/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

build-jar-repository -s -p plugins/org.junit_* junit

# FIXME:  due to aot-compile-rpm smarts, the required resource bundles aren't
# being compiled so this truly native ecj binary isn't possible
#%if %{gcj_support}
# # Build and install ecj binary
# pushd $RPM_BUILD_ROOT%{_libdir}/gcj/%{name}
#   gcj -g -O2 --main=org.eclipse.jdt.internal.compiler.batch.Main \
#     -Wl,-R,%{_libdir}/gcj/%{name} \
# -o \
#     $RPM_BUILD_ROOT%{_bindir}/ecj
# popd
# chmod a+x $RPM_BUILD_ROOT%{_bindir}/ecj

# 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
     # 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="1970-01-01 UTC" $ZIPDIR2/$f

     # Set the times of the directories.
     touch --date="1970-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 -@

     # Cleanup.
     rm -rf $TMPDIR2
     rm -rf $ZIPDIR2
  # 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
  # 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="1970-01-01 UTC" $ZIPDIR/$f

  # Set the times of the directories.
  touch --date="1970-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 -@

  # Cleanup.
  rm -rf $TMPDIR
  rm -rf $ZIPDIR
rm -rf ${RPM_BUILD_ROOT}/tmp

# 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 $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/org.apache.ant_$ANTPLUGINVERSION/bin/

%if %{gcj_support}
# exclude org.eclipse.ui.ide to work around
UIIDEPLUGINVERSION=$(ls plugins | grep ui.ide_ | sed 's/org.eclipse.ui.ide_//')
aot-compile-rpm --exclude %{_datadir}/%{name}/plugins/org.eclipse.ui.ide_$UIIDEPLUGINVERSION 


%post platform
%if %{gcj_support}
touch --no-create %{_datadir}/icons/hicolor
if [ -x /usr/bin/gtk-update-icon-cache ]; then
  gtk-update-icon-cache -q %{_datadir}/icons/hicolor
if [ -f %{_libdir}/%{name}/configuration/config.ini ]; then
  sed --in-place "s/#eclipse.product=/eclipse.product=org.eclipse.platform.ide/" \

%postun platform
%if %{gcj_support}
touch --no-create %{_datadir}/icons/hicolor
if [ -x /usr/bin/gtk-update-icon-cache ]; then
  gtk-update-icon-cache -q %{_datadir}/icons/hicolor
if [ -d %{_datadir}/%{name}/features ]; then
  PLATFORMDIR=$(ls %{_datadir}/%{name}/features | grep "org\.eclipse\.platform_")
  if [ -z "$PLATFORMDIR" -a -f %{_libdir}/%{name}/configuration/config.ini ]; then
    sed --in-place "s/eclipse.product=org.eclipse.platform.ide/#eclipse.product=/" \

%post sdk 
%if %{gcj_support}
if [ -f %{_libdir}/%{name}/configuration/config.ini ]; then
  sed --in-place "s/eclipse.product=org.eclipse.platform.ide/eclipse.product=org.eclipse.sdk.ide/" \

%postun sdk 
%if %{gcj_support}
if [ -d %{_datadir}/%{name}/features ]; then
  SDKDIR=$(ls %{_datadir}/%{name}/features | grep "org\.eclipse\.sdk_")
  if [ -z "$SDKDIR" -a -f %{_libdir}/%{name}/configuration/config.ini ]; then
    sed --in-place "s/eclipse.product=org.eclipse.sdk.ide/eclipse.product=org.eclipse.platform.ide/" \

%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
%post pde-sdk -p %{_bindir}/rebuild-gcj-db
%postun pde-sdk -p %{_bindir}/rebuild-gcj-db

# This is to deal with my stupidity that manifested itself as
# rebuild-sdk-features -- overholt
%triggerpostun rcp -- eclipse-rcp < 1:3.2.1, eclipse-rcp-devel < 1:3.2.1, eclipse-pde < 1:3.2.1, eclipse-pde-devel < 1:3.2.1, eclipse-jdt < 1:3.2.1, eclipse-jdt-devel < 1:3.2.1, eclipse-platform < 1:3.2.1, eclipse-platform-devel < 1:3.2.1
# Remove crap from rebuild-sdk-features
rm -rf %{_datadir}/%{name}/features/org.eclipse.sdk_3.1.2
# Remove pre-configured, unnecessary platform.xml created by rebuild-sdk-features
rm -f %{_datadir}/%{name}/configuration/org.eclipse.update/platform.xml*

%files ecj
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/plugins
%if %{gcj_support}
%dir %{_libdir}/gcj/%{name}

%files -n %{libname}-gtk2 -f %{libname}-gtk2.install
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/plugins
%dir %{_libdir}/%{name}/plugins
%dir %{_libdir}/%{name}/configuration
%dir %{_libdir}/%{name}/configuration/org.eclipse.osgi
%dir %{_libdir}/%{name}/configuration/org.eclipse.osgi/bundles
# FIXME: do we need to build?
%if %{gcj_support}
%dir %{_libdir}/gcj/%{name}

%files rcp
%dir %{_datadir}/%{name}/features
%verify(not md5 size mtime) %{_libdir}/%{name}/configuration/config.ini
%ifarch %{ix86} x86_64
%ifarch x86_64
%if %{gcj_support}

%files rcp-sdk

%files platform -f %{name}-platform.install
%attr(0755,root,root) %{_bindir}/%{name}
%ifarch %{ix86} x86_64
%if %{gcj_support}
# FIXME:  we need to symlink these

%files platform-sdk
%if %{gcj_support}

%files jdt
%if %{gcj_support}

%files jdt-sdk

%files pde
%if %{gcj_support}

%files pde-runtime
%if %{gcj_support}

%files pde-sdk

%files sdk

* Wed Nov 01 2006 Ben Konrath <> 3.2.1-12
- 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 it has
  the laucher src zip which is arch specific.
- 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/ 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 

* Wed Nov 01 2006 Andrew Overholt <> 3.2.1-12
- 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.

* Tue Oct 31 2006 Andrew Overholt <> 3.2.1-11
- Fix copy-platform to work with split install.

* Tue Oct 31 2006 Ben Konrath <> 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 <> 3.2.1-9
- Re-enable building of the icu4j plugins.

* Mon Oct 30 2006 Ben Konrath <> 3.2.1-8
- Temporarily disable building of icu4j plugin.

* Mon Oct 30 2006 Andrew Overholt <> 3.2.1-8
- Fix eclipse-ecj symlink to point to correct location.
- Put SWT symlinks in %%{_libdir} instead of %%{_datadir} as they're

* Sat Oct 28 2006 Ben Konrath <> 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 <> 3.2.1-6
- Remove unneeded tomcat symlinks.

* Mon Oct 16 2006 Andrew Overholt <> 3.2.1-6
- Remove unnecessary bits of configuration.
- Resolves: #210764, #202585.

* Tue Oct 10 2006 Ben Konrath <> 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 <> 3.2.1-4
- Fix triggerpostun to include epoch of previous releases.

* Fri Sep 29 2006 Ben Konrath <> 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 <> 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 <> 3.2.1-2
- Fix swt-firefox patch to not create DSOs with undefined symbols (rh#201778).

* Thu Sep 28 2006 Ben Konrath <> 3.2.1-1
- 3.2.1 final.

* Thu Sep 28 2006 Andrew Overholt <> 3.2.1-1
- Use new swt-firefox patch and consolidate others into one.

* Wed Sep 27 2006 Ben Konrath <> 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 <> 3.2.1-0.RC.2
- Don't set eclipse.product incorrectly in %postun of -sdk and -platform.

* Mon Sep 25 2006 Ben Konrath <> 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 <> 3.2.0-8
- Remove unused eclipse.conf.
- Remove unused gre64.conf patch (applied upstream).

* Thu Sep 21 2006 Ben Konrath <> 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 <> 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 <> 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 <> 3.2.0-5
- Add swt-firefox patch; moves SWT to NS_InitXPCOM3() from NS_InitEmbedding().
- Add sparc support (Dennis Gilmore <>).
- Disable help index generation on s390.

* Wed Sep 06 2006 Ben Konrath <> 3.2.0-4
- Re-add 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 <> 3.2.0-3
- Use the system tomcat on ppc64 and s390x.

* Wed Aug 30 2006 Andrew Overholt <> 3.2.0-3
- Don't use pkg_summary.

* Tue Aug 29 2006 Ben Konrath <> 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 <> 3.2.0-1jpp_12fc
- Fix tomcat55 patch to not conflict with (commons-logging visibility).

* Thu Aug 10 2006 Andrew Overholt <> 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 <> 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 <> 3.2.0-1jpp_9fc
- Use sed instead of patches for tomcat version numbers.

* Sun Jul 23 2006 Ben Konrath <> 3.2.0-1jpp_8fc
- Disable build.index doc generation on i386.

* Sun Jul 23 2006 Andrew Overholt <> 3.2.0-1jpp_7fc
- Remove org.eclipse.ant.ui* from %%files.

* Sun Jul 23 2006 Ben Konrath <> 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 <> 3.2.0-1jpp_6fc
- Rebuilt

* Thu Jul 20 2006 Andrew Overholt <> 3.2.0-1jpp_5fc
- New splash screen from Diana Fong (rh#199456).

* Tue Jul 18 2006 Andrew Overholt <> 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 <> 3.2.0-1jpp_3fc
- Rebuild.

* Mon Jul 17 2006 Ben Konrath <> 3.2.0-1jpp_2fc
- Rebuild.

* Thu Jul 06 2006 Andrew Overholt <> 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 <> 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 <> 3.2.0-1jpp_1fc
- Fix tomcat symlinks. 

* Tue Jul 04 2006 Andrew Overholt <> 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 <> 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 <> 3.2.0-0jpp_0fc.3.2RC7.6
- Bump release again.

* Mon Jun 12 2006 Ben Konrath <> 3.2.0-0jpp_0fc.3.2RC7.5
- Bump release.

* Mon Jun 12 2006 Ben Konrath <> 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 <> 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 symlink.
- Rename to
- 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 <> 3.2.0-0jpp_0fc.3.2RC7.2
- Fix eclipse-ecj.jar symlink to include qualifier.

* Tue Jun 06 2006 Ben Konrath <> 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
- Work around ia64 compile problem in aot-compile-rpm. 

* Wed May 31 2006 Ben Konrath <> 3.2.0-0jpp_0fc.3.2RC6
- 3.2RC6.

* Tue May 30 2006 Ben Konrath <> 3.1.2-1jpp_15fc
- Add to add generic releng scripts.
- Move doc.isv plugins to devel packages and require java-javadoc on devel
- Add pde-runtime subpackage - needed for PHPeclipse package.
- Update libswt mozilla patch for mozilla 1.7.13.
- Add swt patch to fix rh#191536, e.o#98371.

* Mon May 15 2006 Andrew Overholt <> 3.1.2-1jpp_14fc
- Bump mozilla requirement to match rawhide.

* Tue Mar 07 2006 Andrew Overholt <> 3.1.2-1jpp_13fc
- One more small help fix (include tomcatwrapper.jar o.e.tomcat manifest).

* Fri Mar 03 2006 Andrew Overholt <> 3.1.2-1jpp_12fc
- Only build with a native ecj on x86{,_64}

* Tue Feb 28 2006 Andrew Overholt <> 3.1.2-1jpp_12fc
- Update to tomcat 5.5 (e.o#98371).
- Don't build on ppc64 until we get the tomcat situation straightened out.

* Fri Feb 17 2006 Igor Foox <> - 1:3.1.2-1jpp_10fc
- Added patch for ppc64.

* Fri Feb 17 2006 Igor Foox <> - 1:3.1.2-1jpp_9fc
- Try build on ppc64.

* Fri Feb 17 2006 Andrew Overholt <> - 1:3.1.2-1jpp_8fc
- Try build on ppc64 (rh#172172, rh#181846).

* Fri Feb 10 2006 Jesse Keating <> - 1:3.1.2-1jpp_7fc
- bump again for double-long bug on ppc(64)

* Fri Feb 10 2006 Ben Konrath <> 3.1.2-1jpp_6fc
- Update the rebuild-sdk-features script to use the 3.1 updatesite (rh#180387, rh#180768).
- Make platform/feature.xml reference the tomcat5 plugin.

* Tue Feb 07 2006 Andrew Overholt <> 3.1.2-1jpp_5fc
- Use new java-1.4.2-gcj-compat-javadoc package.
- Always generate debug info when building RPMs (Andrew Haley).
- Slightly modify swt-gtk symlinks (rh#180000).

* Mon Feb 06 2006 Andrew Overholt <> 3.1.2-1jpp_4fc
- Add an swt-gtk.jar and fix symlink to point to correct jar (rh#180000).
- Link against generic (rh#158755).
- Re-add patch to use built launcher.

* Sat Feb 4 2006 Ben Konrath <> 3.1.2-1jpp_3fc
- Update efj patches to match what has been committed to HEAD.

* Fri Feb 3 2006 Igor Foox <> 3.1.2-1jpp_2fc
- Updated launcher script.

* Tue Jan 31 2006 Andrew Overholt <> 3.1.2-1jpp_1fc
- 3.1.2.
- Remove unnecessary patches.

* Tue Jan 31 2006 Karsten Hopp <>
- BuildRequire: unzip

* Wed Jan 25 2006 Andrew Overholt <> 3.1.1-1jpp_16fc
- Rebuild against latest gcc to see if this fixes rh#178156.

* Wed Jan 04 2006 Andrew Overholt <> 3.1.1-1jpp_15fc
- Update s390{,x} patches.
- Use natively-compiled ecj during build.
- Attempt build on ia64.
- Change about_files to be i386 and x86_64 only (will patch file upstream).

* Fri Dec 23 2005 Andrew Overholt <> 3.1.1-1jpp_14fc
- Rebuild again.

* Wed Dec 21 2005 Andrew Overholt <> 3.1.1-1jpp_13fc
- Rebuild with new gcc (gcc#25121).

* Mon Dec 19 2005 Igor Foox <> 3.1.1-1jpp_12fc
- New version of launcher path (rh#175454).

* Mon Dec 19 2005 Andrew Overholt <> 3.1.1-1jpp_11fc
- Update patch for offline javadoc linking.
- Rebuild with new gjdoc (rh#161147).

* Tue Dec 13 2005 Andrew Overholt <> 3.1.1-1jpp_10fc
- Add patch for offline javadoc building/linking.

* Mon Dec 12 2005 Andrew Overholt <> 3.1.1-1jpp_10fc
- Use ecj from 3.1.1 (rh#175380).
- Remove ecj options patch as it is in ecj from 3.1.1.
- New version of launcher patch (rh#175454) - ifoox.

* Sun Dec 11 2005 Andrew Overholt <> 3.1.1-1jpp_10fc
- Build with gcc 4.1.

* Fri Dec 09 2005 Ben Konrath <> 3.1.1-1jpp_10fc
- update updatehomedir-core.patch to remove unused code

* Wed Dec 07 2005 Andrew Overholt <> 3.1.1-1jpp_9fc
- Add patch for launcher following symlinks (rh#168726, e.o#79592) - ifoox.
- Remove launcher script.

* Mon Dec 05 2005 Andrew Overholt <> 3.1.1-1jpp_8fc
- Add eclipse-rcp-devel as a requirement of eclipse-platform-devel
- Updated splash screen (thanks to Diana Fong) (rh#170580).
- Include and use rebuild-sdk-features (rh#173589).

* Fri Dec 02 2005 Andrew Overholt <> 3.1.1-1jpp_8fc
- Update EFJ patch (e.o#75333).
- Update update-site-in-home-dir patch (e.o#90630) - bkonrath.

* Tue Nov 15 2005 Andrew Overholt <> 3.1.1-1jpp_7fc
- Disable ia64 and ppc64 for now (these seem to be upstream issues).

* Thu Nov 10 2005 Andrew Overholt <> 3.1.1-1jpp_7fc
- Build on ppc64 and ia64.
- Add patch for mozilla code with gcc 4:

* Fri Nov 04 2005 Andrew Overholt <> 3.1.1-1jpp_6fc
- Patch jasper classpath.

* Thu Nov 03 2005 Andrew Overholt <> 3.1.1-1jpp_5fc
- Import work done by Debian Eclipse packagers:
  - Add Fedora version in Eclipse about dialog.
  - Update eclipse-javadoc.patch to match Debian's disable-filelog patch.
  - Remove buildDoc patches and add helpindexbuilder patch (e.o#114001).
  - Add patches to build Cairo SWT bindings.

* Tue Nov 01 2005 Andrew Overholt <> 3.1.1-1jpp_4fc
- Temporarily exclude ia64 and ppc64 (rh#172174).

* Mon Oct 31 2005 Andrew Overholt <> 3.1.1-1jpp_4fc
- Bump mozilla requirement.
- Use libXtst-devel instead of xorg-x11-devel.

* Thu Oct 27 2005 Andrew Overholt <> 3.1.1-1jpp_4fc
- Really fix browser issue on x86_64 (rh#168040).
- Attempt to build on ia64 and ppc64 (include swt-mozilla on the latter).
- Add BuildRequires for libgnome{,ui}-devel (rh#171532).

* Tue Oct 25 2005 Andrew Overholt <> 3.1.1-1jpp_3fc
- Make non-gcj builds not noarch (rh#171711).

* Wed Oct 12 2005 Andrew Overholt <> 3.1.1-1jpp_2fc
- Add JavaModelCache overflow patch (e.o#111299).

* Tue Oct 11 2005 Andrew Overholt <> 3.1.1-1jpp_1fc
- 3.1.1.
- Patch around gij failing for the doc plug-in generation.
- Make /usr/bin/ecj a script (allows all jvms to call it).

* Sat Oct 08 2005 Andrew Overholt <> 3.1.0_fc-15
- Bump mozilla requirement.
- Re-enable,,
  and (rh#146463, rh#158137, rh#151919)
- Add patch for /etc/gre64.conf (for 64-bit systems, rh#168040, e.o#109253).
- Remove MOZILLA_FIVE_HOME magic from eclipse.script.
- Remove jdtCompilerAdapter.jar due to aot-compile-rpm smarts.
- Bump gcc and java-gcj-compat requirements.
- Remove (rh#170343).

* Wed Aug 24 2005 Andrew Overholt <> 3.1.0_fc-14
- /usr/lib -> %{_libdir} in eclipse.script (rh#159031).

* Tue Aug 23 2005 Andrew Overholt <> 3.1.0_fc-13
- Bump mozilla requirement.

* Thu Jul 28 2005 Gary Benson <> 3.1.0_fc-12
- Allow leading separators in classpaths (e.o#105430).
- Clear away ant-jmf entirely.

* Wed Jul 27 2005 Andrew Overholt <> 3.1.0_fc-11
- Bump release for FC4 update.

* Mon Jul 25 2005 Andrew Overholt <> 3.1.0_fc-10
- Change mozilla BuildRequirement to be equals and not greater-than or equals
  since we need the exact version for our patches.
- Bump mozilla requirements and patches to 1.7.10.
- Bump release due to FC4 update still not being released.
- Add ant-jmf to exclude list.

* Tue Jul 19 2005 Andrew Overholt <> 3.1.0_fc-7
- Remove ant-jmf symlinking and requirement.
- Update to use java-gcj-compat and not java-1.4.2-gcj-compat.

* Tue Jul 12 2005 Andrew Overholt <> 3.1.0_fc-6
- Bump release to build against new gcc.
- Bump gcc requirement to gcc 4.0.1.
- Add back BuildArch until we get bootstrapping sorted out.
- Bump required version of java-gcj-compat to the latest (-40jpp_37rh).
- Remove lots of jiggery-pokery with native compilation and use gbenson's new
- Re-work files sections appropriately.
- Change mozilla-nspr-devel -> nspr-devel due to change in mozilla packaging.
- Update patch for mozilla build as per above.
- Add org.eclipse.osgi_3.1.0.jar to exclude.

* Tue Jul 05 2005 Andrew Overholt <> 3.1.0_fc-5
- Revert ecj_bootstrap patch since it won't work.
- Keep mozilla requirement off ppc64.
- Add ant-apache-bsf requirement since we have that in FC5.

* Tue Jul 05 2005 Andrew Overholt <> 3.1.0_fc-4
- Add ecj_bootstrap patch from Gary Benson to bootstrap new architectures.
- Remove ExclusiveArch.

* Tue Jul 05 2005 Andrew Overholt <> 3.1.0_fc-3
- Bump release for FC4 update.

* Mon Jul 04 2005 Andrew Overholt <> 3.1.0_fc-2
- Remove remaining pre-built ant jars (but don't symlink to ant.jar until we
  have ant 1.6.5 - rh#162444).
- Bump requirement on gcc to get fixes for rh#158614 and gcc#21637.
- Add patch to not try to link to external javadocs and include the javadoc
  output in the build output.
- Add build and runtime requirement on ant-javamail (I'm not sure how we missed
  this previously).

* Mon Jul  4 2005 Gary Benson <> 3.1.0_fc-2
- Disable classpath access rules introduced in e.o#92398 (rh#162177).

* Tue Jun 28 2005 Andrew Overholt <> 3.1.0_fc-1
- Import 3.1.
- Update splash screen.

* Sun Jun 26 2005 Andrew Overholt <> 3.1.0_fc-0.RC4.1
- Import 3.1 RC4.
- Remove activeHelpSample.jar building patch as it's now fixed upstream.
- Add patch to remove references to cairo since we don't have it in FC4.
- Add about.html and about_files to eclipse-platform.install (x86 & x86_64).
- Add patch to create public compare API (jpound - e.o#98707).
- Add patch from Robin Green to not look for firefox (rh#161658).
- Symlink lucene jars (rh#159939).

* Fri Jun 24 2005 Andrew Overholt <> 3.1.0_fc-0.RC3.3
- Add rcp requirement for platform (rh#161267).
- Add un-owned osgi directories to libswt and platform.

* Tue Jun 21 2005 Andrew Overholt <> 3.1.0_fc-0.RC3.2
- Use SWT bundle ID for SWT %files list (determine in %%install).

* Mon Jun 20 2005 Andrew Overholt <> 3.1.0_fc-0.RC3.1
- Import 3.1RC3.
- Use FileInitializer (e.o#90535) - this should eliminate .sos in ~/.eclipse.
- Add eclipse-filenamepatterns.txt ("*.so" currently) for above.
- Symlink JNI libraries.

* Fri Jun 17 2005 Andrew Overholt <> 3.1.0_fc-0.RC2.2
- Update to new naming scheme for resulting gzipped tarball.
- Add patch to not generate help indices (it seems to hang).

* Thu Jun 16 2005 Andrew Overholt <> 3.1.0_fc-0.RC2.1
- Import 3.1RC2.
- Add RCP sub-package.  Unsure about its dependencies ATM.

* Tue Jun 14 2005 Andrew Overholt <> 3.1.0_fc-0.M7.9
- Add tomcat5 patch and symlinks.

* Thu May 26 2005 Andrew Overholt <> 3.1.0_fc-0.M7.8
- Fix ant jar removal (gbenson).

* Wed May 25 2005 Andrew Overholt <> 3.1.0_fc-0.M7.7
- Fix ecj symlink in /usr/share/java (rh#158734).

* Sun May 22 2005 Andrew Overholt <> 3.1.0_fc-0.M7.4
- Remove compilation of jdt.ui on ppc.

* Sat May 21 2005 Ben Konrath <> 3.1.0_fc-0.M7.3
- Add ecj-options patch to bootstrap source.
- Make embedded browser widget work (Robin Green).
- Bump required version of java-gcj-compat to the latest (-40jpp_24rh).
- Use -lgcjawt when building with gcj.

* Wed May 18 2005 Ben Konrath <> 3.1.0_fc-0.M7.2
- Disable
- Add ecj-options patch, remove ecj-extdirs patch.

* Wed May 18 2005 Ben Konrath <> 3.1.0_fc-0.M7.1
- Update to 3.1M7.
- Add file initializer patch.
- Temporarily remove s390{,x} patches.
- Update GNU formatter ui patch.
- Add ECJ ext dirs patch.

* Tue May 17 2005 Andrew Overholt <> 3.1.0_fc-0.M6.19
- Add Epoch on eclipse-platform.
- Use %%{_bindir} in post and postun scripts.

* Tue May 17 2005 Ben Konrath <> 3.1.0_fc-0.M6.18
- Add Epoch to jsch requires.

* Mon May 16 2005 Ben Konrath <> 3.1.0_fc-0.M6.17
- Update libswt-mozilla patches and require mozilla 1.7.8.
* Fri May 13 2005 Andrew Overholt <>
- Use %%{ix86} macro in ExclusiveArch rather than i386 (jorton).

* Wed May 11 2005 Ben Konrath <>
- Add jsch >= 0.1.18-1jpp.
- Remove Fedora specific part of junit version.
- Temporarily disable (rh#146463).

* Mon May 09 2005 Ben Konrath <> 3.1.0_fc-0.M6.16
- Add Requires junit >= 3.8.1-3jpp_4fc to JDT.
- Add -g to gcj calls.

* Thu May 05 2005 Andrew Overholt <> 3.1.0_fc-0.M6.15
- Rebuild with new gjdoc (rh#152049).

* Wed May 4 2005 Ben Konrath <>
- Re-enable jdt.ui/ and require gcj 4.0.0-2 (rh#151296).

* Mon May 2 2005 Ben Konrath <> 3.1.0_fc-0.M6.14
- Replace temporary patch to debug.ui with upstream patch to swt (rh#155853).

* Sat Apr 30 2005 Ben Konrath <> 3.1.0_fc-0.M6.13
- Add patch to temporarily stop an NPE in debug.ui (rh#155853).

* Thu Apr 28 2005 Phil Muldoon <>
- Allow multiple optional arguments in 

* Wed Apr 27 2005 Andrew Overholt <>
- Include epoch in mozilla BuildRequires.
- Remove last remaining gij-specific option from eclipse.script.

* Wed Apr 27 2005 Jeremy Katz <> 3.1.0_fc-0.M6.12
- silence %%post

* Sun Apr 24 2005 Andrew Overholt <> 3.1.0_fc-0.M6.11
- Re-add since gcj fix is in our gcc RPMs.
- Bump gcc requirements accordingly.
- Add gcc-c++ to BuildRequires (for SWT Mozilla).
- Add specific java-1.4.2-gcj-compat nvr requirement (rh#151866).

* Fri Apr 22 2005 Aaron Luchko <> 3.1.0_fc-0.M6.10
- Import archived projects (e.o#82988)

* Fri Apr 22 2005 Andrew Overholt <>
- Add Requires(post,postun): java-1.4.2-gcj-compat for each sub-package and use
  full path (Joe Orton).
- Make /usr/bin/eclipse executable again (rh#155715).
- Bump jsch version.

* Thu Apr 21 2005 Andrew Overholt <> 3.1.0_fc-0.M6.9
- Use upstream icons (not RHDS ones) (rh#146484).
- Add plugin directories to %files sections.
- Rework %files sections a bit.
- Fix SWT symlink (bkonrath).
- Temporarily remove jdt.ui/

* Thu Apr 21 2005 Ben Konrath <> 3.1.0_fc-0.M6.8
- Fix updatesite patch.
- Temporarily remove (r.c#151919)

* Mon Apr 18 2005 Andrew Overholt <> 3.1.0_fc-0.M6.7
- Add %if %%{gcj_support} blocks.
- Add %%{_libdir}/%%{name}/plugins to native %files section of each sub-rpm.
- Add GNU-style JDT code formatting option (e.o#91770).
- Add patch to install plugins from update site in home dir (e.o#90630).
- Change gcc-java requirements to libgcj as gcj-dbtool is now in the latter.

* Mon Apr 18 2005 Ben Konrath <> 3.1.0_fc-0.M6.6
- Bump version number. 

* Mon Apr 18 2005 Ben Konrath <> 3.1.0_fc-0.M6.5
- Update mozilla patch.

* Sat Apr 16 2005 Ben Konrath <> 3.1.0_fc-0.M6.4
- Update to 3.1M6.
- Change bootstrap procedure to match the upstream method.
- Remove patches that were fixed upstream. 
- Add efj wrapper script.

* Wed Apr 13 2005 Ben Konrath <> 3.1.0_fc-0.M5.20
- Fix the bootstrap patch (the ecj jar was missing some files).

* Tue Apr 12 2005 Andrew Overholt <> 3.1.0_fc-0.M5.19
- Add Requires(post,postun): java-1.4.2-gcj-compat for rebuild-gcj-db (Joe
- Add ecj binary.

* Wed Apr 06 2005 Andrew Overholt <> 3.1.0_fc-0.M5.18
- Fix typo in gcj db building loops.
- Add -O1 to x86_64 compilation.
- Add EFJ (Eclipse Formatter for Java) patches (bkonrath) (e.o#75333).
- Add patch to build swttools.jar (e.o#90364).
- Symlink out to ant-jsch now that we have that.

* Mon Apr 04 2005 Andrew Overholt <> 3.1.0_fc-0.M5.17
- Actually insert combinations into sub-dbs.

* Thu Mar 31 2005 Andrew Overholt <> 3.1.0_fc-0.M5.16
- Fix eclipse.script to not leave a sh process around (Joe Orton)
- Use proper sub-dbs.
- Don't compile jars that are symlinked from elsewhere.
- Add jar-so combinations to .db based on existence (not .jar).
- Rename sub-dbs to be eclipse-*.db.
- Use rebuild-gcj-db script.

* Mon Mar 28 2005 Christopher Aillon <>
- rebuilt

* Fri Mar 25 2005 Christopher Aillon <> 3.1.0_fc-0.M5.14
- Update the GTK+ theme icon cache on (un)install

* Fri Mar 18 2005 Andrew Overholt <> 3.1.0_fc-0.M5.13
- Re-add compilation of resources.jar.
- Backport bootstrapping patch.
- Add Requires: java-1.4.2-gcj-compat.
- Modified find patch courtesy Ziga Mahkovec (RH#149927#).
- Compile with -O2 on ppc as well.
- Add jsch, jakarta-commons-modeler, and mx4j symlinking.
- Make use of gcj-dbtool -f to create databases in install.
- Use system-wide classmap.db.
- Remove *.jarswithnativelibs from files sections.
- Update mozilla dependency.

* Mon Mar 07 2005 Ben Konrath <> 3.1.0_fc-0.M5.12
- Add activeHelpSample.jar patch.
- Change to Fedora M-build splash screen.
- Add find patch courtesy Ziga Mahkovec (RH#149927#)
- Build native stuff with -O2 on i386.

* Mon Mar 07 2005 Andrew Overholt <> 3.1.0_fc-0.M5.11
- Add s390 and s390x patches.
- Don't build for them, though, due to gcc bug and Eclipse building issue.
- Add xorg-x11-devel BuildRequires.

* Fri Mar 04 2005 Andrew Overholt <> 3.1.0_fc-0.M5.10
- Add proper mozilla version.
- Don't build in order to work around plugin building

* Thu Mar 03 2005 Andrew Overholt <> 3.1.0_fc-0.M5.9
- Add patch to build libswt-mozilla.
- Build libswt-awt.
- Add 64-bit swt lib list.

* Tue Mar 01 2005 Andrew Overholt <> 3.1.0_fc-0.M5.8
- Add ppc.
- Add patch to copy over icon for unsupported (upstream) platforms but don't
  include the source for the launcher.
- gcc4 -> gcc changes.
- Add swt-cairo to 64-bit platforms' %files.

* Fri Feb 25 2005 Andrew Overholt <> 3.1.0_fc-0.M5.7
- Add tar args patch (e.o #86571).
- New build bootstrapping patches.

* Fri Feb 25 2005 Andrew Overholt <> 3.1.0_fc-0.M5.6
- Re-work how we do the gcj-dbtool magic.
- Don't remove ant-netrexx (need to find an RPM if we can).

* Sun Feb 20 2005 Andrew Overholt <> 1:3.1_fc-0.M5.5
- Build for just i386 and x86_64 for now due to upstream gcc bugs.

* Sun Feb 20 2005 Andrew Overholt <> 1:3.1_fc-0.M5.1
- New 3.1M5a build using upstream build method.
- Re-organize sub-packages (ecj, platform, platform-devel, jdt, jdt-devel, pde,
  pde-devel, fold gtk2 package into platform).
- Move jface and org.eclipse.text into libswt3-gtk2.
- Bring in JPackage symlinks for packages we have in Fedora (David Walluck) and
  put in %%prep.
- Work around x86_64 filename differences.
- Remove xerces, xalan, and xml-commons-apis requirement (and LD_PRELOAD from
- Bootstrap build.