rpms/eclipse/FC-6 eclipse-build.patch, 1.3, 1.4 eclipse-ecj-square-bracket-classpath.patch, 1.1, 1.2 eclipse-pde.build-add-package-build.patch, 1.1, 1.2 eclipse-tomcat55-build.patch, 1.12, 1.13 eclipse.spec, 1.348, 1.349 eclipse-16.gif, 1.1, NONE eclipse-48.png, 1.2, NONE eclipse-buildDocPlugins.patch, 1.1, NONE eclipse-compare-create-api.patch, 1.2, NONE eclipse-gnuformatterjdt.patch, 1.1, NONE eclipse-gnuformatterjdtui.patch, 1.2, NONE eclipse-libswt-enableallandO2.patch, 1.3, NONE eclipse-libswt-xpcomgcc4.patch, 1.1, NONE

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Tue Jan 30 00:09:16 UTC 2007


Author: bkonrath

Update of /cvs/dist/rpms/eclipse/FC-6
In directory cvs.devel.redhat.com:/tmp/cvs-serv13064

Modified Files:
	eclipse-build.patch eclipse-ecj-square-bracket-classpath.patch 
	eclipse-pde.build-add-package-build.patch 
	eclipse-tomcat55-build.patch eclipse.spec 
Removed Files:
	eclipse-16.gif eclipse-48.png eclipse-buildDocPlugins.patch 
	eclipse-compare-create-api.patch eclipse-gnuformatterjdt.patch 
	eclipse-gnuformatterjdtui.patch 
	eclipse-libswt-enableallandO2.patch 
	eclipse-libswt-xpcomgcc4.patch 
Log Message:
* Mon Jan 29 2007 Ben Konrath <bkonrath at redhat.com> 3.2.1-24.fc6
- Check for features directory in sdk postun script.
- Fix bug in ecj [] patch.
- Add bugzilla reference to remove jars bug in comment.
- Update bugzilla refereces to [] bugs.
- Fix %%postun problem in the sdk sub-package.
- Rpmlint cleanups.
- Use sed instead of patch for tomcat version.
- Add BuildRequires desktop-file-utils.
- Add %%{_libdir}/eclipse dir to files list of libswt-gtk2.
- Specfile cleanups from review with Andrew Overholt.
- Resolves: #224588, #211008, #225329.


eclipse-build.patch:
 build.xml                                   |   16 ++++++++++++++--
 eclipse/buildConfigs/sdk/srcBuild/build.xml |    0 
 2 files changed, 14 insertions(+), 2 deletions(-)

Index: eclipse-build.patch
===================================================================
RCS file: /cvs/dist/rpms/eclipse/FC-6/eclipse-build.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- eclipse-build.patch	2 Jun 2006 21:46:06 -0000	1.3
+++ eclipse-build.patch	30 Jan 2007 00:09:14 -0000	1.4
@@ -5,16 +5,13 @@
 diff -u -r1.9 build.xml
 --- build.xml	11 May 2006 20:51:39 -0000	1.9
 +++ build.xml	26 May 2006 23:06:38 -0000
-@@ -95,6 +95,21 @@
+@@ -95,6 +95,18 @@
  			<arg line="build.sh" />
  		</exec>
  		<move file="${launcherlibs}/library/${installWs}/eclipse" todir="${launcherlibs}/" />
 +
 +		<delete dir="${launcherlibs}/library"/>
 +
-+		<!-- Copy icon for un-supported platforms -->
-+		<copy file="features/org.eclipse.platform.launchers/bin/gtk/linux/x86/icon.xpm" todir="${launcherlibs}/"/>
-+
 +		<!-- Build JNI libs -->
 +		<!-- liblocalfile -->
 +		<exec dir="plugins/org.eclipse.core.filesystem/natives/unix/linux" executable="make" failonerror="true"/>
@@ -27,7 +24,7 @@
  	</target>
  
  
-@@ -265,8 +280,8 @@
+@@ -265,8 +277,8 @@
  			<os family="mac" />
  		</condition>
  		<property name="bootclasspath" refid="default.bootclasspath" />

eclipse-ecj-square-bracket-classpath.patch:
 Main.java |  101 ++++++++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 66 insertions(+), 35 deletions(-)

Index: eclipse-ecj-square-bracket-classpath.patch
===================================================================
RCS file: /cvs/dist/rpms/eclipse/FC-6/eclipse-ecj-square-bracket-classpath.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- eclipse-ecj-square-bracket-classpath.patch	8 Nov 2006 21:48:55 -0000	1.1
+++ eclipse-ecj-square-bracket-classpath.patch	30 Jan 2007 00:09:14 -0000	1.2
@@ -1,12 +1,10 @@
-### Eclipse Workspace Patch 1.0
-#P org.eclipse.jdt.core
 Index: batch/org/eclipse/jdt/internal/compiler/batch/Main.java
 ===================================================================
 RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/Main.java,v
 retrieving revision 1.254.4.1
 diff -u -r1.254.4.1 Main.java
 --- batch/org/eclipse/jdt/internal/compiler/batch/Main.java	2 Jul 2006 10:11:58 -0000	1.254.4.1
-+++ batch/org/eclipse/jdt/internal/compiler/batch/Main.java	20 Oct 2006 21:45:05 -0000
++++ batch/org/eclipse/jdt/internal/compiler/batch/Main.java	19 Jan 2007 19:22:57 -0000
 @@ -28,9 +28,11 @@
  import java.text.MessageFormat;
  import java.util.ArrayList;
@@ -40,7 +38,7 @@
  import org.eclipse.jdt.internal.compiler.util.Util;
  
  public class Main implements ProblemSeverities, SuffixConstants {
-@@ -2989,56 +2991,73 @@
+@@ -2989,56 +2991,74 @@
  	ArrayList currentRuleSpecs = new ArrayList(defaultSize);
  	StringTokenizer tokenizer = new StringTokenizer(currentPath,
  			File.pathSeparator + "[]", true); //$NON-NLS-1$
@@ -90,6 +88,7 @@
 -			case readyToCloseEndingWithRules:
  			case readyToCloseOrOtherEntry:
 -				state = readyToCloseOrOtherEntry;
++				Collections.reverse(currentRuleSpecs);
  				addNewEntry(paths, currentClasspathName, currentRuleSpecs, customEncoding, isSourceOnly);
  				currentRuleSpecs.clear();
 +				state = readyForPathOrRules;
@@ -139,7 +138,7 @@
  				state = error;
  			}
  
-@@ -3046,24 +3065,25 @@
+@@ -3046,24 +3066,26 @@
  			// regular word
  			switch (state) {
  			case start:
@@ -170,10 +169,11 @@
 -		case readyToCloseOrOtherEntry :
 +		case readyForPathOrRules:
 +		case readyToCloseOrOtherEntry:
++			Collections.reverse(currentRuleSpecs);
  			addNewEntry(paths, currentClasspathName, currentRuleSpecs, customEncoding, isSourceOnly);
  			break;
  		default :
-@@ -3071,4 +3091,13 @@
+@@ -3071,4 +3093,13 @@
  			this.logger.logIncorrectClasspath(currentPath);
  	}
  }

eclipse-pde.build-add-package-build.patch:
 build.properties                  |   12 +++
 customTargets-assemble-target.xml |   12 +++
 customTargets.xml                 |  144 ++++++++++++++++++++++++++++++++++++++
 prepare-build-dir.sh              |   83 +++++++++++++++++++++
 4 files changed, 251 insertions(+)

Index: eclipse-pde.build-add-package-build.patch
===================================================================
RCS file: /cvs/dist/rpms/eclipse/FC-6/eclipse-pde.build-add-package-build.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- eclipse-pde.build-add-package-build.patch	2 Jun 2006 21:46:07 -0000	1.1
+++ eclipse-pde.build-add-package-build.patch	30 Jan 2007 00:09:14 -0000	1.2
@@ -16,7 +16,7 @@
 +javacDebugInfo=true
 +archiveName=${id}.zip
 +runPackager=false
-+baseLocation=@eclipse_base@
++baseLocation=/usr/share/eclipse
 Index: templates/package-build/customTargets-assemble-target.xml
 ===================================================================
 RCS file: templates/package-build/customTargets-assemble-target.xml

eclipse-tomcat55-build.patch:
 build.xml |   94 ++++++++++++++++++++++++++++++++------------------------------
 1 files changed, 50 insertions(+), 44 deletions(-)

Index: eclipse-tomcat55-build.patch
===================================================================
RCS file: /cvs/dist/rpms/eclipse/FC-6/eclipse-tomcat55-build.patch,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- eclipse-tomcat55-build.patch	10 Aug 2006 19:27:15 -0000	1.12
+++ eclipse-tomcat55-build.patch	30 Jan 2007 00:09:14 -0000	1.13
@@ -1,14 +1,5 @@
 --- build.xml.orig	2006-07-05 12:47:26.000000000 -0400
 +++ build.xml	2006-07-05 12:50:49.000000000 -0400
-@@ -58,7 +58,7 @@
- 		<antcall target="gather.bin.parts">
- 			<param name="destination.temp.folder" value="${temp.folder}/"/>
- 		</antcall>
--		<zip destfile="${plugin.destination}/org.eclipse.tomcat_4.1.130.v20060601.jar" basedir="${temp.folder}/org.eclipse.tomcat_4.1.130.v20060601" filesonly="false" whenempty="skip" update="false"/>
-+		<zip destfile="${plugin.destination}/org.eclipse.tomcat_5.5.17.v20060601.jar" basedir="${temp.folder}/org.eclipse.tomcat_5.5.17.v20060601" filesonly="false" whenempty="skip" update="false"/>
- 		<delete dir="${temp.folder}"/>
- 	</target>
- 
 @@ -144,50 +144,56 @@
  			<pathelement path="${build.result.folder}/../org.apache.ant/lib/ant-xalan1.jar"/>
  			<pathelement path="../org.apache.ant/lib/ant-xslp.jar"/>
@@ -110,61 +101,3 @@
  		</path>
  		<!-- compile the source code -->
  		<javac destdir="${temp.folder}/tomcatwrapper.jar.bin" failonerror="${javacFailOnError}" verbose="${javacVerbose}" debug="${javacDebugInfo}" includeAntRuntime="no" bootclasspath="${bundleBootClasspath}" source="${bundleJavacSource}" target="${bundleJavacTarget}"		>
-@@ -224,37 +230,37 @@
- 	</target>
- 
- 	<target name="gather.bin.parts" depends="init" if="destination.temp.folder">
--		<mkdir dir="${destination.temp.folder}/org.eclipse.tomcat_4.1.130.v20060601"/>
--		<copy todir="${destination.temp.folder}/org.eclipse.tomcat_4.1.130.v20060601" failonerror="true" overwrite="false">
-+		<mkdir dir="${destination.temp.folder}/org.eclipse.tomcat_5.5.17.v20060601"/>
-+		<copy todir="${destination.temp.folder}/org.eclipse.tomcat_5.5.17.v20060601" failonerror="true" overwrite="false">
- 			<fileset dir="${build.result.folder}" includes="tomcatwrapper.jar"			/>
- 		</copy>
--		<copy todir="${destination.temp.folder}/org.eclipse.tomcat_4.1.130.v20060601" failonerror="true" overwrite="false">
-+		<copy todir="${destination.temp.folder}/org.eclipse.tomcat_5.5.17.v20060601" failonerror="true" overwrite="false">
- 			<fileset dir="${basedir}" includes="conf/,webapps/,plugin.xml,*.jar,plugin.properties,preferences.ini,about.html,META-INF/,about_files/"			/>
- 		</copy>
--		<eclipse.versionReplacer path="${destination.temp.folder}/org.eclipse.tomcat_4.1.130.v20060601" version="4.1.130.v20060601"/>
-+		<eclipse.versionReplacer path="${destination.temp.folder}/org.eclipse.tomcat_5.5.17.v20060601" version="5.5.17.v20060601"/>
- 	</target>
- 
- 	<target name="build.zips" depends="init">
- 	</target>
- 
- 	<target name="gather.sources" depends="init" if="destination.temp.folder">
--		<mkdir dir="${destination.temp.folder}/org.eclipse.tomcat_4.1.130.v20060601"/>
--		<copy file="${build.result.folder}/tomcatwrappersrc.zip" todir="${destination.temp.folder}/org.eclipse.tomcat_4.1.130.v20060601" failonerror="false" overwrite="false"/>
--		<copy todir="${destination.temp.folder}/org.eclipse.tomcat_4.1.130.v20060601" failonerror="false" overwrite="false">
-+		<mkdir dir="${destination.temp.folder}/org.eclipse.tomcat_5.5.17.v20060601"/>
-+		<copy file="${build.result.folder}/tomcatwrappersrc.zip" todir="${destination.temp.folder}/org.eclipse.tomcat_5.5.17.v20060601" failonerror="false" overwrite="false"/>
-+		<copy todir="${destination.temp.folder}/org.eclipse.tomcat_5.5.17.v20060601" failonerror="false" overwrite="false">
- 			<fileset dir="${basedir}" includes="about.html,*.license"			/>
- 		</copy>
- 	</target>
- 
- 	<target name="gather.logs" depends="init" if="destination.temp.folder">
--		<mkdir dir="${destination.temp.folder}/org.eclipse.tomcat_4.1.130.v20060601"/>
--		<copy file="${temp.folder}/tomcatwrapper.jar.bin${logExtension}" todir="${destination.temp.folder}/org.eclipse.tomcat_4.1.130.v20060601" failonerror="false" overwrite="false"/>
-+		<mkdir dir="${destination.temp.folder}/org.eclipse.tomcat_5.5.17.v20060601"/>
-+		<copy file="${temp.folder}/tomcatwrapper.jar.bin${logExtension}" todir="${destination.temp.folder}/org.eclipse.tomcat_5.5.17.v20060601" failonerror="false" overwrite="false"/>
- 	</target>
- 
- 	<target name="clean" depends="init" description="Clean the plug-in: org.eclipse.tomcat of all the zips, jars and logs created.">
- 		<delete file="${build.result.folder}/tomcatwrapper.jar"/>
- 		<delete file="${build.result.folder}/tomcatwrappersrc.zip"/>
--		<delete file="${plugin.destination}/org.eclipse.tomcat_4.1.130.v20060601.jar"/>
--		<delete file="${plugin.destination}/org.eclipse.tomcat_4.1.130.v20060601.zip"/>
-+		<delete file="${plugin.destination}/org.eclipse.tomcat_5.5.17.v20060601.jar"/>
-+		<delete file="${plugin.destination}/org.eclipse.tomcat_5.5.17.v20060601.zip"/>
- 		<delete dir="${temp.folder}"/>
- 	</target>
- 
-@@ -277,7 +283,7 @@
- 		<delete>
- 			<fileset dir="${temp.folder}" includes="**/*.bin${logExtension}"			/>
- 		</delete>
--		<zip destfile="${plugin.destination}/org.eclipse.tomcat_4.1.130.v20060601.zip" basedir="${temp.folder}" filesonly="true" whenempty="skip" update="false"/>
-+		<zip destfile="${plugin.destination}/org.eclipse.tomcat_5.5.17.v20060601.zip" basedir="${temp.folder}" filesonly="true" whenempty="skip" update="false"/>
- 		<delete dir="${temp.folder}"/>
- 	</target>
- 


Index: eclipse.spec
===================================================================
RCS file: /cvs/dist/rpms/eclipse/FC-6/eclipse.spec,v
retrieving revision 1.348
retrieving revision 1.349
diff -u -r1.348 -r1.349
--- eclipse.spec	28 Nov 2006 20:05:45 -0000	1.348
+++ eclipse.spec	30 Jan 2007 00:09:14 -0000	1.349
@@ -1,22 +1,15 @@
-# TODO:
-#   - 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:  https://bugs.eclipse.org/bugs/show_bug.cgi?id=126648
-
-Epoch:	1
-
-%define gcj_support 	1
-%define tomcatsharedir 	%{_datadir}/tomcat5
-%define tomcatlibdir 	%{_var}/lib/tomcat5
-%define section         free
+Epoch:  1
+
+%define gcj_support     1
+%define tomcatsharedir  %{_datadir}/tomcat5
+%define tomcatlibdir    %{_var}/lib/tomcat5
 %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
+# All arches line up between Eclipse and Linux kernel names except i386 -> x86
 %ifarch %{ix86}
 %define eclipse_arch    x86
 %else
@@ -26,108 +19,100 @@
 Summary:        An open, extensible IDE
 Name:           eclipse
 Version:        %{eclipse_majmin}.%{eclipse_micro}
-Release:        23%{?dist} 
-License:        EPL
+Release:        24%{?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.2.1-200609210945/eclipse-sourceBuild-srcIncluded-3.2.1.zip
+Source0:        http://download.eclipse.org/eclipse/downloads/drops/R-3.2.1-200609210945/eclipse-sourceBuild-srcIncluded-3.2.1.zip
 Source2:        %{name}.desktop
-Source5:        %{name}-48.png
-# FIXME: this should be in its own package
-Source7: 	ftp://ftp.software.ibm.com/software/globalization/icu/icu4j/3.4.5/icu4jsrc_3_4_5.jar
-Source11:	%{name}-fedora-splash-3.2.1.png
+# The icu4j bits will be moved out into their own package for Fedora 7.  See:
+# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=199504
+Source7:        ftp://ftp.software.ibm.com/software/globalization/icu/icu4j/3.4.5/icu4jsrc_3_4_5.jar
+Source11:       %{name}-fedora-splash-3.2.1.png
 Source16:       %{name}-copy-platform.sh
 Source17:       efj.sh.in
-Source18:	ecj.sh.in
-# https://bugs.eclipse.org/bugs/show_bug.cgi?id=90535
+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 at 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
 
-
-# Build libswt-mozilla and libswt-cairo and use O2
-# https://bugs.eclipse.org/bugs/show_bug.cgi?id=71637
-Patch0:         %{name}-libswt-enableallandO2.patch
-# Build JNI libs
-# FIXME:  these should be built by upstream build method
-# http://www.bagu.org/eclipse/plugin-source-drops.html
-# https://bugs.eclipse.org/bugs/show_bug.cgi?id=71637
-# https://bugs.eclipse.org/bugs/show_bug.cgi?id=86848
-# 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 liblocalfile and libupdate JNI libs in the main SDK build.xml
+Patch0:         %{name}-build.patch
+# We need this because icu4j's Eclipse bits are dependent upon Eclipse
+# but we don't want the icu4j RPM needing Eclipse to build
+Patch1:         %{name}-icu4j-build-files.patch
+# These two patches need to go upstream
+Patch2:         %{name}-libupdatebuild.patch
+Patch3:         %{name}-libupdatebuild2.patch
 # Build swttools.jar
 # https://bugs.eclipse.org/bugs/show_bug.cgi?id=90364
-Patch18: 	%{name}-swttools.patch
-# GNU-style JDT formatter
-# https://bugs.eclipse.org/bugs/show_bug.cgi?id=91770
-#Patch20: 	%{name}-gnuformatterjdt.patch
-#Patch21: 	%{name}-gnuformatterjdtui.patch
-# https://bugs.eclipse.org/bugs/show_bug.cgi?id=114001
-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
+Patch4:         %{name}-swttools.patch
+# This is fixed post-3.3M1
+Patch10:        %{name}-helpindexbuilder.patch
+# This needs to go upstream
+Patch11:        %{name}-usebuiltlauncher.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
 # Don't attempt to link to Sun's javadocs
-Patch48:	%{name}-javadoclinks.patch
+# FIXME:  could use sed instead
+Patch13:        %{name}-javadoclinks.patch
 # Always generate debug info when building RPMs (Andrew Haley)
-Patch49:	%{name}-ecj-rpmdebuginfo.patch
+# 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 deails: 
+# see this thread for details: 
 # https://www.redhat.com/archives/fedora-devel-java-list/2006-April/msg00048.html
-Patch53:	%{name}-pde.build-add-package-build.patch
+# This needs to be submitted upstream
+Patch15:        %{name}-pde.build-add-package-build.patch
 # 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
+Patch16:        %{name}-disable-junit4-apt.patch
+# This tomcat stuff will change when they move to the equinox jetty provider
 # https://bugs.eclipse.org/bugs/show_bug.cgi?id=98371
-Patch28: 	%{name}-tomcat55.patch
-Patch29: 	%{name}-tomcat55-build.patch
-Patch31: 	%{name}-webapp-tomcat55.patch
-# https://bugs.eclipse.org/bugs/show_bug.cgi?id=98707 
-# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=178726
-Patch33:        %{name}-compare-create-api.patch
+Patch6:         %{name}-tomcat55.patch
+Patch7:         %{name}-tomcat55-build.patch
+Patch8:         %{name}-webapp-tomcat55.patch
 # https://bugs.eclipse.org/bugs/show_bug.cgi?id=90630
-Patch22: 	%{name}-updatehomedir.patch
-# JPackage []s in names of symlinks ...
-# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=162177
-Patch34:	%{name}-ecj-square-bracket-classpath.patch
+Patch5:         %{name}-updatehomedir.patch
+# https://bugs.eclipse.org/bugs/show_bug.cgi?id=161996
+Patch9:         %{name}-ecj-square-bracket-classpath.patch
 # Use ecj for gcj
-Patch57:	%{name}-ecj-gcj.patch
+# The patch to Main.java can go away with 3.2.2.
+Patch17:        %{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)
+# https://bugs.eclipse.org/bugs/show_bug.cgi?id=161310
+# FIXME:  these can probably go away >= 3.3M4
 # 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
+Patch18:        %{name}-swt-firefox.patch
+Patch19:        %{name}-swt-firefox.2.patch
 # https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=209393
 # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29853
-Patch61:	%{name}-workaround-plugin.xml-parsing-bug-gcc-bz29853.patch
-Patch100:       customBuildCallbacks.xml-add-pre.gather.bin.parts.patch
+Patch20:        %{name}-workaround-plugin.xml-parsing-bug-gcc-bz29853.patch
+# This is already upstream in 3.3 builds.  It *may* get into 3.2.2.
+Patch21:        customBuildCallbacks.xml-add-pre.gather.bin.parts.patch
 # Add ppc64 to the list of arches with gre64.conf
 # part of https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=207016
-Patch101:	%{name}-ppc64gre64.patch
-# This allows us to remove the configuration platform.xml in /usr/share/eclipse
-# yet still maintain user-installed plugins in ~/.eclipse
-Patch102:	%{name}-launcher-addplatformtotildeeclipse.patch
-
+Patch22:        %{name}-ppc64gre64.patch
+# This patch allowed us to remove 
+# /usr/share/eclipse/configuration/org.eclipse.update/platform.xml -- which
+# fixed a number of update-related bugs -- in an FC6 update.
+# We can remove this patch for Fedora 8.
+Patch23:        %{name}-launcher-addplatformtotildeeclipse.patch
 
-%if %{gcj_support}
-%else
-ExclusiveArch: %{ix86} x86_64 ppc ia64 sparc sparc64
-%endif
-BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-buildroot
+BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires:  ant
 BuildRequires:  jpackage-utils >= 0:1.5, make, gcc
 BuildRequires:  gnome-vfs2-devel
@@ -145,18 +130,19 @@
 BuildRequires:  unzip
 BuildRequires:  java-javadoc
 BuildRequires:  dos2unix
+BuildRequires:  desktop-file-utils
 %if %{gcj_support}
-BuildRequires:	gcc-java >= 4.0.2
-BuildRequires:	java-gcj-compat-devel >= 1.0.64
-BuildRequires: 	gjdoc >= 0.7.7-14
+BuildRequires:  gcc-java >= 4.0.2
+BuildRequires:  java-gcj-compat-devel >= 1.0.64
+BuildRequires:  gjdoc >= 0.7.7-14
 %else
-BuildRequires:	java-devel >= 1.4.2
+BuildRequires:  java-devel >= 1.4.2
 %endif
 
-#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
+# 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-commons-net
+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.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
@@ -165,10 +151,12 @@
 BuildRequires: tomcat5-jasper >= 5.5.17
 BuildRequires: tomcat5-servlet-2.4-api >= 5.5.17
 BuildRequires: lucene
+BuildRequires: lucene-devel
 BuildRequires: regexp 
 BuildRequires: junit >= 3.8.1-3jpp
 %if %{gcj_support}
-Requires(post,postun):   java-gcj-compat >= 1.0.64
+Requires(post):     java-gcj-compat >= 1.0.64
+Requires(postun):   java-gcj-compat >= 1.0.64
 %endif
 
 %description
@@ -180,186 +168,197 @@
 %package        ecj
 Summary:        Eclipse Compiler for Java
 Group:          Development/Languages
-Obsoletes:	ecj
-Provides:	ecj
+Obsoletes:      ecj <= 2.1.3
+Provides:       ecj <= 2.1.3
 %if %{gcj_support}
-Requires:	libgcj >= 4.0.2
-Requires(post,postun):   java-gcj-compat >= 1.0.64
+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
+Requires:       java >= 1.4.2
 %endif
 
 %description    ecj
 Eclipse compiler for Java.
 
 %package     -n %{libname}-gtk2
-Summary:        SWT Library for 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,postun):   java-gcj-compat >= 1.0.64
+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
+Conflicts:      mozilla
 
 %description -n %{libname}-gtk2
-SWT Library for GTK2.
+SWT Library for GTK+-2.0.
 
 %package        rcp
 Summary:        Eclipse Rich Client Platform
 Group:          Development/Languages
 Requires:       %{libname}-gtk2 = %{epoch}:%{version}-%{release}
-Requires: 	%{_libdir}/%{name}/plugins/org.eclipse.swt.gtk.linux.%{eclipse_arch}_3.2.1.v3235.jar
-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
+# This file-level requirement is for the bi-arch multilib case
+Requires:           %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk.linux.%{eclipse_arch}_3.2.1.v3235.jar
+Requires(post):     %{libname}-gtk2 = %{epoch}:%{version}-%{release}
+Requires(postun):   %{libname}-gtk2 = %{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
+Requires:       java >= 1.4.2
 %endif
 
 %description    rcp
 Eclipse Rich Client Platform
 
 %package        rcp-sdk
-Summary:        Eclipse RCP Source
+Summary:        Eclipse Rich Client Platform SDK
 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}
+Requires(post):    %{name}-rcp = %{epoch}:%{version}-%{release}
+Requires(postun):  %{name}-rcp = %{epoch}:%{version}-%{release}
 
-#FIXME: fix description to include docs
 %description    rcp-sdk
-Source for RCP for use within Eclipse.
-
+Source for Eclipse Rich Client Platform 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
-%else
-Requires:	java >= 1.4.2
+Requires(post):     java-gcj-compat >= 1.0.64
+Requires(postun):   java-gcj-compat >= 1.0.64
 %endif
-Requires:       %{name}-rcp = %{epoch}:%{version}-%{release}
-Requires: 	%{_libdir}/%{name}/plugins/org.eclipse.swt.gtk.linux.%{eclipse_arch}_3.2.1.v3235.jar
-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:   %{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.2.1.v3235.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-commons-net
+#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.17
 Requires: tomcat5-jasper >= 5.5.17
 Requires: tomcat5-servlet-2.4-api >= 5.5.17
-Requires: lucene 
+Requires: lucene, lucene-devel
 Requires: regexp
 
 %description    platform
-Eclipse platform common files. This package now contains the GTK2 UI (the
-former eclipse-gtk2 package).
+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 Source
+Summary:        Eclipse Platform SDK
 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
+Requires(post):    %{name}-platform = %{epoch}:%{version}-%{release}
+Requires(postun):  %{name}-platform = %{epoch}:%{version}-%{release}
+Requires(post):    %{name}-rcp-sdk = %{epoch}:%{version}-%{release}
+Requires(postun):  %{name}-rcp-sdk = %{epoch}:%{version}-%{release}
 
-#FIXME: fix description to include docs
 %description    platform-sdk
-Source for Eclipse platform for use within Eclipse.
+Source and docs for Eclipse Platform for use within Eclipse.
 
 %package        jdt
-Summary:        Eclipse Java development tools
+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(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:       java-javadoc
 %if %{gcj_support}
-Requires:	libgcj >= 4.0.2
-Requires(post,postun):   java-gcj-compat >= 1.0.64
+Requires(post):     java-gcj-compat >= 1.0.64
+Requires(postun):   java-gcj-compat >= 1.0.64
 %endif
 
 %description    jdt
-Eclipse Java developments tools.
+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 JDT Source
+Summary:        Eclipse Java Development Tools SDK
 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
-
+Requires(post):    %{name}-jdt = %{epoch}:%{version}-%{release}
+Requires(postun):  %{name}-jdt = %{epoch}:%{version}-%{release}
+Requires(post):    %{name}-platform-sdk = %{epoch}:%{version}-%{release}
+Requires(postun):  %{name}-platform-sdk = %{epoch}:%{version}-%{release}
 
-#FIXME: fix description to include docs
 %description    jdt-sdk
-Source for JDT for use within Eclipse.
+Source and docs for Eclipse Java Development Tools for use within Eclipse.
 
 %package        pde
-Summary:        Eclipse PDE
+Summary:        Eclipse Plugin Development Environment
 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}
+Requires(post):    %{name}-jdt = %{epoch}:%{version}-%{release}
+Requires(postun):  %{name}-jdt = %{epoch}:%{version}-%{release}
+Requires(post):    %{name}-pde-runtime = %{epoch}:%{version}-%{release}
+Requires(postun):  %{name}-pde-runtime = %{epoch}:%{version}-%{release}
+Requires(post):    %{name}-platform-sdk = %{epoch}:%{version}-%{release}
+Requires(postun):  %{name}-platform-sdk = %{epoch}:%{version}-%{release}
 %if %{gcj_support}
-Requires:	libgcj >= 4.0.2
-Requires(post,postun):   java-gcj-compat >= 1.0.64
+Requires(post):     java-gcj-compat >= 1.0.64
+Requires(postun):   java-gcj-compat >= 1.0.64
 %endif
 
 %description    pde
-Eclipse Plug-in Development Environment.
+Eclipse Plugin Development Environment.  This package is required for
+developing Eclipse plugins.
 
 %package        pde-runtime
-Summary:        Eclipse PDE runtime plugin.
+Summary:        Eclipse Plugin Development Environment runtime plugin.
 Group:          Text Editors/Integrated Development Environments (IDE)
 Requires:       %{name}-platform = %{epoch}:%{version}-%{release}
-Requires(post,postun): 	%{name}-platform = %{epoch}:%{version}-%{release}
+Requires(post):    %{name}-platform = %{epoch}:%{version}-%{release}
+Requires(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
+Requires(post):     java-gcj-compat >= 1.0.64
+Requires(postun):   java-gcj-compat >= 1.0.64
 %endif
 
 %description    pde-runtime
-Eclipse Plug-in Development Environment runtime plugin (org.eclipse.pde.runtime).
+Eclipse Plugin Development Environment runtime plugin (org.eclipse.pde.runtime).
 
 %package        pde-sdk
-Summary:        Eclipse PDE Source
+Summary:        Eclipse Plugin Development Environment SDK
 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}
+Requires(post):    %{name}-pde = %{epoch}:%{version}-%{release}
+Requires(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.
+Source and docs for Eclipse Plugin Development Environment for use within
+Eclipse.
 
 %package        sdk
-Summary:        Eclipse PDE Source
+Summary:        Eclipse SDK
 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
@@ -367,141 +366,142 @@
 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}
+Requires(post):    %{name}-platform-sdk = %{epoch}:%{version}-%{release}
+Requires(postun):  %{name}-platform-sdk = %{epoch}:%{version}-%{release}
+Requires(post):    %{name}-pde-sdk = %{epoch}:%{version}-%{release}
+Requires(postun):  %{name}-pde-sdk = %{epoch}:%{version}-%{release}
+Requires(post):    %{name}-jdt-sdk = %{epoch}:%{version}-%{release}
+Requires(postun):  %{name}-jdt-sdk = %{epoch}:%{version}-%{release}
 # This file requirement is to deal with the biarch installation case
-Requires(post,postun):  %{_libdir}/%{name}/configuration/config.ini
+Requires(post):    %{_libdir}/%{name}/configuration/config.ini
+Requires(postun):  %{_libdir}/%{name}/configuration/config.ini
 %if %{gcj_support}
-Requires:	libgcj >= 4.0.2
-Requires(post,postun):   java-gcj-compat >= 1.0.64
+Requires(post):     java-gcj-compat >= 1.0.64
+Requires(postun):   java-gcj-compat >= 1.0.64
 %endif
 
-#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.
-
+The Eclipse SDK.  This package is similar to a meta-package which brings in
+the Eclipse Platform SDK, the Eclipse Java Development Tools SDK, and the
+Eclipse Plugin Development Environment SDK.  It also contains the
+org.eclipse.sdk plugin and feature.  This package is only needed if you intend
+to create Eclipse applications.
 
 %prep
 %setup -q -c
 
-# I hate spaces in paths with patch!
-pushd plugins/org.eclipse.swt/Eclipse\ SWT\ PI/gtk/library
 %patch0 -p0
-popd
-
 %patch2 -p0
-%patch4 -p0
-%patch5 -p0
+%patch3 -p0
+# FIXME:  investigate why we are pushd'ing here
+# Build swttools.jar
 pushd plugins/org.eclipse.swt.gtk.linux.x86_64
-%patch18 -p0
+%patch4 -p0
 popd
-%patch22 -p0
+%patch5 -p0
 
 # tomcat patches
 pushd plugins/org.eclipse.tomcat
-%patch28 -p0
-%patch29 -p0
+%patch6 -p0
+%patch7 -p0
 popd
-sed --in-place "s/4.1.130/5.5.17/"                      \
+sed --in-place "s/4.1.130/5.5.17/g"                      \
                 features/org.eclipse.platform/build.xml \
                 plugins/org.eclipse.tomcat/build.xml    \
                 assemble.*.xml
 pushd plugins/org.eclipse.help.webapp
-%patch31 -p0
-popd
-pushd plugins/org.eclipse.compare
-#%patch33 -p0
+%patch8 -p0
 popd
+
 pushd plugins/org.eclipse.jdt.core
-%patch34 -p0
-%patch57 -p0
-popd
-%patch38 -p0
-%patch40 -p0
-#%patch43
-pushd plugins/org.eclipse.swt/Eclipse\ SWT\ Mozilla/common/library
-%patch46
+%patch9 -p0
+%patch17 -p0
 popd
+%patch10 -p0
+%patch11 -p0
 
 # 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/launchersrc.zip
 pushd launchertmp
-%patch47 -p0
-%patch101 -p0
-%patch102 -p0
-# put the configuration directory in an arch specific location
+%patch12 -p0
+%patch22 -p0
+%patch23 -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 
+# make the eclipse binary relocatable 
 sed --in-place "s:/usr/share/eclipse:%{_datadir}/%{name}:" library/eclipse.c
 zip -q -9 -r ../launchersrc.zip *
 popd
 mv launchersrc.zip plugins/org.eclipse.platform
 rm -rf launchertmp
 pushd features/org.eclipse.platform.launchers
-%patch47 -p0
-%patch101 -p0
-%patch102 -p0
-# put the configuration directory in an arch specific location
+%patch12 -p0
+%patch22 -p0
+%patch23 -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 
+# make the eclipse binary relocatable 
 sed --in-place "s:/usr/share/eclipse:%{_datadir}/%{name}:" library/eclipse.c
 popd
 
 # Link against our system-installed javadocs
-%patch48 -p0
+%patch13 -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     \
-	plugins/org.eclipse.platform.doc.isv/platformOptions.txt 
-%patch49 -p0
+        plugins/org.eclipse.jdt.doc.isv/jdtOptions.txt  \
+        plugins/org.eclipse.pde.doc.user/pdeOptions.txt \
+        plugins/org.eclipse.pde.doc.user/pdeOptions     \
+        plugins/org.eclipse.platform.doc.isv/platformOptions.txt 
+%patch14 -p0
 pwd
 
 pushd plugins/org.eclipse.pde.build
-%patch53
-sed --in-place "s:@eclipse_base@:%{_datadir}/%{name}:" templates/package-build/build.properties
+%patch15
+sed --in-place "s:/usr/share/eclipse:%{_datadir}/%{name}:" templates/package-build/build.properties
 popd
 
-%patch55 -p0
+# Remove apt and junit4 until we have 1.5
+%patch16 -p0
 rm plugins/org.junit4/junit-4.1.jar
 
-# I love directories with spaces in their names
+# Build against our firefox packages
 pushd plugins/org.eclipse.swt
 mv "Eclipse SWT Mozilla" Eclipse_SWT_Mozilla
 mv "Eclipse SWT PI" Eclipse_SWT_PI
-%patch59
+%patch18
 mv Eclipse_SWT_Mozilla "Eclipse SWT Mozilla"
 mv Eclipse_SWT_PI "Eclipse SWT PI"
 popd
 pushd plugins/org.eclipse.swt.tools
 mv "JNI Generation" JNI_Generation 
-%patch60
+%patch19
 mv JNI_Generation "JNI Generation"
 popd
 
-# workaround for http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29853
+# workaround for GNU XML bug when parsing plugin.xml
+# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29853
 pushd plugins/org.eclipse.pde.core
-%patch61
+%patch20
 popd
 
-# FIXME check if this has been applied upstream
+# customcallbacks fixes.  They are upstream already.
 pushd plugins/org.eclipse.platform.doc.isv
-%patch100 -p0
+%patch21 -p0
 popd
 pushd plugins/org.eclipse.platform.doc.user
-%patch100 -p0
+%patch21 -p0
 popd
 
+# Splashscreen
 pushd plugins/org.eclipse.platform
 cp %{SOURCE11} splash.bmp
 popd
 
 # 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
@@ -566,7 +566,7 @@
 rm plugins/org.apache.ant/lib/ant-xalan1src.zip
 rm plugins/org.apache.ant/lib/ant-xslp.jar
 rm plugins/org.apache.ant/lib/ant-xslpsrc.zip
-# FIXME use build-jar-repository
+# 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
@@ -576,7 +576,7 @@
 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
 # https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=180642
-# the symlinks that are commented out are not currently shipped on Fedora
+# 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
@@ -598,15 +598,14 @@
 #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 ##
+
 # BEGIN LUCENE ##
 rm plugins/org.apache.lucene/lucene-1.4.3.jar
-# FIXME:  Remove this zip until we have a lucene-devel package containing it.
-# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=170343
 rm plugins/org.apache.lucene/lucene-1.4.3-src.zip
+ln -s %{_usr}/src/lucene/lucene-1.4.3.jar plugins/org.apache.lucene/lucene-1.4.3-src.zip
 ln -s %{_javadir}/lucene.jar plugins/org.apache.lucene/lucene-1.4.3.jar
 # END LUCENE ##
 
-
 ## BEGIN TOMCAT ##
 rm plugins/org.eclipse.tomcat/commons-beanutils.jar
 rm plugins/org.eclipse.tomcat/commons-collections.jar
@@ -670,11 +669,10 @@
 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    
+# FIXME: figure out what's going on with build.index.  This is a gjdoc problem.  
 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 =)
@@ -682,18 +680,18 @@
 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
+                                                      assemble.org.eclipse.sdk.linux.gtk.ia64.xml \
+                                                      features/org.eclipse.rcp/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 
+# 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
+  # 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
@@ -701,11 +699,11 @@
   # 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
+  # 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	
+  grep -v ppc64 features/org.eclipse.platform.source/feature.xml.orig > features/org.eclipse.platform.source/feature.xml        
 
-  # finally the replacement hack
+  # 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}/")
   done
@@ -722,16 +720,7 @@
 done
 popd
 
-# setup the jsch plugin build
-rm plugins/org.eclipse.team.cvs.ssh2/com.jcraft.jsch_*.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
-popd
-
-# setup with the icu4j plugins for building
+# set the icu4j plugins for building
 pushd baseLocation/plugins
 rm com.ibm.icu.base_3.4.5.jar \
    com.ibm.icu_3.4.5.jar \
@@ -752,17 +741,18 @@
 
 # add build.xml patches
 pushd icu4j-build
-%patch3 -p1
+%patch1 -p1
 popd 
 
 popd
 
 # delete included jars
-# FIXME: file a bug about these
+# 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 \
-   features/org.eclipse.platform.launchers/bin/startup.jar
+   features/org.eclipse.platform.launchers/bin/startup.jar \
+   plugins/org.eclipse.team.cvs.ssh2/com.jcraft.jsch_*.jar
 
 # make sure there are no jars left
 JARS=""
@@ -772,7 +762,7 @@
   fi
 done
 if [ ! -z "$JARS" ]; then
-    echo "These jar should be deleted and symlinked to system jars: $JARS"
+    echo "These jars should be deleted and symlinked to system jars: $JARS"
    #FIXME: enable  exit 1
 fi
 
@@ -782,24 +772,28 @@
 env
 ORIGCLASSPATH=$CLASSPATH
 
-# finish the jsch plugin build
-# FIXME remove version numbers
+# Build jsch
+pushd baseLocation/plugins
+# extract 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
+popd
 # 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 *
 popd
-# FXIME don't delete this, do what icu4j does
+# FIXME don't delete this, do what icu4j does
 rm -r baseLocation/plugins/com.jcraft.jsch_0.1.28.jar-build
 
-# finish the icu4j build
+# Finish the icu4j build
 pushd baseLocation/plugins
 
-# build the icu.base plugin
+# Build the icu.base plugin
 zipfile=$PWD/com.ibm.icu.base.source_3.4.5/src/com.ibm.icu.base_3.4.5/src.zip
 pushd icu4j-build/com.ibm.icu.base/src
-find -name \*.java | xargs touch --date=1/1/1970
+find -name \*.java | xargs touch --date=1/1/1980
 zip -X -9 -r $zipfile . -i \*.java
 popd
 pushd icu4j-build/com.ibm.icu.base
@@ -807,10 +801,10 @@
 popd
 mv icu4j-build/com.ibm.icu.base/com.ibm.icu.base_3.4.5.jar .
 
-# build the icu plugin
+# Build the icu plugin
 zipfile=$PWD/com.ibm.icu.source_3.4.5/src/com.ibm.icu_3.4.5/src.zip
 pushd icu4j-build/com.ibm.icu/src
-find -name \*.java | xargs touch --date=1/1/1970
+find -name \*.java | xargs touch --date=1/1/1980
 zip -X -9 -r $zipfile . -i \*.java
 popd
 pushd icu4j-build/com.ibm.icu
@@ -896,27 +890,6 @@
   -DinstallOs=linux -DinstallWs=gtk -DinstallArch=%{eclipse_arch} \
   -Dlibsconfig=true
 
-# 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?
-#src_root=$PWD/plugins
-#pushd result
-#mkdir -p eclipse/org
-#collected_src_dir=$PWD/eclipse
-#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
-#EOF
-#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
-#popd
-
 # Build the FileInitializer application
 SDK=$(cd eclipse && pwd)
 PDEPLUGINVERSION=$(ls $SDK/plugins | grep pde.build | sed 's/org.eclipse.pde.build_//')
@@ -925,6 +898,7 @@
 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
 
@@ -952,52 +926,62 @@
 %install
 rm -rf $RPM_BUILD_ROOT
 
-# get swt version
+# 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
 
+# 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
 
-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
+# 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 -d -m 755 $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins
-install -d -m 755 $RPM_BUILD_ROOT%{_libdir}/%{name}/features
 
-# Install the platform specific fragments in an arch specific dir
-install -d -m 755 $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins
+# 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
+
+# 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: icu4j generates res_index.txt differently on different arches - possible libgcj bug.
 mv $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/com.ibm.icu_3.4.5.jar $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins
 mv $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/com.ibm.icu.source_3.4.5 $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins
-# FIXME: there is a problem with gjdoc with this plugin
+
+# FIXME: there is a problem with gjdoc generating different HTML on different
+# architectures.  This happens with this plugin.
 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
+
 # To ensure that the product is org.eclipse.sdk.ide when eclipse-sdk is
 # installed, we must check for its presence at %%post{,un} time.  This does not
 # work in the biarch case, though, if it is not in an arch-specific location.
@@ -1005,14 +989,17 @@
 # better than always appearing in the about dialog as the Eclipse Platform with
 # the platform plugin version number instead of the actual SDK version number.
 # -- overholt, 2006-11-03
-mv $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/org.eclipse.sdk_* $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins
-mv $RPM_BUILD_ROOT%{_datadir}/%{name}/features/org.eclipse.sdk_* $RPM_BUILD_ROOT%{_libdir}/%{name}/features
+mv $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/org.eclipse.sdk_* \
+  $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins
+mv $RPM_BUILD_ROOT%{_datadir}/%{name}/features/org.eclipse.sdk_* \
+  $RPM_BUILD_ROOT%{_libdir}/%{name}/features
 
-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 \
+# 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
@@ -1035,8 +1022,6 @@
 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 platform; no benefit to having it be sdk
 sed --in-place "s/eclipse.product=org.eclipse.sdk.ide/eclipse.product=org.eclipse.platform.ide/" \
@@ -1055,7 +1040,7 @@
 # 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 [ "Aconfiguration" = $(echo A`find configuration/org.eclipse.osgi/bundles/$id -name libswt\*.so` | sed "s:/.*::") ]; then
+  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;
@@ -1071,9 +1056,9 @@
 popd
 
 # Install the SWT symlinks in libdir
-swtjarversion=$(grep v$SWT_VERSION plugins/org.eclipse.swt.gtk.linux.%{eclipse_arch}/build.xml | sed "s:.*<.*\"\(.*\)\"/>:\1:")
+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 %{_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
 
@@ -1090,22 +1075,28 @@
 ln -s org.eclipse.pde.build_* org.eclipse.pde.build
 popd
 
-# rh/freedesktop.org icons
-install -p -D -m0644 %{SOURCE5} \
+# 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 -m0755 $RPM_BUILD_ROOT%{_datadir}/pixmaps
-ln -s ../icons/hicolor/48x48/apps/%{name}.png \
-  $RPM_BUILD_ROOT%{_datadir}/pixmaps
-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 -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 -m0755 $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps
-ln -s ../../../../%{name}/plugins/org.eclipse.platform_%{eclipse_majmin}.%{eclipse_micro}/eclipse.gif \
+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
-rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/icon.xpm
+# This should be fixed in 3.3.
+# 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 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 
@@ -1118,18 +1109,20 @@
 desktop-file-validate %{SOURCE2}
 
 # freedesktop.org menu entry
-install -p -D -m0644 %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop
+install -p -D -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop
 
+SDKPLUGINVERSION=$(ls $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins | grep eclipse.sdk_ | sed "s/org.eclipse.sdk_//")
 # 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%{_libdir}/%{name}/plugins/org.eclipse.sdk_%{eclipse_majmin}.*
-OS_VERSION=`cat /etc/*-release | head -n 1`
+pushd $RPM_BUILD_ROOT%{_libdir}/%{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
-pushd $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/org.eclipse.platform_%{eclipse_majmin}.*
+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
@@ -1209,14 +1202,20 @@
 #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 ##
+
 # BEGIN LUCENE ##
-# 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
+LUCENEPLUGINVERSION=$(ls plugins | grep lucene | sed 's/org.apache.lucene_//')
+rm plugins/org.apache.lucene_$LUCENEPLUGINVERSION/lucene-1.4.3.jar
+ln -s %{_javadir}/lucene.jar \
+  plugins/org.apache.lucene_$LUCENEPLUGINVERSION/lucene-1.4.3.jar
+# org.eclipse.platform.source is in the arch-specific location
+pushd $RPM_BUILD_ROOT%{_libdir}/%{name}
+PLATFORMSOURCEVERSION=$(ls plugins | grep platform.source_ | sed 's/org.eclipse.platform.source_//')
+rm plugins/org.eclipse.platform.source_$PLATFORMSOURCEVERSION/src/org.apache.lucene_$LUCENEPLUGINVERSION/lucene-1.4.3-src.zip
+ln -s %{_usr}/src/lucene/lucene-1.4.3.jar \
+  plugins/org.eclipse.platform.source_$PLATFORMSOURCEVERSION/src/org.apache.lucene_$LUCENEPLUGINVERSION/lucene-1.4.3-src.zip
+popd
 # END LUCENE ##
-# FIXME
-#rm plugins/org.eclipse.team.cvs.ssh2_*/jsch-0.1.18.jar
-#ln -s %{_javadir}/jsch.jar plugins/org.eclipse.team.cvs.ssh2_*/jsch-0.1.18.jar
 
 ## BEGIN TOMCAT ##
 TOMCATPLUGINVERSION=$(ls plugins | grep tomcat | sed 's/org.eclipse.tomcat_//')
@@ -1254,19 +1253,6 @@
 
 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} \
-#     org.eclipse.jdt.core_3.1.2.jar.so -o \
-#     $RPM_BUILD_ROOT%{_bindir}/ecj
-# popd
-# chmod a+x $RPM_BUILD_ROOT%{_bindir}/ecj
-#%else
-
 # 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
@@ -1276,11 +1262,11 @@
   # 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` 	
+  ZIPDIR=`mktemp -d -p ${RPM_BUILD_ROOT}/tmp $ZIPNAME.zipdir.XXXXXXXXXX`        
   
   pushd $TMPDIR 
   unzip -qq -o $zip
-  rm -f $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`
@@ -1355,7 +1341,7 @@
 # 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_//')
-aot-compile-rpm --exclude %{_datadir}/%{name}/plugins/org.eclipse.ui.ide_$UIIDEPLUGINVERSION 
+aot-compile-rpm --exclude %{_datadir}/%{name}/plugins/org.eclipse.ui.ide_$UIIDEPLUGINVERSION
 %endif
 
 %clean
@@ -1363,7 +1349,10 @@
 
 %post platform
 %if %{gcj_support}
-%{_bindir}/rebuild-gcj-db
+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
@@ -1372,7 +1361,10 @@
 
 %postun platform
 %if %{gcj_support}
-%{_bindir}/rebuild-gcj-db
+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
@@ -1381,7 +1373,10 @@
 
 %post sdk
 %if %{gcj_support}
-%{_bindir}/rebuild-gcj-db
+if [ -x %{_bindir}/rebuild-gcj-db ]
+then
+  %{_bindir}/rebuild-gcj-db
+fi
 %endif
 if [ -f %{_libdir}/%{name}/configuration/config.ini ]; then
   sed --in-place "s/[#]*eclipse.product=.*/eclipse.product=org.eclipse.sdk.ide/" \
@@ -1390,12 +1385,19 @@
 
 %postun sdk
 %if %{gcj_support}
-%{_bindir}/rebuild-gcj-db
+if [ -x %{_bindir}/rebuild-gcj-db ]
+then
+  %{_bindir}/rebuild-gcj-db
+fi
 %endif
 # Only set the product back to platform.ide if the sdk is actually removed for
 # this arch.  This SDKDIR check is to deal with the ordering of new %%post
 # before old %%postun
-SDKDIR=$(ls %{_libdir}/%{name}/features | grep "org\.eclipse\.sdk_")
+if [ -d /usr/lib/eclipse/features]; then
+  SDKDIR=$(ls %{_libdir}/%{name}/features | grep "org\.eclipse\.sdk_")
+else
+  SDKDIR=""
+fi
 if [ -z "$SDKDIR" -a -f %{_libdir}/%{name}/configuration/config.ini ]; then
   sed --in-place "s/[#]*eclipse.product=.*/eclipse.product=org.eclipse.platform.ide/" \
     %{_libdir}/%{name}/configuration/config.ini
@@ -1449,6 +1451,7 @@
 %defattr(-,root,root)
 %dir %{_datadir}/%{name}
 %dir %{_datadir}/%{name}/plugins
+%dir %{_libdir}/%{name}
 %dir %{_libdir}/%{name}/plugins
 %dir %{_libdir}/%{name}/configuration
 %dir %{_libdir}/%{name}/configuration/org.eclipse.osgi
@@ -1748,12 +1751,25 @@
 %{_libdir}/%{name}/plugins/org.eclipse.sdk_*
 
 %changelog
-* Tue Nov 28 2006 Andrew Overholt <overholt at redhat.com> 3.2.1-23
+* Mon Jan 29 2007 Ben Konrath <bkonrath at redhat.com> 3.2.1-24.fc6
+- Check for features directory in sdk postun script.
+- Fix bug in ecj [] patch.
+- Add bugzilla reference to remove jars bug in comment.
+- Update bugzilla refereces to [] bugs.
+- Fix %%postun problem in the sdk sub-package.
+- Rpmlint cleanups.
+- Use sed instead of patch for tomcat version.
+- Add BuildRequires desktop-file-utils.
+- Add %%{_libdir}/eclipse dir to files list of libswt-gtk2.
+- Specfile cleanups from review with Andrew Overholt.
+- Resolves: #224588, #211008, #225329.
+
+* Tue Nov 28 2006 Andrew Overholt <overholt at redhat.com> 3.2.1-23.fc6
 - 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.
 
-* Fri Nov 24 2006 Andrew Overholt <overholt at redhat.com> 3.2.1-22
+* Fri Nov 24 2006 Andrew Overholt <overholt at redhat.com> 3.2.1-22.fc6
 - FC6 update without work to move arch-specific stuff to %%{_libdir}.
 
 * Fri Nov 17 2006 Ben Konrath <bkonrath at redhat.com> 3.2.1-21
@@ -1890,11 +1906,11 @@
 - Use new swt-firefox patch and consolidate others into one.
 
 * Wed Sep 27 2006 Ben Konrath <bkonrath at redhat.com> 3.2.1-0.RC.3
-- Fix typo in %postun of -sdk and -platform.
+- Fix typo in %%postun of -sdk and -platform.
 - Disable help index generation on ia64.
 
 * Tue Sep 26 2006 Ben Konrath <bkonrath at redhat.com> 3.2.1-0.RC.2
-- Don't set eclipse.product incorrectly in %postun of -sdk and -platform.
+- Don't set eclipse.product incorrectly in %%postun of -sdk and -platform.
 
 * Mon Sep 25 2006 Ben Konrath <bkonrath at redhat.com> 3.2.1-0.RC.1 
 - M20060921-0945 (3.2.1 pre-release).
@@ -1934,7 +1950,7 @@
 - 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 
+- 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.


--- eclipse-buildDocPlugins.patch DELETED ---


--- eclipse-compare-create-api.patch DELETED ---


--- eclipse-gnuformatterjdt.patch DELETED ---


--- eclipse-gnuformatterjdtui.patch DELETED ---


--- eclipse-libswt-enableallandO2.patch DELETED ---


--- eclipse-libswt-xpcomgcc4.patch DELETED ---




More information about the fedora-cvs-commits mailing list