rpms/eclipse/devel customBuildCallbacks.xml-add-pre.gather.bin.parts.patch, 1.2, 1.3 eclipse-add-ppc64-sparc64-s390-s390x.patch, 1.5, 1.6 eclipse-ecj-square-bracket-classpath.patch, 1.5, 1.6 eclipse-launcher-addplatformtotildeeclipse.patch, 1.6, 1.7 eclipse-libupdatebuild.patch, 1.2, 1.3 eclipse-osgi-Java-1.7-profile.patch, NONE, 1.1 eclipse-ppc64gre64.patch, 1.2, 1.3 eclipse-swt-firefox.2.patch, 1.2, 1.3 eclipse-swt-firefox.patch, 1.9, 1.10 eclipse-updatehomedir.patch, 1.10, 1.11 eclipse-usebuiltlauncher.patch, 1.5, 1.6 eclipse-webapp-tomcat55.patch, 1.6, 1.7 eclipse-workaround-plugin.xml-parsing-bug-gcc-bz29853.patch, 1.2, 1.3 .cvsignore, 1.33, 1.34 eclipse-build.patch, 1.6, 1.7 eclipse-ecj-gcj.patch, 1.5, 1.6 eclipse-launcher-set-install-dir-and-shared-config.patch, 1.2, 1.3 eclipse-swttools.patch, 1.4, 1.5 eclipse-tomcat55-build.patch, 1.15, 1.16 eclipse-tomcat55.patch, 1.11, 1.12 eclipse.spec, 1.439, 1.440 sources, 1.45, 1.46 3.3-TODO.txt, 1.3, NONE eclipse.in, 1.2, NONE

Ben Konrath (bkonrath) fedora-extras-commits at redhat.com
Tue Jun 26 16:02:52 UTC 2007


Author: bkonrath

Update of /cvs/pkgs/rpms/eclipse/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv6923

Modified Files:
	.cvsignore eclipse-build.patch eclipse-ecj-gcj.patch 
	eclipse-launcher-set-install-dir-and-shared-config.patch 
	eclipse-swttools.patch eclipse-tomcat55-build.patch 
	eclipse-tomcat55.patch eclipse.spec sources 
Added Files:
	customBuildCallbacks.xml-add-pre.gather.bin.parts.patch 
	eclipse-add-ppc64-sparc64-s390-s390x.patch 
	eclipse-ecj-square-bracket-classpath.patch 
	eclipse-launcher-addplatformtotildeeclipse.patch 
	eclipse-libupdatebuild.patch 
	eclipse-osgi-Java-1.7-profile.patch eclipse-ppc64gre64.patch 
	eclipse-swt-firefox.2.patch eclipse-swt-firefox.patch 
	eclipse-updatehomedir.patch eclipse-usebuiltlauncher.patch 
	eclipse-webapp-tomcat55.patch 
	eclipse-workaround-plugin.xml-parsing-bug-gcc-bz29853.patch 
Removed Files:
	3.3-TODO.txt eclipse.in 
Log Message:
Revert to 3.2.2 for IcedTea

customBuildCallbacks.xml-add-pre.gather.bin.parts.patch:

Index: customBuildCallbacks.xml-add-pre.gather.bin.parts.patch
===================================================================
RCS file: customBuildCallbacks.xml-add-pre.gather.bin.parts.patch
diff -N customBuildCallbacks.xml-add-pre.gather.bin.parts.patch
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ customBuildCallbacks.xml-add-pre.gather.bin.parts.patch	26 Jun 2007 16:01:53 -0000	1.3
@@ -0,0 +1,23 @@
+Index: customBuildCallbacks.xml
+===================================================================
+RCS file: /cvsroot/eclipse/org.eclipse.platform.doc.isv/customBuildCallbacks.xml,v
+retrieving revision 1.5
+diff -u -r1.5 customBuildCallbacks.xml
+--- customBuildCallbacks.xml	14 Dec 2005 00:07:22 -0000	1.5
++++ customBuildCallbacks.xml	5 Jun 2006 01:18:34 -0000
+@@ -80,6 +80,15 @@
+ 	</target>
+ 	
+ 	<!-- ===================================================================== -->
++        <!-- Steps to do before the target gather.bin.parts                        -->
++        <!-- Available parameters :                                                -->
++        <!--  destination.temp.folder - the directory plugins will be collected to -->
++        <!--  feature.directory - the directory containing the resulting feature   -->
++        <!-- ===================================================================== -->
++        <target name="pre.gather.bin.parts">
++        </target>
++
++	<!-- ===================================================================== -->
+ 	<!-- Steps to do after the target gather.bin.parts                         -->
+ 	<!-- Available parameters :                                                -->
+ 	<!--   base.dir - root of the project                                      -->

eclipse-add-ppc64-sparc64-s390-s390x.patch:

Index: eclipse-add-ppc64-sparc64-s390-s390x.patch
===================================================================
RCS file: eclipse-add-ppc64-sparc64-s390-s390x.patch
diff -N eclipse-add-ppc64-sparc64-s390-s390x.patch
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ eclipse-add-ppc64-sparc64-s390-s390x.patch	26 Jun 2007 16:01:53 -0000	1.6
@@ -0,0 +1,165 @@
+Index: src/org/eclipse/core/runtime/Platform.java
+===================================================================
+RCS file: /cvsroot/eclipse/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Platform.java,v
+retrieving revision 1.106
+diff -u -r1.106 Platform.java
+--- plugins/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Platform.java	13 Apr 2006 00:42:47 -0000	1.106
++++ plugins/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Platform.java	31 Jan 2007 21:33:51 -0000
+@@ -339,6 +339,11 @@
+ 	 * @since 3.1
+ 	 */
+ 	public static final String ARCH_IA64_32 = "ia64_32";//$NON-NLS-1$
++	
++	public static final String ARCH_PPC64 = "ppc64";//$NON-NLS-1$
++	public static final String ARCH_SPARC64 = "sparc64";//$NON-NLS-1$
++	public static final String ARCH_S390 = "s390";//$NON-NLS-1$
++	public static final String ARCH_S390X = "s390x";//$NON-NLS-1$
+ 
+ 	/**
+ 	 * Constant string (value "win32") indicating the platform is running on a
+Index: src/org/eclipse/core/internal/runtime/InternalPlatform.java
+===================================================================
+RCS file: /cvsroot/eclipse/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/InternalPlatform.java,v
+retrieving revision 1.253
+diff -u -r1.253 InternalPlatform.java
+--- plugins/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/InternalPlatform.java	21 Apr 2006 20:49:57 -0000	1.253
++++ plugins/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/InternalPlatform.java	31 Jan 2007 21:33:50 -0000
+@@ -52,6 +52,10 @@
+ 			Platform.ARCH_X86, //
+ 			Platform.ARCH_AMD64, // 
+ 			Platform.ARCH_IA64, //
++			Platform.ARCH_PPC64, //
++			Platform.ARCH_SPARC64, //
++			Platform.ARCH_S390, //
++			Platform.ARCH_S390X, //
+ 			Platform.ARCH_IA64_32};
+ 	private static final String BOOT = "-boot"; //$NON-NLS-1$
+ 	private static final String CLASSLOADER_PROPERTIES = "-classloaderProperties"; //$NON-NLS-1$	
+Index: eclipseAdaptor/src/org/eclipse/core/runtime/internal/adaptor/PluginConverterImpl.java
+===================================================================
+RCS file: /cvsroot/eclipse/org.eclipse.osgi/eclipseAdaptor/src/org/eclipse/core/runtime/internal/adaptor/PluginConverterImpl.java,v
+retrieving revision 1.13
+diff -u -r1.13 PluginConverterImpl.java
+--- plugins/org.eclipse.osgi/eclipseAdaptor/src/org/eclipse/core/runtime/internal/adaptor/PluginConverterImpl.java	13 Apr 2006 16:10:27 -0000	1.13
++++ plugins/org.eclipse.osgi/eclipseAdaptor/src/org/eclipse/core/runtime/internal/adaptor/PluginConverterImpl.java	31 Jan 2007 21:33:52 -0000
+@@ -64,7 +64,7 @@
+ 	private static final String MANIFEST_VERSION = "Manifest-Version"; //$NON-NLS-1$
+ 	private static final String PLUGIN_PROPERTIES_FILENAME = "plugin"; //$NON-NLS-1$
+ 	private static PluginConverterImpl instance;
+-	private static final String[] ARCH_LIST = {org.eclipse.osgi.service.environment.Constants.ARCH_PA_RISC, org.eclipse.osgi.service.environment.Constants.ARCH_PPC, org.eclipse.osgi.service.environment.Constants.ARCH_SPARC, org.eclipse.osgi.service.environment.Constants.ARCH_X86, org.eclipse.osgi.service.environment.Constants.ARCH_AMD64, org.eclipse.osgi.service.environment.Constants.ARCH_IA64};
++	private static final String[] ARCH_LIST = {org.eclipse.osgi.service.environment.Constants.ARCH_PA_RISC, org.eclipse.osgi.service.environment.Constants.ARCH_PPC, org.eclipse.osgi.service.environment.Constants.ARCH_SPARC, org.eclipse.osgi.service.environment.Constants.ARCH_X86, org.eclipse.osgi.service.environment.Constants.ARCH_AMD64, org.eclipse.osgi.service.environment.Constants.ARCH_IA64, org.eclipse.osgi.service.environment.Constants.ARCH_PPC64, org.eclipse.osgi.service.environment.Constants.ARCH_SPARC64, org.eclipse.osgi.service.environment.Constants.ARCH_S390, org.eclipse.osgi.service.environment.Constants.ARCH_S390X};
+ 	static public final String FRAGMENT_MANIFEST = "fragment.xml"; //$NON-NLS-1$
+ 	static public final String GENERATED_FROM = "Generated-from"; //$NON-NLS-1$
+ 	static public final String MANIFEST_TYPE_ATTRIBUTE = "type"; //$NON-NLS-1$
+Index: eclipseAdaptor/src/org/eclipse/osgi/service/environment/Constants.java
+===================================================================
+RCS file: /cvsroot/eclipse/org.eclipse.osgi/eclipseAdaptor/src/org/eclipse/osgi/service/environment/Constants.java,v
+retrieving revision 1.9
+diff -u -r1.9 Constants.java
+--- plugins/org.eclipse.osgi/eclipseAdaptor/src/org/eclipse/osgi/service/environment/Constants.java	13 Jun 2005 17:14:22 -0000	1.9
++++ plugins/org.eclipse.osgi/eclipseAdaptor/src/org/eclipse/osgi/service/environment/Constants.java	31 Jan 2007 21:33:52 -0000
+@@ -119,6 +119,11 @@
+ 	 */
+ 	public static final String ARCH_IA64_32 = "ia64_32";//$NON-NLS-1$
+ 
++	public static final String ARCH_PPC64 = "ppc64";//$NON-NLS-1$
++	public static final String ARCH_SPARC64 = "sparc64";//$NON-NLS-1$
++	public static final String ARCH_S390 = "s390";//$NON-NLS-1$
++	public static final String ARCH_S390X = "s390x";//$NON-NLS-1$
++	
+ 	/**
+ 	 * Constant string (value "win32") indicating the platform is running on a
+ 	 * machine using the Windows windowing system.
+Index: feature.xml
+===================================================================
+RCS file: /cvsroot/eclipse/org.eclipse.sdk-feature/features/org.eclipse.rcp/feature.xml,v
+retrieving revision 1.40.2.1
+diff -u -r1.40.2.1 feature.xml
+--- features/org.eclipse.rcp/feature.xml 1 Aug 2006 17:29:33 -0000 1.40.2.1
++++ features/org.eclipse.rcp/feature.xml 6 Feb 2007 23:44:22 -0000
+@@ -308,5 +308,60 @@
+          install-size="0"
+          version="0.0.0"
+          unpack="false"/>
++    
++   <plugin
++         id="org.eclipse.swt.gtk.linux.ppc64"
++         os="linux"
++         ws="gtk"
++         arch="ppc64"
++         download-size="0"
++         install-size="0"
++         version="0.0.0"
++         fragment="true"
++         unpack="false"/>
++
++   <plugin
++         id="org.eclipse.swt.gtk.linux.s390"
++         os="linux"
++         ws="gtk"
++         arch="s390"
++         download-size="0"
++         install-size="0"
++         version="0.0.0"
++         fragment="true"
++         unpack="false"/>
++
++   <plugin
++         id="org.eclipse.swt.gtk.linux.s390x"
++         os="linux"
++         ws="gtk"
++         arch="s390x"
++         download-size="0"
++         install-size="0"
++         version="0.0.0"
++         fragment="true"
++         unpack="false"/>
++
++   <plugin
++         id="org.eclipse.swt.gtk.linux.sparc"
++         os="linux"
++         ws="gtk"
++         arch="sparc"
++         download-size="0"
++         install-size="0"
++         version="0.0.0"
++         fragment="true"
++         unpack="false"/>
++
++   <plugin
++         id="org.eclipse.swt.gtk.linux.sparc64"
++         os="linux"
++         ws="gtk"
++         arch="sparc64"
++         download-size="0"
++         install-size="0"
++         version="0.0.0"
++         fragment="true"
++         unpack="false"/>
+ 
+ </feature>
+diff -ru features/org.eclipse.platform.source/feature.xml features/org.eclipse.platform.source/feature.xml
+--- features/org.eclipse.platform.source/feature.xml	2007-02-06 19:04:05.000000000 -0500
++++ features/org.eclipse.platform.source/feature.xml	2007-02-06 19:07:26.000000000 -0500
+@@ -28,4 +28,8 @@
+ 	<plugin ws="gtk"  os="linux" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.platform.source.linux.gtk.x86" version="3.2.2.r322_v20070119-CXMbUe9K_WF26uA"/>
+ 	<plugin ws="win32"  os="win32" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.platform.source.win32.win32.x86" version="3.2.2.r322_v20070119-CXMbUe9K_WF26uA"/>
+ 	<plugin ws="motif"  os="linux" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.platform.source.linux.motif.x86" version="3.2.2.r322_v20070119-CXMbUe9K_WF26uA"/>
++	<plugin ws="gtk"  os="linux" fragment="true" arch="s390" download-size="0" install-size="0" id="org.eclipse.platform.source.linux.gtk.s390" version="3.2.2.r322_v20070119-CXMbUe9K_WF26uA"/>
++	<plugin ws="gtk"  os="linux" fragment="true" arch="s390x" download-size="0" install-size="0" id="org.eclipse.platform.source.linux.gtk.s390x" version="3.2.2.r322_v20070119-CXMbUe9K_WF26uA"/>
++	<plugin ws="gtk"  os="linux" fragment="true" arch="sparc" download-size="0" install-size="0" id="org.eclipse.platform.source.linux.gtk.sparc" version="3.2.2.r322_v20070119-CXMbUe9K_WF26uA"/>
++	<plugin ws="gtk"  os="linux" fragment="true" arch="sparc64" download-size="0" install-size="0" id="org.eclipse.platform.source.linux.gtk.sparc64" version="3.2.2.r322_v20070119-CXMbUe9K_WF26uA"/>
+ </feature>
+diff -ru features/org.eclipse.rcp.source/feature.xml features/org.eclipse.rcp.source/feature.xml
+--- features/org.eclipse.rcp.source/feature.xml	2007-02-06 19:04:06.000000000 -0500
++++ features/org.eclipse.rcp.source/feature.xml	2007-02-06 19:09:11.000000000 -0500
+@@ -28,4 +28,9 @@
+ 	<plugin ws="win32"  os="win32" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.rcp.source.win32.win32.x86" version="3.2.2.r322_v20070104-iwP0VLKnfFC923K"/>
+ 	<plugin ws="motif"  os="solaris" fragment="true" arch="sparc" download-size="0" install-size="0" id="org.eclipse.rcp.source.solaris.motif.sparc" version="3.2.2.r322_v20070104-iwP0VLKnfFC923K"/>
+ 	<plugin ws="motif"  os="linux" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.rcp.source.linux.motif.x86" version="3.2.2.r322_v20070104-iwP0VLKnfFC923K"/>
++	<plugin ws="gtk"  os="linux" fragment="true" arch="ppc64" download-size="0" install-size="0" id="org.eclipse.rcp.source.linux.gtk.ppc64" version="3.2.2.r322_v20070104-iwP0VLKnfFC923K"/>
++	<plugin ws="gtk"  os="linux" fragment="true" arch="s390" download-size="0" install-size="0" id="org.eclipse.rcp.source.linux.gtk.s390" version="3.2.2.r322_v20070104-iwP0VLKnfFC923K"/>
++	<plugin ws="gtk"  os="linux" fragment="true" arch="s390x" download-size="0" install-size="0" id="org.eclipse.rcp.source.linux.gtk.s390x" version="3.2.2.r322_v20070104-iwP0VLKnfFC923K"/>
++	<plugin ws="gtk"  os="linux" fragment="true" arch="sparc" download-size="0" install-size="0" id="org.eclipse.rcp.source.linux.gtk.sparc" version="3.2.2.r322_v20070104-iwP0VLKnfFC923K"/>
++	<plugin ws="gtk"  os="linux" fragment="true" arch="sparc64" download-size="0" install-size="0" id="org.eclipse.rcp.source.linux.gtk.sparc64" version="3.2.2.r322_v20070104-iwP0VLKnfFC923K"/>
+ </feature>

eclipse-ecj-square-bracket-classpath.patch:

Index: eclipse-ecj-square-bracket-classpath.patch
===================================================================
RCS file: eclipse-ecj-square-bracket-classpath.patch
diff -N eclipse-ecj-square-bracket-classpath.patch
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ eclipse-ecj-square-bracket-classpath.patch	26 Jun 2007 16:01:53 -0000	1.6
@@ -0,0 +1,107 @@
+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.2
+diff -u -r1.254.4.2 Main.java
+--- batch/org/eclipse/jdt/internal/compiler/batch/Main.java	20 Oct 2006 14:11:48 -0000	1.254.4.2
++++ batch/org/eclipse/jdt/internal/compiler/batch/Main.java	16 Feb 2007 18:40:23 -0000
+@@ -2723,6 +2723,10 @@
+ 	ArrayList currentRuleSpecs = new ArrayList(defaultSize);
+ 	StringTokenizer tokenizer = new StringTokenizer(currentPath,
+ 			File.pathSeparator + "[]", true); //$NON-NLS-1$
++	ArrayList tokens = new ArrayList();
++	while (tokenizer.hasMoreTokens()) {
++		tokens.add(tokenizer.nextToken());
++	}
+ 	// state machine
+ 	final int start = 0; 
+ 	final int readyToClose = 1;
+@@ -2737,14 +2741,20 @@
+ 	// 'path[' 'path1;path2['
+ 	final int rulesReadyToClose = 6;
+ 	// 'path[rule' 'path[rule1;rule2'
++	final int bracketOpened = 7;
++	// '.*[.*'
++	final int bracketClosed = 8;
++	// '.*([.*])+'
+ 	final int error = 99;
+ 	int state = start;
+ 	String token = null;
+-	while (tokenizer.hasMoreTokens() && state != error) {
+-		token = tokenizer.nextToken();
++    int cursor = 0, tokensNb = tokens.size(), bracket = -1;
++    while (cursor < tokensNb && state != error) {
++        token = (String) tokens.get(cursor++);
+ 		if (token.equals(File.pathSeparator)) {
+ 			switch (state) {
+ 			case start:
++	        case bracketOpened:
+ 				break;
+ 			case readyToClose:
+ 			case readyToCloseEndingWithRules:
+@@ -2757,14 +2767,21 @@
+ 			case rulesReadyToClose:
+ 				state = rulesNeedAnotherRule;
+ 				break;
++			case bracketClosed:
++				cursor = bracket + 1;
++				state = rulesStart;
++				break;
+ 			default:
+ 				state = error;
+ 			}
+ 		} else if (token.equals("[")) { //$NON-NLS-1$
+ 			switch (state) {
+ 			case readyToClose:
+-				state = rulesStart;
++				bracket = cursor - 1;
++			case bracketClosed:
++				state = bracketOpened;
+ 				break;
++			case bracketOpened:
+ 			default:
+ 				state = error;
+ 			}
+@@ -2773,6 +2790,10 @@
+ 			case rulesReadyToClose:
+ 				state = readyToCloseEndingWithRules;
+ 				break;
++			case bracketOpened:
++				state = bracketClosed;
++				break;
++			case bracketClosed:
+ 			default:
+ 				state = error;
+ 			}
+@@ -2789,10 +2810,22 @@
+ 				state = rulesReadyToClose;
+ 				currentRuleSpecs.add(token);
+ 				break;
++            case bracketClosed:
++                for (int i = bracket; i < cursor ; i++) {
++                	currentClasspathName += (String) tokens.get(i);
++                }
++			    state = readyToClose;
++			    break;
++			case bracketOpened:
++			    break;
+ 			default:
+ 				state = error;
+ 			}
+ 		}
++		if (state == bracketClosed && cursor == tokensNb) {
++			cursor = bracket + 1;
++			state = rulesStart;
++		}
+ 	}
+ 	switch(state) {
+ 		case readyToClose:
+@@ -2801,6 +2834,8 @@
+ 			addNewEntry(paths, currentClasspathName, currentRuleSpecs, 
+ 				customEncoding, isSourceOnly);
+ 			break;
++        case bracketOpened:
++        case bracketClosed:
+ 		default :
+ 			// we go on anyway
+ 			this.logger.logIncorrectClasspath(currentPath);

eclipse-launcher-addplatformtotildeeclipse.patch:

Index: eclipse-launcher-addplatformtotildeeclipse.patch
===================================================================
RCS file: eclipse-launcher-addplatformtotildeeclipse.patch
diff -N eclipse-launcher-addplatformtotildeeclipse.patch
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ eclipse-launcher-addplatformtotildeeclipse.patch	26 Jun 2007 16:01:53 -0000	1.7
@@ -0,0 +1,144 @@
+Index: library/eclipse.c
+===================================================================
+RCS file: /cvsroot/eclipse/platform-launcher/library/eclipse.c,v
+retrieving revision 1.71
+diff -u -r1.71 eclipse.c
+--- library/eclipse.c	25 Apr 2006 14:31:50 -0000	1.71
++++ library/eclipse.c	14 May 2007 11:14:30 -0000
+@@ -512,6 +512,8 @@
+     /* Get the command to start the Java VM. */
+     vmCommandArgs = getVMCommand( argc, argv );
+ 
++    addPlatformToTildeDotEclipse();
++
+     /* While the Java VM should be restarted */
+     vmCommand = vmCommandArgs;
+     while (vmCommand != NULL)
+Index: library/gtk/eclipseGtk.c
+===================================================================
+RCS file: /cvsroot/eclipse/platform-launcher/library/gtk/eclipseGtk.c,v
+retrieving revision 1.27
+diff -u -r1.27 eclipseGtk.c
+--- library/gtk/eclipseGtk.c	27 Mar 2006 18:25:42 -0000	1.27
++++ library/gtk/eclipseGtk.c	14 May 2007 11:14:30 -0000
+@@ -335,3 +335,120 @@
+   	gtk_main_quit();
+   	return FALSE;
+ }
++
++/* Add the platform to ~/.eclipse/org.eclipse.platform_3.2.0/configuration/org.eclipse.update/platform.xml */
++void addPlatformToTildeDotEclipse()
++{
++	gchar *platform_xml, *touched, *dot_eclipse;
++	gchar *rcp321_position;
++	gchar *platform_xml_contents;
++	GError *error = NULL;
++	
++	platform_xml = g_strconcat(g_get_home_dir(), "/.eclipse/org.eclipse.platform_3.2.0/configuration/org.eclipse.update/platform.xml", NULL);
++	dot_eclipse =  g_strconcat(g_get_home_dir(), "/.eclipse", NULL);
++	touched = g_strconcat(g_get_home_dir(), "/.eclipse/.homedirmodified-fedora", NULL);
++	
++
++	if (!g_file_test(dot_eclipse, G_FILE_TEST_EXISTS))
++	{
++		/* If .eclipse doesn't exist, Eclipse has yet to be started.
++	 	 * We don't have worry about doing anything now and in the future 
++	 	 * so add the appropriate file to ~/.eclipse. */
++		if (g_mkdir(g_strconcat(g_get_home_dir(), "/.eclipse", NULL), 511) < 0) 
++		{
++			g_print("Error creating ~/.eclipse/.");
++			g_free(platform_xml);
++			g_free(dot_eclipse);
++			g_free(touched);
++			return;
++
++		}
++	   	if (g_file_set_contents(touched, "\0", -1, &error) == FALSE)
++		{
++			g_print("Error touching ~/.eclipse/.homedirmodified-fedora.");
++			g_print(g_strconcat(error->message, "\n\0", NULL));
++			g_free(error);
++			g_free(platform_xml);
++			g_free(dot_eclipse);
++			g_free(touched);
++			return;
++		}
++		
++	} 
++	else if (g_file_test(platform_xml, G_FILE_TEST_EXISTS)) 
++	{
++		/* platform_xml exists, workaround these two bugs:
++		 * https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=238107
++		 * https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=238109
++		 * 
++		 * remove the unwanted feature if its in platform.xml */
++
++		 if (g_file_get_contents(platform_xml, &platform_xml_contents, NULL, &error) == FALSE) 
++		 {
++		 	g_print("Error reading platform.xml in ~/.eclipse.\
++					You should remove ~/.eclipse before restarting Eclipse:\0");
++			g_print(g_strconcat(error->message, "\n\0", NULL));
++        		g_free(error);
++       			g_free(platform_xml);
++	    		g_free(touched);
++        		return;
++		 }
++		 
++		 gchar *unwanted_feature = "<feature id=\"org.eclipse.rcp\" version=\"3.2.1.r321_v20060801-clWbqCmjexIWDqg\" url=\"features/org.eclipse.rcp_3.2.1.r321_v20060801-clWbqCmjexIWDqg/\">\n</feature>\0";
++		 rcp321_position = g_strrstr(platform_xml_contents, unwanted_feature);
++
++		 if (rcp321_position != NULL) 
++		 {
++		 	int i;
++		 	for (i = 0; i < strlen(unwanted_feature); i++) {
++				rcp321_position[i] = ' ';
++		 	}
++		 }
++		 
++		if (g_file_set_contents(platform_xml, platform_xml_contents, -1, &error) == FALSE)
++		{
++        		g_print("Error writing platform.xml in ~/.eclipse.\
++		         	You should remove ~/.eclipse before restarting Eclipse:\0");
++				g_print(g_strconcat(error->message, "\n\0", NULL));
++        		g_free(error);
++        		g_free(touched);
++        		g_free(dot_eclipse);
++        		g_free(platform_xml);
++        		g_free(platform_xml_contents);
++        		return;
++		}
++    	
++        g_free(platform_xml_contents);
++	}
++	
++	g_free(dot_eclipse);
++	if (g_file_test(touched, G_FILE_TEST_EXISTS)) 
++	{
++		/* touched exists, we don't need to do anything */ 
++		g_free(platform_xml);
++		g_free(touched);
++		return;
++	}
++
++	/* At this point platform_xml exists and touched does not exist. */
++	if (g_file_test(platform_xml, G_FILE_TEST_EXISTS)) 
++	{
++		if (g_remove(platform_xml) < 0) 
++		{
++       		g_print("Error writing platform.xml in ~/.eclipse.\
++		         	You should remove ~/.eclipse before restarting Eclipse:\0");
++			g_free(platform_xml);
++			g_free(touched);
++			return;
++		}
++	}
++	if (g_file_set_contents(touched, "\0", -1, &error) == FALSE)
++	{
++		g_print("Error touching ~/.eclipse/.homedirmodified-fedora.");
++		g_print(g_strconcat(error->message, "\n\0", NULL));
++		g_free(error);
++	}
++	g_free(platform_xml);
++	g_free(touched);
++	return;
++}

eclipse-libupdatebuild.patch:

Index: eclipse-libupdatebuild.patch
===================================================================
RCS file: eclipse-libupdatebuild.patch
diff -N eclipse-libupdatebuild.patch
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ eclipse-libupdatebuild.patch	26 Jun 2007 16:01:53 -0000	1.3
@@ -0,0 +1,29 @@
+--- plugins/org.eclipse.update.core.linux/src/build.xml.orig	2005-02-07 14:16:05.353485675 -0500
++++ plugins/org.eclipse.update.core.linux/src/build.xml	2005-02-07 14:17:04.365259400 -0500
+@@ -47,7 +47,7 @@
+     <property name="header-path" value="${jdk-path}/../include"/>
+     <property name="header-linux-path" value="${header-path}/linux" />
+ 
+-	<echo message="gcc -o  ${library-file} -shared -I${src-path} -I${header-linux-path} ${library-file} -static -lc"/>
++	<echo message="gcc -o  ${library-file} -shared -I${src-path} -I${header-linux-path} -fPIC ${library-file}"/>
+ 
+     <apply executable="gcc" dest="${eclipse-home}/" parallel="false">
+       <arg value="-o"/>
+@@ -56,9 +56,8 @@
+       <arg value="-I${src-path}"/>
+       <arg value="-I${header-path}"/>      
+       <arg value="-I${header-linux-path}"/>  
++      <arg value="-fPIC"/>
+ 	  <srcfile/>
+-	  <arg value="-static"/>           
+-      <arg value="-lc"/>	  
+       <fileset dir="${src-path}" includes="*.c"/>
+       <mapper type="glob" from="*.c" to="*.o"/>
+     </apply>
+@@ -67,4 +66,4 @@
+   </target>
+   
+   
+-</project>
+\ No newline at end of file
++</project>

eclipse-osgi-Java-1.7-profile.patch:

--- NEW FILE eclipse-osgi-Java-1.7-profile.patch ---
Index: profile.list
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.osgi/profile.list,v
retrieving revision 1.2
diff -u -r1.2 profile.list
--- profile.list	12 Jan 2006 14:34:30 -0000	1.2
+++ profile.list	19 Jun 2007 19:00:57 -0000
@@ -9,6 +9,7 @@
 #     IBM Corporation - initial API and implementation
 ###############################################################################
 java.profiles = \
+ JavaSE-1.7.profile,\
  JavaSE-1.6.profile,\
  J2SE-1.5.profile,\
  J2SE-1.4.profile,\
Index: JavaSE-1.7.profile
===================================================================
RCS file: JavaSE-1.7.profile
diff -N JavaSE-1.7.profile
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ JavaSE-1.7.profile	1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,146 @@
+###############################################################################
+# Copyright (c) 2003, 2005 IBM Corporation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+# 
+# Contributors:
+#     IBM Corporation - initial API and implementation
+###############################################################################
+org.osgi.framework.system.packages = \
+ javax.accessibility,\
+ javax.activity,\
+ javax.crypto,\
+ javax.crypto.interfaces,\
+ javax.crypto.spec,\
+ javax.imageio,\
+ javax.imageio.event,\
+ javax.imageio.metadata,\
+ javax.imageio.plugins.bmp,\
+ javax.imageio.plugins.jpeg,\
+ javax.imageio.spi,\
+ javax.imageio.stream,\
+ javax.management,\
+ javax.management.loading,\
+ javax.management.modelmbean,\
+ javax.management.monitor,\
+ javax.management.openmbean,\
+ javax.management.relation,\
+ javax.management.remote,\
+ javax.management.remote.rmi,\
+ javax.management.timer,\
+ javax.naming,\
+ javax.naming.directory,\
+ javax.naming.event,\
+ javax.naming.ldap,\
+ javax.naming.spi,\
+ javax.net,\
+ javax.net.ssl,\
+ javax.print,\
+ javax.print.attribute,\
+ javax.print.attribute.standard,\
+ javax.print.event,\
+ javax.rmi,\
+ javax.rmi.CORBA,\
+ javax.rmi.ssl,\
+ javax.security.auth,\
+ javax.security.auth.callback,\
+ javax.security.auth.kerberos,\
+ javax.security.auth.login,\
+ javax.security.auth.spi,\
+ javax.security.auth.x500,\
+ javax.security.cert,\
+ javax.security.sasl,\
+ javax.sound.midi,\
+ javax.sound.midi.spi,\
+ javax.sound.sampled,\
+ javax.sound.sampled.spi,\
+ javax.sql,\
+ javax.sql.rowset,\
+ javax.sql.rowset.serial,\
+ javax.sql.rowset.spi,\
+ javax.swing,\
+ javax.swing.border,\
+ javax.swing.colorchooser,\
+ javax.swing.event,\
+ javax.swing.filechooser,\
+ javax.swing.plaf,\
+ javax.swing.plaf.basic,\
+ javax.swing.plaf.metal,\
+ javax.swing.plaf.multi,\
+ javax.swing.plaf.synth,\
+ javax.swing.table,\
+ javax.swing.text,\
+ javax.swing.text.html,\
+ javax.swing.text.html.parser,\
+ javax.swing.text.rtf,\
+ javax.swing.tree,\
+ javax.swing.undo,\
+ javax.transaction,\
+ javax.transaction.xa,\
+ javax.xml,\
+ javax.xml.datatype,\
+ javax.xml.namespace,\
+ javax.xml.parsers,\
+ javax.xml.transform,\
+ javax.xml.transform.dom,\
+ javax.xml.transform.sax,\
+ javax.xml.transform.stream,\
+ javax.xml.validation,\
+ javax.xml.xpath,\
+ org.ietf.jgss,\
+ org.omg.CORBA,\
+ org.omg.CORBA_2_3,\
+ org.omg.CORBA_2_3.portable,\
+ org.omg.CORBA.DynAnyPackage,\
+ org.omg.CORBA.ORBPackage,\
+ org.omg.CORBA.portable,\
+ org.omg.CORBA.TypeCodePackage,\
+ org.omg.CosNaming,\
+ org.omg.CosNaming.NamingContextExtPackage,\
+ org.omg.CosNaming.NamingContextPackage,\
+ org.omg.Dynamic,\
+ org.omg.DynamicAny,\
+ org.omg.DynamicAny.DynAnyFactoryPackage,\
+ org.omg.DynamicAny.DynAnyPackage,\
+ org.omg.IOP,\
+ org.omg.IOP.CodecFactoryPackage,\
+ org.omg.IOP.CodecPackage,\
+ org.omg.Messaging,\
+ org.omg.PortableInterceptor,\
+ org.omg.PortableInterceptor.ORBInitInfoPackage,\
+ org.omg.PortableServer,\
+ org.omg.PortableServer.CurrentPackage,\
+ org.omg.PortableServer.POAManagerPackage,\
+ org.omg.PortableServer.POAPackage,\
+ org.omg.PortableServer.portable,\
+ org.omg.PortableServer.ServantLocatorPackage,\
+ org.omg.SendingContext,\
+ org.omg.stub.java.rmi,\
+ org.w3c.dom,\
+ org.w3c.dom.bootstrap,\
+ org.w3c.dom.events,\
+ org.w3c.dom.ls,\
+ org.xml.sax,\
+ org.xml.sax.ext,\
+ org.xml.sax.helpers
+org.osgi.framework.bootdelegation = \
+ javax.*,\
+ org.ietf.jgss,\
+ org.omg.*,\
+ org.w3c.*,\
+ org.xml.*,\
+ sun.*,\
+ com.sun.*
+org.osgi.framework.executionenvironment = \
+ OSGi/Minimum-1.0,\
+ OSGi/Minimum-1.1,\
+ JRE-1.1,\
+ J2SE-1.2,\
+ J2SE-1.3,\
+ J2SE-1.4,\
+ J2SE-1.5,\
+ JavaSE-1.6,\
+ JavaSE-1.7
+osgi.java.profile.name = JavaSE-1.7

eclipse-ppc64gre64.patch:

Index: eclipse-ppc64gre64.patch
===================================================================
RCS file: eclipse-ppc64gre64.patch
diff -N eclipse-ppc64gre64.patch
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ eclipse-ppc64gre64.patch	26 Jun 2007 16:01:53 -0000	1.3
@@ -0,0 +1,16 @@
+Index: library/eclipseMozilla.c
+===================================================================
+RCS file: /cvsroot/eclipse/platform-launcher/library/eclipseMozilla.c,v
+retrieving revision 1.2
+diff -u -r1.2 eclipseMozilla.c
+--- library/eclipseMozilla.c	10 Aug 2006 21:21:26 -0000	1.2
++++ library/eclipseMozilla.c	17 Nov 2006 18:39:08 -0000
+@@ -102,7 +102,7 @@
+ 		{
+ 			struct stat buf;
+ 			FILE *file = NULL;
+-#if defined(__amd64__) || defined(__x86_64__)
++#if defined(__amd64__) || defined(__x86_64__) || defined(__powerpc64__)
+ 			if (stat("/etc/gre64.conf", &buf) == 0)
+ 			{
+ 				file = fopen("/etc/gre64.conf", "r");

eclipse-swt-firefox.2.patch:

Index: eclipse-swt-firefox.2.patch
===================================================================
RCS file: eclipse-swt-firefox.2.patch
diff -N eclipse-swt-firefox.2.patch
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ eclipse-swt-firefox.2.patch	26 Jun 2007 16:01:53 -0000	1.3
@@ -0,0 +1,33 @@
+### Eclipse Workspace Patch 1.0
+#P org.eclipse.swt.tools
+Index: JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.mozilla.XPCOM.properties
+===================================================================
+RCS file: /cvsroot/eclipse/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.mozilla.XPCOM.properties,v
+retrieving revision 1.11.2.1
+diff -u -r1.11.2.1 org.eclipse.swt.internal.mozilla.XPCOM.properties
+--- JNI_Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.mozilla.XPCOM.properties	26 Jul 2006 16:33:11 -0000	1.11.2.1
++++ JNI_Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.mozilla.XPCOM.properties	29 Sep 2006 04:51:03 -0000
+@@ -24,17 +24,18 @@
+ XPCOM_NS_GetServiceManager=
+ XPCOM_NS_GetServiceManager_0=cast=(nsIServiceManager**)
+ 
+-XPCOM_NS_InitEmbedding=
+-XPCOM_NS_InitEmbedding_0=cast=(nsILocalFile *)
+-XPCOM_NS_InitEmbedding_1=cast=(nsIDirectoryServiceProvider *)
++XPCOM_NS_InitXPCOM3=
++XPCOM_NS_InitXPCOM3_0=cast=(nsIServiceManager**)
++XPCOM_NS_InitXPCOM3_1=cast=(nsIFile *)
++XPCOM_NS_InitXPCOM3_2=cast=(nsIDirectoryServiceProvider *)
++XPCOM_NS_InitXPCOM3_3=cast=(const nsStaticModuleInfo *)
++XPCOM_NS_InitXPCOM3_4=cast=(PRUint32)
+ 
+ XPCOM_NS_NewLocalFile=
+ XPCOM_NS_NewLocalFile_0=cast=(nsAString *),flags=struct
+ XPCOM_NS_NewLocalFile_1=
+ XPCOM_NS_NewLocalFile_2=cast=(nsILocalFile**)
+ 
+-XPCOM_NS_TermEmbedding=
+-
+ XPCOM_PR_Free=
+ XPCOM_PR_Free_0=cast=(void *)
+ 

eclipse-swt-firefox.patch:

Index: eclipse-swt-firefox.patch
===================================================================
RCS file: eclipse-swt-firefox.patch
diff -N eclipse-swt-firefox.patch
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ eclipse-swt-firefox.patch	26 Jun 2007 16:01:53 -0000	1.10
@@ -0,0 +1,475 @@
+### Eclipse Workspace Patch 1.0
+#P org.eclipse.swt
+Index: Eclipse_SWT_PI/gtk/library/make_linux.mak
+===================================================================
+RCS file: /cvsroot/eclipse/org.eclipse.swt/Eclipse_SWT_PI/gtk/library/make_linux.mak,v
+retrieving revision 1.33.2.1
+diff -u -r1.33.2.1 make_linux.mak
+--- Eclipse_SWT_PI/gtk/library/make_linux.mak	26 Jul 2006 16:33:23 -0000	1.33.2.1
++++ Eclipse_SWT_PI/gtk/library/make_linux.mak	29 Sep 2006 13:21:51 -0000
+@@ -202,7 +202,7 @@
+ #
+ # Mozilla lib
+ #
+-make_mozilla:$(MOZILLA_LIB) $(PROFILE14_LIB) $(PROFILE17_LIB) $(PROFILE18_LIB)
++make_mozilla:$(MOZILLA_LIB)
+ 
+ $(MOZILLA_LIB): $(MOZILLA_OBJECTS)
+ 	$(CXX) -o $(MOZILLA_LIB) $(MOZILLA_OBJECTS) $(MOZILLALIBS) ${GECKO_LIBS}
+@@ -220,22 +220,22 @@
+ 	$(CXX) $(MOZILLACFLAGS) ${GECKO_INCLUDES} -c xpcom_stats.cpp	
+ 
+ $(PROFILE14_OBJECTS): xpcom_profile.cpp
+-	$(CXX) -o $(PROFILE14_OBJECTS) $(MOZILLACFLAGS) ${PROFILE14_INCLUDES} -c xpcom_profile.cpp	
++	$(CXX) -o $(PROFILE14_OBJECTS) $(MOZILLACFLAGS) ${PROFILE14_INCLUDES} ${GECKO_INCLUDES} -c xpcom_profile.cpp	
+ 
+ $(PROFILE17_OBJECTS): xpcom_profile.cpp
+-	$(CXX) -o $(PROFILE17_OBJECTS) $(MOZILLACFLAGS) ${PROFILE17_INCLUDES} -c xpcom_profile.cpp	
++	$(CXX) -o $(PROFILE17_OBJECTS) $(MOZILLACFLAGS) ${PROFILE17_INCLUDES} ${GECKO_INCLUDES} -c xpcom_profile.cpp	
+ 
+ $(PROFILE18_OBJECTS): xpcom_profile.cpp
+-	$(CXX) -o $(PROFILE18_OBJECTS) $(MOZILLACFLAGS) ${PROFILE18_INCLUDES} -c xpcom_profile.cpp	
++	$(CXX) -o $(PROFILE18_OBJECTS) $(MOZILLACFLAGS) ${PROFILE18_INCLUDES} ${GECKO_INCLUDES} -c xpcom_profile.cpp	
+ 
+ $(PROFILE14_LIB): $(PROFILE14_OBJECTS)
+-	$(CXX) -o $(PROFILE14_LIB) $(PROFILE14_OBJECTS) $(MOZILLALIBS) ${PROFILE14_LIBS}
++	$(CXX) -o $(PROFILE14_LIB) $(PROFILE14_OBJECTS) $(MOZILLALIBS) ${PROFILE14_LIBS} ${GECKO_LIBS}
+ 
+ $(PROFILE17_LIB): $(PROFILE17_OBJECTS)
+-	$(CXX) -o $(PROFILE17_LIB) $(PROFILE17_OBJECTS) $(MOZILLALIBS) ${PROFILE17_LIBS}
++	$(CXX) -o $(PROFILE17_LIB) $(PROFILE17_OBJECTS) $(MOZILLALIBS) ${PROFILE17_LIBS} ${GECKO_LIBS}
+ 
+ $(PROFILE18_LIB): $(PROFILE18_OBJECTS)
+-	$(CXX) -o $(PROFILE18_LIB) $(PROFILE18_OBJECTS) $(MOZILLALIBS) ${PROFILE18_LIBS}
++	$(CXX) -o $(PROFILE18_LIB) $(PROFILE18_OBJECTS) $(MOZILLALIBS) ${PROFILE18_LIBS} ${GECKO_LIBS}
+ 
+ #
+ # GLX lib
+@@ -264,4 +264,4 @@
+ # Clean
+ #
+ clean:
+-	rm -f *.o *.so
++	rm -f *.o *.so
+\ No newline at end of file
+Index: Eclipse_SWT_PI/gtk/library/build.sh
+===================================================================
+RCS file: /cvsroot/eclipse/org.eclipse.swt/Eclipse_SWT_PI/gtk/library/build.sh,v
+retrieving revision 1.40
+diff -u -r1.40 build.sh
+--- Eclipse_SWT_PI/gtk/library/build.sh	22 Nov 2005 04:48:15 -0000	1.40
++++ Eclipse_SWT_PI/gtk/library/build.sh	29 Sep 2006 13:21:51 -0000
+@@ -87,9 +87,9 @@
+ fi
+ 
+ if [ -z "${GECKO_INCLUDES}" -a -z "${GECKO_LIBS}" ]; then
+-	if [ x`pkg-config --exists mozilla-xpcom && echo YES` = "xYES" ]; then
+-		GECKO_INCLUDES=`pkg-config --cflags mozilla-xpcom`
+-		GECKO_LIBS=`pkg-config --libs mozilla-xpcom`
++	if [ x`pkg-config --exists firefox-xpcom && echo YES` = "xYES" ]; then
++		GECKO_INCLUDES=`pkg-config --cflags firefox-xpcom`
++		GECKO_LIBS=`pkg-config --libs firefox-xpcom`
+ 		export GECKO_INCLUDES
+ 		export GECKO_LIBS
+ 		MAKE_MOZILLA=make_mozilla
+Index: Eclipse_SWT_Mozilla/common/library/xpcom_stats.cpp
+===================================================================
+RCS file: /cvsroot/eclipse/org.eclipse.swt/Eclipse_SWT_Mozilla/common/library/xpcom_stats.cpp,v
+retrieving revision 1.15.2.1
+diff -u -r1.15.2.1 xpcom_stats.cpp
+--- Eclipse_SWT_Mozilla/common/library/xpcom_stats.cpp	26 Jul 2006 16:33:23 -0000	1.15.2.1
++++ Eclipse_SWT_Mozilla/common/library/xpcom_stats.cpp	29 Sep 2006 13:21:49 -0000
+@@ -31,15 +31,14 @@
+ 
+ #ifdef NATIVE_STATS
+ 
+-int XPCOM_nativeFunctionCount = 132;
+-int XPCOM_nativeFunctionCallCount[132];
++int XPCOM_nativeFunctionCount = 131;
++int XPCOM_nativeFunctionCallCount[131];
+ char * XPCOM_nativeFunctionNames[] = {
+ 	"Call",
+ 	"NS_1GetComponentManager",
+ 	"NS_1GetServiceManager",
+-	"NS_1InitEmbedding",
++	"NS_1InitXPCOM3_FUNC",
+ 	"NS_1NewLocalFile",
+-	"NS_1TermEmbedding",
+ 	"PR_1Free",
+ 	"PR_1Malloc",
+ 	"VtblCall__II",
+Index: Eclipse_SWT_Mozilla/common/library/xpcom_profile.h
+===================================================================
+RCS file: /cvsroot/eclipse/org.eclipse.swt/Eclipse_SWT_Mozilla/common/library/xpcom_profile.h,v
+retrieving revision 1.1.2.1
+diff -u -r1.1.2.1 xpcom_profile.h
+--- Eclipse_SWT_Mozilla/common/library/xpcom_profile.h	26 Jul 2006 16:33:23 -0000	1.1.2.1
++++ Eclipse_SWT_Mozilla/common/library/xpcom_profile.h	29 Sep 2006 13:21:48 -0000
+@@ -32,7 +32,7 @@
+ #define NDEBUG
+ 
+ #include "nsCOMPtr.h"
+-#include "nsProfileDirServiceProvider.h"
++#include "profdirserviceprovider/nsProfileDirServiceProvider.h"
+ #include "xpcom_stats.h"
+ 
+ #endif /* INC_xpcom_profile_H */
+Index: Eclipse_SWT_Mozilla/common/library/xpcom.h
+===================================================================
+RCS file: /cvsroot/eclipse/org.eclipse.swt/Eclipse_SWT_Mozilla/common/library/xpcom.h,v
+retrieving revision 1.6.2.1
+diff -u -r1.6.2.1 xpcom.h
+--- Eclipse_SWT_Mozilla/common/library/xpcom.h	26 Jul 2006 16:33:23 -0000	1.6.2.1
++++ Eclipse_SWT_Mozilla/common/library/xpcom.h	29 Sep 2006 13:21:48 -0000
+@@ -32,7 +32,6 @@
+ #define NDEBUG
+ 
+ #include "nsXPCOM.h"
+-#include "nsEmbedAPI.h"	
+ #include "nsEmbedString.h"
+ #include "nsIInputStream.h"
+ #include "nsISupportsUtils.h"
+Index: Eclipse_SWT_Mozilla/common/library/xpcom.cpp
+===================================================================
+RCS file: /cvsroot/eclipse/org.eclipse.swt/Eclipse_SWT_Mozilla/common/library/xpcom.cpp,v
+retrieving revision 1.29.2.1
+diff -u -r1.29.2.1 xpcom.cpp
+--- Eclipse_SWT_Mozilla/common/library/xpcom.cpp	26 Jul 2006 16:33:23 -0000	1.29.2.1
++++ Eclipse_SWT_Mozilla/common/library/xpcom.cpp	29 Sep 2006 13:21:48 -0000
+@@ -85,14 +85,16 @@
+ }
+ #endif
+ 
+-#ifndef NO_NS_1InitEmbedding
+-JNIEXPORT jint JNICALL XPCOM_NATIVE(NS_1InitEmbedding)
+-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
++#ifndef NO_NS_1InitXPCOM3
++JNIEXPORT jint JNICALL XPCOM_NATIVE(NS_1InitXPCOM3)
++	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
+ {
+ 	jint rc = 0;
+-	XPCOM_NATIVE_ENTER(env, that, NS_1InitEmbedding_FUNC);
+-	rc = (jint)NS_InitEmbedding((nsILocalFile *)arg0, (nsIDirectoryServiceProvider *)arg1);
+-	XPCOM_NATIVE_EXIT(env, that, NS_1InitEmbedding_FUNC);
++	XPCOM_NATIVE_ENTER(env, that, NS_1GetComponentRegistrar_FUNC);
++	rc = (jint)NS_InitXPCOM3((nsIServiceManager **)arg0, (nsIFile *)arg1,
++		(nsIDirectoryServiceProvider *)arg2, (nsStaticModuleInfo *)arg3,
++		(PRUint32) arg4);
++	XPCOM_NATIVE_EXIT(env, that, NS_1GetComponentRegistrar_FUNC);
+ 	return rc;
+ }
+ #endif
+@@ -113,18 +115,6 @@
+ }
+ #endif
+ 
+-#ifndef NO_NS_1TermEmbedding
+-JNIEXPORT jint JNICALL XPCOM_NATIVE(NS_1TermEmbedding)
+-	(JNIEnv *env, jclass that)
+-{
+-	jint rc = 0;
+-	XPCOM_NATIVE_ENTER(env, that, NS_1TermEmbedding_FUNC);
+-	rc = (jint)NS_TermEmbedding();
+-	XPCOM_NATIVE_EXIT(env, that, NS_1TermEmbedding_FUNC);
+-	return rc;
+-}
+-#endif
+-
+ #ifndef NO_PR_1Free
+ JNIEXPORT void JNICALL XPCOM_NATIVE(PR_1Free)
+ 	(JNIEnv *env, jclass that, jint arg0)
+Index: Eclipse_SWT_Mozilla/common/library/xpcom_stats.h
+===================================================================
+RCS file: /cvsroot/eclipse/org.eclipse.swt/Eclipse_SWT_Mozilla/common/library/xpcom_stats.h,v
+retrieving revision 1.14.2.1
+diff -u -r1.14.2.1 xpcom_stats.h
+--- Eclipse_SWT_Mozilla/common/library/xpcom_stats.h	26 Jul 2006 16:33:23 -0000	1.14.2.1
++++ Eclipse_SWT_Mozilla/common/library/xpcom_stats.h	29 Sep 2006 13:21:49 -0000
+@@ -41,9 +41,8 @@
+ 	Call_FUNC,
+ 	NS_1GetComponentManager_FUNC,
+ 	NS_1GetServiceManager_FUNC,
+-	NS_1InitEmbedding_FUNC,
++	NS_1InitXPCOM3_FUNC,
+ 	NS_1NewLocalFile_FUNC,
+-	NS_1TermEmbedding_FUNC,
+ 	PR_1Free_FUNC,
+ 	PR_1Malloc_FUNC,
+ 	VtblCall__II_FUNC,
+Index: Eclipse_SWT_Mozilla/gtk/org/eclipse/swt/browser/Browser.java
+===================================================================
+RCS file: /cvsroot/eclipse/org.eclipse.swt/Eclipse_SWT_Mozilla/gtk/org/eclipse/swt/browser/Browser.java,v
+retrieving revision 1.61.2.2
+diff -u -r1.61.2.2 Browser.java
+--- Eclipse_SWT_Mozilla/gtk/org/eclipse/swt/browser/Browser.java	24 Aug 2006 20:19:25 -0000	1.61.2.2
++++ Eclipse_SWT_Mozilla/gtk/org/eclipse/swt/browser/Browser.java	29 Sep 2006 13:21:51 -0000
+@@ -10,15 +10,75 @@
+  *******************************************************************************/
+ package org.eclipse.swt.browser;
+ 
+-import java.io.*;
+-import java.util.*;
+-import org.eclipse.swt.*;
+-import org.eclipse.swt.widgets.*;
+-import org.eclipse.swt.graphics.*;
+-import org.eclipse.swt.internal.*;
+-import org.eclipse.swt.internal.gtk.*;
+-import org.eclipse.swt.internal.mozilla.*;
+-import org.eclipse.swt.layout.*;
++import java.io.File;
++import java.io.UnsupportedEncodingException;
++import java.util.Locale;
++import java.util.StringTokenizer;
++
++import org.eclipse.swt.SWT;
++import org.eclipse.swt.SWTError;
++import org.eclipse.swt.SWTException;
++import org.eclipse.swt.graphics.Point;
++import org.eclipse.swt.graphics.Rectangle;
++import org.eclipse.swt.internal.Callback;
++import org.eclipse.swt.internal.Converter;
++import org.eclipse.swt.internal.Library;
++import org.eclipse.swt.internal.gtk.GdkEvent;
++import org.eclipse.swt.internal.gtk.LONG;
++import org.eclipse.swt.internal.gtk.OS;
++import org.eclipse.swt.internal.mozilla.XPCOM;
++import org.eclipse.swt.internal.mozilla.XPCOMObject;
++import org.eclipse.swt.internal.mozilla.nsEmbedString;
++import org.eclipse.swt.internal.mozilla.nsIAppShell;
++import org.eclipse.swt.internal.mozilla.nsIBaseWindow;
++import org.eclipse.swt.internal.mozilla.nsICategoryManager;
++import org.eclipse.swt.internal.mozilla.nsIComponentManager;
++import org.eclipse.swt.internal.mozilla.nsIComponentRegistrar;
++import org.eclipse.swt.internal.mozilla.nsIContextMenuListener;
++import org.eclipse.swt.internal.mozilla.nsICookie;
++import org.eclipse.swt.internal.mozilla.nsICookieManager;
++import org.eclipse.swt.internal.mozilla.nsID;
++import org.eclipse.swt.internal.mozilla.nsIDOMEvent;
++import org.eclipse.swt.internal.mozilla.nsIDOMMouseEvent;
++import org.eclipse.swt.internal.mozilla.nsIDOMWindow;
++import org.eclipse.swt.internal.mozilla.nsIDirectoryService;
++import org.eclipse.swt.internal.mozilla.nsIDocShell;
++import org.eclipse.swt.internal.mozilla.nsIEmbeddingSiteWindow;
++import org.eclipse.swt.internal.mozilla.nsIFile;
++import org.eclipse.swt.internal.mozilla.nsIIOService;
++import org.eclipse.swt.internal.mozilla.nsIInterfaceRequestor;
++import org.eclipse.swt.internal.mozilla.nsILocalFile;
++import org.eclipse.swt.internal.mozilla.nsIPrefBranch;
++import org.eclipse.swt.internal.mozilla.nsIPrefLocalizedString;
++import org.eclipse.swt.internal.mozilla.nsIPrefService;
++import org.eclipse.swt.internal.mozilla.nsIProperties;
++import org.eclipse.swt.internal.mozilla.nsIRequest;
++import org.eclipse.swt.internal.mozilla.nsIServiceManager;
++import org.eclipse.swt.internal.mozilla.nsISimpleEnumerator;
++import org.eclipse.swt.internal.mozilla.nsISupports;
++import org.eclipse.swt.internal.mozilla.nsISupportsWeakReference;
++import org.eclipse.swt.internal.mozilla.nsITooltipListener;
++import org.eclipse.swt.internal.mozilla.nsIURI;
++import org.eclipse.swt.internal.mozilla.nsIURIContentListener;
++import org.eclipse.swt.internal.mozilla.nsIWeakReference;
++import org.eclipse.swt.internal.mozilla.nsIWebBrowser;
++import org.eclipse.swt.internal.mozilla.nsIWebBrowserChrome;
++import org.eclipse.swt.internal.mozilla.nsIWebBrowserChromeFocus;
++import org.eclipse.swt.internal.mozilla.nsIWebBrowserFocus;
++import org.eclipse.swt.internal.mozilla.nsIWebBrowserStream;
++import org.eclipse.swt.internal.mozilla.nsIWebNavigation;
++import org.eclipse.swt.internal.mozilla.nsIWebProgress;
++import org.eclipse.swt.internal.mozilla.nsIWebProgressListener;
++import org.eclipse.swt.internal.mozilla.nsIWindowWatcher;
++import org.eclipse.swt.layout.FillLayout;
++import org.eclipse.swt.widgets.Composite;
++import org.eclipse.swt.widgets.Display;
++import org.eclipse.swt.widgets.Event;
++import org.eclipse.swt.widgets.Label;
++import org.eclipse.swt.widgets.Listener;
++import org.eclipse.swt.widgets.Menu;
++import org.eclipse.swt.widgets.Shell;
++import org.eclipse.swt.widgets.Widget;
+ 
+ /**
+  * Instances of this class implement the browser user interface
+@@ -175,40 +235,43 @@
+ 		 * - mozilla17profile/mozilla17profile-gcc should succeed for mozilla 1.7.x and firefox
+ 		 * - mozilla18profile/mozilla18profile-gcc should succeed for mozilla 1.8.x (seamonkey)
+ 		 */
+-		try {
+-			Library.loadLibrary ("swt-mozilla14-profile"); //$NON-NLS-1$
+-			usingProfile = true;
+-		} catch (UnsatisfiedLinkError e1) {
+-			try {
+-				Library.loadLibrary ("swt-mozilla17-profile"); //$NON-NLS-1$
+-				usingProfile = true;
+-			} catch (UnsatisfiedLinkError e2) {
+-				try {
+-					Library.loadLibrary ("swt-mozilla14-profile-gcc3"); //$NON-NLS-1$
+-					usingProfile = true;
+-				} catch (UnsatisfiedLinkError e3) {
+-					try {
+-						Library.loadLibrary ("swt-mozilla17-profile-gcc3"); //$NON-NLS-1$
+-						usingProfile = true;
+-					} catch (UnsatisfiedLinkError e4) {
+-						try {
+-							Library.loadLibrary ("swt-mozilla18-profile"); //$NON-NLS-1$
+-							usingProfile = true;
+-						} catch (UnsatisfiedLinkError e5) {
+-							try {
+-								Library.loadLibrary ("swt-mozilla18-profile-gcc3"); //$NON-NLS-1$
+-								usingProfile = true;
+-							} catch (UnsatisfiedLinkError e6) {
+-								/* 
+-								* fail silently, the Browser will still work without profile support
+-								* but will abort any attempts to navigate to HTTPS pages
+-								*/
+-							}
+-						}
+-					}
+-				}
+-			}
+-		}
++//		Library.loadLibrary("swt-mozilla17-profile");
++		// We build the profile stuff without the need for a separate DSO
++		usingProfile = true;
++//		try {
++//			Library.loadLibrary ("swt-mozilla14-profile"); //$NON-NLS-1$
++//			usingProfile = true;
++//		} catch (UnsatisfiedLinkError e1) {
++//			try {
++//				Library.loadLibrary ("swt-mozilla17-profile"); //$NON-NLS-1$
++//				usingProfile = true;
++//			} catch (UnsatisfiedLinkError e2) {
++//				try {
++//					Library.loadLibrary ("swt-mozilla14-profile-gcc3"); //$NON-NLS-1$
++//					usingProfile = true;
++//				} catch (UnsatisfiedLinkError e3) {
++//					try {
++//						Library.loadLibrary ("swt-mozilla17-profile-gcc3"); //$NON-NLS-1$
++//						usingProfile = true;
++//					} catch (UnsatisfiedLinkError e4) {
++//						try {
++//							Library.loadLibrary ("swt-mozilla18-profile"); //$NON-NLS-1$
++//							usingProfile = true;
++//						} catch (UnsatisfiedLinkError e5) {
++//							try {
++//								Library.loadLibrary ("swt-mozilla18-profile-gcc3"); //$NON-NLS-1$
++//								usingProfile = true;
++//							} catch (UnsatisfiedLinkError e6) {
++//								/* 
++//								* fail silently, the Browser will still work without profile support
++//								* but will abort any attempts to navigate to HTTPS pages
++//								*/
++//							}
++//						}
++//					}
++//				}
++//			}
++//		}
+ 
+ 		int /*long*/[] retVal = new int /*long*/[1];
+ 		nsEmbedString pathString = new nsEmbedString(mozillaPath);
+@@ -218,11 +281,11 @@
+ 		if (retVal[0] == 0) error(XPCOM.NS_ERROR_NULL_POINTER);
+ 		
+ 		nsILocalFile localFile = new nsILocalFile(retVal[0]);
+-		rc = XPCOM.NS_InitEmbedding(localFile.getAddress(), 0);
++		rc = XPCOM.NS_InitXPCOM3(0, localFile.getAddress(), 0, 0, 0);
+ 		localFile.Release();
+ 		if (rc != XPCOM.NS_OK) {
+ 			dispose();
+-			SWT.error(SWT.ERROR_NO_HANDLES, null, " [NS_InitEmbedding "+mozillaPath+" error "+rc+"]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
++			SWT.error(SWT.ERROR_NO_HANDLES, null, " [NS_InitXPCOM3 "+mozillaPath+" error "+rc+"]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ 		}
+ 
+ 		rc = XPCOM.NS_GetComponentManager(result);
+@@ -283,7 +346,7 @@
+ 			rc = properties.Get(buffer, nsIFile.NS_IFILE_IID, result);
+ 			if (rc != XPCOM.NS_OK) error(rc);
+ 			if (result[0] == 0) error(XPCOM.NS_NOINTERFACE);
+-			properties.Release();
++			// properties.Release() is now after the Set below
+ 
+ 			nsIFile profileDir = new nsIFile(result[0]);
+ 			result[0] = 0;
+@@ -305,24 +368,15 @@
+ 			pathString.dispose(); //
+ 
+ 			profileDir = new nsIFile(result[0]);
+-			result[0] = 0;
+-
+-			rc = XPCOM_PROFILE.NS_NewProfileDirServiceProvider(true, result);
++			
++			// Set the profile dir property so that it's initialized for
++			// things like password manager and https
++			buffer = Converter.wcsToMbcs(null, XPCOM.NS_APP_USER_PROFILE_50_DIR, true);
++			rc = properties.Set(buffer, profileDir.getAddress());
+ 			if (rc != XPCOM.NS_OK) error(rc);
+-			if (result[0] == 0) error(XPCOM.NS_NOINTERFACE);
+-
+-			final int /*long*/ dirServiceProvider = result[0];
++			properties.Release();
++			
+ 			result[0] = 0;
+-			rc = XPCOM_PROFILE.ProfileDirServiceProvider_Register(dirServiceProvider);
+-			if (rc != XPCOM.NS_OK) error(rc);
+-			rc = XPCOM_PROFILE.ProfileDirServiceProvider_SetProfileDir(dirServiceProvider, profileDir.getAddress());
+-			if (rc != XPCOM.NS_OK) error(rc);
+-
+-			getDisplay().addListener(SWT.Dispose, new Listener() {
+-				public void handleEvent(Event e) {
+-					XPCOM_PROFILE.ProfileDirServiceProvider_Shutdown(dirServiceProvider);
+-				}
+-			});
+ 		}
+ 
+ 		/*
+@@ -1354,27 +1408,6 @@
+ 	tip = null;
+ 
+ 	BrowserCount--;
+-	/*
+-	* This code is intentionally commented.  It is not possible to reinitialize
+-	* Mozilla once it has been terminated.  NS_InitEmbedding always fails after
+-	* NS_TermEmbedding has been called.  The workaround is to call NS_InitEmbedding
+-	* once and never call NS_TermEmbedding.
+-	*/
+-//	if (BrowserCount == 0) {
+-//		if (AppShell != null) {
+-//			// Shutdown the appshell service.
+-//			rc = AppShell.Spindown();
+-//			if (rc != XPCOM.NS_OK) error(rc);
+-//			AppShell.Release();
+-//			AppShell = null;
+-//		}
+-//		WindowCreator.Release();
+-//		WindowCreator = null;
+-//		PromptService.Release();
+-//		PromptService = null;
+-//		XPCOM.NS_TermEmbedding();
+-//		mozilla = false;
+-//	}
+ }
+ 
+ void Activate() {
+Index: Eclipse_SWT_Mozilla/common/org/eclipse/swt/internal/mozilla/XPCOM.java
+===================================================================
+RCS file: /cvsroot/eclipse/org.eclipse.swt/Eclipse_SWT_Mozilla/common/org/eclipse/swt/internal/mozilla/XPCOM.java,v
+retrieving revision 1.48.2.1
+diff -u -r1.48.2.1 XPCOM.java
+--- Eclipse_SWT_Mozilla/common/org/eclipse/swt/internal/mozilla/XPCOM.java	26 Jul 2006 16:33:23 -0000	1.48.2.1
++++ Eclipse_SWT_Mozilla/common/org/eclipse/swt/internal/mozilla/XPCOM.java	29 Sep 2006 13:21:49 -0000
+@@ -89,6 +89,7 @@
+ 	public static final int NS_ERROR_HTMLPARSER_UNRESOLVEDDTD = 0x804e03f3;
+ 	public static final int NS_ERROR_FILE_NOT_FOUND = 0x80520012;
+ 	public static final String NS_APP_APPLICATION_REGISTRY_DIR = "AppRegD"; //$NON-NLS-1$
++	public static final String NS_APP_USER_PROFILE_50_DIR = "ProfD"; //$NON-NLS-1$
+ 
+ public static final native void memmove(nsID dest, int /*long*/ src, int nbytes);
+ public static final native void memmove(int /*long*/ dest, nsID src, int nbytes);
+@@ -103,7 +104,6 @@
+ public static final native void memmove(byte[] dest, char[] src, int nbytes);
+ public static final native int NS_GetComponentManager(int /*long*/[] result);
+ public static final native int NS_GetServiceManager(int /*long*/[] result);
+-public static final native int NS_InitEmbedding(int /*long*/ aMozBinDirectory, int /*long*/ aAppFileLocProvider);
++public static final native int NS_InitXPCOM3(int /*long*/ result, int /*long*/ binDirectory, int /*long*/ appFileLocationProvider, int /*long*/ staticComponents, int componentCount);
+ public static final native int NS_NewLocalFile(int /*long*/ path, boolean followLinks, int /*long*/[] result);
+-public static final native int NS_TermEmbedding();
+ public static final native int strlen_PRUnichar(int /*long*/ s);

eclipse-updatehomedir.patch:

Index: eclipse-updatehomedir.patch
===================================================================
RCS file: eclipse-updatehomedir.patch
diff -N eclipse-updatehomedir.patch
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ eclipse-updatehomedir.patch	26 Jun 2007 16:01:53 -0000	1.11
@@ -0,0 +1,256 @@
+Index: src/org/eclipse/update/internal/ui/wizards/InstallWizard2.java
+===================================================================
+RCS file: /cvsroot/eclipse/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/InstallWizard2.java,v
+retrieving revision 1.12.2.1
+diff -u -r1.12.2.1 InstallWizard2.java
+--- plugins/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/InstallWizard2.java	23 Aug 2006 03:55:35 -0000	1.12.2.1
++++ plugins/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/InstallWizard2.java	25 Sep 2006 22:38:03 -0000
+@@ -153,7 +153,7 @@
+ 		addPage(licensePage);
+ 		optionalFeaturesPage = new OptionalFeaturesPage(config);
+ 		addPage(optionalFeaturesPage);
+-		targetPage = new TargetPage(config);
++		targetPage = new TargetPage(config, isUpdate);
+ 		addPage(targetPage);
+ 	}
+ 
+Index: src/org/eclipse/update/internal/ui/wizards/TargetPage.java
+===================================================================
+RCS file: /cvsroot/eclipse/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/TargetPage.java,v
+retrieving revision 1.81.2.1
+diff -u -r1.81.2.1 TargetPage.java
+--- plugins/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/TargetPage.java	23 Aug 2006 03:55:35 -0000	1.81.2.1
++++ plugins/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/TargetPage.java	25 Sep 2006 22:38:03 -0000
+@@ -18,6 +18,9 @@
+ import java.util.HashSet;
+ import java.util.Iterator;
+ 
++import org.eclipse.core.runtime.CoreException;
++import org.eclipse.core.runtime.IStatus;
++import org.eclipse.core.runtime.Platform;
+ import org.eclipse.jface.dialogs.Dialog;
+ import org.eclipse.jface.dialogs.IDialogSettings;
+ import org.eclipse.jface.resource.ImageDescriptor;
+@@ -92,6 +95,7 @@
+     private Label installLocation;
+     private Button changeLocation;
+     static HashSet added;
++    private boolean isUpdate; // whether the wizard is updating a feature or installing a new one
+ 
+ 	class JobsContentProvider
+ 		extends DefaultContentProvider
+@@ -236,13 +240,14 @@
+ 	/**
+ 	 * Constructor for ReviewPage2
+ 	 */
+-	public TargetPage(IInstallConfiguration config) {
++	public TargetPage(IInstallConfiguration config, boolean isUpdate) {
+ 		super("Target"); //$NON-NLS-1$
+ 		setTitle(UpdateUIMessages.InstallWizard_TargetPage_title); 
+ 		setDescription(UpdateUIMessages.InstallWizard_TargetPage_desc); 
+ 		this.config = config;
+ 		UpdateUI.getDefault().getLabelProvider().connect(this);
+ 		configListener = new ConfigListener();
++		this.isUpdate = isUpdate;
+ 	}
+ 
+ 	public void setJobs(IInstallFeatureOperation[] jobs) {
+@@ -273,7 +278,7 @@
+         label.setLayoutData(gd);
+ 
+ 		installLocation = new Label(client, SWT.NULL);
+-        installLocation.setText("foo"); //$NON-NLS-1$
++        installLocation.setText(""); //$NON-NLS-1$
+         gd = new GridData(GridData.FILL_HORIZONTAL);
+         installLocation.setLayoutData(gd);
+         
+@@ -656,12 +661,45 @@
+ 				continue;
+ 			}
+ 
+-			jobs[i].setTargetSite(getFirstTargetSite(jobs[i]));
++			IConfiguredSite csite = getFirstTargetSite(jobs[i]);
++			if (csite == null && Platform.getInstallLocation().isReadOnly() && isUpdate == false) {
++				// there are no updateable sites, the installation location is read-only and we are installing a new feature
++				// make an update site in the user's home direcotry
++				File site = new File(System.getProperty("user.home") + File.separator + ".eclipse" + File.separator + //$NON-NLS-1$ //$NON-NLS-2$
++					Platform.getProduct().getId() + File.separator + "updates"); //$NON-NLS-1$
++				
++				try {
++					csite = config.createConfiguredSite(site);
++					config.addConfiguredSite(csite);
++					IStatus status = csite.verifyUpdatableStatus();
++					if (!status.isOK())
++						throw new CoreException(status);
++					
++				} catch (CoreException e) {
++					// there was a problem, the user must choose an installation site
++					csite = null;
++					// no need to check if the directory exists because File.delete() returns false if it's not there
++					deleteDir(site);
++				}
++			}
+ 
++			jobs[i].setTargetSite(csite);
+ 		}
+ 
+ 	}
+-	
++
++	private boolean deleteDir(File dir) {
++        if (dir.isDirectory()) {
++            String[] files = dir.list();
++            for (int i=0; i < files.length; i++) {
++                if (!deleteDir(new File(dir, files[i]))) {
++                    return false;
++                }
++            }
++        }
++        return dir.delete();
++    }
++
+ 	private IConfiguredSite getMostReceantlyUsedSite() {
+ 		IDialogSettings master = UpdateUI.getDefault().getDialogSettings();
+ 		IDialogSettings section = master.getSection(TargetSiteDialog.MOST_RECEANTLY_USED_SITE_URL);
+@@ -696,7 +734,7 @@
+ 		IConfiguredSite[] sites = config.getConfiguredSites();
+ 		for (int i = 0; i < sites.length; i++) {
+ 			IConfiguredSite csite = sites[i];
+-			if (getSiteVisibility(csite, job)) 
++			if (getSiteVisibility(csite, job) && csite.getSite().getCurrentConfiguredSite().verifyUpdatableStatus().isOK())
+ 				return csite;
+ 		}
+ 		return null;
+Index: src/org/eclipse/update/search/UpdateSearchRequest.java
+===================================================================
+RCS file: /cvsroot/eclipse/org.eclipse.update.core/src/org/eclipse/update/search/UpdateSearchRequest.java,v
+retrieving revision 1.31
+diff -u -r1.31 UpdateSearchRequest.java
+--- plugins/org.eclipse.update.core/src/org/eclipse/update/search/UpdateSearchRequest.java	8 Aug 2006 20:21:42 -0000	1.31
++++ plugins/org.eclipse.update.core/src/org/eclipse/update/search/UpdateSearchRequest.java	25 Sep 2006 22:38:05 -0000
+@@ -282,6 +282,10 @@
+ 					// currently, the next conditional is only executed (qsite!=null) when
+ 					// running an update search. 
+ 					if (qsite != null && searchFeatureProvidedSites) {
++						// do not update features that are installed in read-only locations
++						IFeature feature = query.getFeature();
++						if (feature != null && !feature.getSite().getCurrentConfiguredSite().verifyUpdatableStatus().isOK())
++							continue;
+ 						// check for mapping
+ 						IUpdateSiteAdapter mappedSite = getMappedSite(updatePolicy, qsite);
+ 						// when there is no mapped site the feature is not updatable
+Index: src/org/eclipse/update/search/IUpdateSearchQuery.java
+===================================================================
+RCS file: /cvsroot/eclipse/org.eclipse.update.core/src/org/eclipse/update/search/IUpdateSearchQuery.java,v
+retrieving revision 1.8
+diff -u -r1.8 IUpdateSearchQuery.java
+--- plugins/org.eclipse.update.core/src/org/eclipse/update/search/IUpdateSearchQuery.java	1 Mar 2005 20:29:16 -0000	1.8
++++ plugins/org.eclipse.update.core/src/org/eclipse/update/search/IUpdateSearchQuery.java	25 Sep 2006 22:38:05 -0000
+@@ -7,6 +7,7 @@
+  *
+  * Contributors:
+  *     IBM Corporation - initial API and implementation
++ *     Red Hat Incorporated - getFeature() API addition
+  *******************************************************************************/
+ package org.eclipse.update.search;
+ 
+@@ -50,4 +51,12 @@
+  * @param monitor a progress monitor to report search progress within the provided site
+  */
+ 	public void run(ISite site, String [] categoriesToSkip, IUpdateSearchFilter filter, IUpdateSearchResultCollector collector, IProgressMonitor monitor);
++	
++/**
++ * Returns IFeature associated with the IUpdateSearchQuery
++ * 
++ * @return the IFeature that is associated with the IUpdateSearchQuery
++ * @since 3.2
++ */
++	public IFeature getFeature();
+ }
+Index: src/org/eclipse/update/internal/search/OptionalFeatureSearchCategory.java
+===================================================================
+RCS file: /cvsroot/eclipse/org.eclipse.update.core/src/org/eclipse/update/internal/search/OptionalFeatureSearchCategory.java,v
+retrieving revision 1.9
+diff -u -r1.9 OptionalFeatureSearchCategory.java
+--- plugins/org.eclipse.update.core/src/org/eclipse/update/internal/search/OptionalFeatureSearchCategory.java	11 Apr 2006 15:47:09 -0000	1.9
++++ plugins/org.eclipse.update.core/src/org/eclipse/update/internal/search/OptionalFeatureSearchCategory.java	25 Sep 2006 22:38:05 -0000
+@@ -76,6 +76,13 @@
+ 		public IQueryUpdateSiteAdapter getQuerySearchSite() {
+ 			return null;
+ 		}
++		
++		/* (non-Javadoc)
++		 * @see org.eclipse.update.internal.ui.search.ISearchQuery#getFeature()
++		 */
++		public IFeature getFeature() {
++				return null;
++		}
+ 	}
+ 
+ 	public void addVersionedIdentifier(VersionedIdentifier vid) {
+Index: src/org/eclipse/update/internal/search/UpdatesSearchCategory.java
+===================================================================
+RCS file: /cvsroot/eclipse/org.eclipse.update.core/src/org/eclipse/update/internal/search/UpdatesSearchCategory.java,v
+retrieving revision 1.27
+diff -u -r1.27 UpdatesSearchCategory.java
+--- plugins/org.eclipse.update.core/src/org/eclipse/update/internal/search/UpdatesSearchCategory.java	11 Apr 2006 15:47:09 -0000	1.27
++++ plugins/org.eclipse.update.core/src/org/eclipse/update/internal/search/UpdatesSearchCategory.java	25 Sep 2006 22:38:05 -0000
+@@ -285,6 +285,10 @@
+ 			monitor.worked(1);
+ 			monitor.done();
+ 		}
++		
++		public IFeature getFeature() {
++			return candidate;
++		}	
+ 	}
+ 
+ 	private ArrayList candidates;
+Index: src/org/eclipse/update/internal/search/SiteSearchCategory.java
+===================================================================
+RCS file: /cvsroot/eclipse/org.eclipse.update.core/src/org/eclipse/update/internal/search/SiteSearchCategory.java,v
+retrieving revision 1.14.2.1
+diff -u -r1.14.2.1 SiteSearchCategory.java
+--- plugins/org.eclipse.update.core/src/org/eclipse/update/internal/search/SiteSearchCategory.java	18 Aug 2006 23:31:21 -0000	1.14.2.1
++++ plugins/org.eclipse.update.core/src/org/eclipse/update/internal/search/SiteSearchCategory.java	25 Sep 2006 22:38:05 -0000
+@@ -133,6 +133,14 @@
+ 		public IQueryUpdateSiteAdapter getQuerySearchSite() {
+ 			return null;
+ 		}
++		
++		/* (non-Javadoc)
++		 * @see org.eclipse.update.internal.ui.search.ISearchQuery#getFeature()
++		 */
++		public IFeature getFeature() {
++				return null;
++		}
++		
+ 	}
+ 
+ 	public SiteSearchCategory() {
+Index: src/org/eclipse/update/internal/core/ConfiguredSite.java
+===================================================================
+RCS file: /cvsroot/eclipse/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfiguredSite.java,v
+retrieving revision 1.96
+diff -u -r1.96 ConfiguredSite.java
+--- plugins/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfiguredSite.java	30 Mar 2006 02:34:37 -0000	1.96
++++ plugins/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfiguredSite.java	25 Sep 2006 22:38:05 -0000
+@@ -35,6 +35,7 @@
+ import org.eclipse.core.runtime.IProgressMonitor;
+ import org.eclipse.core.runtime.IStatus;
+ import org.eclipse.core.runtime.MultiStatus;
++import org.eclipse.core.runtime.Platform;
+ import org.eclipse.osgi.util.NLS;
+ import org.eclipse.update.configuration.IActivity;
+ import org.eclipse.update.configuration.IConfiguredSite;
+@@ -803,7 +804,9 @@
+ 			}
+ 		} else {
+ 			File container = getSiteContaining(file);
+-			if (container != null) {
++			// allow the install location to pass even though it looks like this
++			// site is contained in another site
++			if (container != null && !siteLocation.equals(Platform.getInstallLocation().getURL().getFile())) {
+ 				verifyStatus = createStatus(IStatus.ERROR, NLS.bind(Messages.ConfiguredSite_ContainedInAnotherSite, (new String[] { container.getAbsolutePath() })), null);
+ 				return verifyStatus;
+ 			}

eclipse-usebuiltlauncher.patch:

Index: eclipse-usebuiltlauncher.patch
===================================================================
RCS file: eclipse-usebuiltlauncher.patch
diff -N eclipse-usebuiltlauncher.patch
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ eclipse-usebuiltlauncher.patch	26 Jun 2007 16:01:53 -0000	1.6
@@ -0,0 +1,158 @@
+--- features/org.eclipse.platform/build.xml.orig	2006-06-01 15:45:39.000000000 -0400
++++ features/org.eclipse.platform/build.xml	2006-06-01 15:45:08.000000000 -0400
+@@ -394,6 +394,11 @@
+ 		<eclipse.idReplacer featureFilePath="${feature.base}/features/org.eclipse.platform_3.2.0.v20060525a-gszCg6CPhlzUdGe/feature.xml"  selfVersion="3.2.0.v20060525a-gszCg6CPhlzUdGe" featureIds="org.eclipse.rcp,3.2.0.v20060511-2000-wbi2Ul87V-MbMKc," pluginIds="com.jcraft.jsch,0.1.28,org.apache.ant,1.6.5,org.apache.lucene,1.4.103.v20060510a,org.eclipse.ant.core,3.1.100.v20060511,org.eclipse.compare,3.2.0.v20060525,org.eclipse.core.boot,3.1.100.v20060511,org.eclipse.core.filebuffers,3.2.0.v20060518-0800,org.eclipse.core.filesystem,1.0.0.v20060510,org.eclipse.core.resources,3.2.0.v20060512,org.eclipse.core.resources.compatibility,3.2.0.v20060510,org.eclipse.core.runtime.compatibility,3.1.100.v20060511,org.eclipse.osgi.services,3.1.100.v20060511,org.eclipse.osgi.util,3.1.100.v20060511,org.eclipse.core.variables,3.1.100.v20060517,org.eclipse.debug.core,3.2.0.v20060525,org.eclipse.debug.ui,3.2.0.v20060525a,org.eclipse.help.webapp,3.2.0.v20060510b,org.eclipse.help.base,3.2.0.v2006051!
 0a,org.eclipse.help.ui,3.2.0.v20060510b,org.eclipse.help.appserver,3.1.100.v20060510b,org.eclipse.ltk.core.refactoring,3.2.0.v20060526-0010,org.eclipse.ltk.ui.refactoring,3.2.0.v20060526-0010,org.eclipse.platform,3.2.0.v20060525,org.eclipse.platform.doc.user,3.2.0.v20060525,org.eclipse.search,3.2.0.v20060526-0010,org.eclipse.team.core,3.2.0.I200605181830,org.eclipse.team.cvs.core,3.2.0.I20060510,org.eclipse.team.cvs.ssh,3.2.0.I20060510,org.eclipse.team.cvs.ssh2,3.2.0.I20060510,org.eclipse.team.cvs.ui,3.2.0.I200605251705,org.eclipse.team.ui,3.2.0.I200605181830,org.eclipse.tomcat,4.1.130.v20060510a,org.eclipse.text,3.2.0.v20060518-0800,org.eclipse.jface.text,3.2.0.v20060518-0800,org.eclipse.ui.console,3.1.100.v20060518,org.eclipse.ui.presentations.r21,3.2.0.I20060511-2000,org.eclipse.ui.intro,3.2.0.v20060518,org.eclipse.ui.intro.universal,3.2.0.v20060510b,org.eclipse.ui.cheatsheets,3.2.0.v20060516,org.eclipse.ui.browser,3.2.0.v20060518,org.eclipse.ui.navigator,3.2.0.I20060526!
 -0010,org.eclipse.ui.navigator.resources,3.2.0.I20060511-2000,!
 org.ecli
pse.ui.workbench.texteditor,3.2.0.v20060526-0010,org.eclipse.ui.views,3.2.0.I20060511-2000,org.eclipse.ui.editors,3.2.0.v20060518-0800,org.eclipse.ui.forms,3.2.0.v20060510,org.eclipse.ui.externaltools,3.1.100.v20060511,org.eclipse.ui.ide,3.2.0.I20060519-0010,org.eclipse.update.core,3.2.0.v20060511,org.eclipse.update.scheduler,3.2.0.v20060511,org.eclipse.update.ui,3.2.0.v20060511,org.eclipse.ui.workbench.compatibility,3.2.0.I20060511-2000,org.eclipse.core.filesystem.hpux.ia64_32,1.0.0.v20060510,org.eclipse.core.filesystem.hpux.PA_RISC,1.0.0.v20060510,org.eclipse.core.filesystem.linux.x86,1.0.0.v20060510,org.eclipse.core.filesystem.linux.x86_64,1.0.0.v20060510,org.eclipse.core.filesystem.macosx,1.0.0.v20060502,org.eclipse.core.filesystem.qnx.x86,1.0.0.v20060510,org.eclipse.core.filesystem.win32.x86,1.0.0.v20060510,org.eclipse.core.resources.win32,3.2.0.v20060510,org.eclipse.ui.carbon,3.2.0.I20060519-0010,org.eclipse.ui.win32,3.2.0.I20060511-2000,org.eclipse.update.core.linux,3!
 .2.0.v20060511,org.eclipse.update.core.win32,3.2.0.v20060511,org.eclipse.ui.views.properties.tabbed,3.2.0.I20060511-0800a,org.eclipse.core.runtime.compatibility.registry,3.2.0.v20060426,"/>
+ 		<antcall target="rootFiles${os}_${ws}_${arch}"/>
+ 	</target>
++	<target name="copybuiltlauncher" if="libsconfig">
++		<copy todir="${feature.base}/${os}.${ws}.${arch}/${collectingFolder}" failonerror="true" overwrite="true">
++			<fileset dir="${basedir}/../../launchertmp" includes="**"			/>
++		</copy>
++	</target>
+ 	<target name="rootFileswin32_win32_x86">
+ 		<mkdir dir="${feature.base}/win32.win32.x86/${collectingFolder}"/>
+ 		<copy todir="${feature.base}/win32.win32.x86/${collectingFolder}" failonerror="true" overwrite="true">
+@@ -402,6 +407,8 @@
+ 			<fileset dir="${basedir}/rootfiles" includes="**"			/>
+ 			<fileset dir="${basedir}/../../plugins/org.eclipse.platform" includes="startup.jar"			/>
+ 		</copy>
++		<!-- Copy the launcher that we built over the pre-built binary -->
++		<antcall target="copybuiltlauncher" />
+ 		<chmod perm="755" dir="${feature.base}/win32.win32.x86/${collectingFolder}" includes="eclipse" /> 
+ 	</target>
+ 	<target name="rootFilesmacosx_carbon_ppc">
+@@ -412,6 +419,8 @@
+ 			<fileset dir="${basedir}/rootfiles" includes="**"			/>
+ 			<fileset dir="${basedir}/../../plugins/org.eclipse.platform" includes="startup.jar"			/>
+ 		</copy>
++		<!-- Copy the launcher that we built over the pre-built binary -->
++		<antcall target="copybuiltlauncher" />
+ 		<chmod perm="755" dir="${feature.base}/macosx.carbon.ppc/${collectingFolder}" includes="eclipse" /> 
+ 		<chmod perm="755" dir="${feature.base}/macosx.carbon.ppc/${collectingFolder}" includes="Eclipse.app/Contents/MacOS/eclipse,Eclipse.app/Contents/MacOS/java_swt" /> 
+ 		<exec executable="ln" dir="${feature.base}/macosx.carbon.ppc/${collectingFolder}" os="Linux">
+@@ -429,6 +438,8 @@
+ 			<fileset dir="${basedir}/rootfiles" includes="**"			/>
+ 			<fileset dir="${basedir}/../../plugins/org.eclipse.platform" includes="startup.jar"			/>
+ 		</copy>
++		<!-- Copy the launcher that we built over the pre-built binary -->
++		<antcall target="copybuiltlauncher" />
+ 		<chmod perm="755" dir="${feature.base}/linux.gtk.x86/${collectingFolder}" includes="eclipse" /> 
+ 		<chmod perm="755" dir="${feature.base}/linux.gtk.x86/${collectingFolder}" includes="*.so*" /> 
+ 	</target>
+@@ -440,6 +451,8 @@
+ 			<fileset dir="${basedir}/rootfiles" includes="**"			/>
+ 			<fileset dir="${basedir}/../../plugins/org.eclipse.platform" includes="startup.jar"			/>
+ 		</copy>
++		<!-- Copy the launcher that we built over the pre-built binary -->
++		<antcall target="copybuiltlauncher" />
+ 		<chmod perm="755" dir="${feature.base}/linux.gtk.ppc/${collectingFolder}" includes="*.so*" /> 
+ 		<chmod perm="755" dir="${feature.base}/linux.gtk.ppc/${collectingFolder}" includes="eclipse" /> 
+ 	</target>
+@@ -451,6 +464,8 @@
+ 			<fileset dir="${basedir}/rootfiles" includes="**"			/>
+ 			<fileset dir="${basedir}/../../plugins/org.eclipse.platform" includes="startup.jar"			/>
+ 		</copy>
++		<!-- Copy the launcher that we built over the pre-built binary -->
++		<antcall target="copybuiltlauncher" />
+ 		<chmod perm="755" dir="${feature.base}/linux.gtk.ppc64/${collectingFolder}" includes="*.so*" /> 
+ 		<chmod perm="755" dir="${feature.base}/linux.gtk.ppc64/${collectingFolder}" includes="eclipse" /> 
+ 	</target>
+@@ -463,6 +478,8 @@
+ 			<fileset dir="${basedir}/rootfiles" includes="**"			/>
+ 			<fileset dir="${basedir}/../../plugins/org.eclipse.platform" includes="startup.jar"			/>
+ 		</copy>
++		<!-- Copy the launcher that we built over the pre-built binary -->
++		<antcall target="copybuiltlauncher" />
+ 		<chmod perm="755" dir="${feature.base}/linux.gtk.x86_64/${collectingFolder}" includes="eclipse" /> 
+ 		<chmod perm="755" dir="${feature.base}/linux.gtk.x86_64/${collectingFolder}" includes="*.so*" /> 
+ 	</target>
+@@ -474,6 +491,8 @@
+ 			<fileset dir="${basedir}/rootfiles" includes="**"			/>
+ 			<fileset dir="${basedir}/../../plugins/org.eclipse.platform" includes="startup.jar"			/>
+ 		</copy>
++		<!-- Copy the launcher that we built over the pre-built binary -->
++		<antcall target="copybuiltlauncher" />
+ 		<chmod perm="755" dir="${feature.base}/linux.gtk.ia64/${collectingFolder}" includes="eclipse" /> 
+ 	</target>
+ 	<target name="rootFileslinux_motif_x86">
+@@ -487,6 +506,8 @@
+ 			<fileset dir="${basedir}/rootfiles" includes="**"			/>
+ 			<fileset dir="${basedir}/../../plugins/org.eclipse.platform" includes="startup.jar"			/>
+ 		</copy>
++		<!-- Copy the launcher that we built over the pre-built binary -->
++		<antcall target="copybuiltlauncher" />
+ 		<chmod perm="755" dir="${feature.base}/linux.motif.x86/${collectingFolder}" includes="eclipse" /> 
+ 		<chmod perm="755" dir="${feature.base}/linux.motif.x86/${collectingFolder}" includes="*.so*" /> 
+ 	</target>
+@@ -498,6 +519,8 @@
+ 			<fileset dir="${basedir}/rootfiles" includes="**"			/>
+ 			<fileset dir="${basedir}/../../plugins/org.eclipse.platform" includes="startup.jar"			/>
+ 		</copy>
++		<!-- Copy the launcher that we built over the pre-built binary -->
++		<antcall target="copybuiltlauncher" />
+ 		<chmod perm="755" dir="${feature.base}/solaris.gtk.sparc/${collectingFolder}" includes="eclipse" /> 
+ 	</target>
+ 	<target name="rootFilessolaris_gtk_x86">
+@@ -508,6 +531,8 @@
+ 			<fileset dir="${basedir}/rootfiles" includes="**"			/>
+ 			<fileset dir="${basedir}/../../plugins/org.eclipse.platform" includes="startup.jar"			/>
+ 		</copy>
++		<!-- Copy the launcher that we built over the pre-built binary -->
++		<antcall target="copybuiltlauncher" />
+ 		<chmod perm="755" dir="${feature.base}/solaris.gtk.x86/${collectingFolder}" includes="eclipse" /> 
+ 	</target>
+ 	<target name="rootFilessolaris_motif_sparc">
+@@ -518,6 +543,8 @@
+ 			<fileset dir="${basedir}/rootfiles" includes="**"			/>
+ 			<fileset dir="${basedir}/../../plugins/org.eclipse.platform" includes="startup.jar"			/>
+ 		</copy>
++		<!-- Copy the launcher that we built over the pre-built binary -->
++		<antcall target="copybuiltlauncher" />
+ 		<chmod perm="755" dir="${feature.base}/solaris.motif.sparc/${collectingFolder}" includes="eclipse" /> 
+ 	</target>
+ 	<target name="rootFilesaix_motif_ppc">
+@@ -528,6 +555,8 @@
+ 			<fileset dir="${basedir}/rootfiles" includes="**"			/>
+ 			<fileset dir="${basedir}/../../plugins/org.eclipse.platform" includes="startup.jar"			/>
+ 		</copy>
++		<!-- Copy the launcher that we built over the pre-built binary -->
++		<antcall target="copybuiltlauncher" />
+ 		<chmod perm="755" dir="${feature.base}/aix.motif.ppc/${collectingFolder}" includes="eclipse" /> 
+ 	</target>
+ 	<target name="rootFileshpux_motif_PA_RISC">
+@@ -538,6 +567,8 @@
+ 			<fileset dir="${basedir}/rootfiles" includes="**"			/>
+ 			<fileset dir="${basedir}/../../plugins/org.eclipse.platform" includes="startup.jar"			/>
+ 		</copy>
++		<!-- Copy the launcher that we built over the pre-built binary -->
++		<antcall target="copybuiltlauncher" />
+ 		<chmod perm="755" dir="${feature.base}/hpux.motif.PA_RISC/${collectingFolder}" includes="eclipse" /> 
+ 	</target>
+ 	<target name="rootFileshpux_motif_ia64">
+@@ -548,6 +579,8 @@
+ 			<fileset dir="${basedir}/rootfiles" includes="**"			/>
+ 			<fileset dir="${basedir}/../../plugins/org.eclipse.platform" includes="startup.jar"			/>
+ 		</copy>
++		<!-- Copy the launcher that we built over the pre-built binary -->
++		<antcall target="copybuiltlauncher" />
+ 		<chmod perm="755" dir="${feature.base}/hpux.motif.ia64/${collectingFolder}" includes="eclipse" /> 
+ 	</target>
+ 	<target name="rootFileshpux_motif_ia64_32">
+@@ -558,6 +591,8 @@
+ 			<fileset dir="${basedir}/rootfiles" includes="**"			/>
+ 			<fileset dir="${basedir}/../../plugins/org.eclipse.platform" includes="startup.jar"			/>
+ 		</copy>
++		<!-- Copy the launcher that we built over the pre-built binary -->
++		<antcall target="copybuiltlauncher" />
+ 		<chmod perm="755" dir="${feature.base}/hpux.motif.ia64_32/${collectingFolder}" includes="eclipse" /> 
+ 	</target>
+ 	<target name="rootFilesqnx_photon_x86">
+@@ -568,6 +603,8 @@
+ 			<fileset dir="${basedir}/rootfiles" includes="**"			/>
+ 			<fileset dir="${basedir}/../../plugins/org.eclipse.platform" includes="startup.jar"			/>
+ 		</copy>
++		<!-- Copy the launcher that we built over the pre-built binary -->
++		<antcall target="copybuiltlauncher" />
+ 		<chmod perm="755" dir="${feature.base}/qnx.photon.x86/${collectingFolder}" includes="eclipse" /> 
+ 	</target>
+ 	<target name="rootFilesgroup_group_group">

eclipse-webapp-tomcat55.patch:

Index: eclipse-webapp-tomcat55.patch
===================================================================
RCS file: eclipse-webapp-tomcat55.patch
diff -N eclipse-webapp-tomcat55.patch
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ eclipse-webapp-tomcat55.patch	26 Jun 2007 16:01:53 -0000	1.7
@@ -0,0 +1,90 @@
+Index: build.xml
+===================================================================
+RCS file: /cvsroot/eclipse/org.eclipse.help.webapp/build.xml,v
+retrieving revision 1.71
+diff -u -r1.71 build.xml
+--- build.xml	16 Mar 2006 21:57:15 -0000	1.71
++++ build.xml	5 Jul 2006 15:48:12 -0000
+@@ -84,8 +84,8 @@
+ 				<pathelement path="../org.eclipse.help"/>
+ 				<pathelement path="../org.eclipse.help.base"/>
+ 				<pathelement path="../org.eclipse.help.appserver"/>
+-				<pathelement path="../org.eclipse.tomcat/servlet.jar"/>
+-				<pathelement path="../org.eclipse.tomcat/jasper-runtime.jar"/>
++				<pathelement path="../org.eclipse.tomcat/lib/servletapi5.jar"/>
++				<pathelement path="../org.eclipse.tomcat/lib/jasper-runtime.jar"/>
+ 			</classpath>
+ 			<src path="src/"			/>
+ 			<compilerarg line="-log ${temp.folder}/webapp.jar.bin${logExtension}" compiler="org.eclipse.jdt.core.JDTCompilerAdapter"/> 
+@@ -141,8 +141,12 @@
+ 				<pathelement path="../org.eclipse.help"/>
+ 				<pathelement path="../org.eclipse.help.base"/>
+ 				<pathelement path="../org.eclipse.help.appserver"/>
+-				<pathelement path="../org.eclipse.tomcat/servlet.jar"/>
+-				<pathelement path="../org.eclipse.tomcat/jasper-runtime.jar"/>
++				<pathelement path="../org.eclipse.tomcat/lib/servletapi5.jar"/>
++				<pathelement path="../org.eclipse.tomcat/lib/jasper-runtime.jar"/>
++				<pathelement path="../org.eclipse.tomcat/lib/tomcat-util.jar"/>
++				<pathelement path="../org.eclipse.tomcat/lib/jspapi.jar"/>
++				<pathelement path="../org.eclipse.tomcat/lib/commons-el.jar"/>
++				<pathelement path="../org.eclipse.tomcat/lib/commons-logging.jar"/>
+ 			</classpath>
+ 			<src path="src_servlets/"			/>
+ 			<compilerarg line="-log ${temp.folder}/WEB-INF/lib/servlets.jar.bin${logExtension}" compiler="org.eclipse.jdt.core.JDTCompilerAdapter"/> 
+@@ -170,21 +174,22 @@
+ 		<!-- generate java code from JSPs -->
+ 		<path id="jasper.classpath" > 
+ 			<pathelement location="../org.apache.ant/lib/ant.jar"/>
+-			<pathelement location="../org.apache.ant/lib/optional.jar"/>
+-			<pathelement location="../org.eclipse.tomcat/jasper-compiler.jar" />
+-			<pathelement location="../org.eclipse.tomcat/jasper-runtime.jar" />
+-			<pathelement location="../org.eclipse.tomcat/servlet.jar" />
+-			<pathelement location="../org.eclipse.tomcat/tomcat_util.jar" />  
++			<pathelement location="../org.apache.ant/lib/ant-launcher.jar"/>
++			<pathelement location="../org.eclipse.tomcat/lib/jasper-compiler.jar" />
++			<pathelement location="../org.eclipse.tomcat/lib/jasper-runtime.jar" />
++			<pathelement location="../org.eclipse.tomcat/lib/servletapi5.jar" />
++			<pathelement location="../org.eclipse.tomcat/lib/commons-logging-api.jar" /> 
++			<pathelement location="../org.eclipse.tomcat/lib/commons-el.jar" />
++			<pathelement location="../org.eclipse.tomcat/lib/jspapi.jar" />
+ 		</path>
+ 		<delete dir="${temp.folder}/jsp.jar.src"/>
+   		<mkdir dir="${temp.folder}/jsp.jar.src"/>
+ 		<java
+ 			classname="org.apache.jasper.JspC"
+ 			fork="true"
+-			failonerror="false"
++			failonerror="true"
+ 			classpathref="jasper.classpath"
+ 			output="${temp.folder}/WEB-INF/lib/jsp.jar.bin${logExtension}">
+-			<arg value="-v3" />
+ 			<arg value="-d" /><arg value="${temp.folder}/jsp.jar.src" />
+ 			<arg value="-die" />
+ 			<arg value="-p" /><arg value="org.eclipse.help.internal.webapp.jsp"/>
+@@ -222,8 +227,9 @@
+ 				<pathelement path="../org.eclipse.help"/>
+ 				<pathelement path="../org.eclipse.help.base"/>
+ 				<pathelement path="../org.eclipse.help.appserver"/>
+-				<pathelement path="../org.eclipse.tomcat/servlet.jar"/>
+-				<pathelement path="../org.eclipse.tomcat/jasper-runtime.jar"/>
++				<pathelement path="../org.eclipse.tomcat/lib/servletapi5.jar"/>
++				<pathelement path="../org.eclipse.tomcat/lib/jasper-runtime.jar"/>
++				<pathelement path="../org.eclipse.tomcat/lib/jspapi.jar"/>
+ 			</classpath>
+ 			<src path="${temp.folder}/jsp.jar.src/"			/>
+ 			<compilerarg line="-log ${temp.folder}/WEB-INF/lib/jsp.jar.bin${logExtension}" compiler="org.eclipse.jdt.core.JDTCompilerAdapter"/> 
+Index: build.properties
+===================================================================
+RCS file: /cvsroot/eclipse/org.eclipse.help.webapp/build.properties,v
+retrieving revision 1.32
+diff -u -r1.32 build.properties
+--- build.properties	18 Mar 2005 08:00:28 -0000	1.32
++++ build.properties	5 Jul 2006 15:48:11 -0000
+@@ -33,5 +33,5 @@
+                      ../org.eclipse.help.appserver/bin,\
+                      ../org.eclipse.help.appserver,\
+                      ../org.eclipse.help.appserver/@dot,\
+-                     ../org.eclipse.tomcat/servlet.jar,\
+-                     ../org.eclipse.tomcat/jasper-runtime.jar
++                     ../org.eclipse.tomcat/lib/servletapi5.jar,\
++                     ../org.eclipse.tomcat/lib/jasper-runtime.jar

eclipse-workaround-plugin.xml-parsing-bug-gcc-bz29853.patch:

Index: eclipse-workaround-plugin.xml-parsing-bug-gcc-bz29853.patch
===================================================================
RCS file: eclipse-workaround-plugin.xml-parsing-bug-gcc-bz29853.patch
diff -N eclipse-workaround-plugin.xml-parsing-bug-gcc-bz29853.patch
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ eclipse-workaround-plugin.xml-parsing-bug-gcc-bz29853.patch	26 Jun 2007 16:01:53 -0000	1.3
@@ -0,0 +1,22 @@
+Index: src/org/eclipse/pde/internal/core/plugin/PluginHandler.java
+===================================================================
+RCS file: /cvsroot/eclipse/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/plugin/PluginHandler.java,v
+retrieving revision 1.6
+diff -u -r1.6 PluginHandler.java
+--- src/org/eclipse/pde/internal/core/plugin/PluginHandler.java	3 Apr 2006 19:48:18 -0000	1.6
++++ src/org/eclipse/pde/internal/core/plugin/PluginHandler.java	17 Nov 2006 22:18:53 -0000
+@@ -52,11 +52,13 @@
+ 			}
+ 		}
+ 		
++		boolean setLineAttr = false;
+ 		Element element = fDocument.createElement(qName);
+ 		for (int i = 0; i < attributes.getLength(); i++) {
+ 			element.setAttribute(attributes.getQName(i), attributes.getValue(i));
+-			if ("extension".equals(qName) || "extension-point".equals(qName)) { //$NON-NLS-1$ //$NON-NLS-2$
++			if (("extension".equals(qName) || "extension-point".equals(qName)) && !setLineAttr) { //$NON-NLS-1$ //$NON-NLS-2$
+ 				element.setAttribute("line", Integer.toString(fLocator.getLineNumber())); //$NON-NLS-1$
++				setLineAttr = true;
+ 			}
+ 		}
+ 		


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/eclipse/devel/.cvsignore,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- .cvsignore	22 Jun 2007 20:14:38 -0000	1.33
+++ .cvsignore	26 Jun 2007 16:01:53 -0000	1.34
@@ -1,3 +1,4 @@
+icu4jsrc_3_4_5.jar
 eclipse-fileinitializerapp.tar.bz2
-eclipse-sourceBuild-srcIncluded-3.3RC4.zip
-eclipse-fedora-splash-3.3.0.png
+eclipse-sourceBuild-srcIncluded-3.2.2.zip
+eclipse-fedora-splash-3.2.2.png

eclipse-build.patch:

Index: eclipse-build.patch
===================================================================
RCS file: /cvs/pkgs/rpms/eclipse/devel/eclipse-build.patch,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- eclipse-build.patch	24 May 2007 05:51:41 -0000	1.6
+++ eclipse-build.patch	26 Jun 2007 16:01:53 -0000	1.7
@@ -5,17 +5,20 @@
 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,15 @@
+@@ -95,6 +95,18 @@
  			<arg line="build.sh" />
  		</exec>
  		<move file="${launcherlibs}/library/${installWs}/eclipse" todir="${launcherlibs}/" />
 +
-+		<!-- build liblocalfile -->
++		<delete dir="${launcherlibs}/library"/>
++
++		<!-- Build JNI libs -->
++		<!-- liblocalfile -->
 +		<exec dir="plugins/org.eclipse.core.filesystem/natives/unix/linux" executable="make" failonerror="true"/>
 +		<move file="plugins/org.eclipse.core.filesystem/natives/unix/linux/liblocalfile_1_0_0.so" 
 +			 todir="plugins/org.eclipse.core.filesystem.linux.${installArch}/os/linux/${installArch}">
-+		</move>
-+		<!-- build libupdate -->
++		    </move>
++		<!-- and libupdate -->
 +		<ant dir="plugins/org.eclipse.update.core.linux/src" antfile="build.xml" />
 +
  	</target>

eclipse-ecj-gcj.patch:

Index: eclipse-ecj-gcj.patch
===================================================================
RCS file: /cvs/pkgs/rpms/eclipse/devel/eclipse-ecj-gcj.patch,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- eclipse-ecj-gcj.patch	24 May 2007 10:18:27 -0000	1.5
+++ eclipse-ecj-gcj.patch	26 Jun 2007 16:01:53 -0000	1.6
@@ -367,7 +367,7 @@
 +						this.bind("configure.duplicateOutputPath", errorMessage.toString())); //$NON-NLS-1$
 +				}
 +				this.destinationPath = arg;
-+				//this.generatePackagesStructure = true;
++				this.generatePackagesStructure = true;
 +			} else if (currentArg.startsWith("-fbootclasspath=")) { //$NON-NLS-1$
 +				classpath = getArgument(currentArg);
 +			} else if (currentArg.equals("-fzip-target")) { //$NON-NLS-1$

eclipse-launcher-set-install-dir-and-shared-config.patch:

Index: eclipse-launcher-set-install-dir-and-shared-config.patch
===================================================================
RCS file: /cvs/pkgs/rpms/eclipse/devel/eclipse-launcher-set-install-dir-and-shared-config.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- eclipse-launcher-set-install-dir-and-shared-config.patch	24 May 2007 05:51:41 -0000	1.2
+++ eclipse-launcher-set-install-dir-and-shared-config.patch	26 Jun 2007 16:01:53 -0000	1.3
@@ -1,23 +1,121 @@
+### Eclipse Workspace Patch 1.0
+#P platform-launcher
+Index: library/eclipseConfig.c
+===================================================================
+RCS file: /cvsroot/eclipse/platform-launcher/library/eclipseConfig.c,v
+retrieving revision 1.11
+diff -u -r1.11 eclipseConfig.c
+--- library/eclipseConfig.c	15 Apr 2005 19:17:10 -0000	1.11
++++ library/eclipseConfig.c	25 Oct 2006 22:10:20 -0000
+@@ -30,8 +30,11 @@
+ 
+ #endif
+ 
+-int readConfigFile(_TCHAR* program, _TCHAR* arg0, int *argc, _TCHAR ***argv) 
++/* installDir must end in path separator */
++int readConfigFile(_TCHAR* installDir, _TCHAR* arg0, int *argc, _TCHAR ***argv) 
+ {
++	_TCHAR* temp;
++	_TCHAR* programName;
+ 	_TCHAR* config_file = NULL;
+ 	_TCHAR buffer[1024];
+ 	_TCHAR argument[1024];
+@@ -39,11 +42,20 @@
+ 	int maxArgs = 128;
+ 	int index;
+ 	
+-	if (program == NULL || argc == NULL || argv == NULL) return -1;
+-
+-	/* Get a copy */
+-	config_file = _tcsdup(program);
++	if (installDir == NULL || argc == NULL || argv == NULL) return -1;
+ 	
++    /* Determine the name of the executable */
++	temp = malloc( (_tcslen( arg0 ) + 1) * sizeof(_TCHAR) );
++    _tcscpy( temp, arg0 );
++    programName = _tcsrchr( temp, dirSeparator );
++	if (programName == NULL)
++		programName = temp;		
++	else 
++		programName++;
++		
++	/* Get a copy */
++	config_file = _tcsdup(installDir);
++
+ #ifdef _WIN32
+ 	{
+ 		/* Search for the extension .exe and replace it with .ini */
+@@ -57,8 +69,11 @@
+ 	}
+ #else
+ 	/* Append the extension */
+-	config_file = (char*)realloc(config_file, strlen(config_file) + 5);
+-	strcat(config_file, ".ini");
++	config_file = (char*)realloc(config_file, strlen(config_file) + strlen(programName) + 5);
++	strcat(config_file, programName);
++	free(temp);
++	programName = NULL;
++	strcat(config_file, ".ini");
+ #endif
+ 	
+ 	/* Open the config file as a text file 
 Index: library/eclipse.c
 ===================================================================
-RCS file: /cvsroot/eclipse/org.eclipse.equinox.executable/library/eclipse.c,v
-retrieving revision 1.20
-diff -u -r1.20 eclipse.c
---- library/eclipse.c	8 Feb 2007 16:57:15 -0000	1.20
-+++ library/eclipse.c	1 Mar 2007 03:44:19 -0000
-@@ -330,8 +330,9 @@
+RCS file: /cvsroot/eclipse/platform-launcher/library/eclipse.c,v
+retrieving revision 1.71
+diff -u -r1.71 eclipse.c
+--- library/eclipse.c	25 Apr 2006 14:31:50 -0000	1.71
++++ library/eclipse.c	25 Oct 2006 22:10:20 -0000
+@@ -295,7 +295,8 @@
  
  /* Define the required VM arguments (all platforms). */
- static _TCHAR*  cp = NULL;
--static _TCHAR*  cpValue = NULL;					
--static _TCHAR** reqVMarg[] = { &cp, &cpValue, NULL };	/* required VM args */
-+static _TCHAR*  cpValue = NULL;
-+static _TCHAR* sharedConfigurationDir = _T_ECLIPSE("-Dosgi.sharedConfiguration.area=/usr/lib/eclipse/configuration");					
-+static _TCHAR** reqVMarg[] = { &sharedConfigurationDir, &cp, &cpValue, NULL };	/* required VM args */
- static _TCHAR** userVMarg  = NULL;	     				/* user specific args for the Java VM  */
- static _TCHAR** eeVMarg = NULL;							/* vm args specified in ee file */
- static int nEEargs = 0;
-@@ -915,20 +916,12 @@
+ static _TCHAR* jar = _T_ECLIPSE("-jar");
+-static _TCHAR**  reqVMarg[] = { &jar, &jarFile, NULL };
++static _TCHAR* sharedConfigurationDir = _T_ECLIPSE("-Dosgi.sharedConfiguration.area=/usr/lib/eclipse/configuration");
++static _TCHAR**  reqVMarg[] = { &sharedConfigurationDir, &jar, &jarFile, NULL };
+ 
+ /* Local methods */
+ static int createUserArgs(int configArgc, _TCHAR **configArgv, int *argc, _TCHAR ***argv);
+@@ -387,8 +388,19 @@
+ #endif
+     }
+ 	
++    /* Find the directory where Eclipse is installed. */
++    programDir = getProgramDir();
++    if (programDir == NULL)
++    {
++        errorMsg = malloc( (_tcslen(homeMsg) + _tcslen(officialName) + 10) * sizeof(_TCHAR) );
++        _stprintf( errorMsg, homeMsg, officialName );
++        displayMessage( officialName, errorMsg );
++        free( errorMsg );
++    	exit( 1 );
++    }
++
+ 	/* Parse configuration file arguments */
+-	if (isMainEclipse(argc, argv) && readConfigFile(program, argv[0], &configArgc, &configArgv) == 0)
++	if (isMainEclipse(argc, argv) && readConfigFile(programDir, argv[0], &configArgc, &configArgv) == 0)
+ 	{
+ 		parseArgs (&configArgc, configArgv);
+ 	}
+@@ -411,17 +423,6 @@
+     /* Initialize the window system. */
+     initWindowSystem( &argc, argv, (showSplashArg != NULL) );
+ 
+-    /* Find the directory where the Eclipse program is installed. */
+-    programDir = getProgramDir();
+-    if (programDir == NULL)
+-    {
+-        errorMsg = malloc( (_tcslen(homeMsg) + _tcslen(officialName) + 10) * sizeof(_TCHAR) );
+-        _stprintf( errorMsg, homeMsg, officialName );
+-        displayMessage( officialName, errorMsg );
+-        free( errorMsg );
+-    	exit( 1 );
+-    }
+-
+     /* If the exit data option was given, set exit data */
+     if (exitDataArg != NULL)
+     {
+@@ -1078,19 +1079,12 @@
   */
  _TCHAR* getProgramDir( )
  {
@@ -36,25 +134,25 @@
 -
 -    free( programDir );
 -    return NULL;
-+	programDir = malloc( (_tcslen( temp + 1 )) * sizeof(_TCHAR) );
-+	_tcscpy( programDir, temp );
-+	return programDir;
++    programDir = malloc( (_tcslen( temp + 1 )) * sizeof(_TCHAR) );
++    _tcscpy( programDir, temp );
++   	return programDir;
  }
  
- static _TCHAR* findStartupJar(){
++
 Index: library/gtk/make_linux.mak
 ===================================================================
-RCS file: /cvsroot/eclipse/org.eclipse.equinox.executable/library/gtk/make_linux.mak,v
-retrieving revision 1.10
-diff -u -r1.10 make_linux.mak
---- library/gtk/make_linux.mak	7 Feb 2007 18:13:48 -0000	1.10
-+++ library/gtk/make_linux.mak	1 Mar 2007 03:44:19 -0000
-@@ -43,7 +43,7 @@
- DLL = $(PROGRAM_LIBRARY)
- LIBS = `pkg-config --libs-only-L gtk+-2.0` -lgtk-x11-2.0 -lgdk_pixbuf-2.0 -lgobject-2.0 -lgdk-x11-2.0 -lpthread -ldl
- LFLAGS = -shared -fpic -Wl,--export-dynamic 
--CFLAGS = -O -s -Wall\
-+CFLAGS = -O -s -Wall -g \
+RCS file: /cvsroot/eclipse/platform-launcher/library/gtk/make_linux.mak,v
+retrieving revision 1.11
+diff -u -r1.11 make_linux.mak
+--- library/gtk/make_linux.mak	9 Mar 2006 19:01:05 -0000	1.11
++++ library/gtk/make_linux.mak	25 Oct 2006 22:10:20 -0000
+@@ -27,7 +27,7 @@
+ OBJS = eclipse.o eclipseUtil.o eclipseShm.o eclipseConfig.o eclipseMozilla.o eclipseGtk.o
+ EXEC = $(PROGRAM_OUTPUT)
+ LIBS = `pkg-config --libs-only-L gtk+-2.0` -lgtk-x11-2.0 -lgdk_pixbuf-2.0 -lgobject-2.0 -lgdk-x11-2.0
+-CFLAGS = -O -s \
++CFLAGS = -O -s -g \
  	-fpic \
  	-DLINUX \
  	-DMOZILLA_FIX \

eclipse-swttools.patch:

Index: eclipse-swttools.patch
===================================================================
RCS file: /cvs/pkgs/rpms/eclipse/devel/eclipse-swttools.patch,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- eclipse-swttools.patch	24 May 2007 05:51:41 -0000	1.4
+++ eclipse-swttools.patch	26 Jun 2007 16:01:53 -0000	1.5
@@ -1,14 +1,37 @@
---- build.xml.orig	2007-02-22 10:14:59.000000000 -0500
-+++ build.xml	2007-03-01 10:38:05.000000000 -0500
-@@ -228,6 +228,11 @@
+Index: build.xml
+===================================================================
+RCS file: /home/eclipse/org.eclipse.swt.gtk.linux.x86_64/build.xml,v
+retrieving revision 1.3
+diff -u -r1.3 build.xml
+--- build.xml	18 Apr 2005 20:27:37 -0000	1.3
++++ build.xml	26 Apr 2005 19:13:30 -0000
+@@ -21,7 +21,6 @@
+ 
+ 	<target name="properties" if="eclipse.running">
+ 		<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
+-		<!--compile the jar in org.eclipse.swt.tools-->
+ 	</target>
+ 
+ 	<target name="build.update.jar" depends="init">
+@@ -200,8 +199,11 @@
  	</target>
  
  	<target name="build.cfiles" depends="build.jars">
-+		<!-- delete swttools.jar so that it will be compiled in the build.jars target -->
-+		<ant antfile="build.xml" dir="${toolsplugindir}" inheritAll="false" target="clean"/>
-+		<!--compile swtools.jar in org.eclipse.swt.tools-->
++		<!--compile the jar in org.eclipse.swt.tools-->
 +		<ant antfile="build.xml" dir="${toolsplugindir}" inheritAll="false" target="build.jars" />
 +
  		<!-- generate the C code from the (64 bit) SWT PI java classes -->
- 		<!-- assumes the swt.jar has already been built  -->
- 		<java classname="org.eclipse.swt.tools.internal.JNIGeneratorApp" classpath="${toolsplugindir}/bin:${toolsplugindir}/swttools.jar:${basedir}/swt.jar"><arg value="org.eclipse.swt.internal.C"/><arg value="${basedir}/src/Eclipse SWT PI/common/library/"/><arg value="${build.result.folder}/swt.jar"/></java>
+-		<!-- assumes the swt.jar has already been built  -->
++		<!-- assumes the swttools.jar has already been built  -->
+ 		<java classname="org.eclipse.swt.tools.internal.JNIGeneratorApp" classpath="${toolsplugindir}/bin:${toolsplugindir}/swttools.jar:${basedir}/swt.jar"><arg value="org.eclipse.swt.internal.gtk.OS"/><arg value="${basedir}/src/Eclipse SWT PI/gtk/library/"/><arg value="${build.result.folder}/swt.jar"/></java>
+ 		<java classname="org.eclipse.swt.tools.internal.JNIGeneratorApp" classpath="${toolsplugindir}/bin:${toolsplugindir}/swttools.jar:${basedir}/swt.jar"><arg value="org.eclipse.swt.internal.accessibility.gtk.ATK"/><arg value="${basedir}/src/Eclipse SWT PI/gtk/library/"/><arg value="${build.result.folder}/swt.jar"/></java>
+ 		<java classname="org.eclipse.swt.tools.internal.JNIGeneratorApp" classpath="${toolsplugindir}/bin:${toolsplugindir}/swttools.jar:${basedir}/swt.jar"><arg value="org.eclipse.swt.internal.cairo.Cairo"/><arg value="${basedir}/src/Eclipse SWT PI/cairo/library/"/><arg value="${build.result.folder}/swt.jar"/></java>
+@@ -304,6 +306,8 @@
+ 		<delete file="${plugin.destination}/${full.name}.jar"/>
+ 		<delete file="${plugin.destination}/${full.name}.zip"/>
+ 		<delete dir="${temp.folder}"/>
++		<!-- delete swttools.jar so that it will be compiled in the build.jars target -->
++		<ant antfile="build.xml" dir="${toolsplugindir}" inheritAll="false"	target="clean"/>
+ 	</target>
+ 
+ 	<target name="refresh" depends="init" if="eclipse.running">

eclipse-tomcat55-build.patch:

Index: eclipse-tomcat55-build.patch
===================================================================
RCS file: /cvs/pkgs/rpms/eclipse/devel/eclipse-tomcat55-build.patch,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- eclipse-tomcat55-build.patch	6 Jun 2007 03:22:53 -0000	1.15
+++ eclipse-tomcat55-build.patch	26 Jun 2007 16:01:53 -0000	1.16
@@ -1,53 +1,53 @@
 --- build.xml.orig	2006-07-05 12:47:26.000000000 -0400
 +++ build.xml	2006-07-05 12:50:49.000000000 -0400
 @@ -144,50 +144,56 @@
- 			<pathelement path="../org.apache.ant_1.7.0.v200705232135/lib/ant-swing.jar"/>
- 			<pathelement path="../org.apache.ant_1.7.0.v200705232135/lib/ant-trax.jar"/>
- 			<pathelement path="../org.apache.ant_1.7.0.v200705232135/lib/ant-weblogic.jar"/>
+ 			<pathelement path="${build.result.folder}/../org.apache.ant/lib/ant-xalan1.jar"/>
+ 			<pathelement path="../org.apache.ant/lib/ant-xslp.jar"/>
+ 			<pathelement path="${build.result.folder}/../org.apache.ant/lib/ant-xslp.jar"/>
 -			<pathelement path="catalina.jar"/>
--			<pathelement path="${build.result.folder}/../org.eclipse.tomcat_4.1.230.v20070531/catalina.jar"/>
+-			<pathelement path="${build.result.folder}/../org.eclipse.tomcat/catalina.jar"/>
 -			<pathelement path="bootstrap.jar"/>
--			<pathelement path="${build.result.folder}/../org.eclipse.tomcat_4.1.230.v20070531/bootstrap.jar"/>
+-			<pathelement path="${build.result.folder}/../org.eclipse.tomcat/bootstrap.jar"/>
 -			<pathelement path="commons-beanutils.jar"/>
--			<pathelement path="${build.result.folder}/../org.eclipse.tomcat_4.1.230.v20070531/commons-beanutils.jar"/>
+-			<pathelement path="${build.result.folder}/../org.eclipse.tomcat/commons-beanutils.jar"/>
 -			<pathelement path="commons-collections.jar"/>
--			<pathelement path="${build.result.folder}/../org.eclipse.tomcat_4.1.230.v20070531/commons-collections.jar"/>
+-			<pathelement path="${build.result.folder}/../org.eclipse.tomcat/commons-collections.jar"/>
 -			<pathelement path="commons-digester.jar"/>
--			<pathelement path="${build.result.folder}/../org.eclipse.tomcat_4.1.230.v20070531/commons-digester.jar"/>
+-			<pathelement path="${build.result.folder}/../org.eclipse.tomcat/commons-digester.jar"/>
 -			<pathelement path="commons-logging-api.jar"/>
--			<pathelement path="${build.result.folder}/../org.eclipse.tomcat_4.1.230.v20070531/commons-logging-api.jar"/>
+-			<pathelement path="${build.result.folder}/../org.eclipse.tomcat/commons-logging-api.jar"/>
 -			<pathelement path="commons-modeler.jar"/>
--			<pathelement path="${build.result.folder}/../org.eclipse.tomcat_4.1.230.v20070531/commons-modeler.jar"/>
+-			<pathelement path="${build.result.folder}/../org.eclipse.tomcat/commons-modeler.jar"/>
 -			<pathelement path="jakarta-regexp-1.3.jar"/>
--			<pathelement path="${build.result.folder}/../org.eclipse.tomcat_4.1.230.v20070531/jakarta-regexp-1.3.jar"/>
+-			<pathelement path="${build.result.folder}/../org.eclipse.tomcat/jakarta-regexp-1.3.jar"/>
 -			<pathelement path="jasper-compiler.jar"/>
--			<pathelement path="${build.result.folder}/../org.eclipse.tomcat_4.1.230.v20070531/jasper-compiler.jar"/>
+-			<pathelement path="${build.result.folder}/../org.eclipse.tomcat/jasper-compiler.jar"/>
 -			<pathelement path="jasper-runtime.jar"/>
--			<pathelement path="${build.result.folder}/../org.eclipse.tomcat_4.1.230.v20070531/jasper-runtime.jar"/>
+-			<pathelement path="${build.result.folder}/../org.eclipse.tomcat/jasper-runtime.jar"/>
 -			<pathelement path="mx4j-jmx.jar"/>
--			<pathelement path="${build.result.folder}/../org.eclipse.tomcat_4.1.230.v20070531/mx4j-jmx.jar"/>
+-			<pathelement path="${build.result.folder}/../org.eclipse.tomcat/mx4j-jmx.jar"/>
 -			<pathelement path="naming-common.jar"/>
--			<pathelement path="${build.result.folder}/../org.eclipse.tomcat_4.1.230.v20070531/naming-common.jar"/>
+-			<pathelement path="${build.result.folder}/../org.eclipse.tomcat/naming-common.jar"/>
 -			<pathelement path="naming-factory.jar"/>
--			<pathelement path="${build.result.folder}/../org.eclipse.tomcat_4.1.230.v20070531/naming-factory.jar"/>
+-			<pathelement path="${build.result.folder}/../org.eclipse.tomcat/naming-factory.jar"/>
 -			<pathelement path="naming-resources.jar"/>
--			<pathelement path="${build.result.folder}/../org.eclipse.tomcat_4.1.230.v20070531/naming-resources.jar"/>
+-			<pathelement path="${build.result.folder}/../org.eclipse.tomcat/naming-resources.jar"/>
 -			<pathelement path="servlet.jar"/>
--			<pathelement path="${build.result.folder}/../org.eclipse.tomcat_4.1.230.v20070531/servlet.jar"/>
+-			<pathelement path="${build.result.folder}/../org.eclipse.tomcat/servlet.jar"/>
 -			<pathelement path="servlets-common.jar"/>
--			<pathelement path="${build.result.folder}/../org.eclipse.tomcat_4.1.230.v20070531/servlets-common.jar"/>
+-			<pathelement path="${build.result.folder}/../org.eclipse.tomcat/servlets-common.jar"/>
 -			<pathelement path="servlets-default.jar"/>
--			<pathelement path="${build.result.folder}/../org.eclipse.tomcat_4.1.230.v20070531/servlets-default.jar"/>
+-			<pathelement path="${build.result.folder}/../org.eclipse.tomcat/servlets-default.jar"/>
 -			<pathelement path="servlets-invoker.jar"/>
--			<pathelement path="${build.result.folder}/../org.eclipse.tomcat_4.1.230.v20070531/servlets-invoker.jar"/>
+-			<pathelement path="${build.result.folder}/../org.eclipse.tomcat/servlets-invoker.jar"/>
 -			<pathelement path="servlets-manager.jar"/>
--			<pathelement path="${build.result.folder}/../org.eclipse.tomcat_4.1.230.v20070531/servlets-manager.jar"/>
+-			<pathelement path="${build.result.folder}/../org.eclipse.tomcat/servlets-manager.jar"/>
 -			<pathelement path="tomcat-coyote.jar"/>
--			<pathelement path="${build.result.folder}/../org.eclipse.tomcat_4.1.230.v20070531/tomcat-coyote.jar"/>
+-			<pathelement path="${build.result.folder}/../org.eclipse.tomcat/tomcat-coyote.jar"/>
 -			<pathelement path="tomcat-http11.jar"/>
--			<pathelement path="${build.result.folder}/../org.eclipse.tomcat_4.1.230.v20070531/tomcat-http11.jar"/>
+-			<pathelement path="${build.result.folder}/../org.eclipse.tomcat/tomcat-http11.jar"/>
 -			<pathelement path="tomcat-util.jar"/>
--			<pathelement path="${build.result.folder}/../org.eclipse.tomcat_4.1.230.v20070531/tomcat-util.jar"/>
+-			<pathelement path="${build.result.folder}/../org.eclipse.tomcat/tomcat-util.jar"/>
 +			<pathelement path="lib/catalina.jar"/>
 +			<pathelement path="${build.result.folder}/../org.eclipse.tomcat/lib/catalina.jar"/>
 +			<pathelement path="lib/catalina-optional.jar"/>

eclipse-tomcat55.patch:

Index: eclipse-tomcat55.patch
===================================================================
RCS file: /cvs/pkgs/rpms/eclipse/devel/eclipse-tomcat55.patch,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- eclipse-tomcat55.patch	6 Jun 2007 03:22:53 -0000	1.11
+++ eclipse-tomcat55.patch	26 Jun 2007 16:01:53 -0000	1.12
@@ -736,7 +736,7 @@
  Bundle-ManifestVersion: 2
  Bundle-Name: %pluginName
  Bundle-SymbolicName: org.eclipse.tomcat; singleton:=true
- Bundle-Version: 4.1.230.qualifier
+ Bundle-Version: 4.1.130.qualifier
  Bundle-ClassPath: tomcatwrapper.jar,
 - catalina.jar,
 - bootstrap.jar,
@@ -860,5 +860,5 @@
 + org.apache.tomcat.util.threads;x-internal:=true,
 + org.eclipse.tomcat.internal;x-internal:=true,
 + org.eclipse.tomcat.internal;x-internal:=true,
-  org.eclipse.tomcat.internal.extensions
+  org.eclipse.tomcat.internal.extensions;x-internal:=true
  Bundle-RequiredExecutionEnvironment: J2SE-1.4


Index: eclipse.spec
===================================================================
RCS file: /cvs/pkgs/rpms/eclipse/devel/eclipse.spec,v
retrieving revision 1.439
retrieving revision 1.440
diff -u -r1.439 -r1.440
--- eclipse.spec	22 Jun 2007 20:14:38 -0000	1.439
+++ eclipse.spec	26 Jun 2007 16:01:53 -0000	1.440
@@ -2,11 +2,10 @@
 
 %define gcj_support     1
 %define tomcatsharedir  %{_datadir}/tomcat5
-%define tomcatlibdir    %{_var}/lib/tomcat5
 %define eclipse_major   3
-%define eclipse_minor   3
+%define eclipse_minor   2
 %define eclipse_majmin  %{eclipse_major}.%{eclipse_minor}
-%define eclipse_micro   0
+%define eclipse_micro   2
 %define libname         libswt3
 
 # All arches line up between Eclipse and Linux kernel names except i386 -> x86
@@ -19,14 +18,16 @@
 Summary:        An open, extensible IDE
 Name:           eclipse
 Version:        %{eclipse_majmin}.%{eclipse_micro}
-Release:        0.2.RC4%{?dist} 
+Release:        15%{?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/S-3.3RC4-200706081718/eclipse-sourceBuild-srcIncluded-3.3RC4.zip
-Source1:        %{name}-fedora-splash-3.3.0.png
+Source0:        http://download.eclipse.org/eclipse/downloads/drops/R-3.2.2-200702121330/eclipse-sourceBuild-srcIncluded-3.2.2.zip
 Source2:        %{name}.desktop
-Source3:        eclipse.in
+# 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.2.png
 Source16:       %{name}-copy-platform.sh
 Source17:       efj.sh.in
 Source18:       ecj.sh.in
@@ -38,11 +39,19 @@
 # (generated 2006-11-01 18:48 UTC)
 Source20:       %{name}-fileinitializerapp.tar.bz2
 
+# 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
 Patch4:         %{name}-swttools.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
@@ -57,13 +66,44 @@
 # https://www.redhat.com/archives/fedora-devel-java-list/2006-April/msg00048.html
 # This needs to be submitted upstream
 Patch15:        %{name}-pde.build-add-package-build.patch
-# FIXME: Should we ship tomcat plugins with 3.3?
 # This tomcat stuff will change when they move to the equinox jetty provider
 # https://bugs.eclipse.org/bugs/show_bug.cgi?id=98371
 Patch6:         %{name}-tomcat55.patch
 Patch7:         %{name}-tomcat55-build.patch
+Patch8:         %{name}-webapp-tomcat55.patch
+# https://bugs.eclipse.org/bugs/show_bug.cgi?id=90630
+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
 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
+# 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
+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
+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
+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
+Patch24:        %{name}-add-ppc64-sparc64-s390-s390x.patch
+Patch25:	%{name}-osgi-Java-1.7-profile.patch
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires:  ant
@@ -81,14 +121,13 @@
 BuildRequires:  mesa-libGLU-devel
 BuildRequires:  cairo >= 1.0
 BuildRequires:  unzip
-BuildRequires:  icu4j-eclipse >= 3.6.1
 BuildRequires:  java-javadoc
 BuildRequires:  desktop-file-utils
 %if %{gcj_support}
-BuildRequires:  gcc-java >= 4.1.2
+BuildRequires:  gcc-java >= 4.0.2
 BuildRequires:  java-gcj-compat-devel >= 1.0.64
 %else
-BuildRequires:  java-devel >= 1.5.0
+BuildRequires:  java-devel >= 1.4.2
 %endif
 
 # Need to investigate why we don't build ant-apache-bsf or ant-commons-net in
@@ -96,7 +135,7 @@
 # https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=180642
 BuildRequires: ant-antlr ant-apache-bcel ant-apache-log4j ant-apache-oro ant-apache-regexp ant-apache-resolver ant-commons-logging
 BuildRequires: ant-javamail ant-jdepend ant-junit ant-nodeps ant-swing ant-trax ant-jsch
-BuildRequires: jsch >= 0:0.1.31
+BuildRequires: jsch >= 0:0.1.28-1jpp.6
 BuildRequires: jakarta-commons-beanutils jakarta-commons-collections jakarta-commons-digester jakarta-commons-dbcp jakarta-commons-el jakarta-commons-fileupload jakarta-commons-launcher jakarta-commons-logging jakarta-commons-modeler jakarta-commons-pool
 BuildRequires: mx4j >= 2.1
 BuildRequires: tomcat5 >= 5.5.23
@@ -153,10 +192,9 @@
 Group:          Development/Languages
 Requires:       %{libname}-gtk2 = %{epoch}:%{version}-%{release}
 # This file-level requirement is for the bi-arch multilib case
-Requires: %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk.linux.%{eclipse_arch}_3.3.0.v3345f.jar
+Requires: %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk.linux.%{eclipse_arch}_3.2.2.v3236.jar
 Requires(post):     %{libname}-gtk2 = %{epoch}:%{version}-%{release}
 Requires(postun):   %{libname}-gtk2 = %{epoch}:%{version}-%{release}
-Requires:           icu4j-eclipse > = 3.6.1
 %if %{gcj_support}
 Requires:           libgcj >= 4.0.2
 Requires(post):     java-gcj-compat >= 1.0.64
@@ -178,33 +216,6 @@
 %description    rcp-sdk
 Source for Eclipse Rich Client Platform for use within Eclipse.
 
-%package        cvs-client
-Summary:        Eclipse CVS Client
-Group:          Text Editors/Integrated Development Environments (IDE)
-Requires:       %{name}-rcp = %{epoch}:%{version}-%{release}
-Requires(post):    %{name}-rcp = %{epoch}:%{version}-%{release}
-Requires(postun):  %{name}-rcp = %{epoch}:%{version}-%{release}
-%if %{gcj_support}
-Requires:           libgcj >= 4.0.2
-Requires(post):     java-gcj-compat >= 1.0.64
-Requires(postun):   java-gcj-compat >= 1.0.64
-%else
-Requires:       java >= 1.4.2
-%endif
-
-%description    cvs-client 
-Eclipse CVS Client
-
-%package        cvs-client-sdk
-Summary:        Eclipse Rich Client Platform SDK
-Group:          Text Editors/Integrated Development Environments (IDE)
-Requires:       %{name}-cvs-client = %{epoch}:%{version}-%{release}
-Requires(post):    %{name}-cvs-client = %{epoch}:%{version}-%{release}
-Requires(postun):  %{name}-cvs-client = %{epoch}:%{version}-%{release}
-
-%description    cvs-client-sdk
-Source for Eclipse CVS Client for use within Eclipse.
-
 %package        platform
 Summary:        Eclipse platform common files
 Group:          Text Editors/Integrated Development Environments (IDE)
@@ -214,7 +225,7 @@
 %endif
 Requires:   %{name}-rcp = %{epoch}:%{version}-%{release}
 # This file-level requirement is for the bi-arch multilib case
-Requires: %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk.linux.%{eclipse_arch}_3.3.0.v3345f.jar
+Requires: %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk.linux.%{eclipse_arch}_3.2.2.v3236.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
@@ -228,7 +239,7 @@
 Requires: tomcat5 >= 5.5.23
 Requires: tomcat5-jasper >= 5.5.23
 Requires: tomcat5-servlet-2.4-api >= 5.5.23
-Requires: jsch >= 0:0.1.31
+Requires: jsch >= 0:0.1.28-1jpp.6
 Requires: lucene, lucene-devel
 Requires: regexp
 
@@ -359,13 +370,16 @@
 %prep
 %setup -q -c
 
+%patch0 -p0
 sed --in-place "s/java5.home/java.home/" build.xml
+%patch2 -p0
 %patch3 -p0
 # FIXME:  investigate why we are pushd'ing here
 # Build swttools.jar
 pushd plugins/org.eclipse.swt.gtk.linux.x86_64
 %patch4 -p0
 popd
+%patch5 -p0
 
 # tomcat patches
 pushd plugins/org.eclipse.tomcat
@@ -377,20 +391,41 @@
                 plugins/org.eclipse.tomcat/build.xml    \
                 plugins/org.eclipse.tomcat/META-INF/MANIFEST.MF   \
                 assemble.*.xml
+pushd plugins/org.eclipse.help.webapp
+%patch8 -p0
+popd
 
 pushd plugins/org.eclipse.jdt.core
+%patch9 -p0
 %patch17 -p0
 popd
+%patch11 -p0
 
-# launcher patches
-rm plugins/org.eclipse.platform/launchersrc.zip
-pushd features/org.eclipse.equinox.executable
+# 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
 %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 binary relocatable 
 sed --in-place "s:/usr/share/eclipse:%{_datadir}/%{name}:" library/eclipse.c
-zip -q -9 -r ../../plugins/org.eclipse.platform/launchersrc.zip library
+zip -q -9 -r ../launchersrc.zip *
+popd
+mv launchersrc.zip plugins/org.eclipse.platform
+rm -rf launchertmp
+pushd features/org.eclipse.platform.launchers
+%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 binary relocatable 
+sed --in-place "s:/usr/share/eclipse:%{_datadir}/%{name}:" library/eclipse.c
 popd
 
 # use our system-installed javadocs
@@ -402,7 +437,6 @@
 sed --in-place "s|http://java.sun.com/j2se/1.4/docs/api|%{_datadir}/javadocs/java|" \
    plugins/org.eclipse.pde.doc.user/pdeOptions.txt                       \
    plugins/org.eclipse.pde.doc.user/pdeOptions
-
 %patch14 -p0
 
 pushd plugins/org.eclipse.pde.build
@@ -410,8 +444,42 @@
 sed --in-place "s:/usr/share/eclipse:%{_datadir}/%{name}:" templates/package-build/build.properties
 popd
 
+# Build against our firefox packages
+pushd plugins/org.eclipse.swt
+mv "Eclipse SWT Mozilla" Eclipse_SWT_Mozilla
+mv "Eclipse SWT PI" Eclipse_SWT_PI
+%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 
+%patch19
+mv JNI_Generation "JNI Generation"
+popd
+
+# 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
+%patch20
+popd
+
+# customcallbacks fixes.  They are upstream already.
+pushd plugins/org.eclipse.platform.doc.isv
+%patch21 -p0
+popd
+pushd plugins/org.eclipse.platform.doc.user
+%patch21 -p0
+popd
+
+pushd plugins/org.eclipse.osgi
+%patch25 -p0
+popd
+
 # Splashscreen
-cp %{SOURCE1} plugins/org.eclipse.platform/splash.bmp
+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
@@ -424,59 +492,102 @@
 # Symlinks
 
 ## BEGIN ANT ##
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-antlr.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-apache-bcel.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-apache-bsf.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-apache-log4j.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-apache-oro.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-apache-regexp.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-apache-resolver.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-commons-logging.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-commons-net.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-jai.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-javamail.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-jdepend.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-jmf.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-jsch.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-junit.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-launcher.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-netrexx.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-nodeps.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-starteam.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-stylebook.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-swing.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-trax.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-weblogic.jar
+rm plugins/org.apache.ant/lib/ant-antlr.jar
+rm plugins/org.apache.ant/lib/ant-antlrsrc.zip
+rm plugins/org.apache.ant/lib/ant-apache-bcel.jar
+rm plugins/org.apache.ant/lib/ant-apache-bcelsrc.zip
+#rm plugins/org.apache.ant/lib/ant-apache-bsf.jar
+#rm plugins/org.apache.ant/lib/ant-apache-bsfsrc.zip
+rm plugins/org.apache.ant/lib/ant-apache-log4j.jar
+rm plugins/org.apache.ant/lib/ant-apache-log4jsrc.zip
+rm plugins/org.apache.ant/lib/ant-apache-oro.jar
+rm plugins/org.apache.ant/lib/ant-apache-orosrc.zip
+rm plugins/org.apache.ant/lib/ant-apache-regexp.jar
+rm plugins/org.apache.ant/lib/ant-apache-regexpsrc.zip
+rm plugins/org.apache.ant/lib/ant-apache-resolver.jar
+rm plugins/org.apache.ant/lib/ant-apache-resolversrc.zip
+rm plugins/org.apache.ant/lib/ant-commons-logging.jar
+rm plugins/org.apache.ant/lib/ant-commons-loggingsrc.zip
+rm plugins/org.apache.ant/lib/ant-commons-net.jar
+rm plugins/org.apache.ant/lib/ant-commons-netsrc.zip
+rm plugins/org.apache.ant/lib/ant-icontract.jar
+rm plugins/org.apache.ant/lib/ant-icontractsrc.zip
+rm plugins/org.apache.ant/lib/ant-jai.jar
+rm plugins/org.apache.ant/lib/ant-jaisrc.zip
+rm plugins/org.apache.ant/lib/ant.jar
+rm plugins/org.apache.ant/lib/antsrc.zip
+rm plugins/org.apache.ant/lib/ant-javamail.jar
+rm plugins/org.apache.ant/lib/ant-javamailsrc.zip
+rm plugins/org.apache.ant/lib/ant-jdepend.jar
+rm plugins/org.apache.ant/lib/ant-jdependsrc.zip
+rm plugins/org.apache.ant/lib/ant-jmf.jar
+rm plugins/org.apache.ant/lib/ant-jmfsrc.zip
+rm plugins/org.apache.ant/lib/ant-jsch.jar
+rm plugins/org.apache.ant/lib/ant-jschsrc.zip
+rm plugins/org.apache.ant/lib/ant-junit.jar
+rm plugins/org.apache.ant/lib/ant-junitsrc.zip
+rm plugins/org.apache.ant/lib/ant-launcher.jar
+rm plugins/org.apache.ant/lib/ant-launchersrc.zip
+rm plugins/org.apache.ant/lib/ant-netrexx.jar
+rm plugins/org.apache.ant/lib/ant-netrexxsrc.zip
+rm plugins/org.apache.ant/lib/ant-nodeps.jar
+rm plugins/org.apache.ant/lib/ant-nodepssrc.zip
+rm plugins/org.apache.ant/lib/ant-starteam.jar
+rm plugins/org.apache.ant/lib/ant-starteamsrc.zip
+rm plugins/org.apache.ant/lib/ant-stylebook.jar
+rm plugins/org.apache.ant/lib/ant-stylebooksrc.zip
+rm plugins/org.apache.ant/lib/ant-swing.jar
+rm plugins/org.apache.ant/lib/ant-swingsrc.zip
+rm plugins/org.apache.ant/lib/ant-trax.jar
+rm plugins/org.apache.ant/lib/ant-traxsrc.zip
+rm plugins/org.apache.ant/lib/ant-vaj.jar
+rm plugins/org.apache.ant/lib/ant-vajsrc.zip
+rm plugins/org.apache.ant/lib/ant-weblogic.jar
+rm plugins/org.apache.ant/lib/ant-weblogicsrc.zip
+rm plugins/org.apache.ant/lib/ant-xalan1.jar
+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
-ln -s %{_javadir}/ant/ant-antlr.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-antlr.jar
-ln -s %{_javadir}/ant/ant-apache-bcel.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-apache-bcel.jar
-#ln -s %{_javadir}/ant/ant-apache-bsf.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-apache-bsf.jar
-ln -s %{_javadir}/ant/ant-apache-log4j.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-apache-log4j.jar
-ln -s %{_javadir}/ant/ant-apache-oro.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-apache-oro.jar
-ln -s %{_javadir}/ant/ant-apache-regexp.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-apache-regexp.jar
-ln -s %{_javadir}/ant/ant-apache-resolver.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-apache-resolver.jar
-ln -s %{_javadir}/ant/ant-commons-logging.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-commons-logging.jar
+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
 # https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=180642
 # the symlinks that are commented-out are not currently shipped on Fedora
-#ln -s %{_javadir}/ant/ant-commons-net.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-commons-net.jar
-#ln -s %{_javadir}/ant/ant-jai.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-jai.jar
-ln -s %{_javadir}/ant.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant.jar
-ln -s %{_javadir}/ant/ant-javamail.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-javamail.jar
-ln -s %{_javadir}/ant/ant-jdepend.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-jdepend.jar
-#ln -s %{_javadir}/ant/ant-jmf.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-jmf.jar
-ln -s %{_javadir}/ant/ant-jsch.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-jsch.jar
-ln -s %{_javadir}/ant/ant-junit.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-junit.jar
-ln -s %{_javadir}/ant-launcher.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-launcher.jar
-#ln -s %{_javadir}/ant/ant-netrexx.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-netrexx.jar
-ln -s %{_javadir}/ant/ant-nodeps.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-nodeps.jar
-#ln -s %{_javadir}/ant/ant-starteam.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-starteam.jar
-#ln -s %{_javadir}/ant/ant-stylebook.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-stylebook.jar
-ln -s %{_javadir}/ant/ant-swing.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-swing.jar
-ln -s %{_javadir}/ant/ant-trax.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-trax.jar
-#ln -s %{_javadir}/ant/ant-weblogic.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-weblogic.jar
+#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 ##
 
+# BEGIN LUCENE ##
+rm plugins/org.apache.lucene/lucene-1.4.3.jar
+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
@@ -532,8 +643,7 @@
 build-jar-repository -s -p plugins/org.eclipse.tomcat/lib servletapi5
 ## END TOMCAT ##
 
-JUNITVERSION=$(ls plugins | grep org.junit_3 | sed 's/org.junit_//')
-build-jar-repository -s -p plugins/org.junit_$JUNITVERSION junit
+build-jar-repository -s -p plugins/org.junit junit
 
 pushd plugins/org.eclipse.swt/Eclipse\ SWT\ PI/gtk/library
 # /usr/lib -> /usr/lib64
@@ -541,6 +651,7 @@
 sed --in-place "s:-L\$(AWT_LIB_PATH):-L%{_jvmdir}/java/jre/lib/%{_arch}:" make_linux.mak
 popd
 
+
 # FIXME: figure out what's going on with build.index. 
 find plugins -type f -name \*.xml -exec sed --in-place "s/\(<antcall target=\"build.index\".*\/>\)/<\!-- \1 -->/" "{}" \;
 
@@ -555,42 +666,66 @@
                                                       assemble.org.eclipse.sdk.linux.gtk.ia64.xml \
                                                       features/org.eclipse.rcp/build.xml
 
-# remove jdt.apt.pluggable.core, jdt.compiler.tool and org.eclipse.jdt.compiler.apt as they require a JVM that supports Java 1.6
-for plugin in jdt.apt.pluggable.core jdt.compiler.tool jdt.compiler.apt; do
-  version=$(grep org.eclipse.$plugin plugins/org.eclipse.$plugin/build.xml | grep condition.property | cut -d _ -f 2-3 | cut -d \" -f 1)
-  sed --in-place "s/org.eclipse.$plugin:0.0.0,$version,//" features/org.eclipse.jdt/build.xml
-  linenum=$(grep -no $plugin features/org.eclipse.jdt/build.xml | cut -d : -f 1)
-  sed --in-place -e "$linenum,$(expr $linenum + 4)d" features/org.eclipse.jdt/build.xml
-  linenum=$(grep -no $plugin features/org.eclipse.jdt/feature.xml | cut -d : -f 1)
-  sed --in-place -e "$(expr $linenum - 1),$(expr $linenum + 5)d" features/org.eclipse.jdt/feature.xml
-  linenum=$(grep -no "dir=\"plugins/org.eclipse.$plugin" assemble.org.eclipse.sdk.linux.gtk.%{eclipse_arch}.xml | cut -d : -f 1)
-  sed --in-place -e "$linenum,$(expr $linenum + 2)d" assemble.org.eclipse.sdk.linux.gtk.%{eclipse_arch}.xml
-  linenum=$(grep -no "value=\"org.eclipse.$plugin" assemble.org.eclipse.sdk.linux.gtk.%{eclipse_arch}.xml | cut -d : -f 1)
-  sed --in-place -e "$(expr $linenum - 2),$(expr $linenum + 1)d" assemble.org.eclipse.sdk.linux.gtk.%{eclipse_arch}.xml
-done
-
-# we don't have ant 1.7 right now
-sed --in-place "s|\(initialValue = request.getDefaultValue\)|// \1|" \
-  plugins/org.eclipse.ant.ui/Ant\ Runner\ Support/org/eclipse/ant/internal/ui/antsupport/inputhandler/AntInputHandler.java
-sed --in-place "s|\(value = fRequest.getDefaultValue\)|// \1|" \
-  plugins/org.eclipse.ant.ui/Remote\ Ant\ Support/org/eclipse/ant/internal/ui/antsupport/inputhandler/SWTInputHandler.java
+## Nasty hack to get suppport for ppc64, s390{,x} and sparc{,64}
+%patch24 -p0
+# 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 ppc64 support from features/org.eclipse.platform.source/feature.xml
+# replace ppc64 with a fake arch (ppc128) so we don't have duplicate ant targets
+find -type f -name \*.xml -exec sed --in-place "s/\(rootFileslinux_gtk_\)ppc64/\1ppc128/g" "{}" \;
+# remove org.eclipse.platform.source.linux.gtk.ppc64,3.2.0.v20060602-0010-gszCh-8eOaU1uKq
+sed --in-place "s/,.\{38\}ppc64.*macosx/,org.eclipse.platform.source.macosx/g" features/org.eclipse.platform.source/build.xml
+# replace final occurances with an existing arch
+sed --in-place "s/ppc64/x86_64/g" features/org.eclipse.platform.source/build.xml
+# Move all of the ia64 directories to ppc64 or s390{,x} or sparc{,64} dirs and replace 
+# the ia64 strings with ppc64 or s390(x)
+%ifarch ppc64 s390 s390x sparc sparc64
+  for f in $(find -name \*ia64\* | grep -v motif | grep -v ia64_32); do 
+    mv $f $(echo $f | sed "s/ia64/%{_arch}/")
+  done
+  find -type f ! -name \*.java -a ! -name feature.xml -exec sed --in-place "s/ia64_32/@eye-eh-64_32@/g" "{}" \;
+  find -type f ! -name \*.java -a ! -name feature.xml -exec sed --in-place "s/ia64/%{_arch}/g" "{}" \;
+  find -type f ! -name \*.java -a ! -name feature.xml -exec sed --in-place "s/@eye-eh-64_32@/ia64_32/g" "{}" \;
+%endif 
 
 # link to the jsch jar
-rm plugins/com.jcraft.jsch_0.1.31.jar
-ln -s %{_javadir}/jsch.jar plugins/com.jcraft.jsch_0.1.31.jar
+rm baseLocation/plugins/com.jcraft.jsch_0.1.28.jar
+ln -s %{_javadir}/jsch.jar baseLocation/plugins/com.jcraft.jsch_0.1.28.jar
+
+# set the icu4j plugins for building
+pushd baseLocation/plugins
+rm com.ibm.icu.base_3.4.5.20061213.jar \
+   com.ibm.icu_3.4.5.20061213.jar \
+   com.ibm.icu.base.source_3.4.5.20061213/src/com.ibm.icu.base_3.4.5.20061213/src.zip \
+   com.ibm.icu.source_3.4.5.20061213/src/com.ibm.icu_3.4.5.20061213/src.zip
+mkdir -p icu4j-build-temp
+
+pushd icu4j-build-temp
+unzip -qq %{SOURCE7} 
+sed --in-place "s/ .*bootclasspath=.*//g" build.xml
+ant eclipseProjects
+popd
+
+mkdir -p icu4j-build
+mv icu4j-build-temp/eclipseProjects/com.ibm.icu icu4j-build
+mv icu4j-build-temp/eclipseProjects/com.ibm.icu.base icu4j-build
+rm -r icu4j-build-temp
+
+# add build.xml patches
+pushd icu4j-build
+%patch1 -p1
+popd 
 
-# link to the icu4j stuff
-rm plugins/com.ibm.icu_3.6.1.v20070417.jar
-ln -s %{_datadir}/eclipse/plugins/com.ibm.icu_3.6.1.v20070417.jar plugins/com.ibm.icu_3.6.1.v20070417.jar
+popd
 
 # delete included jars
 # https://bugs.eclipse.org/bugs/show_bug.cgi?id=170662
 rm plugins/org.eclipse.swt.win32.win32.x86/swt.jar \
    plugins/org.eclipse.swt/extra_jars/exceptions.jar \
    plugins/org.eclipse.swt.tools/swttools.jar \
-   plugins/org.eclipse.osgi/osgi/osgi.cmpn.jar \
-   plugins/org.eclipse.osgi/osgi/osgi.core.jar \
-   plugins/org.eclipse.osgi/supplement/osgi/osgi.jar
+   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=""
@@ -609,28 +744,88 @@
 %build
 ORIGCLASSPATH=$CLASSPATH
 
-# Bootstrapping:
-# 1. Build ecj with gcj-built ecj ("javac")
-# 2. Re-build ecj with output of 1.
+# Finish the icu4j build
+pushd baseLocation/plugins
 
-# 1a. compile ecj with javac
-ant -DcompilerArg="-encoding ISO-8859-1 -nowarn" -buildfile jdtcoresrc/compilejdtcorewithjavac.xml
+# Build the icu.base plugin
+zipfile=$PWD/com.ibm.icu.base.source_3.4.5.20061213/src/com.ibm.icu.base_3.4.5.20061213/src.zip
+pushd icu4j-build/com.ibm.icu.base/src
+find -name \*.java | xargs touch --date=1/1/1980
+zip -X -9 -r $zipfile . -i \*.java
+popd
+pushd icu4j-build/com.ibm.icu.base
+ant build.update.jar
+popd
+mv icu4j-build/com.ibm.icu.base/com.ibm.icu.base_3.4.5.jar com.ibm.icu.base_3.4.5.20061213.jar 
+
+# Build the icu plugin
+zipfile=$PWD/com.ibm.icu.source_3.4.5.20061213/src/com.ibm.icu_3.4.5.20061213/src.zip
+pushd icu4j-build/com.ibm.icu/src
+find -name \*.java | xargs touch --date=1/1/1980
+zip -X -9 -r $zipfile . -i \*.java
+popd
+pushd icu4j-build/com.ibm.icu
+ant build.update.jar
+popd
+mv icu4j-build/com.ibm.icu/com.ibm.icu_3.4.5.jar com.ibm.icu_3.4.5.20061213.jar 
+
+popd
+
+# 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/ecj.zip
+  rm -f ecj-bootstrap-tmp/org/eclipse/jdt/core/JDTCompilerAdapter.java
+
+  # 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
+  done
+  find -name '*.class' -or -name '*.properties' -or -name '*.rsc' |\
+      xargs jar cf ../ecj-bootstrap.jar
+  popd
+  
+  # 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.so 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"
+%endif
+ant -buildfile jdtcoresrc/compilejdtcorewithjavac.xml
 
 %if %{gcj_support}
-  # 1b. Natively-compile ecj
+  # 2b. Natively-compile ecj
   gcj -fPIC -fjni -findirect-dispatch -shared -Wl,-Bsymbolic \
     -o jdtcoresrc/ecj.jar.so jdtcoresrc/ecj.jar
    
   gcj-dbtool -n jdtcoresrc/ecj.db 30000
   gcj-dbtool -a jdtcoresrc/ecj.db jdtcoresrc/ecj.jar{,.so}
 
-  # To ensure we're not using any pre-compiled ecj on the build system, set this
+  # 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"
 %endif
 
-# 2. Use this ecj to rebuild itself
+# 3. Use this ecj to rebuild itself
 export CLASSPATH=`pwd`/jdtcoresrc/ecj.jar:$ORIGCLASSPATH
-ant -DcompilerArg="-encoding ISO-8859-1 -nowarn" -buildfile jdtcoresrc/compilejdtcore.xml
+ant -buildfile jdtcoresrc/compilejdtcore.xml
 
 %if %{gcj_support}
   # Natively-compile it
@@ -650,9 +845,9 @@
 ant \
   -Dnobootstrap=true \
   -DinstallOs=linux -DinstallWs=gtk -DinstallArch=%{eclipse_arch} \
-  -Dlibsconfig=true -DjavacSource=1.5 -DjavacTarget=1.5 -DcompilerArg="-encoding ISO-8859-1 -nowarn"
+  -Dlibsconfig=true -DjavacSource=1.5 -DjavacTarget=1.5 
 
-## Build the FileInitializer application
+# Build the FileInitializer application
 SDK=$(cd eclipse && pwd)
 PDEPLUGINVERSION=$(ls $SDK/plugins | grep pde.build | sed 's/org.eclipse.pde.build_//')
 pushd equinox-incubator
@@ -664,10 +859,9 @@
 echo "<project default=\"main\"><target name=\"main\"></target></project>" > build/assemble.org.eclipse.equinox.initializer.all.xml
 echo "<project default=\"main\"><target name=\"main\"></target></project>" > build/package.org.eclipse.equinox.initializer.all.xml
 
-LAUNCHERVERSION=$(ls $SDK/plugins | grep equinox.launcher_ | sed 's/org.eclipse.equinox.launcher_//')
-java -cp $SDK/plugins/org.eclipse.equinox.launcher_$LAUNCHERVERSION \
-     -Duser.home=$homedir                              \
+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                   \
@@ -677,12 +871,13 @@
      -f $SDK/plugins/org.eclipse.pde.build_$PDEPLUGINVERSION/scripts/build.xml
 
 pushd build/plugins/org.eclipse.equinox.initializer
-java -cp $SDK/plugins/org.eclipse.equinox.launcher_$LAUNCHERVERSION \
-     -Duser.home=$homedir                              \
+java -cp $SDK/startup.jar \
       org.eclipse.core.launcher.Main \
-     -debug -application org.eclipse.ant.core.antRunner       \
+     -Duser.home=$homedir                              \
+     -application org.eclipse.ant.core.antRunner       \
      -f build.xml build.update.jar
 popd
+
 popd
 
 %install
@@ -703,14 +898,8 @@
 # Explode the resulting SDK tarball
 tar -C $RPM_BUILD_ROOT%{_datadir} -zxf result/linux-gtk-%{eclipse_arch}-sdk.tar.gz
 
-# Add a compatibility symlink to startup.jar
-pushd $RPM_BUILD_ROOT%{_datadir}/%{name}
-LAUNCHERNAME=$(ls plugins | grep equinox.launcher_)
-ln -s plugins/$LAUNCHERNAME startup.jar
-popd
-
-## The FileInitializer app isn't part of the SDK (yet?) but we want it to be
-## around for other RPMs
+# 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
 
@@ -740,6 +929,10 @@
 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.20061213.jar $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins
+mv $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/com.ibm.icu.source_3.4.5.20061213 $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins
+
 # FIXME: there is a problem with gjdoc generating different HTML on different
 # architectures.
 PLATFORMDOCISVVERSION=$(ls $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins | grep platform.doc.isv_ | sed 's/org.eclipse.platform.doc.isv_//')
@@ -798,24 +991,14 @@
 mv $RPM_BUILD_ROOT%{_datadir}/%{name}/configuration $RPM_BUILD_ROOT%{_libdir}/%{name}
 rm -r $RPM_BUILD_ROOT%{_libdir}/%{name}/configuration/org.eclipse.update
 rm -r $RPM_BUILD_ROOT%{_libdir}/%{name}/configuration/org.eclipse.core.runtime
-rm -r $RPM_BUILD_ROOT%{_libdir}/%{name}/configuration/org.eclipse.equinox.app
 
 # Set 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/" \
   $RPM_BUILD_ROOT%{_libdir}/%{name}/configuration/config.ini
 
-# Install the launcher so
-LAUNCHERFRAGVERSION=$(ls $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins | grep equinox.launcher.gtk.linux.%{eclipse_arch}_ | sed "s/.*equinox.launcher.gtk.linux.*_//")
-cp launchertmp/library/gtk/eclipse_*.so \
-$RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/org.eclipse.equinox.launcher.gtk.linux.%{eclipse_arch}_$LAUNCHERFRAGVERSION
-
-# Install the Eclipse binary wrapper
-mv $RPM_BUILD_ROOT%{_datadir}/%{name}/eclipse $RPM_BUILD_ROOT%{_libdir}/%{name}
+# Install the Eclipse binary
 install -d -m 755 $RPM_BUILD_ROOT%{_bindir}
-cp %{SOURCE3} $RPM_BUILD_ROOT%{_bindir}/eclipse
-sed --in-place "s|@LIBDIR@|%{_libdir}|g" $RPM_BUILD_ROOT%{_bindir}/eclipse
-ECLIPSELIBSUFFIX=$(ls $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/org.eclipse.equinox.launcher.gtk.linux*/*.so | sed "s/.*.launcher.gtk.linux.//")
-sed --in-place "s|@ECLIPSELIBSUFFIX@|$ECLIPSELIBSUFFIX|" $RPM_BUILD_ROOT%{_bindir}/eclipse
+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} 
@@ -877,6 +1060,7 @@
   $RPM_BUILD_ROOT%{_datadir}/pixmaps
 %ifarch %{ix86} x86_64
 # Remove unused 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
@@ -927,59 +1111,81 @@
 
 pushd $RPM_BUILD_ROOT%{_datadir}/%{name}
 ## BEGIN ANT ##
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-antlr.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-apache-bcel.jar
-#rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-apache-bsf.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-apache-log4j.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-apache-oro.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-apache-regexp.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-apache-resolver.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-commons-logging.jar
-#rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-commons-net.jar
-#rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-jai.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-javamail.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-jdepend.jar
-#rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-jmf.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-jsch.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-junit.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-launcher.jar
-#rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-netrexx.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-nodeps.jar
-#rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-starteam.jar
-#rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-stylebook.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-swing.jar
-rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-trax.jar
-#rm plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-weblogic.jar
-# FIXME:  use build-jar-repository
-ln -s %{_javadir}/ant/ant-antlr.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-antlr.jar
-ln -s %{_javadir}/ant/ant-apache-bcel.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-apache-bcel.jar
-#ln -s %{_javadir}/ant/ant-apache-bsf.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-apache-bsf.jar
-ln -s %{_javadir}/ant/ant-apache-log4j.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-apache-log4j.jar
-ln -s %{_javadir}/ant/ant-apache-oro.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-apache-oro.jar
-ln -s %{_javadir}/ant/ant-apache-regexp.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-apache-regexp.jar
-ln -s %{_javadir}/ant/ant-apache-resolver.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-apache-resolver.jar
-ln -s %{_javadir}/ant/ant-commons-logging.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-commons-logging.jar
+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
 # https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=180642
-# the symlinks that are commented-out are not currently shipped on Fedora
-#ln -s %{_javadir}/ant/ant-commons-net.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-commons-net.jar
-#ln -s %{_javadir}/ant/ant-jai.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-jai.jar
-ln -s %{_javadir}/ant.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant.jar
-ln -s %{_javadir}/ant/ant-javamail.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-javamail.jar
-ln -s %{_javadir}/ant/ant-jdepend.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-jdepend.jar
-#ln -s %{_javadir}/ant/ant-jmf.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-jmf.jar
-ln -s %{_javadir}/ant/ant-jsch.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-jsch.jar
-ln -s %{_javadir}/ant/ant-junit.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-junit.jar
-ln -s %{_javadir}/ant-launcher.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-launcher.jar
-#ln -s %{_javadir}/ant/ant-netrexx.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-netrexx.jar
-ln -s %{_javadir}/ant/ant-nodeps.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-nodeps.jar
-#ln -s %{_javadir}/ant/ant-starteam.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-starteam.jar
-#ln -s %{_javadir}/ant/ant-stylebook.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-stylebook.jar
-ln -s %{_javadir}/ant/ant-swing.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-swing.jar
-ln -s %{_javadir}/ant/ant-trax.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-trax.jar
-#ln -s %{_javadir}/ant/ant-weblogic.jar plugins/org.apache.ant_1.7.0.v200705232135/lib/ant-weblogic.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 ##
 
+# BEGIN LUCENE ##
+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 ##
+
 ## BEGIN TOMCAT ##
 TOMCATPLUGINVERSION=$(ls plugins | grep tomcat | sed 's/org.eclipse.tomcat_//')
 mkdir -p plugins/org.eclipse.tomcat_$TOMCATPLUGINVERSION/lib
@@ -1017,8 +1223,87 @@
 build-jar-repository -s -p plugins/org.junit_* junit
 
 # link to the jsch jar
-rm plugins/com.jcraft.jsch_0.1.31.jar
-ln -s %{_javadir}/jsch.jar plugins/com.jcraft.jsch_0.1.31.jar
+rm plugins/com.jcraft.jsch_0.1.28.jar
+ln -s %{_javadir}/jsch.jar plugins/com.jcraft.jsch_0.1.28.jar
+
+# Ensure that the zip files are the same across all builds.
+# This is needed to make these package multilib compatible.
+# FIXME: this needs to be re-written as a separate program
+# warning: big hack!
+mkdir -p ${RPM_BUILD_ROOT}/tmp
+for zip in `find ${RPM_BUILD_ROOT}%{_datadir}/%{name} -type f -name \*.zip -o -type f -name \*.jar`; do
+  # unpack every zip, set the date of the files and directories and repack the zip
+  ZIPNAME=`basename $zip`
+  TMPDIR=`mktemp -d -p ${RPM_BUILD_ROOT}/tmp $ZIPNAME.tmpdir.XXXXXXXXXX` 
+  ZIPDIR=`mktemp -d -p ${RPM_BUILD_ROOT}/tmp $ZIPNAME.zipdir.XXXXXXXXXX`        
+  
+  pushd $TMPDIR 
+  unzip -qq -o $zip
+  rm -f $zip    
+
+  # check if there are jars or zips inside the zip or jar
+  zipsinside=`find $TMPDIR -type f -name \*.zip -o -name \*.jar`
+  if [ -n "$zipsinside" ]; then
+     for zip2 in $zipsinside; do
+       # unpack every zip, set the date of the files and directories and repack the zip
+       ZIPNAME2=`basename $zip2`
+       TMPDIR2=`mktemp -d -p ${RPM_BUILD_ROOT}/tmp $ZIPNAME2.tmpdir.XXXXXXXXXX`
+       ZIPDIR2=`mktemp -d -p ${RPM_BUILD_ROOT}/tmp $ZIPNAME2.zipdir.XXXXXXXXXX`
+
+       pushd $TMPDIR2
+       unzip -qq -o $zip2
+       rm -f $zip2
+
+       # create the directories first
+       for d in `find -type d | LC_ALL=C sort`; do
+         mkdir -p $ZIPDIR2/$d
+       done
+       # move the contents over to the a new directory in order and set the times. 
+       for f in `find -type f | LC_ALL=C sort`; do
+         cp $f $ZIPDIR2/$f
+         touch --date="1970-01-01 UTC" $ZIPDIR2/$f
+       done
+       popd
+
+       # 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 -@
+       popd
+
+       # Cleanup.
+       rm -rf $TMPDIR2
+       rm -rf $ZIPDIR2
+     done
+  fi 
+  
+  # now on to the original zip or jar.
+  # create the directories first
+  for d in `find -type d | LC_ALL=C sort`; do
+    mkdir -p $ZIPDIR/$d
+  done 
+  # move the contents over to the a new directory in order and set the times. 
+  for f in `find -type f | LC_ALL=C sort`; do 
+    cp $f $ZIPDIR/$f
+    touch --date="1970-01-01 UTC" $ZIPDIR/$f
+  done
+  popd
+
+  # 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 -@
+  popd
+
+  # Cleanup.
+  rm -rf $TMPDIR
+  rm -rf $ZIPDIR
+done
+rm -rf ${RPM_BUILD_ROOT}/tmp
 
 # remove this python script so that it is not aot compiled, thus avoiding a
 # multilib conflict
@@ -1118,7 +1403,7 @@
 %postun pde-runtime -p %{_bindir}/rebuild-gcj-db
 %post pde-sdk -p %{_bindir}/rebuild-gcj-db
 %postun pde-sdk -p %{_bindir}/rebuild-gcj-db
-%endif 
+%endif
 
 %files ecj
 %defattr(-,root,root)
@@ -1145,6 +1430,8 @@
 %dir %{_libdir}/%{name}/configuration/org.eclipse.osgi/bundles
 %{_datadir}/%{name}/plugins/org.eclipse.swt_*
 %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk.linux.%{eclipse_arch}_*
+# FIXME: do we need to build?
+#%{_libdir}/%{name}/libcairo-swt.so
 %{_libdir}/%{name}/swt-gtk*.jar
 %if %{gcj_support}
 %dir %{_libdir}/gcj/%{name}
@@ -1164,46 +1451,40 @@
 %{_datadir}/%{name}/notice.html
 %{_datadir}/%{name}/epl-v10.html
 %{_datadir}/%{name}/links
-%{_datadir}/%{name}/startup.jar
 %ifarch %{ix86} x86_64
 %{_datadir}/%{name}/about.html
 %endif
+%{_datadir}/%{name}/startup.jar
 %ifarch x86_64
 %{_datadir}/%{name}/about_files
 %endif
 %{_datadir}/%{name}/readme
 %{_libdir}/%{name}/features/org.eclipse.rcp_*
+%{_datadir}/%{name}/plugins/org.eclipse.update.configurator_*
+%{_datadir}/%{name}/plugins/org.eclipse.osgi_*
+%{_datadir}/%{name}/plugins/org.eclipse.equinox.registry_*
+%{_libdir}/%{name}/plugins/com.ibm.icu_*
+%{_datadir}/%{name}/plugins/org.eclipse.jface_*
+%{_datadir}/%{name}/plugins/org.eclipse.jface.databinding_*
 %{_datadir}/%{name}/plugins/org.eclipse.core.commands_*
-%{_datadir}/%{name}/plugins/org.eclipse.core.contenttype_*
-%{_datadir}/%{name}/plugins/org.eclipse.core.databinding_*
-%{_datadir}/%{name}/plugins/org.eclipse.core.databinding.beans_*
-%{_datadir}/%{name}/plugins/org.eclipse.core.expressions_*
+%{_datadir}/%{name}/plugins/org.eclipse.core.runtime.compatibility.auth_*
+%{_datadir}/%{name}/plugins/org.eclipse.ui.workbench_*
 %{_datadir}/%{name}/plugins/org.eclipse.core.jobs_*
+%{_datadir}/%{name}/plugins/org.eclipse.ui_*
 %{_datadir}/%{name}/plugins/org.eclipse.core.runtime_*
-%{_datadir}/%{name}/plugins/org.eclipse.core.runtime.compatibility.auth_*
-%{_datadir}/%{name}/plugins/org.eclipse.equinox.app_*
-%{_datadir}/%{name}/plugins/org.eclipse.equinox.common_*
-%{_datadir}/%{name}/plugins/org.eclipse.equinox.launcher_*
-%{_libdir}/%{name}/plugins/org.eclipse.equinox.launcher.gtk.linux.%{eclipse_arch}_*
 %{_datadir}/%{name}/plugins/org.eclipse.equinox.preferences_*
-%{_datadir}/%{name}/plugins/org.eclipse.equinox.registry_*
+%{_datadir}/%{name}/plugins/org.eclipse.core.expressions_*
+%{_datadir}/%{name}/plugins/org.eclipse.equinox.common_*
 %{_datadir}/%{name}/plugins/org.eclipse.help_*
-%{_datadir}/%{name}/plugins/org.eclipse.jface_*
-%{_datadir}/%{name}/plugins/org.eclipse.jface.databinding_*
-%{_datadir}/%{name}/plugins/org.eclipse.osgi_*
+%{_datadir}/%{name}/plugins/org.eclipse.core.contenttype_*
 %{_datadir}/%{name}/plugins/org.eclipse.rcp_*
-%{_datadir}/%{name}/plugins/org.eclipse.swt_*
-%{_datadir}/%{name}/plugins/org.eclipse.ui_*
-%{_datadir}/%{name}/plugins/org.eclipse.ui.workbench_*
-%{_datadir}/%{name}/plugins/org.eclipse.update.configurator_*
 %if %{gcj_support}
 %{_libdir}/gcj/%{name}/org.eclipse.update.configurator_*
 %ifnarch ia64
 %{_libdir}/gcj/%{name}/org.eclipse.osgi_*
 %endif
 %{_libdir}/gcj/%{name}/org.eclipse.equinox.registry_*
-%{_libdir}/gcj/%{name}/org.eclipse.equinox.launcher_*
-%{_libdir}/gcj/%{name}/org.eclipse.equinox.app_*
+%{_libdir}/gcj/%{name}/com.ibm.icu_*
 %{_libdir}/gcj/%{name}/org.eclipse.jface_*
 %{_libdir}/gcj/%{name}/org.eclipse.jface.databinding_*
 %{_libdir}/gcj/%{name}/org.eclipse.core.commands_*
@@ -1217,8 +1498,7 @@
 %{_libdir}/gcj/%{name}/org.eclipse.equinox.common_*
 %{_libdir}/gcj/%{name}/org.eclipse.help_*
 %{_libdir}/gcj/%{name}/org.eclipse.core.contenttype_*
-%{_libdir}/gcj/%{name}/org.eclipse.core.databinding_*
-%{_libdir}/gcj/%{name}/org.eclipse.core.databinding.beans_*
+%{_libdir}/gcj/%{name}/startup.jar*
 %endif
 
 %files rcp-sdk
@@ -1226,187 +1506,139 @@
 %{_datadir}/%{name}/features/org.eclipse.rcp.source_*
 %{_libdir}/%{name}/plugins/org.eclipse.rcp.source.linux.gtk.%{eclipse_arch}*
 %{_datadir}/%{name}/plugins/org.eclipse.rcp.source_*
-
-%files cvs-client
-%{_datadir}/%{name}/plugins/org.eclipse.team.cvs.core_*
-%{_datadir}/%{name}/plugins/org.eclipse.cvs_*
-%{_datadir}/%{name}/plugins/org.eclipse.team.cvs.ssh2_*
-%{_datadir}/%{name}/plugins/org.eclipse.team.cvs.ssh_*
-%{_datadir}/%{name}/plugins/org.eclipse.team.cvs.ui_*
-%{_datadir}/%{name}/features/org.eclipse.cvs_*
-%if %{gcj_support}
-%{_libdir}/gcj/%{name}/org.eclipse.team.cvs.core_*
-%{_libdir}/gcj/%{name}/org.eclipse.team.cvs.ssh_*
-%{_libdir}/gcj/%{name}/org.eclipse.team.cvs.ssh2_*
-%{_libdir}/gcj/%{name}/org.eclipse.team.cvs.ui_*
-%endif
-
-%files cvs-client-sdk
-%{_datadir}/%{name}/plugins/org.eclipse.cvs.source_*
-%{_datadir}/%{name}/features/org.eclipse.cvs.source_*
+%{_libdir}/%{name}/plugins/com.ibm.icu.source_*
 
 %files platform -f %{name}-platform.install
 %defattr(-,root,root)
 %attr(0755,root,root) %{_bindir}/%{name}
 %{_datadir}/%{name}/eclipse.ini
-%{_libdir}/%{name}/eclipse
 %{_datadir}/applications/*
 %{_datadir}/pixmaps/*
 %{_datadir}/icons/*/*/apps/*
 %{_datadir}/%{name}/features/org.eclipse.platform_*
+%{_datadir}/%{name}/plugins/org.eclipse.equinox.initializer_*
+%{_datadir}/%{name}/plugins/org.eclipse.ui.navigator.resources_*
+%{_datadir}/%{name}/plugins/org.eclipse.team.cvs.ui_*
+%{_datadir}/%{name}/plugins/org.eclipse.ui.navigator_*
+%{_datadir}/%{name}/plugins/org.eclipse.team.cvs.core_*
+%{_datadir}/%{name}/plugins/org.eclipse.ui.workbench.compatibility_*
+%{_datadir}/%{name}/plugins/org.eclipse.ui.forms_*
+%{_datadir}/%{name}/plugins/org.eclipse.ltk.core.refactoring_*
+%{_datadir}/%{name}/plugins/org.eclipse.debug.ui_*
+%{_datadir}/%{name}/plugins/org.eclipse.core.resources_*
+%{_datadir}/%{name}/plugins/org.eclipse.jface.text_*
+%{_datadir}/%{name}/plugins/org.eclipse.ui.intro_*
+%{_datadir}/%{name}/plugins/org.eclipse.ui.ide_*
 %{_datadir}/%{name}/plugins/com.jcraft.jsch_*
-%{_datadir}/%{name}/plugins/javax.servlet_*
-%{_datadir}/%{name}/plugins/javax.servlet.jsp_*
-%{_datadir}/%{name}/plugins/org.apache.ant_*
-%{_datadir}/%{name}/plugins/org.apache.commons.el_*
-%{_datadir}/%{name}/plugins/org.apache.commons.logging_*
-%{_datadir}/%{name}/plugins/org.apache.jasper_*
-%{_datadir}/%{name}/plugins/org.apache.lucene_*
-%{_datadir}/%{name}/plugins/org.apache.lucene.analysis_*
+%{_datadir}/%{name}/plugins/org.eclipse.ui.cheatsheets_*
 %{_datadir}/%{name}/plugins/org.eclipse.ant.core_*
-%{_datadir}/%{name}/plugins/org.eclipse.compare_*
-%{_datadir}/%{name}/plugins/org.eclipse.core.boot_*
-%{_datadir}/%{name}/plugins/org.eclipse.core.filebuffers_*
-%{_datadir}/%{name}/plugins/org.eclipse.core.filesystem_*
+%{_datadir}/%{name}/plugins/org.eclipse.help.appserver_*
+%{_datadir}/%{name}/plugins/org.eclipse.ui.browser_*
+%{_datadir}/%{name}/plugins/org.eclipse.ui.presentations.r21_*
+%{_datadir}/%{name}/plugins/org.eclipse.team.ui_*
+%{_libdir}/%{name}/plugins/org.eclipse.update.core.linux_*
 %ifarch %{ix86} x86_64
 %{_libdir}/%{name}/plugins/org.eclipse.core.filesystem.linux.%{eclipse_arch}_*
 %endif
-%{_datadir}/%{name}/plugins/org.eclipse.core.net_*
-%{_datadir}/%{name}/plugins/org.eclipse.core.resources_*
-%{_datadir}/%{name}/plugins/org.eclipse.core.resources.compatibility_*
-%{_datadir}/%{name}/plugins/org.eclipse.core.runtime.compatibility_*
-%{_datadir}/%{name}/plugins/org.eclipse.core.runtime.compatibility.registry_*
 %{_datadir}/%{name}/plugins/org.eclipse.core.variables_*
-%{_datadir}/%{name}/plugins/org.eclipse.debug.core_*
-%{_datadir}/%{name}/plugins/org.eclipse.debug.ui_*
-%{_datadir}/%{name}/plugins/org.eclipse.equinox.http.jetty_*
-%{_datadir}/%{name}/plugins/org.eclipse.equinox.http.registry_*
-%{_datadir}/%{name}/plugins/org.eclipse.equinox.http.servlet_*
-%{_datadir}/%{name}/plugins/org.eclipse.equinox.jsp.jasper_*
-%{_datadir}/%{name}/plugins/org.eclipse.equinox.jsp.jasper.registry_*
-%{_datadir}/%{name}/plugins/org.eclipse.help.appserver_*
 %{_datadir}/%{name}/plugins/org.eclipse.help.base_*
-%{_datadir}/%{name}/plugins/org.eclipse.help.ui_*
-%{_libdir}/%{name}/plugins/org.eclipse.help.webapp_*
-%{_datadir}/%{name}/plugins/org.eclipse.jface.text_*
-%{_datadir}/%{name}/plugins/org.eclipse.jsch.core_*
-%{_datadir}/%{name}/plugins/org.eclipse.jsch.ui_*
-%{_datadir}/%{name}/plugins/org.eclipse.ltk.core.refactoring_*
-%{_datadir}/%{name}/plugins/org.eclipse.ltk.ui.refactoring_*
-%{_datadir}/%{name}/plugins/org.eclipse.osgi.services_*
-%{_datadir}/%{name}/plugins/org.eclipse.osgi.util_*
-%{_datadir}/%{name}/plugins/org.eclipse.platform_*
-%{_datadir}/%{name}/plugins/org.eclipse.platform.doc.user_*
-%{_datadir}/%{name}/plugins/org.eclipse.search_*
+%{_datadir}/%{name}/plugins/org.eclipse.ui.views.properties.tabbed_*
+%{_datadir}/%{name}/plugins/org.eclipse.compare_*
 %{_datadir}/%{name}/plugins/org.eclipse.team.core_*
-%{_datadir}/%{name}/plugins/org.eclipse.team.ui_*
-%{_datadir}/%{name}/plugins/org.eclipse.text_*
-%{_datadir}/%{name}/plugins/org.eclipse.tomcat_*
-%{_datadir}/%{name}/plugins/org.eclipse.ui.browser_*
-%{_datadir}/%{name}/plugins/org.eclipse.ui.cheatsheets_*
+%{_datadir}/%{name}/plugins/org.eclipse.osgi.util_*
+%{_datadir}/%{name}/plugins/org.eclipse.osgi.services_*
 %{_datadir}/%{name}/plugins/org.eclipse.ui.console_*
-%{_datadir}/%{name}/plugins/org.eclipse.ui.editors_*
-%{_datadir}/%{name}/plugins/org.eclipse.ui.externaltools_*
-%{_datadir}/%{name}/plugins/org.eclipse.ui.forms_*
-%{_datadir}/%{name}/plugins/org.eclipse.ui.ide_*
-%{_datadir}/%{name}/plugins/org.eclipse.ui.ide.application_*
-%{_datadir}/%{name}/plugins/org.eclipse.ui.intro_*
-%{_datadir}/%{name}/plugins/org.eclipse.ui.intro.universal_*
-%{_datadir}/%{name}/plugins/org.eclipse.ui.navigator_*
-%{_datadir}/%{name}/plugins/org.eclipse.ui.navigator.resources_*
-%{_datadir}/%{name}/plugins/org.eclipse.ui.net_*
-%{_datadir}/%{name}/plugins/org.eclipse.ui.presentations.r21_*
+%{_datadir}/%{name}/plugins/org.eclipse.platform_*
+%{_datadir}/%{name}/plugins/org.eclipse.update.ui_*
+%{_libdir}/%{name}/plugins/org.eclipse.help.webapp_*
+%{_datadir}/%{name}/plugins/org.eclipse.core.runtime.compatibility_*
 %{_datadir}/%{name}/plugins/org.eclipse.ui.views_*
-%{_datadir}/%{name}/plugins/org.eclipse.ui.views.properties.tabbed_*
-%{_datadir}/%{name}/plugins/org.eclipse.ui.workbench.compatibility_*
-%{_datadir}/%{name}/plugins/org.eclipse.ui.workbench.texteditor_*
 %{_datadir}/%{name}/plugins/org.eclipse.update.core_*
-%{_libdir}/%{name}/plugins/org.eclipse.update.core.linux_*
+%{_datadir}/%{name}/plugins/org.eclipse.core.resources.compatibility_*
+%{_datadir}/%{name}/plugins/org.eclipse.ui.intro.universal_*
+%{_datadir}/%{name}/plugins/org.eclipse.core.boot_*
+%{_datadir}/%{name}/plugins/org.apache.ant_*
+%{_datadir}/%{name}/plugins/org.eclipse.team.cvs.ssh2_*
+%{_datadir}/%{name}/plugins/org.eclipse.ui.externaltools_*
+%{_datadir}/%{name}/plugins/org.eclipse.team.cvs.ssh_*
+%{_datadir}/%{name}/plugins/org.apache.lucene_*
 %{_datadir}/%{name}/plugins/org.eclipse.update.scheduler_*
-%{_datadir}/%{name}/plugins/org.eclipse.update.ui_*
-%{_datadir}/%{name}/plugins/org.mortbay.jetty_*
-%{_datadir}/%{name}/plugins/org.eclipse.equinox.initializer_*
+%{_datadir}/%{name}/plugins/org.eclipse.debug.core_*
+%{_datadir}/%{name}/plugins/org.eclipse.help.ui_*
+%{_datadir}/%{name}/plugins/org.eclipse.ui.editors_*
+%{_datadir}/%{name}/plugins/org.eclipse.core.filesystem_*
+%{_datadir}/%{name}/plugins/org.eclipse.tomcat_*
+%{_datadir}/%{name}/plugins/org.eclipse.core.filebuffers_*
+%{_datadir}/%{name}/plugins/org.eclipse.core.runtime.compatibility.registry_*
+%{_datadir}/%{name}/plugins/org.eclipse.platform.doc.user_*
+%{_datadir}/%{name}/plugins/org.eclipse.ltk.ui.refactoring_*
+%{_datadir}/%{name}/plugins/org.eclipse.ui.workbench.texteditor_*
+%{_datadir}/%{name}/plugins/org.eclipse.text_*
+%{_datadir}/%{name}/plugins/org.eclipse.search_*
 %if %{gcj_support}
-%{_libdir}/gcj/%{name}/javax.servlet_*
-%{_libdir}/gcj/%{name}/javax.servlet.jsp_*
-%{_libdir}/gcj/%{name}/org.apache.commons.el_*
-%{_libdir}/gcj/%{name}/org.apache.commons.logging_*
-%{_libdir}/gcj/%{name}/org.apache.jasper_*
-%{_libdir}/gcj/%{name}/org.apache.lucene_*
-%{_libdir}/gcj/%{name}/org.apache.lucene.analysis_*
-%{_libdir}/gcj/%{name}/org.eclipse.ant.core_*
-%{_libdir}/gcj/%{name}/org.eclipse.compare_*
-%{_libdir}/gcj/%{name}/org.eclipse.core.filebuffers_*
-%{_libdir}/gcj/%{name}/org.eclipse.core.filesystem_*
-%{_libdir}/gcj/%{name}/org.eclipse.core.net_*
-%{_libdir}/gcj/%{name}/org.eclipse.core.resources_*
-%{_libdir}/gcj/%{name}/org.eclipse.core.resources.compatibility_*
-%{_libdir}/gcj/%{name}/org.eclipse.core.runtime.compatibility_*
-%{_libdir}/gcj/%{name}/org.eclipse.core.variables_*
-%{_libdir}/gcj/%{name}/org.eclipse.debug.core_*
+%{_libdir}/gcj/%{name}/org.eclipse.equinox.initializer_*
+%{_libdir}/gcj/%{name}/org.eclipse.ui.navigator.resources_*
+%{_libdir}/gcj/%{name}/org.eclipse.team.cvs.ui_*
+%{_libdir}/gcj/%{name}/org.eclipse.ui.navigator_*
+%{_libdir}/gcj/%{name}/org.eclipse.team.cvs.core_*
+%{_libdir}/gcj/%{name}/org.eclipse.ui.forms_*
+%{_libdir}/gcj/%{name}/org.eclipse.ltk.core.refactoring_*
 %{_libdir}/gcj/%{name}/org.eclipse.debug.ui_*
-%{_libdir}/gcj/%{name}/org.eclipse.equinox.http.jetty_*
-%{_libdir}/gcj/%{name}/org.eclipse.equinox.http.servlet_*
-%{_libdir}/gcj/%{name}/org.eclipse.equinox.jsp.jasper_*
-%{_libdir}/gcj/%{name}/org.eclipse.equinox.jsp.jasper.registry_*
+%{_libdir}/gcj/%{name}/org.eclipse.core.resources_*
+%{_libdir}/gcj/%{name}/org.eclipse.jface.text_*
+%{_libdir}/gcj/%{name}/org.eclipse.ui.intro_*
+#%{_libdir}/gcj/%{name}/org.eclipse.ui.ide_*
+%{_libdir}/gcj/%{name}/org.eclipse.ui.cheatsheets_*
+%{_libdir}/gcj/%{name}/org.eclipse.ant.core_*
 %{_libdir}/gcj/%{name}/org.eclipse.help.appserver_*
+%{_libdir}/gcj/%{name}/org.eclipse.ui.browser_*
+%{_libdir}/gcj/%{name}/org.eclipse.ui.presentations.r21_*
+%{_libdir}/gcj/%{name}/org.eclipse.team.ui_*
+%{_libdir}/gcj/%{name}/org.eclipse.core.variables_*
 %{_libdir}/gcj/%{name}/org.eclipse.help.base_*
-%{_libdir}/gcj/%{name}/org.eclipse.help.ui_*
-%{_libdir}/gcj/%{name}/org.eclipse.help.webapp_*
-%{_libdir}/gcj/%{name}/org.eclipse.jface.text_*
-%{_libdir}/gcj/%{name}/org.eclipse.jsch.core_*
-%{_libdir}/gcj/%{name}/org.eclipse.jsch.ui_*
-%{_libdir}/gcj/%{name}/org.eclipse.ltk.core.refactoring_*
-%{_libdir}/gcj/%{name}/org.eclipse.ltk.ui.refactoring_*
-%{_libdir}/gcj/%{name}/org.eclipse.osgi.services_*
-%{_libdir}/gcj/%{name}/org.eclipse.osgi.util_*
-%{_libdir}/gcj/%{name}/org.eclipse.search_*
+%{_libdir}/gcj/%{name}/org.eclipse.ui.views.properties.tabbed_*
+%{_libdir}/gcj/%{name}/org.eclipse.compare_*
 %{_libdir}/gcj/%{name}/org.eclipse.team.core_*
-%{_libdir}/gcj/%{name}/org.eclipse.team.ui_*
-%{_libdir}/gcj/%{name}/org.eclipse.text_*
-%{_libdir}/gcj/%{name}/org.eclipse.ui.browser_*
-%{_libdir}/gcj/%{name}/org.eclipse.ui.cheatsheets_*
+%{_libdir}/gcj/%{name}/org.eclipse.osgi.util_*
+%{_libdir}/gcj/%{name}/org.eclipse.osgi.services_*
 %{_libdir}/gcj/%{name}/org.eclipse.ui.console_*
-%{_libdir}/gcj/%{name}/org.eclipse.ui.editors_*
-%{_libdir}/gcj/%{name}/org.eclipse.ui.externaltools_*
-%{_libdir}/gcj/%{name}/org.eclipse.ui.forms_*
-%{_libdir}/gcj/%{name}/org.eclipse.ui.ide.application_*
-%{_libdir}/gcj/%{name}/org.eclipse.ui.intro_*
-%{_libdir}/gcj/%{name}/org.eclipse.ui.navigator_*
-%{_libdir}/gcj/%{name}/org.eclipse.ui.navigator.resources_*
-%{_libdir}/gcj/%{name}/org.eclipse.ui.net_*
-%{_libdir}/gcj/%{name}/org.eclipse.ui.presentations.r21_*
+%{_libdir}/gcj/%{name}/org.eclipse.update.ui_*
+%{_libdir}/gcj/%{name}/org.eclipse.core.runtime.compatibility_*
 %{_libdir}/gcj/%{name}/org.eclipse.ui.views_*
-%{_libdir}/gcj/%{name}/org.eclipse.ui.views.properties.tabbed_*
-%{_libdir}/gcj/%{name}/org.eclipse.ui.workbench.texteditor_*
 %{_libdir}/gcj/%{name}/org.eclipse.update.core_*
+%{_libdir}/gcj/%{name}/org.eclipse.core.resources.compatibility_*
+%{_libdir}/gcj/%{name}/org.eclipse.team.cvs.ssh2_*
+%{_libdir}/gcj/%{name}/org.eclipse.ui.externaltools_*
+%{_libdir}/gcj/%{name}/org.eclipse.team.cvs.ssh_*
 %{_libdir}/gcj/%{name}/org.eclipse.update.scheduler_*
-%{_libdir}/gcj/%{name}/org.eclipse.update.ui_*
-%{_libdir}/gcj/%{name}/org.mortbay.jetty_*
-%{_libdir}/gcj/%{name}/compatibility.*
-%{_libdir}/gcj/%{name}/org.eclipse.equinox.http.registry_*
-%{_libdir}/gcj/%{name}/org.eclipse.equinox.initializer_*
-%{_libdir}/gcj/%{name}/platform.jar.*
-%{_libdir}/gcj/%{name}/runtime_registry_compatibility.jar.*
-%{_libdir}/gcj/%{name}/tomcatwrapper.jar.*
-%{_libdir}/gcj/%{name}/universal.jar.*
+%{_libdir}/gcj/%{name}/org.eclipse.debug.core_*
+%{_libdir}/gcj/%{name}/org.eclipse.help.ui_*
+%{_libdir}/gcj/%{name}/org.eclipse.ui.editors_*
+%{_libdir}/gcj/%{name}/org.eclipse.core.filesystem_*
+%{_libdir}/gcj/%{name}/org.eclipse.core.filebuffers_*
+%{_libdir}/gcj/%{name}/org.eclipse.ltk.ui.refactoring_*
+%{_libdir}/gcj/%{name}/org.eclipse.ui.workbench.texteditor_*
+%{_libdir}/gcj/%{name}/org.eclipse.text_*
+%{_libdir}/gcj/%{name}/org.eclipse.search_*
+%{_libdir}/gcj/%{name}/universal.jar*
+%{_libdir}/gcj/%{name}/webapp.jar*
+%{_libdir}/gcj/%{name}/tomcatwrapper.jar*
+%{_libdir}/gcj/%{name}/compatibility.jar*
+%{_libdir}/gcj/%{name}/platform.jar*
+%{_libdir}/gcj/%{name}/runtime_registry_compatibility.jar*
+%{_libdir}/gcj/%{name}/servlets.jar*
+# FIXME:  we need to symlink these
+%{_libdir}/gcj/%{name}/ant-apache-bsf.jar*
+%{_libdir}/gcj/%{name}/jsp.jar*
+%{_libdir}/gcj/%{name}/parser.jar*
 %endif
 
 %files platform-sdk
 %defattr(-,root,root)
 %{_datadir}/%{name}/features/org.eclipse.platform.source_*
-%{_datadir}/%{name}/plugins/javax.servlet.jsp.source_*
-%{_datadir}/%{name}/plugins/javax.servlet.source_*
-%{_datadir}/%{name}/plugins/org.apache.ant.source_*
-%{_datadir}/%{name}/plugins/org.apache.commons.el.source_*
-%{_datadir}/%{name}/plugins/org.apache.commons.logging.source_*
-%{_datadir}/%{name}/plugins/org.apache.jasper.source_*
-%{_datadir}/%{name}/plugins/org.apache.lucene.analysis.source_*
-%{_datadir}/%{name}/plugins/org.apache.lucene.source_*
+%{_libdir}/%{name}/plugins/org.eclipse.platform.source.linux.gtk.%{eclipse_arch}_*
 %{_libdir}/%{name}/plugins/org.eclipse.platform.doc.isv_*
 %{_libdir}/%{name}/plugins/org.eclipse.platform.source_*
-%{_libdir}/%{name}/plugins/org.eclipse.platform.source.linux.gtk.%{eclipse_arch}_*
-%{_datadir}/%{name}/plugins/org.mortbay.jetty.source_*
 %if %{gcj_support}
 %{_libdir}/gcj/%{name}/org.eclipse.platform.doc.isv_*
 %endif
@@ -1431,19 +1663,19 @@
 %{_datadir}/%{name}/plugins/org.eclipse.jdt.junit.runtime_*
 %{_datadir}/%{name}/plugins/org.eclipse.jdt.debug.ui_*
 %if %{gcj_support}
+%{_libdir}/gcj/%{name}/junit-4.1.jar*
 %{_libdir}/gcj/%{name}/org.eclipse.ant.ui_*
 %{_libdir}/gcj/%{name}/org.eclipse.jdt.apt.core_*
 %{_libdir}/gcj/%{name}/org.eclipse.jdt.ui_*
 %{_libdir}/gcj/%{name}/org.eclipse.jdt.junit4.runtime_*
-%{_libdir}/gcj/%{name}/org.eclipse.jdt.junit.runtime_*
-%{_libdir}/gcj/%{name}/org.eclipse.jdt.junit_*
 %{_libdir}/gcj/%{name}/org.eclipse.jdt.launching_*
 %{_libdir}/gcj/%{name}/org.eclipse.jdt.core.manipulation_*
 %{_libdir}/gcj/%{name}/org.eclipse.jdt.apt.ui_*
 %{_libdir}/gcj/%{name}/org.eclipse.jdt.debug.ui_*
+%{_libdir}/gcj/%{name}/junitruntime.jar.*
+%{_libdir}/gcj/%{name}/junitsupport.jar.*
 %{_libdir}/gcj/%{name}/jdimodel.jar.*
 %{_libdir}/gcj/%{name}/jdi.jar.*
-%{_libdir}/gcj/%{name}/junit.jar.*
 %endif
 
 %files jdt-sdk
@@ -1451,7 +1683,6 @@
 %{_datadir}/%{name}/features/org.eclipse.jdt.source_*
 %{_libdir}/%{name}/plugins/org.eclipse.jdt.doc.isv_*
 %{_datadir}/%{name}/plugins/org.eclipse.jdt.source_*
-%{_datadir}/%{name}/plugins/org.junit.source_*
 
 %files pde
 %defattr(-,root,root)
@@ -1463,14 +1694,12 @@
 %{_datadir}/%{name}/plugins/org.eclipse.pde.core_*
 %{_datadir}/%{name}/plugins/org.eclipse.pde.junit.runtime_*
 %{_datadir}/%{name}/plugins/org.eclipse.pde.ui_*
-%{_datadir}/%{name}/plugins/org.eclipse.pde.ui.templates_*
 %{_datadir}/%{name}/buildscripts
 %if %{gcj_support}
 %{_libdir}/gcj/%{name}/org.eclipse.pde_*
 %{_libdir}/gcj/%{name}/org.eclipse.pde.core_*
 %{_libdir}/gcj/%{name}/org.eclipse.pde.junit.runtime_*
 %{_libdir}/gcj/%{name}/org.eclipse.pde.ui_*
-%{_libdir}/gcj/%{name}/org.eclipse.pde.ui.templates_*
 %{_libdir}/gcj/%{name}/pdebuild.jar*
 %{_libdir}/gcj/%{name}/pdebuild-ant.jar*
 %endif
@@ -1493,47 +1722,107 @@
 %{_libdir}/%{name}/plugins/org.eclipse.sdk_*
 
 %changelog
-* Tue Jun 19 2007 Ben Konrath <bkonrath at redhat.com> 3.3.0-0.2.RC4
-- Use icu4j-eclipse sub-package instead of building icu4j here.
-- Use exec in binary wrapper.
-- Add 3.3.0 splashscreen.
-
-* Tue Jun 12 2007 Ben Konrath <bkonrath at redhat.com> 3.3.0-0.1.RC4
-- 3.3RC4.
-
-* Mon Jun 11 2007 Ben Konrath <bkonrath at redhat.com> 3.3.0-0.2.RC3
-- Update launching strategy for 3.3.
-- Pull in package-build fix from F-7.
-
-* Wed May 23 2007 Ben Konrath <bkonrath at redhat.com> 3.3.0-0.1.RC3
-- 3.3RC3.
-
-* Wed May 23 2007 Ben Konrath <bkonrath at redhat.com> 3.3.0-0.1.RC2
-- 3.3RC2.
-
-* Wed May 23 2007 Ben Konrath <bkonrath at redhat.com> 3.3.0-0.1.RC1
-- 3.3RC1.
-- Pull in changes from F-7.
-
-* Mon Feb 26 2007 Ben Konrath <bkonrath at redhat.com> 3.3.0-0.1.M5eh
-- 3.3M5.
-- Remove launcher-addplatformtotildeeclipse.patch as it's only needed 
-  for FC-5 -> FC-6.
-- Remove swt firefox patches as they are no longer needed.
-- Remove ppc64, s390{,x} and sparc{,64} support.
-- Remove use-built-launcher patch.
-- Update set-launcher-and-configuration-dir patch.
-
-* Mon Jan 29 2007 Ben Konrath <bkonrath at redhat.com> 3.3.0-0.3.M4
-- Enable updated ecj square brackets patch.
-
-* Fri Jan 12 2007 Ben Konrath <bkonrath at redhat.com> 3.3.0-0.2.M4
-- Pull in fixes from rawhide.
-
-* Wed Dec 20 2006 Ben Konrath <bkonrath at redhat.com> 3.3.0-0.1.M4
-- 3.3M4.
-- Update patches for 3.3M4.
-- Remove SWT JNI symlinks in %%{_libdir}.
+* Tue Jun 20 2007 Ben Konrath <bkonrath at redhat.com> 3.2.2-15
+- Add Java-1.7.profile to org.eclipse.osgi for IcedTea.
+
+* Thu May 17 2007 Ben Konrath <bkonrath at redhat.com> 3.2.2-14
+- BR/R tomcat5 >= 5.5.23.
+- Fix broken symlinks for tomcat5 5.5.23.
+
+* Tue May 15 2007 Ben Konrath <bkonrath at redhat.com> 3.2.2-13
+- Another bug fix for launch-addplatformtotildeeclipse.patch.
+- Add BR/B tomcat >= 5.5.20 instead of just = 5.5.20.
+- Resolves: #240025.
+
+* Wed May 02 2007 Ben Konrath <bkonrath at redhat.com> 3.2.2-12
+- Fix additional problem with launcher-addplatformtotildeeclipse.patch.
+- Resolves: #238109.
+
+* Mon Apr 30 2007 Ben Konrath <bkonrath at redhat.com> 3.2.2-11
+- Add workaround in launcher-addplatformtotildeeclipse.patch for problems
+  caused by bug #238109.
+- Resolves: #238109.
+
+* Fri Apr 27 2007 Ben Konrath <bkonrath at redhat.com> 3.2.2-10
+- Fix problem in launcher-addplatformtotildeeclipse.patch.
+- Resolves: #238109.
+
+* Fri Apr 27 2007 Ben Konrath <bkonrath at redhat.com> 3.2.2-9
+- Remove BR eclipse-pde.
+- Related: #236895
+
+* Wed Apr 11 2007 Ben Konrath <bkonrath at redhat.com> 3.2.2-8
+- Link to system-installed jsch instead of including it. 
+- Fix links to system-installed javadocs.
+
+* Tue Mar 20 2007 Ben Konrath <bkonrath at redhat.com> 3.2.2-7
+- Remove search and processing for mac encoded files.
+- Remove BR dos2unix.
+ 
+* Mon Mar 19 2007 Thomas Fitzsimmons <fitzsim at redhat.com> 3.2.2-6
+- Remove gjdoc build requirement.
+
+* Fri Mar 16 2007 Ben Konrath <bkonrath at redhat.com> 3.2.2-5
+- Update package-build releng script to work with mylar.
+
+* Thu Mar 15 2007 Ben Konrath <bkonrath at redhat.com> 3.2.2-4
+- Update to tomcat 5.5.20.
+
+* Fri Mar 02 2007 Ben Konrath <bkonrath at redhat.com> 3.2.2-3
+- Uncomment 'this.generatePackagesStructure = true;' in ecj-gcj patch.
+
+* Mon Feb 26 2007 Ben Konrath <bkonrath at redhat.com> 3.2.2-2
+- Add gcc messages to ecj-gcj patch.
+
+* Wed Feb 21 2007 Ben Konrath <bkonrath at redhat.com> 3.2.2-1
+- 3.2.2.
+- Remove patch that disables Java 5 code.
+- Add -DjavacSource=1.5 -DjavacTarget=1.5 to ant compile line.
+
+* Wed Feb 07 2007 Ben Konrath <bkonrath at redhat.com> 3.2.1-37
+- Move rcp feature to %%{_libdir} to avoid multilib conflict on ppc{,64}.
+
+* Tue Feb 06 2007 Ben Konrath <bkonrath at redhat.com> 3.2.1-36
+- Rework ppc64, s390{x} and sparc{64} hack again to try to fix multilib 
+  problem.
+
+* Thu Feb 01 2007 Ben Konrath <bkonrath at redhat.com> 3.2.1-35
+- Use original name for the SWT JNI symlinks.
+- Rework ppc64, s390{x} and sparc{64} hack to fix multilib problem.
+- Update ecj [] patch to upstream version from 3.3.
+
+* Tue Jan 30 2007 Ben Konrath <bkonrath at redhat.com> 3.2.1-34
+- Create symlinks to the SWT JNI libs in %%{_libdir}/eclipse with sane 
+  versions.
+
+* Mon Jan 29 2007 Ben Konrath <bkonrath at redhat.com> 3.2.1-33
+- Check for features directory in sdk postun script. 
+- Resolves: #224588.
+
+* Fri Jan 26 2007 Ben Konrath <bkonrath at redhat.com> 3.2.1-32
+- Fix bug in ecj [] patch.
+
+* Tue Jan 16 2007 Ben Konrath <bkonrath at redhat.com> 3.2.1-31
+- Add bugzilla reference to remove jars bug in comment.
+- Update bugzilla refereces to [] bugs.
+
+* Fri Jan 12 2007 Ben Konrath <bkonrath at redhat.com> 3.2.1-30
+- Fix %%postun problem in the sdk sub-package.
+
+* Thu Jan 11 2007 Ben Konrath <bkonrath at redhat.com> 3.2.1-29
+- Remove SWT JNI symlinks from %%{libdir}.
+
+* Wed Jan 10 2007 Ben Konrath <bkonrath at redhat.com> 3.2.1-28
+- Rpmlint cleanups.
+
+* Fri Jan 05 2007 Ben Konrath <bkonrath at redhat.com> 3.2.1-27
+- Use /g in tomcat version replacement. 
+- Disable com.jcraft.jsch_0.1.28.jar and
+  org.eclipse.osgi_3.2.1.R32x_v20060919.jar on ia64.
+
+* Tue Dec 19 2006 Ben Konrath <bkonrath at redhat.com> 3.2.1-26
+- Use sed instead of patch for tomcat version.
+- Add BuildRequires desktop-file-utils.
 
 * Wed Dec 6 2006 Ben Konrath <bkonrath at redhat.com> 3.2.1-25
 - Add %%{_libdir}/eclipse dir to files list of libswt-gtk2.


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/eclipse/devel/sources,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -r1.45 -r1.46
--- sources	22 Jun 2007 20:14:38 -0000	1.45
+++ sources	26 Jun 2007 16:01:53 -0000	1.46
@@ -1,3 +1,4 @@
+c3be75d8af3c31b7a1748247ab3fee95  icu4jsrc_3_4_5.jar
 e1313563c7e36aa46e33789a1386b815  eclipse-fileinitializerapp.tar.bz2
-8a50adfea6b126fdbd231a620f94a5ca  eclipse-sourceBuild-srcIncluded-3.3RC4.zip
-3f5ee621f738ee107e312817dadacab4  eclipse-fedora-splash-3.3.0.png
+5d1b9f6a146ffc59191e513083a6ec86  eclipse-sourceBuild-srcIncluded-3.2.2.zip
+d48b18e6e50ce7713242a3e0092fdbe9  eclipse-fedora-splash-3.2.2.png


--- 3.3-TODO.txt DELETED ---


--- eclipse.in DELETED ---




More information about the fedora-extras-commits mailing list