rpms/eclipse/FC-4 eclipse-bz162177.patch, NONE, 1.1 eclipse-compare-create-api.patch, NONE, 1.1 eclipse-dontgeneratehelpindices.patch, NONE, 1.1 eclipse-filenamepatterns.txt, NONE, 1.1 eclipse-javadoc.patch, NONE, 1.1 eclipse-swt-nocairo.fc4.patch, NONE, 1.1 eclipse-tomcat5-build.2.patch, NONE, 1.1 eclipse-tomcat5-build.patch, NONE, 1.1 eclipse-tomcat5.patch, NONE, 1.1 eclipse-webapp-tomcat5.patch, NONE, 1.1 eclipse-build.patch, 1.1, 1.2 eclipse-icon.patch, 1.2, 1.3 eclipse-updatehomedir.patch, 1.3, 1.4 eclipse.spec, 1.142, 1.143 sources, 1.23, 1.24 eclipse-build-activeHelpSample.jar.patch, 1.3, NONE eclipse-build.xml-typo.patch, 1.1, NONE eclipse-gtk-launcher.patch, 1.3, NONE eclipse-gtk.install, 1.6, NONE eclipse-importArchivedProj.patch, 1.1, NONE eclipse-jnigen.patch, 1.6, NONE eclipse-libswt-mozilla2.patch, 1.1, NONE eclipse-org.eclipse.core.resources-Makefile.patch, 1.3, NONE eclipse-org.eclipse.help.appserver-host.patch, 1.3, NONE eclipse-platformOptions.patch, 1.1, NONE eclipse-search.patch, 1.1, NONE eclipse! -source.install, 1.3, NONE eclipse-startup-url.openStream.patch, 1.1, NONE eclipse-swt-libgcjawt.patch, 1.1, NONE eclipse-swt64-tools.tar.gz.md5, 1.1, NONE eclipse-tools-build.xml, 1.2, NONE eclipse-welcome-screen.patch, 1.1, NONE

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Tue Jul 5 15:33:33 UTC 2005


Author: overholt

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

Modified Files:
	eclipse-build.patch eclipse-icon.patch 
	eclipse-updatehomedir.patch eclipse.spec sources 
Added Files:
	eclipse-bz162177.patch eclipse-compare-create-api.patch 
	eclipse-dontgeneratehelpindices.patch 
	eclipse-filenamepatterns.txt eclipse-javadoc.patch 
	eclipse-swt-nocairo.fc4.patch eclipse-tomcat5-build.2.patch 
	eclipse-tomcat5-build.patch eclipse-tomcat5.patch 
	eclipse-webapp-tomcat5.patch 
Removed Files:
	eclipse-build-activeHelpSample.jar.patch 
	eclipse-build.xml-typo.patch eclipse-gtk-launcher.patch 
	eclipse-gtk.install eclipse-importArchivedProj.patch 
	eclipse-jnigen.patch eclipse-libswt-mozilla2.patch 
	eclipse-org.eclipse.core.resources-Makefile.patch 
	eclipse-org.eclipse.help.appserver-host.patch 
	eclipse-platformOptions.patch eclipse-search.patch 
	eclipse-source.install eclipse-startup-url.openStream.patch 
	eclipse-swt-libgcjawt.patch eclipse-swt64-tools.tar.gz.md5 
	eclipse-tools-build.xml eclipse-welcome-screen.patch 
Log Message:
* Tue Jul 05 2005 Andrew Overholt <overholt at redhat.com> 3.1.0_fc-3
- Bump release for FC4 update.

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

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

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

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

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

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

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

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

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

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


eclipse-bz162177.patch:
 Main.java |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

--- NEW FILE eclipse-bz162177.patch ---
--- eclipse-3.1.0_fc/plugins/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/Main.java~	2005-06-17 21:40:09.000000000 +0100
+++ eclipse-3.1.0_fc/plugins/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/Main.java	2005-07-04 15:12:23.000000000 +0100
@@ -2027,7 +2027,7 @@
 			}
 			if (mode == InsideClasspath || mode == InsideBootClasspath || mode == InsideSourcepath) {
 				StringTokenizer tokenizer = new StringTokenizer(currentArg,
-						File.pathSeparator + "[]", true); //$NON-NLS-1$
+						File.pathSeparator, true); //$NON-NLS-1$
 				// state machine
 				final int start = 0; 
 				final int readyToClose = 1;

eclipse-compare-create-api.patch:
 compare/org/eclipse/compare/CompareWithPatchAction.java                |  162 ++++++++++
 compare/org/eclipse/compare/PatchDialogSettings.java                   |   46 ++
 compare/org/eclipse/compare/internal/patch/CompareWithPatchAction.java |  154 ---------
 compare/org/eclipse/compare/internal/patch/InputPatchPage.java         |   75 +++-
 compare/org/eclipse/compare/internal/patch/PatchWizard.java            |    6 
 plugin.xml                                                             |    2 
 6 files changed, 265 insertions(+), 180 deletions(-)

--- NEW FILE eclipse-compare-create-api.patch ---
Index: plugin.xml
===================================================================
RCS file: /home/eclipse/org.eclipse.compare/plugin.xml,v
retrieving revision 1.57
diff -u -r1.57 plugin.xml
--- plugin.xml	9 May 2005 16:20:33 -0000	1.57
+++ plugin.xml	8 Jun 2005 20:26:59 -0000
@@ -195,7 +195,7 @@
          <action
                label="%CompareWithPatchAction.label"
                tooltip="%CompareWithPatchAction.tooltip"
-               class="org.eclipse.compare.internal.patch.CompareWithPatchAction"
+               class="org.eclipse.compare.CompareWithPatchAction"
                menubarPath="team.main/group1"
                enablesFor="1"
                id="compareWithPatch">
Index: compare/org/eclipse/compare/internal/patch/CompareWithPatchAction.java
===================================================================
RCS file: compare/org/eclipse/compare/internal/patch/CompareWithPatchAction.java
diff -N compare/org/eclipse/compare/internal/patch/CompareWithPatchAction.java
--- compare/org/eclipse/compare/internal/patch/CompareWithPatchAction.java	14 Apr 2005 13:53:03 -0000	1.17
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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
- *******************************************************************************/
-package org.eclipse.compare.internal.patch;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.Arrays;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.jface.wizard.WizardDialog;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-
-import org.eclipse.ui.IEditorPart;
-
-import org.eclipse.compare.internal.*;
-
-
-public class CompareWithPatchAction extends BaseCompareAction {
-
-	static class PatchWizardDialog extends WizardDialog {
-	
-		PatchWizardDialog(Shell parent, IWizard wizard) {
-			super(parent, wizard);
-			
-			setShellStyle(getShellStyle() | SWT.RESIZE);
-			setMinimumPageSize(700, 500);
-		}
-	}
-	
-	protected boolean isEnabled(ISelection selection) {
-		return Utilities.getResources(selection).length == 1;
-	}
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.compare.internal.BaseCompareAction#run(org.eclipse.jface.viewers.ISelection)
-	 */
-	protected void run(ISelection selection) {
-		PatchWizard wizard= new PatchWizard(selection);
-		
-		if (areAllEditorsSaved()) {
-			PatchWizardDialog dialog= new PatchWizardDialog(CompareUIPlugin.getShell(), wizard);
-			dialog.open();
-		}
-	}
-
-	private boolean areAllEditorsSaved(){
-		if (CompareUIPlugin.getDirtyEditors().length == 0)
-			return true;
-		if (! saveAllDirtyEditors())
-			return false;
-		Shell shell= CompareUIPlugin.getShell();
-		try {
-			// Save isn't cancelable.
-			IWorkspace workspace= ResourcesPlugin.getWorkspace();
-			IWorkspaceDescription description= workspace.getDescription();
-			boolean autoBuild= description.isAutoBuilding();
-			description.setAutoBuilding(false);
-			workspace.setDescription(description);
-			try {
-				new ProgressMonitorDialog(shell).run(false, false, createRunnable());
-			} finally {
-				description.setAutoBuilding(autoBuild);
-				workspace.setDescription(description);
-			}
-			return true;
-		} catch (InvocationTargetException e) {
-			ExceptionHandler.handle(e, shell, PatchMessages.PatchAction_ExceptionTitle, PatchMessages.PatchAction_Exception);  
-			return false;
-		} catch (CoreException e) {
-			ExceptionHandler.handle(e, shell, PatchMessages.PatchAction_ExceptionTitle, PatchMessages.PatchAction_Exception);  
-			return false;			
-		} catch (InterruptedException e) {
-			Assert.isTrue(false); // Can't happen. Operation isn't cancelable.
-			return false;
-		}
-	}
-
-	private IRunnableWithProgress createRunnable() {
-		return new IRunnableWithProgress() {
-			public void run(IProgressMonitor pm) {
-				IEditorPart[] editorsToSave= CompareUIPlugin.getDirtyEditors();
-				pm.beginTask(PatchMessages.PatchAction_SavingDirtyEditorsTask, editorsToSave.length); 
-				for (int i= 0; i < editorsToSave.length; i++) {
-					editorsToSave[i].doSave(new SubProgressMonitor(pm, 1));
-					pm.worked(1);
-				}
-				pm.done();
-			}
-		};
-	}
-
-	private boolean saveAllDirtyEditors() {
-		if (ComparePreferencePage.getSaveAllEditors()) //must save everything
-			return true;
-		ListDialog dialog= new ListDialog(CompareUIPlugin.getShell()) {
-			protected Control createDialogArea(Composite parent) {
-				Composite result= (Composite) super.createDialogArea(parent);
-				final Button check= new Button(result, SWT.CHECK);
-				check.setText(PatchMessages.PatchAction_AlwaysSaveQuestion); 
-				check.setSelection(ComparePreferencePage.getSaveAllEditors());
-				check.addSelectionListener(
-					new SelectionAdapter() {
-						public void widgetSelected(SelectionEvent e) {
-							ComparePreferencePage.setSaveAllEditors(check.getSelection());
-						}
-					}
-				);
-				applyDialogFont(result);
-				return result;
-			}
-		};
-		dialog.setTitle(PatchMessages.PatchAction_SaveAllQuestion); 
-		dialog.setAddCancelButton(true);
-		dialog.setLabelProvider(createDialogLabelProvider());
-		dialog.setMessage(PatchMessages.PatchAction_SaveAllDescription); 
-		dialog.setContentProvider(new ListContentProvider());
-		dialog.setInput(Arrays.asList(CompareUIPlugin.getDirtyEditors()));
-		return dialog.open() == Window.OK;
-	}
-
-	private ILabelProvider createDialogLabelProvider() {
-		return new LabelProvider() {
-			public Image getImage(Object element) {
-				return ((IEditorPart) element).getTitleImage();
-			}
-			public String getText(Object element) {
-				return ((IEditorPart) element).getTitle();
-			}
-		};
-	}
-}
Index: compare/org/eclipse/compare/internal/patch/InputPatchPage.java
===================================================================
RCS file: /home/eclipse/org.eclipse.compare/compare/org/eclipse/compare/internal/patch/InputPatchPage.java,v
retrieving revision 1.26
diff -u -r1.26 InputPatchPage.java
--- compare/org/eclipse/compare/internal/patch/InputPatchPage.java	6 May 2005 19:03:14 -0000	1.26
+++ compare/org/eclipse/compare/internal/patch/InputPatchPage.java	8 Jun 2005 20:26:59 -0000
@@ -10,30 +10,58 @@
  *******************************************************************************/
 package org.eclipse.compare.internal.patch;
 
-import java.io.*;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.Reader;
+import java.io.StringReader;
 import java.text.MessageFormat;
 
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.wizard.*;
-
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.model.*;
-
 import org.eclipse.compare.internal.ICompareContextIds;
 import org.eclipse.compare.internal.Utilities;
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.dialogs.IDialogSettings;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.viewers.CheckboxTreeViewer;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.wizard.IWizardPage;
+import org.eclipse.jface.wizard.WizardPage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.dnd.Clipboard;
+import org.eclipse.swt.dnd.TextTransfer;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.FileDialog;
+import org.eclipse.swt.widgets.Group;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.swt.widgets.Tree;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.model.WorkbenchContentProvider;
+import org.eclipse.ui.model.WorkbenchLabelProvider;
+import org.eclipse.ui.model.WorkbenchViewerSorter;
 
 
-/* package */ class InputPatchPage extends WizardPage {
+/* package */public class InputPatchPage extends WizardPage {
 
 	// constants
 	protected static final int SIZING_TEXT_FIELD_WIDTH= 250;
@@ -41,8 +69,8 @@
 	
 	// dialog store id constants
 	private final static String PAGE_NAME= "PatchWizardPage1"; //$NON-NLS-1$
-	private final static String STORE_PATCH_FILES_ID= PAGE_NAME + ".PATCH_FILES";	//$NON-NLS-1$
-	private final static String STORE_USE_CLIPBOARD_ID= PAGE_NAME + ".USE_CLIPBOARD";	//$NON-NLS-1$
+	public final static String STORE_PATCH_FILES_ID= PAGE_NAME + ".PATCH_FILES";	//$NON-NLS-1$
+	public final static String STORE_USE_CLIPBOARD_ID= PAGE_NAME + ".USE_CLIPBOARD";	//$NON-NLS-1$
 	
 	static final char SEPARATOR = System.getProperty ("file.separator").charAt (0); //$NON-NLS-1$
 	
@@ -269,8 +297,11 @@
 		
 		PatchWizard pw= (PatchWizard) getWizard();
 		IResource target= pw.getTarget();
-		IWorkspace workspace= target.getWorkspace();
-		IWorkspaceRoot root= workspace.getRoot();
+		IWorkspaceRoot root = null;
+		if (target != null) {
+			IWorkspace workspace= target.getWorkspace();
+			root= workspace.getRoot();
+		}
 		
 		Tree tree= new Tree(parent, SWT.BORDER);
 		GridData gd= new GridData(GridData.FILL_BOTH);
Index: compare/org/eclipse/compare/internal/patch/PatchWizard.java
===================================================================
RCS file: /home/eclipse/org.eclipse.compare/compare/org/eclipse/compare/internal/patch/PatchWizard.java,v
retrieving revision 1.22
diff -u -r1.22 PatchWizard.java
--- compare/org/eclipse/compare/internal/patch/PatchWizard.java	14 Apr 2005 13:53:03 -0000	1.22
+++ compare/org/eclipse/compare/internal/patch/PatchWizard.java	8 Jun 2005 20:26:59 -0000
@@ -25,10 +25,10 @@
 import org.eclipse.compare.internal.*;
 
 
-/* package */ class PatchWizard extends Wizard {
+/* package */ public class PatchWizard extends Wizard {
 	
 	// dialog store id constants
-	private final static String DIALOG_SETTINGS_KEY= "PatchWizard"; //$NON-NLS-1$
+	public final static String DIALOG_SETTINGS_KEY= "PatchWizard"; //$NON-NLS-1$
 
 	private boolean fHasNewDialogSettings;
 	
@@ -41,7 +41,7 @@
 	/*
 	 * Creates a wizard for applying a patch file to the workspace.
 	 */
-	/* package */ PatchWizard(ISelection selection) {
+	/* package */ public PatchWizard(ISelection selection) {
 		
 		setDefaultPageImageDescriptor(CompareUIPlugin.getImageDescriptor("wizban/applypatch_wizban.gif"));	//$NON-NLS-1$
 		setWindowTitle(PatchMessages.PatchWizard_title); 
Index: compare/org/eclipse/compare/CompareWithPatchAction.java
===================================================================
RCS file: compare/org/eclipse/compare/CompareWithPatchAction.java
diff -N compare/org/eclipse/compare/CompareWithPatchAction.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ compare/org/eclipse/compare/CompareWithPatchAction.java	1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,162 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2004 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
+ *******************************************************************************/
+package org.eclipse.compare;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Arrays;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Shell;
+
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+import org.eclipse.jface.operation.IRunnableWithProgress;
+import org.eclipse.jface.util.Assert;
+import org.eclipse.jface.viewers.*;
+import org.eclipse.jface.window.Window;
+import org.eclipse.jface.wizard.IWizard;
+import org.eclipse.jface.wizard.WizardDialog;
+
+import org.eclipse.core.resources.*;
+import org.eclipse.core.runtime.*;
+
+import org.eclipse.ui.IEditorPart;
+
+import org.eclipse.compare.internal.*;
+import org.eclipse.compare.internal.patch.PatchMessages;
+import org.eclipse.compare.internal.patch.PatchWizard;
+
+
+public class CompareWithPatchAction extends BaseCompareAction {
+
+	private PatchDialogSettings dialogSettings; //$NON-NLS-1$
+	
+	static class PatchWizardDialog extends WizardDialog {
+	
+		PatchWizardDialog(Shell parent, IWizard wizard) {
+			super(parent, wizard);
+			
+			setShellStyle(getShellStyle() | SWT.RESIZE);
+			setMinimumPageSize(700, 500);
+		}
+	}
+	
+	protected boolean isEnabled(ISelection selection) {
+		return Utilities.getResources(selection).length == 1;
+	}
+		
+	/* (non-Javadoc)
+	 * @see org.eclipse.compare.internal.BaseCompareAction#run(org.eclipse.jface.viewers.ISelection)
+	 */
+	protected void run(ISelection selection) {
+		PatchWizard wizard= new PatchWizard(selection);
+		wizard.setDialogSettings(dialogSettings);
+		if (areAllEditorsSaved()) {
+			PatchWizardDialog dialog= new PatchWizardDialog(CompareUIPlugin.getShell(), wizard);
+			dialog.open();
+		}
+	}
+
+	private boolean areAllEditorsSaved(){
+		if (CompareUIPlugin.getDirtyEditors().length == 0)
+			return true;
+		if (! saveAllDirtyEditors())
+			return false;
+		Shell shell= CompareUIPlugin.getShell();
+		try {
+			// Save isn't cancelable.
+			IWorkspace workspace= ResourcesPlugin.getWorkspace();
+			IWorkspaceDescription description= workspace.getDescription();
+			boolean autoBuild= description.isAutoBuilding();
+			description.setAutoBuilding(false);
+			workspace.setDescription(description);
+			try {
+				new ProgressMonitorDialog(shell).run(false, false, createRunnable());
+			} finally {
+				description.setAutoBuilding(autoBuild);
+				workspace.setDescription(description);
+			}
+			return true;
+		} catch (InvocationTargetException e) {
+			ExceptionHandler.handle(e, shell, PatchMessages.PatchAction_ExceptionTitle, PatchMessages.PatchAction_Exception);  
+			return false;
+		} catch (CoreException e) {
+			ExceptionHandler.handle(e, shell, PatchMessages.PatchAction_ExceptionTitle, PatchMessages.PatchAction_Exception);  
+			return false;			
+		} catch (InterruptedException e) {
+			Assert.isTrue(false); // Can't happen. Operation isn't cancelable.
+			return false;
+		}
+	}
+
+	private IRunnableWithProgress createRunnable() {
+		return new IRunnableWithProgress() {
+			public void run(IProgressMonitor pm) {
+				IEditorPart[] editorsToSave= CompareUIPlugin.getDirtyEditors();
+				pm.beginTask(PatchMessages.PatchAction_SavingDirtyEditorsTask, editorsToSave.length); 
+				for (int i= 0; i < editorsToSave.length; i++) {
+					editorsToSave[i].doSave(new SubProgressMonitor(pm, 1));
+					pm.worked(1);
+				}
+				pm.done();
+			}
+		};
+	}
+
+	private boolean saveAllDirtyEditors() {
+		if (ComparePreferencePage.getSaveAllEditors()) //must save everything
+			return true;
+		ListDialog dialog= new ListDialog(CompareUIPlugin.getShell()) {
+			protected Control createDialogArea(Composite parent) {
+				Composite result= (Composite) super.createDialogArea(parent);
+				final Button check= new Button(result, SWT.CHECK);
+				check.setText(PatchMessages.PatchAction_AlwaysSaveQuestion); 
+				check.setSelection(ComparePreferencePage.getSaveAllEditors());
+				check.addSelectionListener(
+					new SelectionAdapter() {
+						public void widgetSelected(SelectionEvent e) {
+							ComparePreferencePage.setSaveAllEditors(check.getSelection());
+						}
+					}
+				);
+				applyDialogFont(result);
+				return result;
+			}
+		};
+		dialog.setTitle(PatchMessages.PatchAction_SaveAllQuestion); 
+		dialog.setAddCancelButton(true);
+		dialog.setLabelProvider(createDialogLabelProvider());
+		dialog.setMessage(PatchMessages.PatchAction_SaveAllDescription); 
+		dialog.setContentProvider(new ListContentProvider());
+		dialog.setInput(Arrays.asList(CompareUIPlugin.getDirtyEditors()));
+		return dialog.open() == Window.OK;
+	}
+
+	private ILabelProvider createDialogLabelProvider() {
+		return new LabelProvider() {
+			public Image getImage(Object element) {
+				return ((IEditorPart) element).getTitleImage();
+			}
+			public String getText(Object element) {
+				return ((IEditorPart) element).getTitle();
+			}
+		};
+	}
+
+	public void setDialogSettings(PatchDialogSettings config) {
+		this.dialogSettings = config;
+	}
+}
Index: compare/org/eclipse/compare/PatchDialogSettings.java
===================================================================
RCS file: compare/org/eclipse/compare/PatchDialogSettings.java
diff -N compare/org/eclipse/compare/PatchDialogSettings.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ compare/org/eclipse/compare/PatchDialogSettings.java	1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2004 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
+ *******************************************************************************/
+package org.eclipse.compare;
+
+import org.eclipse.compare.internal.patch.InputPatchPage;
+import org.eclipse.compare.internal.patch.PatchWizard;
+import org.eclipse.jface.dialogs.DialogSettings;
+
+/**
+ * <code>CompareWithPatchConfiguration</code> represents a UI configuration
+ * for the <code>CompareWithPatchAction</code> wizard. 
+ * 
+ *
+ */
+public class PatchDialogSettings extends DialogSettings {
+
+	public PatchDialogSettings(String sectionName) {
+		super(sectionName);
+	}
+
+	public PatchDialogSettings() {
+		super(PatchWizard.DIALOG_SETTINGS_KEY);
+	}
+
+	public String getPatchPath() {
+		return this.get(InputPatchPage.STORE_PATCH_FILES_ID);
+	}
+	public void setPatchPath(String patchPath) {
+		this.put(InputPatchPage.STORE_PATCH_FILES_ID, patchPath);
+	}
+
+	public boolean isUseClipboard() {
+		return this.getBoolean(InputPatchPage.STORE_USE_CLIPBOARD_ID);
+	}
+	public void setUseClipboard(boolean useClipboard) {
+		this.put(InputPatchPage.STORE_USE_CLIPBOARD_ID, useClipboard);
+	}
+}

eclipse-dontgeneratehelpindices.patch:
 org.eclipse.jdt.doc.isv/buildDoc.xml      |    8 ++++----
 org.eclipse.jdt.doc.user/build.xml        |    6 +++---
 org.eclipse.pde.doc.user/buildDoc.xml     |    8 ++++----
 org.eclipse.platform.doc.isv/buildDoc.xml |    8 ++++----
 org.eclipse.platform.doc.user/build.xml   |    6 +++---
 5 files changed, 18 insertions(+), 18 deletions(-)

--- NEW FILE eclipse-dontgeneratehelpindices.patch ---
diff -uNr plugins/org.eclipse.jdt.doc.isv/buildDoc.xml plugins/org.eclipse.jdt.doc.isv/buildDoc.xml
--- plugins/org.eclipse.jdt.doc.isv/buildDoc.xml	2005-06-27 10:10:12.000000000 -0400
+++ plugins/org.eclipse.jdt.doc.isv/buildDoc.xml	2005-06-27 10:05:15.000000000 -0400
@@ -9,14 +9,14 @@
 	<antcall target="convertSchemaToHtml" />
 	<antcall target="examplesDocCopy" />
 	<antcall target="generateJavadoc" />
-	<antcall target="build.index" />
+<!--        <antcall target="build.index" />-->
 	<antcall target="createDocZip" />
 </target>
 
 
-<target name="build.index" description="Builds search index for the plug-in: org.eclipse.jdt.doc.isv" if="eclipse.running">
-	<help.buildHelpIndex manifest="${basedir}/plugin.xml" destination="${basedir}"/>
-</target>
+<!--<target name="build.index" description="Builds search index for the plug-in: org.eclipse.jdt.doc.isv" if="eclipse.running">-->
+<!--        <help.buildHelpIndex manifest="${basedir}/plugin.xml" destination="${basedir}"/>-->
+<!--</target>-->
 
 <target name="convertSchemaToHtml" if="eclipse.running">
 	<property name="dest" value="reference/extension-points" />
diff -uNr plugins/org.eclipse.jdt.doc.user/build.xml plugins/org.eclipse.jdt.doc.user/build.xml
--- plugins/org.eclipse.jdt.doc.user/build.xml	2005-06-27 10:28:29.000000000 -0400
+++ plugins/org.eclipse.jdt.doc.user/build.xml	2005-06-27 10:29:01.000000000 -0400
@@ -43,7 +43,7 @@
 	</target>
 
 	<target name="build.doc.zip" depends="init" unless="doc.zip.present">
-		<antcall target="build.index"/>		
+		<!--<antcall target="build.index"/>-->
 		<zip zipfile="${plugin.destination}/doc.zip"
 			basedir="${plugin.destination}"
 			includes="*.css, cpy.png, notices.html, about.html, concepts/**, gettingStarted/**, images/**, reference/**, tasks/**, tips/**, whatsNew/**"
@@ -53,9 +53,9 @@
 	<target name="build.jars" depends="init" description="Build all the jars for the plug-in: org.eclipse.jdt.doc.user.">
 	</target>
 	
-	<target name="build.index" depends="init" description="Builds search index for the plug-in: org.eclipse.jdt.doc.user." if="eclipse.running">
+	<!--<target name="build.index" depends="init" description="Builds search index for the plug-in: org.eclipse.jdt.doc.user." if="eclipse.running">
 		<help.buildHelpIndex manifest="plugin.xml" destination="."/>
-	</target>
+	</target>-->
 
 	<target name="build.sources" depends="init">
 	</target>
diff -uNr plugins/org.eclipse.pde.doc.user/buildDoc.xml plugins/org.eclipse.pde.doc.user/buildDoc.xml
--- plugins/org.eclipse.pde.doc.user/buildDoc.xml	2005-06-27 10:12:53.000000000 -0400
+++ plugins/org.eclipse.pde.doc.user/buildDoc.xml	2005-06-27 10:04:23.000000000 -0400
@@ -7,13 +7,13 @@
 	<target name="all" depends="init" unless="doc.zip.present">
 		<antcall target="convertSchemaToHtml" />
 		<antcall target="generateJavadoc" />
-		<antcall target="build.index" />
+<!--                <antcall target="build.index" />-->
 		<antcall target="createDocZip" />
 	</target>
 
-	<target name="build.index" description="Builds search index for the plug-in: org.eclipse.pde.doc.user." if="eclipse.running">
-		<help.buildHelpIndex manifest="${basedir}/plugin.xml" destination="${basedir}"/>
-	</target>
+<!--        <target name="build.index" description="Builds search index for the plug-in: org.eclipse.pde.doc.user." if="eclipse.running">-->
+<!--                <help.buildHelpIndex manifest="${basedir}/plugin.xml" destination="${basedir}"/>-->
+<!--        </target>-->
 
 	<target name="convertSchemaToHtml" if="eclipse.running">
 		<property name="dest" value="reference/extension-points" />
diff -uNr plugins/org.eclipse.platform.doc.isv/buildDoc.xml plugins/org.eclipse.platform.doc.isv/buildDoc.xml
--- plugins/org.eclipse.platform.doc.isv/buildDoc.xml	2005-06-27 10:12:57.000000000 -0400
+++ plugins/org.eclipse.platform.doc.isv/buildDoc.xml	2005-06-27 10:09:23.000000000 -0400
@@ -8,14 +8,14 @@
 		<antcall target="convertSchemaToHtml" />
 		<antcall target="examplesDocCopy" />
 		<antcall target="generateJavadoc" />
-		<antcall target="build.index" />
+<!--                <antcall target="build.index" />-->
 		<antcall target="createDocZip" />
 	</target>
 
 
-	<target name="build.index" description="Builds search index for the plug-in: org.eclipse.jdt.doc.isv" if="eclipse.running">
-		<help.buildHelpIndex manifest="${basedir}/plugin.xml" destination="${basedir}"/>
-	</target>
+<!--        <target name="build.index" description="Builds search index for the plug-in: org.eclipse.jdt.doc.isv" if="eclipse.running">-->
+<!--                <help.buildHelpIndex manifest="${basedir}/plugin.xml" destination="${basedir}"/>-->
+<!--        </target>-->
 
 	<target name="convertSchemaToHtml" if="eclipse.running">
 		<property name="dest" value="reference/extension-points" />
diff -uNr plugins/org.eclipse.platform.doc.user/build.xml plugins/org.eclipse.platform.doc.user/build.xml
--- plugins/org.eclipse.platform.doc.user/build.xml	2005-06-27 10:16:26.000000000 -0400
+++ plugins/org.eclipse.platform.doc.user/build.xml	2005-06-27 10:17:09.000000000 -0400
@@ -43,7 +43,7 @@
 	</target>
 
 	<target name="build.doc.zip" depends="init" unless="doc.zip.present">
-		<antcall target="build.index"/>		
+		<!--<antcall target="build.index"/>-->
 		<zip zipfile="${plugin.destination}/doc.zip"
 			basedir="${plugin.destination}"
 			includes="book.css, about.html, notices.html, no_help_exists.htm, concepts/**, gettingStarted/**, images/**, reference/**, tasks/**, tips/**, whatsNew/**"
@@ -53,9 +53,9 @@
 	<target name="build.jars" depends="init" description="Build all the jars for the plug-in: org.eclipse.platform.doc.user.">
 	</target>
 	
-	<target name="build.index" depends="init" description="Builds search index for the plug-in: org.eclipse.platform.doc.user." if="eclipse.running">
+	<!--<target name="build.index" depends="init" description="Builds search index for the plug-in: org.eclipse.platform.doc.user." if="eclipse.running">
 		<help.buildHelpIndex manifest="plugin.xml" destination="."/>
-	</target>
+	</target>-->
 
 	<target name="build.sources" depends="init">
 	</target>


--- NEW FILE eclipse-filenamepatterns.txt ---
*.so

eclipse-javadoc.patch:
 org.eclipse.jdt.doc.isv/buildDoc.xml         |    2 +-
 org.eclipse.pde.doc.user/buildDoc.xml        |    2 +-
 org.eclipse.platform.doc.isv/buildDoc.xml    |    2 +-
 org.eclipse.platform.doc.isv/platformOptions |    1 +
 4 files changed, 4 insertions(+), 3 deletions(-)

--- NEW FILE eclipse-javadoc.patch ---
diff -uNr plugins/org.eclipse.jdt.doc.isv/buildDoc.xml plugins/org.eclipse.jdt.doc.isv/buildDoc.xml
--- plugins/org.eclipse.jdt.doc.isv/buildDoc.xml	2005-07-04 14:24:30.000000000 -0400
+++ plugins/org.eclipse.jdt.doc.isv/buildDoc.xml	2005-07-04 14:25:04.000000000 -0400
@@ -67,7 +67,7 @@
 	<delete dir="reference/api"/>
 	<mkdir dir="reference/api"/>
 
-	<exec dir="." executable="${javadoc}" output="doc.bin.log">
+	<exec dir="." executable="${javadoc}">
 		<arg line="@${basedir}/${optionsFile} -J-Xmx500M" />
 	</exec>
 </target>
diff -uNr plugins/org.eclipse.pde.doc.user/buildDoc.xml plugins/org.eclipse.pde.doc.user/buildDoc.xml
--- plugins/org.eclipse.pde.doc.user/buildDoc.xml	2005-07-04 14:24:30.000000000 -0400
+++ plugins/org.eclipse.pde.doc.user/buildDoc.xml	2005-07-04 14:25:08.000000000 -0400
@@ -51,7 +51,7 @@
 		<delete dir="reference/api"/>
 		<mkdir dir="reference/api"/>
 
-		<exec dir="." executable="${javadoc}" output="doc.bin.log">
+		<exec dir="." executable="${javadoc}">
 			<arg line="@${basedir}/${optionsFile} -J-Xmx1000M" />
 		</exec>
 	</target>
diff -uNr plugins/org.eclipse.platform.doc.isv/buildDoc.xml plugins/org.eclipse.platform.doc.isv/buildDoc.xml
--- plugins/org.eclipse.platform.doc.isv/buildDoc.xml	2005-07-04 14:24:30.000000000 -0400
+++ plugins/org.eclipse.platform.doc.isv/buildDoc.xml	2005-07-04 14:25:11.000000000 -0400
@@ -100,7 +100,7 @@
 
 		<!--retrieve osgi javadoc-->
 		<unzip src="../org.eclipse.osgi/osgi/osgiJavaDoc.zip" dest="reference/osgi" />
-		<exec dir="." executable="${javadoc}" output="doc.bin.log">
+		<exec dir="." executable="${javadoc}">
 			<arg line="@${basedir}/${optionsFile} -J-Xmx1000M" />
 		</exec>
 
diff -uNr plugins/org.eclipse.platform.doc.isv/platformOptions plugins/org.eclipse.platform.doc.isv/platformOptions
--- plugins/org.eclipse.platform.doc.isv/platformOptions	2005-07-04 14:25:31.000000000 -0400
+++ plugins/org.eclipse.platform.doc.isv/platformOptions	2005-07-04 14:25:19.000000000 -0400
@@ -9,7 +9,7 @@
 -doctitle "Eclipse Platform API Specification"
 -header "<b>Eclipse Platform</b><br>Release 3.1"
 -bottom '<font size="-1"><p><a href="{@docRoot}/../misc/api-usage-rules.html">Guidelines for using Eclipse APIs</a>.</p><p>Copyright (c) IBM Corp. and others 2000, 2005. All rights reserved.</p></font>'
--link http://java.sun.com/j2se/1.4.2/docs/api
+-linkoffline http://java.sun.com/j2se/1.4.2/docs/api
 -link  ../osgi
 
 org.eclipse.ant.core

eclipse-swt-nocairo.fc4.patch:
 features/org.eclipse.platform/build.properties     |    6 +++---
 features/org.eclipse.platform/build.xml            |    3 ---
 features/org.eclipse.rcp/build.properties          |    6 +++---
 features/org.eclipse.rcp/build.xml                 |    3 ---
 plugins/org.eclipse.swt.gtk.linux.x86/build.xml    |    4 ++--
 plugins/org.eclipse.swt.gtk.linux.x86_64/build.xml |    2 +-
 plugins/org.eclipse.swt.motif.linux.x86/build.xml  |    2 +-
 7 files changed, 10 insertions(+), 16 deletions(-)

--- NEW FILE eclipse-swt-nocairo.fc4.patch ---
diff -uNr features/org.eclipse.platform/build.properties features/org.eclipse.platform/build.properties
--- features/org.eclipse.platform/build.properties	2005-06-27 11:17:29.000000000 -0400
+++ features/org.eclipse.platform/build.properties	2005-06-27 11:20:45.000000000 -0400
@@ -27,9 +27,9 @@
 root.solaris.motif.sparc=../../features/org.eclipse.platform.launchers/bin/motif/solaris/sparc,motif
 root.solaris.gtk.sparc=../../features/org.eclipse.platform.launchers/bin/gtk/solaris/sparc,gtk
 
-root.linux.gtk.x86=about_files/linux.gtk.x86,../../features/org.eclipse.platform.launchers/bin/gtk/linux/x86,gtk,file:../../plugins/org.eclipse.swt.gtk.linux.x86/libcairo.so.1
+root.linux.gtk.x86=about_files/linux.gtk.x86,../../features/org.eclipse.platform.launchers/bin/gtk/linux/x86,gtk
 root.linux.gtk.x86.permissions.755=*.so*
-root.linux.gtk.x86_64=about_files/linux.gtk.x86_64,../../features/org.eclipse.platform.launchers/bin/gtk/linux/x86_64,gtk,file:../../plugins/org.eclipse.swt.gtk.linux.x86_64/libcairo.so.1
+root.linux.gtk.x86_64=about_files/linux.gtk.x86_64,../../features/org.eclipse.platform.launchers/bin/gtk/linux/x86_64,gtk
 root.linux.gtk.x86_64.permissions.755=*.so*
 root.linux.gtk.ppc=../../features/org.eclipse.platform.launchers/bin/gtk/linux/ppc,gtk
 root.linux.gtk.ia64=../../features/org.eclipse.platform.launchers/bin/gtk/linux/ia64,gtk
@@ -38,7 +38,7 @@
 # Need to be fixed to reflect eventual change into feature.xml
 root.qnx.photon.x86=../../features/org.eclipse.platform.launchers/bin/photon/qnx/x86,win32
 
-root.linux.motif.x86=about_files/linux.motif.x86,motif,../../features/org.eclipse.platform.launchers/bin/motif/linux/x86,file:../../plugins/org.eclipse.swt.motif.linux.x86/libXm.so.2,motif,file:../../plugins/org.eclipse.swt.motif.linux.x86/libcairo.so.1
+root.linux.motif.x86=about_files/linux.motif.x86,motif,../../features/org.eclipse.platform.launchers/bin/motif/linux/x86,file:../../plugins/org.eclipse.swt.motif.linux.x86/libXm.so.2,motif
 root.linux.motif.x86.permissions.755=*.so*
 
 root.macosx.carbon.ppc=macosx.carbon,../../features/org.eclipse.platform.launchers/bin/carbon/macosx/ppc
diff -uNr features/org.eclipse.platform/build.xml features/org.eclipse.platform/build.xml
--- features/org.eclipse.platform/build.xml	2005-06-27 11:17:29.000000000 -0400
+++ features/org.eclipse.platform/build.xml	2005-06-27 11:21:10.000000000 -0400
@@ -365,7 +365,6 @@
 			<fileset dir="${basedir}/about_files/linux.gtk.x86" includes="**"			/>
 			<fileset dir="${basedir}/../../features/org.eclipse.platform.launchers/bin/gtk/linux/x86" includes="**"			/>
 			<fileset dir="${basedir}/gtk" includes="**"			/>
-			<fileset dir="${basedir}/../../plugins/org.eclipse.swt.gtk.linux.x86" includes="libcairo.so.1"			/>
 			<fileset dir="${basedir}/rootfiles" includes="**"			/>
 			<fileset dir="${basedir}/../../plugins/org.eclipse.platform" includes="startup.jar"			/>
 		</copy>
@@ -398,7 +397,6 @@
 			<fileset dir="${basedir}/about_files/linux.gtk.x86_64" includes="**"			/>
 			<fileset dir="${basedir}/../../features/org.eclipse.platform.launchers/bin/gtk/linux/x86_64" includes="**"			/>
 			<fileset dir="${basedir}/gtk" includes="**"			/>
-			<fileset dir="${basedir}/../../plugins/org.eclipse.swt.gtk.linux.x86_64" includes="libcairo.so.1"			/>
 			<fileset dir="${basedir}/rootfiles" includes="**"			/>
 			<fileset dir="${basedir}/../../plugins/org.eclipse.platform" includes="startup.jar"			/>
 		</copy>
@@ -423,7 +421,6 @@
 			<fileset dir="${basedir}/../../features/org.eclipse.platform.launchers/bin/motif/linux/x86" includes="**"			/>
 			<fileset dir="${basedir}/../../plugins/org.eclipse.swt.motif.linux.x86" includes="libXm.so.2"			/>
 			<fileset dir="${basedir}/motif" includes="**"			/>
-			<fileset dir="${basedir}/../../plugins/org.eclipse.swt.motif.linux.x86" includes="libcairo.so.1"			/>
 			<fileset dir="${basedir}/rootfiles" includes="**"			/>
 			<fileset dir="${basedir}/../../plugins/org.eclipse.platform" includes="startup.jar"			/>
 		</copy>
diff -uNr features/org.eclipse.rcp/build.properties features/org.eclipse.rcp/build.properties
--- features/org.eclipse.rcp/build.properties	2005-06-27 11:17:29.000000000 -0400
+++ features/org.eclipse.rcp/build.properties	2005-06-27 11:18:48.000000000 -0400
@@ -21,16 +21,16 @@
 
 root.solaris.motif.sparc=../../features/org.eclipse.platform.launchers/bin/motif/solaris/sparc
 
-root.linux.gtk.x86=../../features/org.eclipse.platform/about_files/linux.gtk.x86,../../features/org.eclipse.platform.launchers/bin/gtk/linux/x86,file:../../plugins/org.eclipse.swt.gtk.linux.x86/libcairo.so.1
+root.linux.gtk.x86=../../features/org.eclipse.platform/about_files/linux.gtk.x86,../../features/org.eclipse.platform.launchers/bin/gtk/linux/x86
 root.linux.gtk.x86.permissions.755=*.so*
 root.linux.gtk.ppc=../../features/org.eclipse.platform.launchers/bin/gtk/linux/ppc
-root.linux.gtk.x86_64=../../features/org.eclipse.platform/about_files/linux.gtk.x86_64,../../features/org.eclipse.platform.launchers/bin/gtk/linux/x86_64,file:../../plugins/org.eclipse.swt.gtk.linux.x86_64/libcairo.so.1
+root.linux.gtk.x86_64=../../features/org.eclipse.platform/about_files/linux.gtk.x86_64,../../features/org.eclipse.platform.launchers/bin/gtk/linux/x86_64
 root.linux.gtk.x86_64.permissions.755=*.so*
 root.linux.gtk.ia64=../../features/org.eclipse.platform.launchers/bin/gtk/linux/ia64
 # Need to be fixed to reflect eventual change into feature.xml
 root.qnx.photon.x86=../../features/org.eclipse.platform.launchers/bin/photon/qnx/x86
 
-root.linux.motif.x86=../../features/org.eclipse.platform/about_files/linux.motif.x86,../../features/org.eclipse.platform.launchers/bin/motif/linux/x86,file:../../plugins/org.eclipse.swt.motif.linux.x86/libXm.so.2,file:../../plugins/org.eclipse.swt.motif.linux.x86/libcairo.so.1
+root.linux.motif.x86=../../features/org.eclipse.platform/about_files/linux.motif.x86,../../features/org.eclipse.platform.launchers/bin/motif/linux/x86,file:../../plugins/org.eclipse.swt.motif.linux.x86/libXm.so.2
 root.linux.motif.x86.permissions.755=*.so*
 
 root.macosx.carbon.ppc=macosx.carbon,../../features/org.eclipse.platform.launchers/bin/carbon/macosx/ppc
diff -uNr features/org.eclipse.rcp/build.xml features/org.eclipse.rcp/build.xml
--- features/org.eclipse.rcp/build.xml	2005-06-27 11:17:29.000000000 -0400
+++ features/org.eclipse.rcp/build.xml	2005-06-27 11:20:37.000000000 -0400
@@ -203,7 +203,6 @@
 		<copy todir="${feature.base}/linux.gtk.x86/${collectingFolder}" failonerror="true" overwrite="true">
 			<fileset dir="${basedir}/../../features/org.eclipse.platform/about_files/linux.gtk.x86" includes="**"			/>
 			<fileset dir="${basedir}/../../features/org.eclipse.platform.launchers/bin/gtk/linux/x86" includes="**"			/>
-			<fileset dir="${basedir}/../../plugins/org.eclipse.swt.gtk.linux.x86" includes="libcairo.so.1"			/>
 			<fileset dir="${basedir}/rootfiles" includes="**"			/>
 			<fileset dir="${basedir}/../org.eclipse.platform/rootfiles" includes="**"			/>
 			<fileset dir="${basedir}/../../plugins/org.eclipse.platform" includes="startup.jar"			/>
@@ -235,7 +234,6 @@
 		<copy todir="${feature.base}/linux.gtk.x86_64/${collectingFolder}" failonerror="true" overwrite="true">
 			<fileset dir="${basedir}/../../features/org.eclipse.platform/about_files/linux.gtk.x86_64" includes="**"			/>
 			<fileset dir="${basedir}/../../features/org.eclipse.platform.launchers/bin/gtk/linux/x86_64" includes="**"			/>
-			<fileset dir="${basedir}/../../plugins/org.eclipse.swt.gtk.linux.x86_64" includes="libcairo.so.1"			/>
 			<fileset dir="${basedir}/rootfiles" includes="**"			/>
 			<fileset dir="${basedir}/../org.eclipse.platform/rootfiles" includes="**"			/>
 			<fileset dir="${basedir}/../../plugins/org.eclipse.platform" includes="startup.jar"			/>
@@ -259,7 +257,6 @@
 			<fileset dir="${basedir}/../../features/org.eclipse.platform/about_files/linux.motif.x86" includes="**"			/>
 			<fileset dir="${basedir}/../../features/org.eclipse.platform.launchers/bin/motif/linux/x86" includes="**"			/>
 			<fileset dir="${basedir}/../../plugins/org.eclipse.swt.motif.linux.x86" includes="libXm.so.2"			/>
-			<fileset dir="${basedir}/../../plugins/org.eclipse.swt.motif.linux.x86" includes="libcairo.so.1"			/>
 			<fileset dir="${basedir}/rootfiles" includes="**"			/>
 			<fileset dir="${basedir}/../org.eclipse.platform/rootfiles" includes="**"			/>
 			<fileset dir="${basedir}/../../plugins/org.eclipse.platform" includes="startup.jar"			/>
diff -uNr plugins/org.eclipse.swt.gtk.linux.x86/build.xml plugins/org.eclipse.swt.gtk.linux.x86/build.xml
--- plugins/org.eclipse.swt.gtk.linux.x86/build.xml	2005-06-27 11:17:29.000000000 -0400
+++ plugins/org.eclipse.swt.gtk.linux.x86/build.xml	2005-06-27 11:22:28.000000000 -0400
@@ -201,7 +201,7 @@
 		<copy file="${plugindir}/build/.project" todir="${temp.folder}/swtdownload"/>
 		<copy file="${plugindir}/build/.classpath" todir="${temp.folder}/swtdownload"/>
 		<copy todir="${temp.folder}/swtdownload">
-			<fileset dir="${basedir}" includes="swt*.dll,libswt*.so,libswt*.sl,libswt*.a,libswt*.jnilib,libXm.so.2,libcairo.so.1"/>
+			<fileset dir="${basedir}" includes="swt*.dll,libswt*.so,libswt*.sl,libswt*.a,libswt*.jnilib,libXm.so.2"/>
 			<fileset dir="${basedir}" includes="about.html,about_files/"/>
 		</copy>
 		<chmod dir="${temp.folder}/swtdownload" perm="755" includes="**/lib*"/>
@@ -240,4 +240,4 @@
 		<zip zipfile="${plugin.destination}/${full.name}.zip" basedir="${temp.folder}" filesonly="true"/>
 		<delete dir="${temp.folder}"/>
 	</target>
-</project>
\ No newline at end of file
+</project>
diff -uNr plugins/org.eclipse.swt.gtk.linux.x86_64/build.xml plugins/org.eclipse.swt.gtk.linux.x86_64/build.xml
--- plugins/org.eclipse.swt.gtk.linux.x86_64/build.xml	2005-06-27 11:17:29.000000000 -0400
+++ plugins/org.eclipse.swt.gtk.linux.x86_64/build.xml	2005-06-27 11:22:37.000000000 -0400
@@ -277,7 +277,7 @@
 		<copy file="${plugindir}/build/.project" todir="${temp.folder}/swtdownload"/>
 		<copy file="${plugindir}/build/.classpath" todir="${temp.folder}/swtdownload"/>
 		<copy todir="${temp.folder}/swtdownload">
-			<fileset dir="${basedir}" includes="swt*.dll,libswt*.so,libswt*.sl,libswt*.a,libswt*.jnilib,libXm.so.2,libcairo.so.1"/>
+			<fileset dir="${basedir}" includes="swt*.dll,libswt*.so,libswt*.sl,libswt*.a,libswt*.jnilib,libXm.so.2"/>
 			<fileset dir="${basedir}" includes="about.html,about_files/"/>
 		</copy>
 		<chmod dir="${temp.folder}/swtdownload" perm="755" includes="**/lib*"/>
--- plugins/org.eclipse.swt.motif.linux.x86/build.xml.orig	2005-06-27 11:32:35.000000000 -0400
+++ plugins/org.eclipse.swt.motif.linux.x86/build.xml	2005-06-27 11:32:40.000000000 -0400
@@ -211,7 +211,7 @@
 		<copy file="${plugindir}/build/.project" todir="${temp.folder}/swtdownload"/>
 		<copy file="${plugindir}/build/.classpath" todir="${temp.folder}/swtdownload"/>
 		<copy todir="${temp.folder}/swtdownload">
-			<fileset dir="${basedir}" includes="swt*.dll,libswt*.so,libswt*.sl,libswt*.a,libswt*.jnilib,libXm.so.2,libcairo.so.1"/>
+			<fileset dir="${basedir}" includes="swt*.dll,libswt*.so,libswt*.sl,libswt*.a,libswt*.jnilib,libXm.so.2"/>
 			<fileset dir="${basedir}" includes="about.html,about_files/"/>
 		</copy>
 		<chmod dir="${temp.folder}/swtdownload" perm="755" includes="**/lib*"/>

eclipse-tomcat5-build.2.patch:
 assemble.org.eclipse.sdk.aix.motif.ppc.xml       |    2 +-
 assemble.org.eclipse.sdk.hpux.motif.PA_RISC.xml  |    2 +-
 assemble.org.eclipse.sdk.hpux.motif.ia64.xml     |    2 +-
 assemble.org.eclipse.sdk.solaris.gtk.sparc.xml   |    2 +-
 assemble.org.eclipse.sdk.solaris.motif.sparc.xml |    2 +-
 assemble.org.eclipse.sdk.win32.win32.x86.xml     |    2 +-
 features/org.eclipse.platform/build.xml          |    2 +-
 7 files changed, 7 insertions(+), 7 deletions(-)

--- NEW FILE eclipse-tomcat5-build.2.patch ---
diff -uNr assemble.org.eclipse.sdk.aix.motif.ppc.xml assemble.org.eclipse.sdk.aix.motif.ppc.xml
--- assemble.org.eclipse.sdk.aix.motif.ppc.xml	2005-06-27 16:12:54.000000000 -0400
+++ assemble.org.eclipse.sdk.aix.motif.ppc.xml	2005-06-27 16:13:47.000000000 -0400
@@ -610,7 +610,7 @@
 			<arg line="${pluginArchivePrefix}/org.eclipse.swt_3.1.0.jar"/>
 			<arg line="${pluginArchivePrefix}/org.eclipse.core.filebuffers_3.1.0.jar"/>
 			<arg line="${pluginArchivePrefix}/org.eclipse.core.runtime.compatibility_3.1.0.jar"/>
-			<arg line="${pluginArchivePrefix}/org.eclipse.tomcat_4.1.30.1"/>
+			<arg line="${pluginArchivePrefix}/org.eclipse.tomcat_5.0.30"/>
 			<arg line="${pluginArchivePrefix}/org.eclipse.ui.workbench.texteditor_3.1.0.jar"/>
 			<arg line="${pluginArchivePrefix}/org.eclipse.team.ui_3.1.0.jar"/>
 			<arg line="${pluginArchivePrefix}/org.eclipse.help.appserver_3.1.0.jar"/>
diff -uNr assemble.org.eclipse.sdk.hpux.motif.ia64.xml assemble.org.eclipse.sdk.hpux.motif.ia64.xml
--- assemble.org.eclipse.sdk.hpux.motif.ia64.xml	2005-06-27 16:12:54.000000000 -0400
+++ assemble.org.eclipse.sdk.hpux.motif.ia64.xml	2005-06-27 16:14:06.000000000 -0400
@@ -601,7 +601,7 @@
 			<zipfileset file="${eclipse.base}/plugins/org.eclipse.swt_3.1.0.jar" fullpath="${pluginArchivePrefix}/org.eclipse.swt_3.1.0.jar"			/>
 			<zipfileset file="${eclipse.base}/plugins/org.eclipse.core.filebuffers_3.1.0.jar" fullpath="${pluginArchivePrefix}/org.eclipse.core.filebuffers_3.1.0.jar"			/>
 			<zipfileset file="${eclipse.base}/plugins/org.eclipse.core.runtime.compatibility_3.1.0.jar" fullpath="${pluginArchivePrefix}/org.eclipse.core.runtime.compatibility_3.1.0.jar"			/>
-			<zipfileset dir="${eclipse.base}/plugins/org.eclipse.tomcat_4.1.30.1" prefix="${pluginArchivePrefix}/org.eclipse.tomcat_4.1.30.1"			/>
+			<zipfileset dir="${eclipse.base}/plugins/org.eclipse.tomcat_5.0.30" prefix="${pluginArchivePrefix}/org.eclipse.tomcat_5.0.30"			/>
 			<zipfileset file="${eclipse.base}/plugins/org.eclipse.ui.workbench.texteditor_3.1.0.jar" fullpath="${pluginArchivePrefix}/org.eclipse.ui.workbench.texteditor_3.1.0.jar"			/>
 			<zipfileset file="${eclipse.base}/plugins/org.eclipse.team.ui_3.1.0.jar" fullpath="${pluginArchivePrefix}/org.eclipse.team.ui_3.1.0.jar"			/>
 			<zipfileset file="${eclipse.base}/plugins/org.eclipse.help.appserver_3.1.0.jar" fullpath="${pluginArchivePrefix}/org.eclipse.help.appserver_3.1.0.jar"			/>
diff -uNr assemble.org.eclipse.sdk.hpux.motif.PA_RISC.xml assemble.org.eclipse.sdk.hpux.motif.PA_RISC.xml
--- assemble.org.eclipse.sdk.hpux.motif.PA_RISC.xml	2005-06-27 16:12:54.000000000 -0400
+++ assemble.org.eclipse.sdk.hpux.motif.PA_RISC.xml	2005-06-27 16:14:11.000000000 -0400
@@ -620,7 +620,7 @@
 			<arg line="${pluginArchivePrefix}/org.eclipse.swt_3.1.0.jar"/>
 			<arg line="${pluginArchivePrefix}/org.eclipse.core.filebuffers_3.1.0.jar"/>
 			<arg line="${pluginArchivePrefix}/org.eclipse.core.runtime.compatibility_3.1.0.jar"/>
-			<arg line="${pluginArchivePrefix}/org.eclipse.tomcat_4.1.30.1"/>
+			<arg line="${pluginArchivePrefix}/org.eclipse.tomcat_5.0.30"/>
 			<arg line="${pluginArchivePrefix}/org.eclipse.ui.workbench.texteditor_3.1.0.jar"/>
 			<arg line="${pluginArchivePrefix}/org.eclipse.team.ui_3.1.0.jar"/>
 			<arg line="${pluginArchivePrefix}/org.eclipse.help.appserver_3.1.0.jar"/>
diff -uNr assemble.org.eclipse.sdk.solaris.gtk.sparc.xml assemble.org.eclipse.sdk.solaris.gtk.sparc.xml
--- assemble.org.eclipse.sdk.solaris.gtk.sparc.xml	2005-06-27 16:12:54.000000000 -0400
+++ assemble.org.eclipse.sdk.solaris.gtk.sparc.xml	2005-06-27 16:14:15.000000000 -0400
@@ -610,7 +610,7 @@
 			<arg line="${pluginArchivePrefix}/org.eclipse.swt_3.1.0.jar"/>
 			<arg line="${pluginArchivePrefix}/org.eclipse.core.filebuffers_3.1.0.jar"/>
 			<arg line="${pluginArchivePrefix}/org.eclipse.core.runtime.compatibility_3.1.0.jar"/>
-			<arg line="${pluginArchivePrefix}/org.eclipse.tomcat_4.1.30.1"/>
+			<arg line="${pluginArchivePrefix}/org.eclipse.tomcat_5.0.30"/>
 			<arg line="${pluginArchivePrefix}/org.eclipse.ui.workbench.texteditor_3.1.0.jar"/>
 			<arg line="${pluginArchivePrefix}/org.eclipse.team.ui_3.1.0.jar"/>
 			<arg line="${pluginArchivePrefix}/org.eclipse.help.appserver_3.1.0.jar"/>
diff -uNr assemble.org.eclipse.sdk.solaris.motif.sparc.xml assemble.org.eclipse.sdk.solaris.motif.sparc.xml
--- assemble.org.eclipse.sdk.solaris.motif.sparc.xml	2005-06-27 16:12:54.000000000 -0400
+++ assemble.org.eclipse.sdk.solaris.motif.sparc.xml	2005-06-27 16:14:19.000000000 -0400
@@ -610,7 +610,7 @@
 			<arg line="${pluginArchivePrefix}/org.eclipse.swt_3.1.0.jar"/>
 			<arg line="${pluginArchivePrefix}/org.eclipse.core.filebuffers_3.1.0.jar"/>
 			<arg line="${pluginArchivePrefix}/org.eclipse.core.runtime.compatibility_3.1.0.jar"/>
-			<arg line="${pluginArchivePrefix}/org.eclipse.tomcat_4.1.30.1"/>
+			<arg line="${pluginArchivePrefix}/org.eclipse.tomcat_5.0.30"/>
 			<arg line="${pluginArchivePrefix}/org.eclipse.ui.workbench.texteditor_3.1.0.jar"/>
 			<arg line="${pluginArchivePrefix}/org.eclipse.team.ui_3.1.0.jar"/>
 			<arg line="${pluginArchivePrefix}/org.eclipse.help.appserver_3.1.0.jar"/>
diff -uNr assemble.org.eclipse.sdk.win32.win32.x86.xml assemble.org.eclipse.sdk.win32.win32.x86.xml
--- assemble.org.eclipse.sdk.win32.win32.x86.xml	2005-06-27 16:12:54.000000000 -0400
+++ assemble.org.eclipse.sdk.win32.win32.x86.xml	2005-06-27 16:14:23.000000000 -0400
@@ -637,7 +637,7 @@
 			<arg line="${pluginArchivePrefix}/org.eclipse.swt_3.1.0.jar"/>
 			<arg line="${pluginArchivePrefix}/org.eclipse.core.filebuffers_3.1.0.jar"/>
 			<arg line="${pluginArchivePrefix}/org.eclipse.core.runtime.compatibility_3.1.0.jar"/>
-			<arg line="${pluginArchivePrefix}/org.eclipse.tomcat_4.1.30.1"/>
+			<arg line="${pluginArchivePrefix}/org.eclipse.tomcat_5.0.30"/>
 			<arg line="${pluginArchivePrefix}/org.eclipse.ui.workbench.texteditor_3.1.0.jar"/>
 			<arg line="${pluginArchivePrefix}/org.eclipse.team.ui_3.1.0.jar"/>
 			<arg line="${pluginArchivePrefix}/org.eclipse.help.appserver_3.1.0.jar"/>
diff -uNr features/org.eclipse.platform/build.xml features/org.eclipse.platform/build.xml
--- features/org.eclipse.platform/build.xml	2005-06-27 16:24:04.000000000 -0400
+++ features/org.eclipse.platform/build.xml	2005-06-27 16:24:19.000000000 -0400
@@ -346,7 +346,7 @@
 		<copy todir="${feature.base}/features/org.eclipse.platform_3.1.0" failonerror="true" overwrite="false">
 			<fileset dir="${basedir}" includes="epl-v10.html,eclipse_update_120.jpg,feature.xml,feature.properties,license.html"			/>
 		</copy>
-		<eclipse.idReplacer featureFilePath="${feature.base}/features/org.eclipse.platform_3.1.0/feature.xml"  selfVersion="3.1.0" featureIds="org.eclipse.rcp,3.1.0," pluginIds="org.apache.ant,1.6.5,org.apache.lucene,1.4.3,org.eclipse.ant.core,3.1.0,org.eclipse.compare,3.1.0,org.eclipse.core.boot,3.1.0,org.eclipse.core.filebuffers,3.1.0,org.eclipse.core.resources,3.1.0,org.eclipse.core.resources.compatibility,3.1.0,org.eclipse.core.runtime.compatibility,3.1.0,org.eclipse.osgi.services,3.1.0,org.eclipse.osgi.util,3.1.0,org.eclipse.core.variables,3.1.0,org.eclipse.debug.core,3.1.0,org.eclipse.debug.ui,3.1.0,org.eclipse.help.webapp,3.1.0,org.eclipse.help.base,3.1.0,org.eclipse.help.ui,3.1.0,org.eclipse.help.appserver,3.1.0,org.eclipse.ltk.core.refactoring,3.1.0,org.eclipse.ltk.ui.refactoring,3.1.0,org.eclipse.platform,3.1.0,org.eclipse.platform.doc.user,3.1.0,org.eclipse.search,3.1.0,org.eclipse.team.core,3.1.0,org.eclipse.team.cvs.core,3.1.0,org.eclipse.team.cvs.ssh,3.1.0,org.eclip!
se.team.cvs.ssh2,3.1.0,org.eclipse.team.cvs.ui,3.1.0,org.eclipse.team.ui,3.1.0,org.eclipse.tomcat,4.1.30.1,org.eclipse.text,3.1.0,org.eclipse.jface.text,3.1.0,org.eclipse.ui.console,3.1.0,org.eclipse.ui.presentations.r21,3.1.0,org.eclipse.ui.intro,3.1.0,org.eclipse.ui.cheatsheets,3.1.0,org.eclipse.ui.browser,3.1.0,org.eclipse.ui.workbench.texteditor,3.1.0,org.eclipse.ui.views,3.1.0,org.eclipse.ui.editors,3.1.0,org.eclipse.ui.forms,3.1.0,org.eclipse.ui.externaltools,3.1.0,org.eclipse.ui.ide,3.1.0,org.eclipse.update.core,3.1.0,org.eclipse.update.scheduler,3.1.0,org.eclipse.update.ui,3.1.0,org.eclipse.ui.workbench.compatibility,3.1.0,org.eclipse.core.resources.hpux,3.1.0,org.eclipse.core.resources.linux,3.1.0,org.eclipse.core.resources.macosx,3.1.0,org.eclipse.core.resources.qnx,3.1.0,org.eclipse.core.resources.win32,3.1.0,org.eclipse.ui.carbon,3.1.0,org.eclipse.ui.win32,3.1.0,org.eclipse.update.core.linux,3.1.0,org.eclipse.update.core.win32,3.1.0,"/>
+		<eclipse.idReplacer featureFilePath="${feature.base}/features/org.eclipse.platform_3.1.0/feature.xml"  selfVersion="3.1.0" featureIds="org.eclipse.rcp,3.1.0," pluginIds="org.apache.ant,1.6.5,org.apache.lucene,1.4.3,org.eclipse.ant.core,3.1.0,org.eclipse.compare,3.1.0,org.eclipse.core.boot,3.1.0,org.eclipse.core.filebuffers,3.1.0,org.eclipse.core.resources,3.1.0,org.eclipse.core.resources.compatibility,3.1.0,org.eclipse.core.runtime.compatibility,3.1.0,org.eclipse.osgi.services,3.1.0,org.eclipse.osgi.util,3.1.0,org.eclipse.core.variables,3.1.0,org.eclipse.debug.core,3.1.0,org.eclipse.debug.ui,3.1.0,org.eclipse.help.webapp,3.1.0,org.eclipse.help.base,3.1.0,org.eclipse.help.ui,3.1.0,org.eclipse.help.appserver,3.1.0,org.eclipse.ltk.core.refactoring,3.1.0,org.eclipse.ltk.ui.refactoring,3.1.0,org.eclipse.platform,3.1.0,org.eclipse.platform.doc.user,3.1.0,org.eclipse.search,3.1.0,org.eclipse.team.core,3.1.0,org.eclipse.team.cvs.core,3.1.0,org.eclipse.team.cvs.ssh,3.1.0,org.eclip!
se.team.cvs.ssh2,3.1.0,org.eclipse.team.cvs.ui,3.1.0,org.eclipse.team.ui,3.1.0,org.eclipse.tomcat,5.0.30,org.eclipse.text,3.1.0,org.eclipse.jface.text,3.1.0,org.eclipse.ui.console,3.1.0,org.eclipse.ui.presentations.r21,3.1.0,org.eclipse.ui.intro,3.1.0,org.eclipse.ui.cheatsheets,3.1.0,org.eclipse.ui.browser,3.1.0,org.eclipse.ui.workbench.texteditor,3.1.0,org.eclipse.ui.views,3.1.0,org.eclipse.ui.editors,3.1.0,org.eclipse.ui.forms,3.1.0,org.eclipse.ui.externaltools,3.1.0,org.eclipse.ui.ide,3.1.0,org.eclipse.update.core,3.1.0,org.eclipse.update.scheduler,3.1.0,org.eclipse.update.ui,3.1.0,org.eclipse.ui.workbench.compatibility,3.1.0,org.eclipse.core.resources.hpux,3.1.0,org.eclipse.core.resources.linux,3.1.0,org.eclipse.core.resources.macosx,3.1.0,org.eclipse.core.resources.qnx,3.1.0,org.eclipse.core.resources.win32,3.1.0,org.eclipse.ui.carbon,3.1.0,org.eclipse.ui.win32,3.1.0,org.eclipse.update.core.linux,3.1.0,org.eclipse.update.core.win32,3.1.0,"/>
 		<antcall target="rootFiles${os}_${ws}_${arch}"/>
 	</target>
 	<target name="rootFileswin32_win32_x86">

eclipse-tomcat5-build.patch:
 build.xml |   88 ++++++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 54 insertions(+), 34 deletions(-)

--- NEW FILE eclipse-tomcat5-build.patch ---
--- build.xml.orig	2005-05-13 14:34:52.000000000 -0400
+++ build.xml	2005-06-14 15:56:51.000000000 -0400
@@ -45,7 +45,7 @@
 		<antcall target="gather.bin.parts">
 			<param name="destination.temp.folder" value="${temp.folder}/"/>
 		</antcall>
-		<zip destfile="${plugin.destination}/org.eclipse.tomcat_4.1.30.1.jar" basedir="${temp.folder}/org.eclipse.tomcat_4.1.30.1" filesonly="false" whenempty="skip" update="false"/>
+		<zip destfile="${plugin.destination}/org.eclipse.tomcat_5.0.30.jar" basedir="${temp.folder}/org.eclipse.tomcat_5.0.30" filesonly="false" whenempty="skip" update="false"/>
 		<delete dir="${temp.folder}"/>
 	</target>
 
@@ -115,44 +115,64 @@
 				<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/catalina.jar"/>
 				<pathelement path="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/commons-beanutils.jar"/>
-				<pathelement path="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/commons-digester.jar"/>
-				<pathelement path="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/commons-modeler.jar"/>
-				<pathelement path="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/jasper-compiler.jar"/>
-				<pathelement path="jasper-runtime.jar"/>
-				<pathelement path="${build.result.folder}/../org.eclipse.tomcat/jasper-runtime.jar"/>
+				<pathelement path="catalina.jar"/>
+				<pathelement path="${build.result.folder}/../org.eclipse.tomcat/catalina.jar"/>
+				<pathelement path="catalina-optional.jar"/>
+				<pathelement path="${build.result.folder}/../org.eclipse.tomcat/catalina-optional.jar"/>
+				<pathelement path="jakarta-commons-beanutils.jar"/>
+				<pathelement path="${build.result.folder}/../org.eclipse.tomcat/jakarta-commons-beanutils.jar"/>
+				<pathelement path="jakarta-commons-collections.jar"/>
+				<pathelement path="${build.result.folder}/../org.eclipse.tomcat/jakarta-commons-collections.jar"/>
+				<pathelement path="jakarta-commons-dbcp.jar"/>
+				<pathelement path="${build.result.folder}/../org.eclipse.tomcat/jakarta-commons-dbcp.jar"/>
+				<pathelement path="jakarta-commons-digester.jar"/>
+				<pathelement path="${build.result.folder}/../org.eclipse.tomcat/jakarta-commons-digester.jar"/>
+				<pathelement path="jakarta-commons-digester-rss.jar"/>
+				<pathelement path="${build.result.folder}/../org.eclipse.tomcat/jakarta-commons-digester-rss.jar"/>
+				<pathelement path="jakarta-commons-el.jar"/>
+				<pathelement path="${build.result.folder}/../org.eclipse.tomcat/jakarta-commons-el.jar"/>
+				<pathelement path="jakarta-commons-fileupload.jar"/>
+				<pathelement path="${build.result.folder}/../org.eclipse.tomcat/jakarta-commons-fileupload.jar"/>
+				<pathelement path="jakarta-commons-launcher.jar"/>
+				<pathelement path="${build.result.folder}/../org.eclipse.tomcat/jakarta-commons-launcher.jar"/>
+				<pathelement path="jakarta-commons-logging.jar"/>
+				<pathelement path="${build.result.folder}/../org.eclipse.tomcat/jakarta-commons-logging.jar"/>
+				<pathelement path="jakarta-commons-modeler.jar"/>
+				<pathelement path="${build.result.folder}/../org.eclipse.tomcat/jakarta-commons-modeler.jar"/>
+				<pathelement path="jakarta-commons-pool.jar"/>
+				<pathelement path="${build.result.folder}/../org.eclipse.tomcat/jakarta-commons-pool.jar"/>
+				<pathelement path="jasper5-compiler.jar"/>
+				<pathelement path="${build.result.folder}/../org.eclipse.tomcat/jasper5-compiler.jar"/>
+				<pathelement path="jasper5-runtime.jar"/>
+				<pathelement path="${build.result.folder}/../org.eclipse.tomcat/jasper5-runtime.jar"/>
+				<pathelement path="jspapi.jar"/>
+				<pathelement path="${build.result.folder}/../org.eclipse.tomcat/jspapi.jar"/>
+				<pathelement path="mx4j.jar"/>
+				<pathelement path="${build.result.folder}/../org.eclipse.tomcat/mx4j.jar"/>
+				<pathelement path="mx4j-impl.jar"/>
+				<pathelement path="${build.result.folder}/../org.eclipse.tomcat/mx4j-impl.jar"/>
 				<pathelement path="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/naming-common.jar"/>
 				<pathelement path="naming-factory.jar"/>
 				<pathelement path="${build.result.folder}/../org.eclipse.tomcat/naming-factory.jar"/>
+				<pathelement path="naming-java.jar"/>
+				<pathelement path="${build.result.folder}/../org.eclipse.tomcat/naming-java.jar"/>
 				<pathelement path="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/servlet.jar"/>
+				<pathelement path="regexp.jar"/>
+				<pathelement path="${build.result.folder}/../org.eclipse.tomcat/regexp.jar"/>
+				<pathelement path="servletapi5.jar"/>
+				<pathelement path="${build.result.folder}/../org.eclipse.tomcat/servletapi5.jar"/>
 				<pathelement path="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/servlets-default.jar"/>
 				<pathelement path="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/servlets-manager.jar"/>
 				<pathelement path="tomcat-coyote.jar"/>
 				<pathelement path="${build.result.folder}/../org.eclipse.tomcat/tomcat-coyote.jar"/>
 				<pathelement path="tomcat-http11.jar"/>
@@ -189,11 +209,11 @@
 	</target>
 
 	<target name="gather.bin.parts" depends="init" if="destination.temp.folder">
-		<mkdir dir="${destination.temp.folder}/org.eclipse.tomcat_4.1.30.1"/>
-		<copy todir="${destination.temp.folder}/org.eclipse.tomcat_4.1.30.1" failonerror="true" overwrite="false">
+		<mkdir dir="${destination.temp.folder}/org.eclipse.tomcat_5.0.30"/>
+		<copy todir="${destination.temp.folder}/org.eclipse.tomcat_5.0.30" failonerror="true" overwrite="false">
 			<fileset dir="${build.result.folder}" includes="tomcatwrapper.jar"			/>
 		</copy>
-		<copy todir="${destination.temp.folder}/org.eclipse.tomcat_4.1.30.1" failonerror="true" overwrite="false">
+		<copy todir="${destination.temp.folder}/org.eclipse.tomcat_5.0.30" failonerror="true" overwrite="false">
 			<fileset dir="${basedir}" includes="conf/,webapps/,plugin.xml,*.jar,plugin.properties,preferences.ini,about.html,*.license,META-INF/"			/>
 		</copy>
 	</target>
@@ -202,23 +222,23 @@
 	</target>
 
 	<target name="gather.sources" depends="init" if="destination.temp.folder">
-		<mkdir dir="${destination.temp.folder}/org.eclipse.tomcat_4.1.30.1"/>
-		<copy file="${build.result.folder}/tomcatwrappersrc.zip" todir="${destination.temp.folder}/org.eclipse.tomcat_4.1.30.1" failonerror="false" overwrite="false"/>
-		<copy todir="${destination.temp.folder}/org.eclipse.tomcat_4.1.30.1" failonerror="false" overwrite="false">
+		<mkdir dir="${destination.temp.folder}/org.eclipse.tomcat_5.0.30"/>
+		<copy file="${build.result.folder}/tomcatwrappersrc.zip" todir="${destination.temp.folder}/org.eclipse.tomcat_5.0.30" failonerror="false" overwrite="false"/>
+		<copy todir="${destination.temp.folder}/org.eclipse.tomcat_5.0.30" failonerror="false" overwrite="false">
 			<fileset dir="${basedir}" includes="about.html,*.license"			/>
 		</copy>
 	</target>
 
 	<target name="gather.logs" depends="init" if="destination.temp.folder">
-		<mkdir dir="${destination.temp.folder}/org.eclipse.tomcat_4.1.30.1"/>
-		<copy file="${temp.folder}/tomcatwrapper.jar.bin.log" todir="${destination.temp.folder}/org.eclipse.tomcat_4.1.30.1" failonerror="false" overwrite="false"/>
+		<mkdir dir="${destination.temp.folder}/org.eclipse.tomcat_5.0.30"/>
+		<copy file="${temp.folder}/tomcatwrapper.jar.bin.log" todir="${destination.temp.folder}/org.eclipse.tomcat_5.0.30" failonerror="false" overwrite="false"/>
 	</target>
 
 	<target name="clean" depends="init" description="Clean the plug-in: org.eclipse.tomcat of all the zips, jars and logs created.">
 		<delete file="${build.result.folder}/tomcatwrapper.jar"/>
 		<delete file="${build.result.folder}/tomcatwrappersrc.zip"/>
-		<delete file="${plugin.destination}/org.eclipse.tomcat_4.1.30.1.jar"/>
-		<delete file="${plugin.destination}/org.eclipse.tomcat_4.1.30.1.zip"/>
+		<delete file="${plugin.destination}/org.eclipse.tomcat_5.0.30.jar"/>
+		<delete file="${plugin.destination}/org.eclipse.tomcat_5.0.30.zip"/>
 		<delete dir="${temp.folder}"/>
 	</target>
 
@@ -241,7 +261,7 @@
 		<delete>
 			<fileset dir="${temp.folder}" includes="**/*.bin.log"			/>
 		</delete>
-		<zip destfile="${plugin.destination}/org.eclipse.tomcat_4.1.30.1.zip" basedir="${temp.folder}" filesonly="true" whenempty="skip" update="false"/>
+		<zip destfile="${plugin.destination}/org.eclipse.tomcat_5.0.30.zip" basedir="${temp.folder}" filesonly="true" whenempty="skip" update="false"/>
 		<delete dir="${temp.folder}"/>
 	</target>

eclipse-tomcat5.patch:
 .classpath                                           |   54 ++++++++------
 META-INF/MANIFEST.MF                                 |   65 +++++++++--------
 about.html                                           |   45 +++++++-----
 src/org/eclipse/tomcat/internal/TomcatAppServer.java |   69 +++++++++----------
 4 files changed, 128 insertions(+), 105 deletions(-)

--- NEW FILE eclipse-tomcat5.patch ---
Index: .classpath
===================================================================
RCS file: /home/eclipse/org.eclipse.tomcat/.classpath,v
retrieving revision 1.20
diff -u -r1.20 .classpath
--- .classpath	21 Apr 2005 23:31:58 -0000	1.20
+++ .classpath	14 Jun 2005 15:48:35 -0000
@@ -1,29 +1,39 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry kind="src" path="src"/>
-	<classpathentry exported="true" sourcepath="D:/tomcat4.1.30src" kind="lib" path="catalina.jar"/>
-	<classpathentry exported="true" sourcepath="D:/tomcat4.1.30src" kind="lib" path="bootstrap.jar"/>
-	<classpathentry exported="true" sourcepath="D:/tomcat4.1.30src" kind="lib" path="commons-beanutils.jar"/>
-	<classpathentry exported="true" sourcepath="D:/tomcat4.1.30src" kind="lib" path="commons-collections.jar"/>
-	<classpathentry exported="true" sourcepath="D:/tomcat4.1.30src" kind="lib" path="commons-digester.jar"/>
-	<classpathentry exported="true" sourcepath="D:/tomcat4.1.30src" kind="lib" path="commons-logging-api.jar"/>
-	<classpathentry exported="true" sourcepath="D:/tomcat4.1.30src" kind="lib" path="commons-modeler.jar"/>
-	<classpathentry exported="true" sourcepath="D:/tomcat4.1.30src" kind="lib" path="jakarta-regexp-1.3.jar"/>
-	<classpathentry exported="true" sourcepath="D:/tomcat4.1.30src" kind="lib" path="jasper-compiler.jar"/>
-	<classpathentry exported="true" sourcepath="D:/tomcat4.1.30src" kind="lib" path="jasper-runtime.jar"/>
-	<classpathentry exported="true" sourcepath="D:/tomcat4.1.30src" kind="lib" path="mx4j-jmx.jar"/>
-	<classpathentry exported="true" sourcepath="D:/tomcat4.1.30src" kind="lib" path="naming-common.jar"/>
-	<classpathentry exported="true" sourcepath="D:/tomcat4.1.30src" kind="lib" path="naming-factory.jar"/>
-	<classpathentry exported="true" sourcepath="D:/tomcat4.1.30src" kind="lib" path="naming-resources.jar"/>
-	<classpathentry exported="true" sourcepath="D:/tomcat4.1.30src" kind="lib" path="servlet.jar"/>
-	<classpathentry exported="true" sourcepath="D:/tomcat4.1.30src" kind="lib" path="servlets-common.jar"/>
-	<classpathentry exported="true" sourcepath="D:/tomcat4.1.30src" kind="lib" path="servlets-default.jar"/>
-	<classpathentry exported="true" sourcepath="D:/tomcat4.1.30src" kind="lib" path="servlets-invoker.jar"/>
-	<classpathentry exported="true" sourcepath="D:/tomcat4.1.30src" kind="lib" path="servlets-manager.jar"/>
-	<classpathentry exported="true" sourcepath="D:/tomcat4.1.30src" kind="lib" path="tomcat-coyote.jar"/>
-	<classpathentry exported="true" sourcepath="D:/tomcat4.1.30src" kind="lib" path="tomcat-http11.jar"/>
-	<classpathentry exported="true" sourcepath="D:/tomcat4.1.30src" kind="lib" path="tomcat-util.jar"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="lib" path="bootstrap.jar"/>
+	<classpathentry kind="lib" path="catalina.jar"/>
+	<classpathentry kind="lib" path="catalina-optional.jar"/>
+	<classpathentry kind="lib" path="jakarta-commons-beanutils.jar"/>
+	<classpathentry kind="lib" path="jakarta-commons-collections.jar"/>
+	<classpathentry kind="lib" path="jakarta-commons-dbcp.jar"/>
+	<classpathentry kind="lib" path="jakarta-commons-digester.jar"/>
+	<classpathentry kind="lib" path="jakarta-commons-digester-rss.jar"/>
+	<classpathentry kind="lib" path="jakarta-commons-el.jar"/>
+	<classpathentry kind="lib" path="jakarta-commons-fileupload.jar"/>
+	<classpathentry kind="lib" path="jakarta-commons-launcher.jar"/>
+	<classpathentry kind="lib" path="jakarta-commons-logging.jar"/>
+	<classpathentry kind="lib" path="jakarta-commons-modeler.jar"/>
+	<classpathentry kind="lib" path="jakarta-commons-pool.jar"/>
+	<classpathentry kind="lib" path="jasper5-compiler.jar"/>
+	<classpathentry kind="lib" path="jasper5-runtime.jar"/>
+	<classpathentry kind="lib" path="jspapi.jar"/>
+	<classpathentry kind="lib" path="mx4j.jar"/>
+	<classpathentry kind="lib" path="mx4j-impl.jar"/>
+	<classpathentry kind="lib" path="mx4j-jmx.jar"/>
+	<classpathentry kind="lib" path="naming-common.jar"/>
+	<classpathentry kind="lib" path="naming-factory.jar"/>
+	<classpathentry kind="lib" path="naming-java.jar"/>
+	<classpathentry kind="lib" path="naming-resources.jar"/>
+	<classpathentry kind="lib" path="servletapi5.jar"/>
+	<classpathentry kind="lib" path="servlets-common.jar"/>
+	<classpathentry kind="lib" path="servlets-default.jar"/>
+	<classpathentry kind="lib" path="servlets-invoker.jar"/>
+	<classpathentry kind="lib" path="tomcat-coyote.jar"/>
+	<classpathentry kind="lib" path="tomcat-http11.jar"/>
+	<classpathentry kind="lib" path="tomcat-util.jar"/>
+	<classpathentry kind="lib" path="regexp.jar"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
Index: about.html
===================================================================
RCS file: /home/eclipse/org.eclipse.tomcat/about.html,v
retrieving revision 1.23
diff -u -r1.23 about.html
--- about.html	25 Feb 2005 18:17:04 -0000	1.23
+++ about.html	14 Jun 2005 19:13:47 -0000
@@ -7,7 +7,7 @@
 <body lang="EN-US">
 <h2>About This Content</h2>
 
-<p>February 24, 2005</p>	
+<p>February 24, 2005 (modified June 14, 2005 with update to Tomcat 5.0.30)</p>
 <h3>License</h3>
 
 <p>The Eclipse Foundation makes available all content in this plug-in ("Content").  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
@@ -22,7 +22,7 @@
 
 <p>The Content includes items that have been sourced from third parties as follows:</p>
 
-<p><b>Tomcat 4.1.30</b></p>
+<p><b>Tomcat 5.0.30</b></p>
 <p>The plug-in is based on software developed by The Apache Software Foundation as part of the Jakarta project.  Therefore:</p>
 
 <blockquote>
@@ -34,24 +34,31 @@
 <ul type="disc">
 	<li>bootstrap.jar</li>
 	<li>catalina.jar</li>
-	<li>commons-beanutils.jar</li>
-	<li>commons-collections.jar</li>
-	<li>commons-digester.jar</li>
-	<li>commons-logging.jar</li>
-	<li>commons-logging-api.jar</li>
-	<li>commons-modeler.jar</li>
-	<li>jakarta-regexp-1.3.jar</li>
-	<li>jasper-compiler.jar</li>
-	<li>jasper-runtime.jar</li>
+	<li>catalina-optional.jar</li>
+	<li>jakarta-commons-beanutils.jar</li>
+	<li>jakarta-commons-collections.jar</li>
+	<li>jakarta-commons-dbcp.jar</li>
+	<li>jakarta-commons-digester.jar</li>
+	<li>jakarta-commons-digester-rss.jar</li>
+	<li>jakarta-commons-el.jar</li>
+	<li>jakarta-commons-fileupload.jar</li>
+	<li>jakarta-commons-launcher.jar</li>
+	<li>jakarta-commons-logging.jar</li>
+	<li>jakarta-commons-modeler.jar</li>
+	<li>jakarta-commons-pool.jar</li>
+	<li>jasper5-compiler.jar</li>
+	<li>jasper5-runtime.jar</li>
+	<li>mx4j.jar</li>
+	<li>mx4j-impl.jar</li>
 	<li>mx4j-jmx.jar</li>
 	<li>naming-common.jar</li>
 	<li>naming-factory.jar</li>
 	<li>naming-resources.jar</li>
-	<li>servlet.jar</li>
+	<li>regexp.jar</li>
+	<li>servletapi5.jar</li>
 	<li>servlets-common.jar</li>
 	<li>servlets-default.jar</li>
 	<li>servlets-invoker.jar</li>
-	<li>servlets-manager.jar</li>
 	<li>tomcat-coyote.jar</li>
 	<li>tomcat-http11.jar</li>
 	<li>tomcat-util.jar</li>
@@ -65,10 +72,10 @@
 
 <p>Tomcat is:</p>
 
-<blockquote>Copyright (c) 1999, 2000 The Apache Software Foundation. All rights reserved.</blockquote>
+<blockquote>Copyright (c) 1999-2003 The Apache Software Foundation. All rights reserved.</blockquote>
 
-<p>Your use of the Tomcat code is subject to the terms and conditions of the Apache Software License 1.1 which is available at
-<a href="http://www.apache.org/licenses/LICENSE-1.1">http://www.apache.org/licenses/LICENSE-1.1</a>.  More specifically:</p>
+<p>Your use of the Tomcat code is subject to the terms and conditions of the Apache Software License 2.0 which is available at
+<a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>.  More specifically:</p>
 <blockquote>
 	1. Redistributions of source code must retain the above copyright notice, this list of<br>
 	conditions and the following disclaimer.<br>
@@ -106,11 +113,11 @@
 
 <p>Source code for Tomcat is available at <a href="http://jakarta.apache.org/tomcat/">http://jakarta.apache.org/tomcat/</a>.</p>
 
-<strong>MX4J 1.1.1</strong>
+<strong>MX4J 2.1.0</strong>
 
-<p></p>Tomcat 4.1.30 includes mx4j-jmx.jar from MX4J 1.1.1.  MX4J is:</p>
+<p></p>Tomcat 5.0.30 includes mx4j.jar, mx4j-jmx.jar and mx4j-impl.jar from MX4J 2.1.0.  MX4J is:</p>
 
-<blockquote>Copyright (c) 2001 MX4J.  All rights reserved.</blockquote>
+<blockquote>Copyright (c) 2001-2004 MX4J contributors.  All rights reserved.</blockquote>
 
 <p>Your use of the MX4J code is subject to the terms and conditions of the MX4J License, Version 1.0, a copy of which is included
 with the Content in the file <a href="mx4j.license">mx4j.license</a>.  More specifically: </p>
Index: META-INF/MANIFEST.MF
===================================================================
RCS file: /home/eclipse/org.eclipse.tomcat/META-INF/MANIFEST.MF,v
retrieving revision 1.14
diff -u -r1.14 MANIFEST.MF
--- META-INF/MANIFEST.MF	19 May 2005 04:05:11 -0000	1.14
+++ META-INF/MANIFEST.MF	14 Jun 2005 15:48:41 -0000
@@ -2,30 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.tomcat; singleton:=true
-Bundle-Version: 4.1.30.1
-Bundle-ClassPath: tomcatwrapper.jar,
- catalina.jar,
- bootstrap.jar,
- commons-beanutils.jar,
- commons-collections.jar,
- commons-digester.jar,
- commons-logging-api.jar,
- commons-modeler.jar,
- jakarta-regexp-1.3.jar,
- jasper-compiler.jar,
- jasper-runtime.jar,
- mx4j-jmx.jar,
- naming-common.jar,
- naming-factory.jar,
- naming-resources.jar,
- servlet.jar,
- servlets-common.jar,
- servlets-default.jar,
- servlets-invoker.jar,
- servlets-manager.jar,
- tomcat-coyote.jar,
- tomcat-http11.jar,
- tomcat-util.jar
+Bundle-Version: 5.0.30
 Bundle-Activator: org.eclipse.tomcat.internal.TomcatPlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
@@ -54,8 +31,6 @@
  mx4j.util;x-internal:=true,
  org.apache.catalina;x-internal:=true,
  org.apache.catalina.connector;x-internal:=true,
- org.apache.catalina.connector.http;x-internal:=true,
- org.apache.catalina.connector.http10;x-internal:=true,
  org.apache.catalina.realm;x-internal:=true,
  org.apache.catalina.servlets;x-internal:=true,
  org.apache.commons.beanutils;x-internal:=true,
@@ -79,10 +54,9 @@
  org.apache.coyote.http11;x-internal:=true,
  org.apache.coyote.http11.filters;x-internal:=true,
  org.apache.coyote.memory;x-internal:=true,
- org.apache.coyote.tomcat4;x-internal:=true,
+ org.apache.coyote.tomcat5;x-internal:=true,
  org.apache.jasper;x-internal:=true,
  org.apache.jasper.compiler;x-internal:=true,
- org.apache.jasper.logging;x-internal:=true,
  org.apache.jasper.runtime;x-internal:=true,
  org.apache.jasper.servlet;x-internal:=true,
  org.apache.jasper.util;x-internal:=true,
@@ -96,14 +70,45 @@
  org.apache.tomcat.util.buf;x-internal:=true,
  org.apache.tomcat.util.collections;x-internal:=true,
  org.apache.tomcat.util.compat;x-internal:=true,
- org.apache.tomcat.util.handler;x-internal:=true,
  org.apache.tomcat.util.http;x-internal:=true,
  org.apache.tomcat.util.http.mapper;x-internal:=true,
  org.apache.tomcat.util.log;x-internal:=true,
- org.apache.tomcat.util.mx;x-internal:=true,
  org.apache.tomcat.util.net;x-internal:=true,
  org.apache.tomcat.util.net.jsse;x-internal:=true,
  org.apache.tomcat.util.res;x-internal:=true,
  org.apache.tomcat.util.threads;x-internal:=true,
  org.eclipse.tomcat.internal;x-internal:=true,
  org.eclipse.tomcat.internal.extensions;x-internal:=true
+Bundle-ClassPath: tomcatwrapper.jar,
+ bootstrap.jar,
+ catalina.jar,
+ catalina-optional.jar,
+ jakarta-commons-beanutils.jar,
+ jakarta-commons-collections.jar,
+ jakarta-commons-dbcp.jar,
+ jakarta-commons-digester.jar,
+ jakarta-commons-digester-rss.jar,
+ jakarta-commons-el.jar,
+ jakarta-commons-fileupload.jar,
+ jakarta-commons-launcher.jar,
+ jakarta-commons-logging.jar,
+ jakarta-commons-modeler.jar,
+ jakarta-commons-pool.jar,
+ jasper-compiler.jar,
+ jasper-runtime.jar,
+ jspapi.jar,
+ mx4j.jar,
+ mx4j-impl.jar,
+ mx4j-jmx.jar,
+ naming-common.jar,
+ naming-factory.jar,
+ naming-java.jar,
+ naming-resources.jar,
+ regexp.jar,
+ servletapi5.jar,
+ servlets-common.jar,
+ servlets-default.jar,
+ servlets-invoker.jar,
+ tomcat-coyote.jar,
+ tomcat-http11.jar,
+ tomcat-util.jar
Index: src/org/eclipse/tomcat/internal/TomcatAppServer.java
===================================================================
RCS file: /home/eclipse/org.eclipse.tomcat/src/org/eclipse/tomcat/internal/TomcatAppServer.java,v
retrieving revision 1.42
diff -u -r1.42 TomcatAppServer.java
--- src/org/eclipse/tomcat/internal/TomcatAppServer.java	23 May 2005 03:58:30 -0000	1.42
+++ src/org/eclipse/tomcat/internal/TomcatAppServer.java	14 Jun 2005 15:48:41 -0000
@@ -30,8 +30,8 @@
 import org.apache.catalina.logger.FileLogger;
 import org.apache.catalina.realm.MemoryRealm;
 import org.apache.catalina.startup.Embedded;
-import org.apache.coyote.tomcat4.CoyoteConnector;
-import org.apache.coyote.tomcat4.CoyoteServerSocketFactory;
+import org.apache.coyote.tomcat5.CoyoteConnector;
+import org.apache.coyote.tomcat5.CoyoteServerSocketFactory;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.IExtension;
@@ -120,9 +120,6 @@
                 embedded.setRealm(realm);
             }
 
-            // start now, and then add all the contexts..
-            embedded.start();
-
             // Create a very basic container hierarchy
             engine = embedded.createEngine();
 
@@ -136,18 +133,7 @@
                         .setErrorReportValveClass("org.eclipse.tomcat.internal.EclipseErrorReportValve"); //$NON-NLS-1$
             }
             engine.addChild(host);
-
-            // Install the assembled container hierarchy
-            PrintStream sysOut = System.out;
-            // reassign standard output to prevent Tomcat from writing
-            // its version message there.
-            System.setOut(new PrintStream(new ByteArrayOutputStream()));
-            try {
-                embedded.addEngine(engine);
-            } finally {
-                System.setOut(sysOut);
-            }
-
+            
             // Root context
             Context root = embedded.createContext("", home + "/webapps/ROOT"); //$NON-NLS-1$ //$NON-NLS-2$
             // this line should be replaced once tomcat provides support
@@ -156,12 +142,25 @@
                 ((StandardContext) root)
                         .setWorkDir(getWorkingDirectory("ROOT")); //$NON-NLS-1$
             }
+            
             root.setLoader(embedded.createLoader(this.getClass()
                     .getClassLoader()));
             contexts.add(root);
             host.addChild(root);
-
+            
+            // Install the assembled container hierarchy
+            PrintStream sysOut = System.out;
+            // reassign standard output to prevent Tomcat from writing
+            // its version message there.
+            System.setOut(new PrintStream(new ByteArrayOutputStream()));
+            try {
+                embedded.addEngine(engine);
+            } finally {
+                System.setOut(sysOut);
+            }
+            
             InetAddress iAddress = null;
+            
             if (this.hostAddress != null) {
                 try {
                     iAddress = InetAddress.getByName(this.hostAddress);
@@ -169,6 +168,7 @@
                     // will default to all interfaces
                 }
             }
+            
             updateSslPort(iAddress);
             if (this.port == 0) {
                 this.port = SocketUtil.findUnusedLocalPort(iAddress); //$NON-NLS-1$
@@ -183,9 +183,17 @@
                 }
             }
 
+            if (this.sslPort > 0) {
+                createSSLConnector(iAddress, this.sslPort);
+            }
+
+            // if null passed for hostAddress, use local host
+            if (this.hostAddress == null) {
+                this.hostAddress = "127.0.0.1"; //$NON-NLS-1$
+            }
+            
             // Create Connector
-            Connector connector = embedded.createConnector(null, this.port,
-                    false);
+            Connector connector = embedded.createConnector((InetAddress) null, this.port, false);
             // Override defaults on CoyoteConnector
             if (connector instanceof CoyoteConnector) {
                 CoyoteConnector connectorImpl = (CoyoteConnector) connector;
@@ -215,8 +223,8 @@
                     connectorImpl.setRedirectPort(this.sslPort);
                     connectorImpl.setEnableLookups(true);
                     connectorImpl.setConnectionTimeout(20000);
-                    connectorImpl.setUseURIValidationHack(false);
                     connectorImpl.setDisableUploadTimeout(true);
+                    connectorImpl.setUseBodyEncodingForURI(false);
                 }
                 // connectorImpl.setDebug(0);
                 // If there is problem in embedded.addConnector()
@@ -228,7 +236,7 @@
                     }
                 });
             }
-
+            
             // add Connector to Tomcat
             PrintStream sysErr = System.err;
             // reassign standard error to prevent Coyote from writing
@@ -240,15 +248,9 @@
             } finally {
                 System.setErr(sysErr);
             }
-
-            if (this.sslPort > 0) {
-                createSSLConnector(iAddress, this.sslPort);
-            }
-
-            // if null passed for hostAddress, use local host
-            if (this.hostAddress == null) {
-                this.hostAddress = "127.0.0.1"; //$NON-NLS-1$
-            }
+            
+            // start now, and then add all the contexts..
+            embedded.start();
 
             // running = true;
             TomcatPlugin.getDefault().setAppserver(this);
@@ -308,7 +310,7 @@
     private void createSSLConnector(InetAddress iAddress, int sslport)
             throws CoreException {
         // Create Connector
-        this.sslConnector = embedded.createConnector(null, sslport, false);
+    	this.sslConnector = embedded.createConnector((InetAddress) null, sslport, false);
         // Override defaults on CoyoteConnector
         if (this.sslConnector instanceof CoyoteConnector) {
             CoyoteConnector connectorImpl = (CoyoteConnector) this.sslConnector;
@@ -331,7 +333,6 @@
             if (minProcessors > 0) {
                 connectorImpl.setMinProcessors(minProcessors);
             }
-            connectorImpl.setUseURIValidationHack(false);
             connectorImpl.setDisableUploadTimeout(true);
             connectorImpl.setSecure(true);
             String scheme = pref.getString(TomcatPlugin.PREF_SSL_SCHEME);
@@ -340,7 +341,7 @@
             }
             connectorImpl.setEnableLookups(true);
             CoyoteServerSocketFactory factory = new CoyoteServerSocketFactory();
-            factory.setClientAuth(false);
+            factory.setClientAuth("false"); //$NON-NLS-1$
             String protocol = pref.getString(TomcatPlugin.PREF_SSL_PROTOCOL);
             if ((protocol != null) && (!("".equals(protocol.trim())))) { //$NON-NLS-1$
                 factory.setProtocol(protocol);

eclipse-webapp-tomcat5.patch:
 build.properties |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

--- NEW FILE eclipse-webapp-tomcat5.patch ---
Index: build.properties
===================================================================
RCS file: /home/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	14 Jun 2005 15:47:53 -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/servletapi5-5.0.30.jar,\
+                     ../org.eclipse.tomcat/jasper5-runtime-5.0.30.jar

eclipse-build.patch:
 build.xml |   14 ++++++++++++++
 1 files changed, 14 insertions(+)

Index: eclipse-build.patch
===================================================================
RCS file: /cvs/dist/rpms/eclipse/FC-4/eclipse-build.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- eclipse-build.patch	21 Feb 2005 00:31:37 -0000	1.1
+++ eclipse-build.patch	5 Jul 2005 15:33:19 -0000	1.2
@@ -1,9 +1,14 @@
---- build.xml.orig	2005-02-19 11:43:10.000000000 -0500
-+++ build.xml	2005-02-19 11:44:30.000000000 -0500
-@@ -91,6 +91,15 @@
- 			<arg line="build.sh"/>
+--- build.xml.orig	2005-06-07 16:53:26.000000000 -0400
++++ build.xml	2005-06-16 16:07:11.000000000 -0400
+@@ -72,6 +72,20 @@
+ 			<arg line="build.sh" />
  		</exec>
- 		<move file="${launcherlibs}/library/${installWs}/eclipse" todir="${launcherlibs}/"/>
+ 		<move file="${launcherlibs}/library/${installWs}/eclipse" todir="${launcherlibs}/" />
++
++		<delete dir="${launcherlibs}/library"/>
++
++		<!-- Copy icon for un-supported platforms -->
++		<copy file="features/org.eclipse.platform.launchers/bin/gtk/linux/x86/icon.xpm" todir="${launcherlibs}/"/>
 +
 +		<!-- Build JNI libs -->
 +		<!-- libcore -->
@@ -14,5 +19,3 @@
 +		<ant dir="plugins/org.eclipse.update.core.linux/src" antfile="build.xml" />
 +
  	</target>
- 
- 

eclipse-icon.patch:
 build.xml |    4 ++++
 1 files changed, 4 insertions(+)

Index: eclipse-icon.patch
===================================================================
RCS file: /cvs/dist/rpms/eclipse/FC-4/eclipse-icon.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- eclipse-icon.patch	23 May 2005 17:01:40 -0000	1.2
+++ eclipse-icon.patch	5 Jul 2005 15:33:19 -0000	1.3
@@ -1,9 +1,9 @@
---- build.xml.orig	2005-03-01 12:37:27.000000000 -0500
-+++ build.xml	2005-03-01 14:06:06.972203478 -0500
-@@ -91,6 +91,10 @@
- 			<arg line="build.sh"/>
+--- build.xml.orig	2005-06-16 11:17:14.000000000 -0400
++++ build.xml	2005-06-16 11:22:43.000000000 -0400
+@@ -72,6 +72,10 @@
+ 			<arg line="build.sh" />
  		</exec>
- 		<move file="${launcherlibs}/library/${installWs}/eclipse" todir="${launcherlibs}/"/>
+ 		<move file="${launcherlibs}/library/${installWs}/eclipse" todir="${launcherlibs}/" />
 +		<delete dir="${launcherlibs}/library"/>
 +
 +		<!-- Copy icon for un-supported platforms -->

eclipse-updatehomedir.patch:
 ModeSelectionPage.java |   10 +++++
 TargetPage.java        |   83 +++++++++++++++++++++++++++++++++++++------------
 2 files changed, 72 insertions(+), 21 deletions(-)

Index: eclipse-updatehomedir.patch
===================================================================
RCS file: /cvs/dist/rpms/eclipse/FC-4/eclipse-updatehomedir.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- eclipse-updatehomedir.patch	23 May 2005 17:01:40 -0000	1.3
+++ eclipse-updatehomedir.patch	5 Jul 2005 15:33:20 -0000	1.4
@@ -1,41 +1,15 @@
-Index: src/org/eclipse/update/internal/ui/wizards/ModeSelectionPage.java
-===================================================================
-RCS file: /home/eclipse/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ModeSelectionPage.java,v
-retrieving revision 1.18
-diff -u -r1.18 ModeSelectionPage.java
---- src/org/eclipse/update/internal/ui/wizards/ModeSelectionPage.java	11 Apr 2005 22:45:30 -0000	1.18
-+++ src/org/eclipse/update/internal/ui/wizards/ModeSelectionPage.java	18 May 2005 01:18:01 -0000
-@@ -10,17 +10,23 @@
+diff -uNr src/org/eclipse/update/internal/ui/wizards/ModeSelectionPage.java src.orig/org/eclipse/update/internal/ui/wizards/ModeSelectionPage.java
+--- src/org/eclipse/update/internal/ui/wizards/ModeSelectionPage.java	2005-06-10 18:27:12.000000000 -0400
++++ src.orig/org/eclipse/update/internal/ui/wizards/ModeSelectionPage.java	2005-06-16 12:08:30.000000000 -0400
+@@ -10,6 +10,7 @@
   *******************************************************************************/
  package org.eclipse.update.internal.ui.wizards;
  
--import org.eclipse.jface.dialogs.*;
 +import org.eclipse.core.runtime.Platform;
  import org.eclipse.jface.dialogs.Dialog;
-+import org.eclipse.jface.dialogs.IDialogSettings;
+ import org.eclipse.jface.dialogs.IDialogSettings;
  import org.eclipse.swt.SWT;
--import org.eclipse.swt.events.*;
--import org.eclipse.swt.layout.*;
--import org.eclipse.swt.widgets.*;
--import org.eclipse.ui.*;
-+import org.eclipse.swt.events.SelectionAdapter;
-+import org.eclipse.swt.events.SelectionEvent;
-+import org.eclipse.swt.layout.GridData;
-+import org.eclipse.swt.layout.GridLayout;
-+import org.eclipse.swt.widgets.Button;
-+import org.eclipse.swt.widgets.Composite;
-+import org.eclipse.swt.widgets.Control;
-+import org.eclipse.swt.widgets.Label;
-+import org.eclipse.ui.PlatformUI;
- import org.eclipse.update.internal.operations.UpdateUtils;
- import org.eclipse.update.internal.ui.UpdateUI;
- import org.eclipse.update.internal.ui.UpdateUIMessages;
--import org.eclipse.update.search.*;
-+import org.eclipse.update.search.UpdateSearchRequest;
- 
- /**
-  */
-@@ -65,10 +71,17 @@
+@@ -70,10 +71,17 @@
  		GridLayout layout = new GridLayout();
  		composite.setLayout(layout);
  		updatesButton = new Button(composite, SWT.RADIO);
@@ -54,33 +28,36 @@
  		final Label updatesText = new Label(composite, SWT.WRAP);
  		updatesText.setText(UpdateUIMessages.ModeSelectionPage_updatesText);
  		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-Index: src/org/eclipse/update/internal/ui/wizards/TargetPage.java
-===================================================================
-RCS file: /home/eclipse/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/TargetPage.java,v
-retrieving revision 1.71
-diff -u -r1.71 TargetPage.java
---- src/org/eclipse/update/internal/ui/wizards/TargetPage.java	28 Apr 2005 18:22:31 -0000	1.71
-+++ src/org/eclipse/update/internal/ui/wizards/TargetPage.java	18 May 2005 01:18:01 -0000
-@@ -1,420 +1,463 @@
--/*******************************************************************************
-- * Copyright (c) 2000, 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
-- *******************************************************************************/
--package org.eclipse.update.internal.ui.wizards;
--
+diff -uNr src/org/eclipse/update/internal/ui/wizards/TargetPage.java src.orig/org/eclipse/update/internal/ui/wizards/TargetPage.java
+--- src/org/eclipse/update/internal/ui/wizards/TargetPage.java	2005-06-10 18:29:01.000000000 -0400
++++ src.orig/org/eclipse/update/internal/ui/wizards/TargetPage.java	2005-06-16 12:09:05.000000000 -0400
+@@ -10,25 +10,48 @@
+  *******************************************************************************/
+ package org.eclipse.update.internal.ui.wizards;
+ 
 -import java.io.*;
 -import java.util.*;
 -
--import org.eclipse.jface.dialogs.Dialog;
++import java.io.File;
++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.resource.*;
 -import org.eclipse.jface.viewers.*;
--import org.eclipse.osgi.util.NLS;
++import org.eclipse.jface.resource.ImageDescriptor;
++import org.eclipse.jface.viewers.ISelectionChangedListener;
++import org.eclipse.jface.viewers.IStructuredContentProvider;
++import org.eclipse.jface.viewers.IStructuredSelection;
++import org.eclipse.jface.viewers.ITableLabelProvider;
++import org.eclipse.jface.viewers.LabelProvider;
++import org.eclipse.jface.viewers.SelectionChangedEvent;
++import org.eclipse.jface.viewers.StructuredSelection;
++import org.eclipse.jface.viewers.TableViewer;
+ import org.eclipse.osgi.util.NLS;
 -import org.eclipse.swt.*;
 -import org.eclipse.swt.events.*;
 -import org.eclipse.swt.graphics.*;
@@ -93,855 +70,78 @@
 -import org.eclipse.update.internal.ui.*;
 -import org.eclipse.update.internal.ui.parts.*;
 -import org.eclipse.update.operations.*;
--
--public class TargetPage extends BannerPage implements IDynamicPage {
--	private TableViewer jobViewer;
--	private IInstallConfiguration config;
--	private ConfigListener configListener;
--	private Label requiredSpaceLabel;
--	private Label availableSpaceLabel;
--	private IInstallFeatureOperation[] jobs;
--    //private IInstallFeatureOperation currentJob;
--    private Label installLocation;
--    private Button changeLocation;
--    static HashSet added;
--
--	class JobsContentProvider
--		extends DefaultContentProvider
--		implements IStructuredContentProvider {
--		public Object[] getElements(Object parent) {
--			return jobs;
--		}
--	}
--
--	class JobsLabelProvider
--		extends LabelProvider
--		implements ITableLabelProvider {
--			
--		public Image getColumnImage(Object obj, int col) {
--			UpdateLabelProvider provider = UpdateUI.getDefault().getLabelProvider();
--
--			IInstallFeatureOperation job = (IInstallFeatureOperation) obj;
--			ImageDescriptor base =
--				job.getFeature().isPatch()
--					? UpdateUIImages.DESC_EFIX_OBJ
--					: UpdateUIImages.DESC_FEATURE_OBJ;
--			int flags = 0;
--			if (job.getTargetSite() == null)
--				flags = UpdateLabelProvider.F_ERROR;
--			return provider.get(base, flags);
--		}
--
--		public String getColumnText(Object obj, int col) {
--			if (col == 0) {
--				IFeature feature = ((IInstallFeatureOperation) obj).getFeature();
--				return feature.getLabel()
--					+ " " //$NON-NLS-1$
--					+ feature.getVersionedIdentifier().getVersion().toString();
--			}
--			return null;
--		}
--	}
--	
--	class ConfigListener implements IInstallConfigurationChangedListener {
--		public void installSiteAdded(IConfiguredSite csite) {
--			
--			// set the site as target for all jobs without a target
--			for (int i=0; jobs != null && i<jobs.length; i++)
--				if (jobs[i].getTargetSite() == null && getSiteVisibility(csite, jobs[i])) {
--					jobs[i].setTargetSite(csite);
--				}
--
--			jobViewer.refresh();
--		}
--
--		public void installSiteRemoved(IConfiguredSite csite) {
--			// remove the target site for all jobs that use it
--			// set the site as target for all jobs without a target
--			boolean refreshJobs = false;
--			for (int i=0; jobs != null && i<jobs.length; i++)
--				if (jobs[i].getTargetSite() == csite) {
--					jobs[i].setTargetSite(null);
--					refreshJobs = true;
--				}
--				
--			pageChanged();
--			
--			jobViewer.refresh();
--			if (refreshJobs) {
--				jobViewer.getControl().setFocus();
--			}
--		}
--	}
--
--	/**
--	 * Constructor for ReviewPage2
--	 */
--	public TargetPage(IInstallConfiguration config) {
--		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();
--	}
--
--	public void setJobs(IInstallFeatureOperation[] jobs) {
--		this.jobs = jobs;
--	}
--
--	public void dispose() {
--		UpdateUI.getDefault().getLabelProvider().disconnect(this);
--//		config.removeInstallConfigurationChangedListener(configListener);
--		super.dispose();
--	}
--
--	public Control createContents(Composite parent) {
--		Composite client = new Composite(parent, SWT.NULL);
--		GridLayout layout = new GridLayout();
--		layout.numColumns = 3;
--		layout.marginWidth = layout.marginHeight = 0;
--		client.setLayout(layout);
--		client.setLayoutData(new GridData(GridData.FILL_BOTH));
--		
--		Label label = new Label(client, SWT.NULL);
--		label.setText(UpdateUIMessages.InstallWizard_TargetPage_jobsLabel); 
--		createJobViewer(client);
--
--		label = new Label(client, SWT.NULL);
--		label.setText(UpdateUIMessages.InstallWizard_TargetPage_location); 
--        GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
--        label.setLayoutData(gd);
--
--		installLocation = new Label(client, SWT.NULL);
--        installLocation.setText("foo");
--        gd = new GridData(GridData.FILL_HORIZONTAL);
--        installLocation.setLayoutData(gd);
--        
--        changeLocation = new Button(client, SWT.PUSH);
--        changeLocation.setText(UpdateUIMessages.InstallWizard_TargetPage_location_change); 
--        changeLocation.addSelectionListener(new SelectionAdapter() {
--            public void widgetSelected(SelectionEvent e) {
--                IStructuredSelection selection = (IStructuredSelection) jobViewer.getSelection();
--                if (selection == null)
--                    return;
--                IInstallFeatureOperation job = (IInstallFeatureOperation) selection.getFirstElement();
--                if (job == null) 
--                    return;
--                
--                TargetSiteDialog dialog = new TargetSiteDialog(getShell(), config, job, configListener);
--                dialog.create();
--
--                SWTUtil.setDialogSize(dialog, 400, 300);
--                
--                dialog.getShell().setText(UpdateUIMessages.SitePage_new); 
--                dialog.open();
--                setTargetLocation(job);
--                pageChanged();
--                jobViewer.refresh();
--                updateStatus(job.getTargetSite());
--            }
--        });
--			
--		Composite status = new Composite(client, SWT.NULL);
--		gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
--		gd.horizontalSpan = 3;
--		status.setLayoutData(gd);
--		layout = new GridLayout();
--		layout.numColumns = 2;
--		status.setLayout(layout);
--		label = new Label(status, SWT.NULL);
--		label.setText(UpdateUIMessages.InstallWizard_TargetPage_requiredSpace); 
--		requiredSpaceLabel = new Label(status, SWT.NULL);
--		requiredSpaceLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
--		label = new Label(status, SWT.NULL);
--		label.setText(UpdateUIMessages.InstallWizard_TargetPage_availableSpace); 
--		availableSpaceLabel = new Label(status, SWT.NULL);
--		availableSpaceLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
--
--        PlatformUI.getWorkbench().getHelpSystem().setHelp(client, "org.eclipse.update.ui.MultiTargetPage2"); //$NON-NLS-1$
--		
--		Dialog.applyDialogFont(parent);
--		
--		return client;
--	}
--
--	private void createJobViewer(Composite parent) {
--		jobViewer = new TableViewer(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
--		GridData gd = new GridData(GridData.FILL_BOTH);
--        gd.horizontalSpan = 3;
--		gd.widthHint = 150;
--		jobViewer.getTable().setLayoutData(gd);
--		jobViewer.setContentProvider(new JobsContentProvider());
--		jobViewer.setLabelProvider(new JobsLabelProvider());
--
--		jobViewer.addSelectionChangedListener(new ISelectionChangedListener() {
--			public void selectionChanged(SelectionChangedEvent event) {
--				IStructuredSelection selection = (IStructuredSelection) event.getSelection();
--				IInstallFeatureOperation job = (IInstallFeatureOperation) selection.getFirstElement();
--				setTargetLocation(job);
--			}
--		});
--	}
--
--	public void setVisible(boolean visible) {
--		if (visible) {
--			initializeDefaultTargetSites();
--			jobViewer.setInput(jobs);
--			if (jobViewer.getSelection().isEmpty() && jobs.length > 0)
--				jobViewer.setSelection(new StructuredSelection(jobs[0]));
--		}
--		
--		super.setVisible(visible);
--	}
--
--	private void verifyNotEmpty(boolean empty) {
--		String errorMessage = null;
--		if (empty)
--			errorMessage = UpdateUIMessages.InstallWizard_TargetPage_location_empty; 
--		setErrorMessage(errorMessage);
--		setPageComplete(!empty);
--	}
--
--
--	private void updateStatus(Object element) {
--		if (element == null) {
--			requiredSpaceLabel.setText(""); //$NON-NLS-1$
--			availableSpaceLabel.setText(""); //$NON-NLS-1$
--			return;
--		}
--		IConfiguredSite site = (IConfiguredSite) element;
--		File file = new File(site.getSite().getURL().getFile());
--		long available = LocalSystemInfo.getFreeSpace(file);
--		long required = computeRequiredSizeFor(site);
--		if (required <= 0)
--			requiredSpaceLabel.setText(UpdateUIMessages.InstallWizard_TargetPage_unknownSize); 
--		else
--			requiredSpaceLabel.setText(
--				NLS.bind(UpdateUIMessages.InstallWizard_TargetPage_size, "" + required)); //$NON-NLS-1$
--
--		if (available == LocalSystemInfo.SIZE_UNKNOWN)
--			availableSpaceLabel.setText(UpdateUIMessages.InstallWizard_TargetPage_unknownSize); 
--		else
--			availableSpaceLabel.setText(
--				NLS.bind(UpdateUIMessages.InstallWizard_TargetPage_size, "" + available)); //$NON-NLS-1$
--	}
--
--	private long computeRequiredSizeFor(IConfiguredSite site) {
--		long totalSize = 0;
--		for (int i = 0; i < jobs.length; i++) {
--			if (site.equals(jobs[i].getTargetSite())) {
--				long jobSize = site.getSite().getInstallSizeFor(jobs[i].getFeature());
--				if (jobSize == -1)
--					return -1;
--				totalSize += jobSize;
--			}
--		}
--		return totalSize;
--	}
--
--	private void pageChanged() {
--		boolean empty = false;
--		for (int i=0; jobs!=null && i<jobs.length; i++) {
--			if (jobs[i].getTargetSite() == null) {
--				empty = true;
--				break;
--			}
--		
--			IFeature feature = jobs[i].getFeature();
--			if (feature.isPatch()) {
--				// Patches must go together with the features
--				// they are patching.
--				
--				// Check current jobs
--				IInstallFeatureOperation patchedFeatureJob = findPatchedFeature(feature);
--				if (patchedFeatureJob != null
--					&& patchedFeatureJob.getTargetSite() != null
--					&& !jobs[i].getTargetSite().equals(patchedFeatureJob.getTargetSite())) {
--					String msg = NLS.bind(UpdateUIMessages.InstallWizard_TargetPage_patchError, (new String[] {
--                    feature.getLabel(),
--                    patchedFeatureJob.getFeature().getLabel()}));
--					setErrorMessage(msg);
--					setPageComplete(false);
--					return;
--				}
--				// Check installed features
--				IFeature patchedFeature = UpdateUtils.getPatchedFeature(feature);
--				if (patchedFeature != null  
--					&& !jobs[i].getTargetSite().equals(patchedFeature.getSite().getCurrentConfiguredSite())) {
--					String msg = NLS.bind(UpdateUIMessages.InstallWizard_TargetPage_patchError2, (new String[] {
--                    feature.getLabel(),
--                    patchedFeature.getLabel(),
--                    patchedFeature.getSite().getCurrentConfiguredSite().getSite().getURL().getFile()}));
--					setErrorMessage(msg);
--					setPageComplete(false);
--					return;
--				}
--			}
--		}
--		verifyNotEmpty(empty);
--	}
--	
--	
--	private  boolean getSiteVisibility(IConfiguredSite site, IInstallFeatureOperation job) {
--		// Do not allow installing into a non-updateable site
--		if (!site.isUpdatable())
--			return false;
--		
--		// If affinity site is known, only it should be shown
--		IConfiguredSite affinitySite = UpdateUtils.getAffinitySite(config, job.getFeature());
--		if (affinitySite != null) {
--			// Must compare referenced sites because
--			// configured sites themselves may come from 
--			// different configurations
--			return site.getSite().equals(affinitySite.getSite());
--		}
--		
--		// Co-locate updates with the old feature
--		if (job.getOldFeature() != null) {
--			IConfiguredSite oldSite = UpdateUtils.getSiteWithFeature(config, job.getOldFeature().getVersionedIdentifier().getIdentifier());
--			return (site == oldSite);
--		}
--
--		// Allow installing into any site that is updateable and there is no affinity specified
--		return true;
--	}
--	
--	private void initializeDefaultTargetSites() {
--		for (int i = 0; i < jobs.length; i++) {
--			if (jobs[i].getTargetSite() != null)
--				continue;
--			
--			IConfiguredSite affinitySite =	UpdateUtils.getAffinitySite(config, jobs[i].getFeature());
--			if (affinitySite != null) {
--				jobs[i].setTargetSite(affinitySite);
--				continue;
--			}
--
--			IConfiguredSite defaultSite = UpdateUtils.getDefaultTargetSite(config, jobs[i], false);
--			if (defaultSite != null) {
--				jobs[i].setTargetSite(defaultSite);
--				continue;
--			}
--
++import org.eclipse.swt.SWT;
++import org.eclipse.swt.events.SelectionAdapter;
++import org.eclipse.swt.events.SelectionEvent;
++import org.eclipse.swt.graphics.Image;
++import org.eclipse.swt.layout.GridData;
++import org.eclipse.swt.layout.GridLayout;
++import org.eclipse.swt.widgets.Button;
++import org.eclipse.swt.widgets.Composite;
++import org.eclipse.swt.widgets.Control;
++import org.eclipse.swt.widgets.Label;
++import org.eclipse.ui.PlatformUI;
++import org.eclipse.update.configuration.IConfiguredSite;
++import org.eclipse.update.configuration.IInstallConfiguration;
++import org.eclipse.update.configuration.IInstallConfigurationChangedListener;
++import org.eclipse.update.configuration.LocalSystemInfo;
++import org.eclipse.update.core.IFeature;
++import org.eclipse.update.internal.operations.UpdateUtils;
++import org.eclipse.update.internal.ui.UpdateLabelProvider;
++import org.eclipse.update.internal.ui.UpdateUI;
++import org.eclipse.update.internal.ui.UpdateUIImages;
++import org.eclipse.update.internal.ui.UpdateUIMessages;
++import org.eclipse.update.internal.ui.parts.DefaultContentProvider;
++import org.eclipse.update.internal.ui.parts.SWTUtil;
++import org.eclipse.update.operations.IInstallFeatureOperation;
+ 
+ public class TargetPage extends BannerPage implements IDynamicPage {
+ 	private TableViewer jobViewer;
+@@ -150,7 +173,7 @@
+         label.setLayoutData(gd);
+ 
+ 		installLocation = new Label(client, SWT.NULL);
+-        installLocation.setText("foo"); //$NON-NLS-1$
++        installLocation.setText("");
+         gd = new GridData(GridData.FILL_HORIZONTAL);
+         installLocation.setLayoutData(gd);
+         
+@@ -359,8 +382,28 @@
+ 				jobs[i].setTargetSite(defaultSite);
+ 				continue;
+ 			}
++			
++			IConfiguredSite csite = getFirstTargetSite(jobs[i]);
++			if (csite == null && Platform.getInstallLocation().isReadOnly()) {
++				// there are no updateable sites and the installation location is read only
++				// make an update site in the user's home direcotry
++				String sitePath = System.getProperty("user.home") + File.separator + ".eclipse" + File.separator +
++								  Platform.getProduct().getId() + File.separator + "updates"; //$NON-NLS-1$ //$NON-NLS-2$
++
++				try {
++					csite = config.createConfiguredSite(new File(sitePath));
++					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;
++				}
++			}
+ 
 -			jobs[i].setTargetSite(getFirstTargetSite(jobs[i]));
--
--		}
--	}
--	
--
--	private IConfiguredSite getFirstTargetSite(IInstallFeatureOperation job) {
--		IConfiguredSite[] sites = config.getConfiguredSites();
--		for (int i = 0; i < sites.length; i++) {
--			IConfiguredSite csite = sites[i];
++			jobs[i].setTargetSite(csite);
+ 
+ 		}
+ 	}
+@@ -370,7 +413,7 @@
+ 		IConfiguredSite[] sites = config.getConfiguredSites();
+ 		for (int i = 0; i < sites.length; i++) {
+ 			IConfiguredSite csite = sites[i];
 -			if (getSiteVisibility(csite, job)) 
--				return csite;
--		}
--		return null;
--	}
--	
--	public IInstallFeatureOperation findPatchedFeature(IFeature patch) {
--		for (int i=0; i<jobs.length; i++) {
--			IFeature target = jobs[i].getFeature();
--			if (!target.equals(patch) && UpdateUtils.isPatch(target, patch))
--				return jobs[i];
--		}
--		return null;
--	}
--  
--    
--    void removeAddedSites() {
--        if (added != null) {
--            while (!added.isEmpty()) {
--                Iterator it = added.iterator(); 
--                if (it.hasNext())
--                    config.removeConfiguredSite((IConfiguredSite) it.next());
--            }
--        }           
--    }
--    
--    /* (non-Javadoc)
--     * @see org.eclipse.jface.wizard.IWizardPage#isPageComplete()
--     */
--    public boolean isPageComplete() {
--        // check if all jobs have a target site set
--        for (int i = 0; jobs != null && i < jobs.length; i++) {
--            if (jobs[i].getTargetSite() == null)
--                return false;
--        }
--        return super.isPageComplete();
--    }
--
--    /**
--     * @param job
--     */
--    private void setTargetLocation(IInstallFeatureOperation job) {
--        if (job != null && job.getTargetSite() != null) {
--            installLocation.setText(new File(job.getTargetSite().getSite().getURL().getFile()).toString());
--            updateStatus(job.getTargetSite());
--        }
--    }
--}
-+/*******************************************************************************
-+ * Copyright (c) 2000, 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
-+ *******************************************************************************/
-+package org.eclipse.update.internal.ui.wizards;
-+
-+import java.io.File;
-+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.resource.ImageDescriptor;
-+import org.eclipse.jface.viewers.ISelectionChangedListener;
-+import org.eclipse.jface.viewers.IStructuredContentProvider;
-+import org.eclipse.jface.viewers.IStructuredSelection;
-+import org.eclipse.jface.viewers.ITableLabelProvider;
-+import org.eclipse.jface.viewers.LabelProvider;
-+import org.eclipse.jface.viewers.SelectionChangedEvent;
-+import org.eclipse.jface.viewers.StructuredSelection;
-+import org.eclipse.jface.viewers.TableViewer;
-+import org.eclipse.osgi.util.NLS;
-+import org.eclipse.swt.SWT;
-+import org.eclipse.swt.events.SelectionAdapter;
-+import org.eclipse.swt.events.SelectionEvent;
-+import org.eclipse.swt.graphics.Image;
-+import org.eclipse.swt.layout.GridData;
-+import org.eclipse.swt.layout.GridLayout;
-+import org.eclipse.swt.widgets.Button;
-+import org.eclipse.swt.widgets.Composite;
-+import org.eclipse.swt.widgets.Control;
-+import org.eclipse.swt.widgets.Label;
-+import org.eclipse.ui.PlatformUI;
-+import org.eclipse.update.configuration.IConfiguredSite;
-+import org.eclipse.update.configuration.IInstallConfiguration;
-+import org.eclipse.update.configuration.IInstallConfigurationChangedListener;
-+import org.eclipse.update.configuration.LocalSystemInfo;
-+import org.eclipse.update.core.IFeature;
-+import org.eclipse.update.internal.operations.UpdateUtils;
-+import org.eclipse.update.internal.ui.UpdateLabelProvider;
-+import org.eclipse.update.internal.ui.UpdateUI;
-+import org.eclipse.update.internal.ui.UpdateUIImages;
-+import org.eclipse.update.internal.ui.UpdateUIMessages;
-+import org.eclipse.update.internal.ui.parts.DefaultContentProvider;
-+import org.eclipse.update.internal.ui.parts.SWTUtil;
-+import org.eclipse.update.operations.IInstallFeatureOperation;
-+
-+public class TargetPage extends BannerPage implements IDynamicPage {
-+	private TableViewer jobViewer;
-+	private IInstallConfiguration config;
-+	private ConfigListener configListener;
-+	private Label requiredSpaceLabel;
-+	private Label availableSpaceLabel;
-+	private IInstallFeatureOperation[] jobs;
-+    //private IInstallFeatureOperation currentJob;
-+    private Label installLocation;
-+    private Button changeLocation;
-+    static HashSet added;
-+
-+	class JobsContentProvider
-+		extends DefaultContentProvider
-+		implements IStructuredContentProvider {
-+		public Object[] getElements(Object parent) {
-+			return jobs;
-+		}
-+	}
-+
-+	class JobsLabelProvider
-+		extends LabelProvider
-+		implements ITableLabelProvider {
-+			
-+		public Image getColumnImage(Object obj, int col) {
-+			UpdateLabelProvider provider = UpdateUI.getDefault().getLabelProvider();
-+
-+			IInstallFeatureOperation job = (IInstallFeatureOperation) obj;
-+			ImageDescriptor base =
-+				job.getFeature().isPatch()
-+					? UpdateUIImages.DESC_EFIX_OBJ
-+					: UpdateUIImages.DESC_FEATURE_OBJ;
-+			int flags = 0;
-+			if (job.getTargetSite() == null)
-+				flags = UpdateLabelProvider.F_ERROR;
-+			return provider.get(base, flags);
-+		}
-+
-+		public String getColumnText(Object obj, int col) {
-+			if (col == 0) {
-+				IFeature feature = ((IInstallFeatureOperation) obj).getFeature();
-+				return feature.getLabel()
-+					+ " " //$NON-NLS-1$
-+					+ feature.getVersionedIdentifier().getVersion().toString();
-+			}
-+			return null;
-+		}
-+	}
-+	
-+	class ConfigListener implements IInstallConfigurationChangedListener {
-+		public void installSiteAdded(IConfiguredSite csite) {
-+			
-+			// set the site as target for all jobs without a target
-+			for (int i=0; jobs != null && i<jobs.length; i++)
-+				if (jobs[i].getTargetSite() == null && getSiteVisibility(csite, jobs[i])) {
-+					jobs[i].setTargetSite(csite);
-+				}
-+
-+			jobViewer.refresh();
-+		}
-+
-+		public void installSiteRemoved(IConfiguredSite csite) {
-+			// remove the target site for all jobs that use it
-+			// set the site as target for all jobs without a target
-+			boolean refreshJobs = false;
-+			for (int i=0; jobs != null && i<jobs.length; i++)
-+				if (jobs[i].getTargetSite() == csite) {
-+					jobs[i].setTargetSite(null);
-+					refreshJobs = true;
-+				}
-+				
-+			pageChanged();
-+			
-+			jobViewer.refresh();
-+			if (refreshJobs) {
-+				jobViewer.getControl().setFocus();
-+			}
-+		}
-+	}
-+
-+	/**
-+	 * Constructor for ReviewPage2
-+	 */
-+	public TargetPage(IInstallConfiguration config) {
-+		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();
-+	}
-+
-+	public void setJobs(IInstallFeatureOperation[] jobs) {
-+		this.jobs = jobs;
-+	}
-+
-+	public void dispose() {
-+		UpdateUI.getDefault().getLabelProvider().disconnect(this);
-+//		config.removeInstallConfigurationChangedListener(configListener);
-+		super.dispose();
-+	}
-+
-+	public Control createContents(Composite parent) {
-+		Composite client = new Composite(parent, SWT.NULL);
-+		GridLayout layout = new GridLayout();
-+		layout.numColumns = 3;
-+		layout.marginWidth = layout.marginHeight = 0;
-+		client.setLayout(layout);
-+		client.setLayoutData(new GridData(GridData.FILL_BOTH));
-+		
-+		Label label = new Label(client, SWT.NULL);
-+		label.setText(UpdateUIMessages.InstallWizard_TargetPage_jobsLabel); 
-+		createJobViewer(client);
-+
-+		label = new Label(client, SWT.NULL);
-+		label.setText(UpdateUIMessages.InstallWizard_TargetPage_location); 
-+        GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-+        label.setLayoutData(gd);
-+
-+		installLocation = new Label(client, SWT.NULL);
-+        installLocation.setText("");
-+        gd = new GridData(GridData.FILL_HORIZONTAL);
-+        installLocation.setLayoutData(gd);
-+        
-+        changeLocation = new Button(client, SWT.PUSH);
-+        changeLocation.setText(UpdateUIMessages.InstallWizard_TargetPage_location_change); 
-+        changeLocation.addSelectionListener(new SelectionAdapter() {
-+            public void widgetSelected(SelectionEvent e) {
-+                IStructuredSelection selection = (IStructuredSelection) jobViewer.getSelection();
-+                if (selection == null)
-+                    return;
-+                IInstallFeatureOperation job = (IInstallFeatureOperation) selection.getFirstElement();
-+                if (job == null) 
-+                    return;
-+                
-+                TargetSiteDialog dialog = new TargetSiteDialog(getShell(), config, job, configListener);
-+                dialog.create();
-+
-+                SWTUtil.setDialogSize(dialog, 400, 300);
-+                
-+                dialog.getShell().setText(UpdateUIMessages.SitePage_new); 
-+                dialog.open();
-+                setTargetLocation(job);
-+                pageChanged();
-+                jobViewer.refresh();
-+                updateStatus(job.getTargetSite());
-+            }
-+        });
-+			
-+		Composite status = new Composite(client, SWT.NULL);
-+		gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-+		gd.horizontalSpan = 3;
-+		status.setLayoutData(gd);
-+		layout = new GridLayout();
-+		layout.numColumns = 2;
-+		status.setLayout(layout);
-+		label = new Label(status, SWT.NULL);
-+		label.setText(UpdateUIMessages.InstallWizard_TargetPage_requiredSpace); 
-+		requiredSpaceLabel = new Label(status, SWT.NULL);
-+		requiredSpaceLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-+		label = new Label(status, SWT.NULL);
-+		label.setText(UpdateUIMessages.InstallWizard_TargetPage_availableSpace); 
-+		availableSpaceLabel = new Label(status, SWT.NULL);
-+		availableSpaceLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-+
-+        PlatformUI.getWorkbench().getHelpSystem().setHelp(client, "org.eclipse.update.ui.MultiTargetPage2"); //$NON-NLS-1$
-+		
-+		Dialog.applyDialogFont(parent);
-+		
-+		return client;
-+	}
-+
-+	private void createJobViewer(Composite parent) {
-+		jobViewer = new TableViewer(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-+		GridData gd = new GridData(GridData.FILL_BOTH);
-+        gd.horizontalSpan = 3;
-+		gd.widthHint = 150;
-+		jobViewer.getTable().setLayoutData(gd);
-+		jobViewer.setContentProvider(new JobsContentProvider());
-+		jobViewer.setLabelProvider(new JobsLabelProvider());
-+
-+		jobViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-+			public void selectionChanged(SelectionChangedEvent event) {
-+				IStructuredSelection selection = (IStructuredSelection) event.getSelection();
-+				IInstallFeatureOperation job = (IInstallFeatureOperation) selection.getFirstElement();
-+				setTargetLocation(job);
-+			}
-+		});
-+	}
-+
-+	public void setVisible(boolean visible) {
-+		if (visible) {
-+			initializeDefaultTargetSites();
-+			jobViewer.setInput(jobs);
-+			if (jobViewer.getSelection().isEmpty() && jobs.length > 0)
-+				jobViewer.setSelection(new StructuredSelection(jobs[0]));
-+		}
-+		
-+		super.setVisible(visible);
-+	}
-+
-+	private void verifyNotEmpty(boolean empty) {
-+		String errorMessage = null;
-+		if (empty)
-+			errorMessage = UpdateUIMessages.InstallWizard_TargetPage_location_empty; 
-+		setErrorMessage(errorMessage);
-+		setPageComplete(!empty);
-+	}
-+
-+
-+	private void updateStatus(Object element) {
-+		if (element == null) {
-+			requiredSpaceLabel.setText(""); //$NON-NLS-1$
-+			availableSpaceLabel.setText(""); //$NON-NLS-1$
-+			return;
-+		}
-+		IConfiguredSite site = (IConfiguredSite) element;
-+		File file = new File(site.getSite().getURL().getFile());
-+		long available = LocalSystemInfo.getFreeSpace(file);
-+		long required = computeRequiredSizeFor(site);
-+		if (required <= 0)
-+			requiredSpaceLabel.setText(UpdateUIMessages.InstallWizard_TargetPage_unknownSize); 
-+		else
-+			requiredSpaceLabel.setText(
-+				NLS.bind(UpdateUIMessages.InstallWizard_TargetPage_size, "" + required)); //$NON-NLS-1$
-+
-+		if (available == LocalSystemInfo.SIZE_UNKNOWN)
-+			availableSpaceLabel.setText(UpdateUIMessages.InstallWizard_TargetPage_unknownSize); 
-+		else
-+			availableSpaceLabel.setText(
-+				NLS.bind(UpdateUIMessages.InstallWizard_TargetPage_size, "" + available)); //$NON-NLS-1$
-+	}
-+
-+	private long computeRequiredSizeFor(IConfiguredSite site) {
-+		long totalSize = 0;
-+		for (int i = 0; i < jobs.length; i++) {
-+			if (site.equals(jobs[i].getTargetSite())) {
-+				long jobSize = site.getSite().getInstallSizeFor(jobs[i].getFeature());
-+				if (jobSize == -1)
-+					return -1;
-+				totalSize += jobSize;
-+			}
-+		}
-+		return totalSize;
-+	}
-+
-+	private void pageChanged() {
-+		boolean empty = false;
-+		for (int i=0; jobs!=null && i<jobs.length; i++) {
-+			if (jobs[i].getTargetSite() == null) {
-+				empty = true;
-+				break;
-+			}
-+		
-+			IFeature feature = jobs[i].getFeature();
-+			if (feature.isPatch()) {
-+				// Patches must go together with the features
-+				// they are patching.
-+				
-+				// Check current jobs
-+				IInstallFeatureOperation patchedFeatureJob = findPatchedFeature(feature);
-+				if (patchedFeatureJob != null
-+					&& patchedFeatureJob.getTargetSite() != null
-+					&& !jobs[i].getTargetSite().equals(patchedFeatureJob.getTargetSite())) {
-+					String msg = NLS.bind(UpdateUIMessages.InstallWizard_TargetPage_patchError, (new String[] {
-+                    feature.getLabel(),
-+                    patchedFeatureJob.getFeature().getLabel()}));
-+					setErrorMessage(msg);
-+					setPageComplete(false);
-+					return;
-+				}
-+				// Check installed features
-+				IFeature patchedFeature = UpdateUtils.getPatchedFeature(feature);
-+				if (patchedFeature != null  
-+					&& !jobs[i].getTargetSite().equals(patchedFeature.getSite().getCurrentConfiguredSite())) {
-+					String msg = NLS.bind(UpdateUIMessages.InstallWizard_TargetPage_patchError2, (new String[] {
-+                    feature.getLabel(),
-+                    patchedFeature.getLabel(),
-+                    patchedFeature.getSite().getCurrentConfiguredSite().getSite().getURL().getFile()}));
-+					setErrorMessage(msg);
-+					setPageComplete(false);
-+					return;
-+				}
-+			}
-+		}
-+		verifyNotEmpty(empty);
-+	}
-+	
-+	
-+	private  boolean getSiteVisibility(IConfiguredSite site, IInstallFeatureOperation job) {
-+		// Do not allow installing into a non-updateable site
-+		if (!site.isUpdatable())
-+			return false;
-+		
-+		// If affinity site is known, only it should be shown
-+		IConfiguredSite affinitySite = UpdateUtils.getAffinitySite(config, job.getFeature());
-+		if (affinitySite != null) {
-+			// Must compare referenced sites because
-+			// configured sites themselves may come from 
-+			// different configurations
-+			return site.getSite().equals(affinitySite.getSite());
-+		}
-+		
-+		// Co-locate updates with the old feature
-+		if (job.getOldFeature() != null) {
-+			IConfiguredSite oldSite = UpdateUtils.getSiteWithFeature(config, job.getOldFeature().getVersionedIdentifier().getIdentifier());
-+			return (site == oldSite);
-+		}
-+
-+		// Allow installing into any site that is updateable and there is no affinity specified
-+		return true;
-+	}
-+	
-+	private void initializeDefaultTargetSites() {
-+		for (int i = 0; i < jobs.length; i++) {
-+			if (jobs[i].getTargetSite() != null)
-+				continue;
-+			
-+			IConfiguredSite affinitySite =	UpdateUtils.getAffinitySite(config, jobs[i].getFeature());
-+			if (affinitySite != null) {
-+				jobs[i].setTargetSite(affinitySite);
-+				continue;
-+			}
-+
-+			IConfiguredSite defaultSite = UpdateUtils.getDefaultTargetSite(config, jobs[i], false);
-+			if (defaultSite != null) {
-+				jobs[i].setTargetSite(defaultSite);
-+				continue;
-+			}
-+			
-+			IConfiguredSite csite = getFirstTargetSite(jobs[i]);
-+			if (csite == null && Platform.getInstallLocation().isReadOnly()) {
-+				// there are no updateable sites and the installation location is read only
-+				// make an update site in the user's home direcotry
-+				String sitePath = System.getProperty("user.home") + File.separator + ".eclipse" + File.separator +
-+								  Platform.getProduct().getId() + File.separator + "updates"; //$NON-NLS-1$ //$NON-NLS-2$
-+
-+				try {
-+					csite = config.createConfiguredSite(new File(sitePath));
-+					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;
-+				}
-+			}
-+
-+			jobs[i].setTargetSite(csite);
-+
-+		}
-+	}
-+	
-+
-+	private IConfiguredSite getFirstTargetSite(IInstallFeatureOperation job) {
-+		IConfiguredSite[] sites = config.getConfiguredSites();
-+		for (int i = 0; i < sites.length; i++) {
-+			IConfiguredSite csite = sites[i];
-+			if (getSiteVisibility(csite, job) && csite.verifyUpdatableStatus().isOK() == true) 
-+				return csite;
-+		}
-+		return null;
-+	}
-+	
-+	public IInstallFeatureOperation findPatchedFeature(IFeature patch) {
-+		for (int i=0; i<jobs.length; i++) {
-+			IFeature target = jobs[i].getFeature();
-+			if (!target.equals(patch) && UpdateUtils.isPatch(target, patch))
-+				return jobs[i];
-+		}
-+		return null;
-+	}
-+  
-+    
-+    void removeAddedSites() {
-+        if (added != null) {
-+            while (!added.isEmpty()) {
-+                Iterator it = added.iterator(); 
-+                if (it.hasNext())
-+                    config.removeConfiguredSite((IConfiguredSite) it.next());
-+            }
-+        }           
-+    }
-+    
-+    /* (non-Javadoc)
-+     * @see org.eclipse.jface.wizard.IWizardPage#isPageComplete()
-+     */
-+    public boolean isPageComplete() {
-+        // check if all jobs have a target site set
-+        for (int i = 0; jobs != null && i < jobs.length; i++) {
-+            if (jobs[i].getTargetSite() == null)
-+                return false;
-+        }
-+        return super.isPageComplete();
-+    }
-+
-+    /**
-+     * @param job
-+     */
-+    private void setTargetLocation(IInstallFeatureOperation job) {
-+        if (job != null && job.getTargetSite() != null) {
-+            installLocation.setText(new File(job.getTargetSite().getSite().getURL().getFile()).toString());
-+            updateStatus(job.getTargetSite());
-+        }
-+    }
-+}
++			if (getSiteVisibility(csite, job) && csite.verifyUpdatableStatus().isOK() == true) 
+ 				return csite;
+ 		}
+ 		return null;


Index: eclipse.spec
===================================================================
RCS file: /cvs/dist/rpms/eclipse/FC-4/eclipse.spec,v
retrieving revision 1.142
retrieving revision 1.143
diff -u -r1.142 -r1.143
--- eclipse.spec	26 May 2005 15:44:49 -0000	1.142
+++ eclipse.spec	5 Jul 2005 15:33:20 -0000	1.143
@@ -1,17 +1,18 @@
 Epoch:	1
-ExclusiveArch: %{ix86} x86_64 ppc
 
 %define gcj_support 	1
+%define tomcatsharedir 	%{_datadir}/tomcat5
+%define tomcatlibdir 	%{_var}/lib/tomcat5
 %define pkg_summary     An open, extensible IDE
 %define section         free
-%define swt_version     3135
+%define swt_version     3138
 %define eclipse_major   3
 %define eclipse_minor   1
 %define eclipse_majmin  %{eclipse_major}.%{eclipse_minor}
 %define eclipse_micro   0
 %define eclipse_oldmajminmic  3.0.0
 %define libname         libswt3
-%define build_id        I20050513-1415
+%define build_id        I20050627-1435
 
 # All arches line up except i386 -> x86
 %ifarch %{ix86}
@@ -23,11 +24,11 @@
 Summary:        %{pkg_summary}
 Name:           eclipse
 Version:        %{eclipse_majmin}.%{eclipse_micro}_fc
-Release:        0.M7.8
+Release:        3
 License:        EPL
 Group:          Text Editors/Integrated Development Environments (IDE)
 URL:            http://www.eclipse.org/
-Source0:        http://download.eclipse.org/eclipse/downloads/drops/S-3.1M7-200505131415/eclipse-sourceBuild-srcIncluded-3.1M7.zip
+Source0: http://download.eclipse.org/eclipse/downloads/drops/I20050627-1435/eclipse-sourceBuild-srcIncluded-I20050627-1435.zip
 Source1:        %{name}.script
 Source2:        %{name}.desktop
 Source5:        %{name}-48.png
@@ -36,14 +37,12 @@
 Source8:        %{name}-pde.install     
 Source9:        %{name}-platform.install
 Source10:       %{libname}-gtk2.install
-# this should be replaced with:
-# Source11:	%{name}-native-splash-3.1.png
-# when Eclipse 3.1 comes out.
-Source11:	%{name}-native-splash-3.1-M7.png
+Source11:	%{name}-native-splash-3.1.png
 Source16:       %{name}-copy-platform.sh
 Source17:       %{name}-efj-wrapper.sh
 # this zip was taken from the M6 source drop
 Source18:       ecj-M5.zip
+Source19:       %{name}-filenamepatterns.txt
 
 # Build libswt-mozilla
 # https://bugs.eclipse.org/bugs/show_bug.cgi?id=71637
@@ -52,11 +51,12 @@
 # FIXME:  these should be built by upstream build method
 # http://www.bagu.org/eclipse/plugin-source-drops.html
 # https://bugs.eclipse.org/bugs/show_bug.cgi?id=71637
+# https://bugs.eclipse.org/bugs/show_bug.cgi?id=86848
+# GNU XML issue identified by Michael Koch
 Patch2:		%{name}-build.patch
+Patch3:		%{name}-dontgeneratehelpindices.patch
 Patch4:		%{name}-libupdatebuild.patch
 Patch5:		%{name}-libupdatebuild2.patch
-# https://bugs.eclipse.org/bugs/show_bug.cgi?id=86848
-Patch10:	%{name}-icon.patch
 # Use installed mozilla libs and headers
 Patch11:	%{name}-libswt-mozilla.patch
 # We can't really commit to doing builds for these arches upstream, but we
@@ -65,8 +65,6 @@
 #Patch13:	%{name}-s390ands390x.patch
 # Stupid spaces in directories ...
 #Patch14:	%{name}-s390ands390x2.patch
-# https://bugs.eclipse.org/bugs/show_bug.cgi?id=82916
-Patch15:	%{name}-build-activeHelpSample.jar.patch
 # Make find work.  See
 # https://bugzilla.redhat.com/bugzilla/attachment.cgi?id=111736
 #Patch16:	%{name}-find.patch
@@ -84,13 +82,26 @@
 Patch22: 	%{name}-updatehomedir.patch
 # https://bugs.eclipse.org/bugs/show_bug.cgi?id=90535
 Patch24: 	%{name}-fileinitializer.patch
-# https://bugs.eclipse.org/bugs/show_bug.cgi?id=95690
-Patch25: 	%{name}-build.xml-typo.patch
 # https://bugs.eclipse.org/bugs/show_bug.cgi?id=88364
 Patch26: 	%{name}-ecj-options.patch
-# work around for http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21637
-Patch27: 	%{name}-startup-url.openStream.patch
+# https://bugs.eclipse.org/bugs/show_bug.cgi?id=98371
+Patch28: 	%{name}-tomcat5.patch
+Patch29: 	%{name}-tomcat5-build.patch
+Patch30: 	%{name}-tomcat5-build.2.patch
+Patch31: 	%{name}-webapp-tomcat5.patch
+# We don't have cairo in FC4
+Patch32:	%{name}-swt-nocairo.fc4.patch
+# https://bugs.eclipse.org/bugs/show_bug.cgi?id=98707 
+Patch33:        %{name}-compare-create-api.patch
+# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=162177
+Patch34:	%{name}-bz162177.patch
+Patch35:	%{name}-javadoc.patch
 
+%if %{gcj_support}
+ExclusiveArch: %{ix86} x86_64 ppc
+%else
+BuildArch:	noarch
+%endif
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-buildroot
 BuildRequires:  ant
 BuildRequires:  perl
@@ -104,7 +115,7 @@
 BuildRequires:  mozilla-nspr-devel >= 37:1.7.8
 BuildRequires:  xorg-x11-devel
 %if %{gcj_support}
-BuildRequires:	gcc-java >= 4.0.0-2
+BuildRequires:	gcc-java >= 4.0.0-9
 BuildRequires:	java-1.4.2-gcj-compat-devel >= 1.4.2.0-40jpp_24rh
 BuildRequires:  dos2unix
 %else
@@ -112,11 +123,13 @@
 %endif
 
 BuildRequires: ant-antlr ant-apache-bcel ant-apache-log4j ant-apache-oro ant-apache-regexp ant-apache-resolver ant-commons-logging
-#BuildRequires: ant-apache-bsf ant-commons-net lucene 
-BuildRequires: ant-jdepend ant-jmf ant-junit ant-nodeps ant-swing ant-trax ant-jsch
+#BuildRequires: ant-apache-bsf ant-commons-net
+BuildRequires: ant-javamail ant-jdepend ant-jmf ant-junit ant-nodeps ant-swing ant-trax ant-jsch
 BuildRequires: jsch >= 0:0.1.18-1jpp
-BuildRequires: jakarta-commons-beanutils jakarta-commons-collections jakarta-commons-digester jakarta-commons-logging jakarta-commons-modeler mx4j
-#BuildRequires: servlet lucene-demo jasper4 tomcat4
+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 tomcat5-jasper tomcat5-servlet-2.4-api
+BuildRequires: lucene lucene-demo
 BuildRequires: regexp 
 BuildRequires: junit >= 3.8.1-3jpp
 %if %{gcj_support}
@@ -135,7 +148,7 @@
 Obsoletes:	ecj
 Provides:	ecj
 %if %{gcj_support}
-Requires:	libgcj >= 4.0.0-2
+Requires:	libgcj >= 4.0.0-9
 Requires(post,postun): java-1.4.2-gcj-compat >= 1.4.2.0-40jpp_24rh
 %else
 Requires:	java >= 1.4.2
@@ -148,17 +161,19 @@
 Summary:        Eclipse platform common files
 Group:          Text Editors/Integrated Development Environments (IDE)
 Provides:       %{name} = %{epoch}:%{version}-%{release}
-Obsoletes:	%{name}-sdk %{name}-ui %{name}-gtk2 eclipse
+Obsoletes:	%{name}-sdk %{name}-ui %{name}-gtk2 %{name}-scripts eclipse
 Provides:	%{name}-sdk = %{epoch}:%{version}-%{release}
 Provides:       %{name}-ui = %{epoch}:%{version}-%{release}
+Provides:       %{name}-scripts = %{epoch}:%{version}-%{release}
 Provides:       %{name}-gtk2 = %{epoch}:%{version}-%{release}
 %if %{gcj_support}
 Requires:	java-1.4.2-gcj-compat >= 1.4.2.0-40jpp_24rh
-Requires:	libgcj >= 4.0.0-2
+Requires:	libgcj >= 4.0.0-9
 Requires(post,postun): java-1.4.2-gcj-compat >= 1.4.2.0-40jpp_24rh
 %else
 Requires:	java >= 1.4.2
 %endif
+Requires:       %{name}-rcp = %{epoch}:%{version}-%{release}
 Requires:       %{libname}-gtk2 = %{epoch}:%{version}-%{release}
 Requires:       /usr/bin/perl
 Requires:       /usr/bin/mozilla
@@ -166,11 +181,13 @@
 PreReq:         gtk2 >= 2.6
 
 Requires: ant-antlr ant-apache-bcel ant-apache-log4j ant-apache-oro ant-apache-regexp ant-apache-resolver ant-commons-logging
-#Requires: ant-apache-bsf ant-commons-net lucene 
-Requires: ant-jdepend ant-jmf ant-junit ant-nodeps ant-swing ant-trax ant-jsch
+#Requires: ant-apache-bsf ant-commons-net
+Requires: ant-javamail ant-jdepend ant-jmf ant-junit ant-nodeps ant-swing ant-trax ant-jsch
 Requires: jsch >= 0:0.1.18-1jpp
-Requires: jakarta-commons-beanutils jakarta-commons-collections jakarta-commons-digester jakarta-commons-logging jakarta-commons-modeler mx4j
-#Requires: servlet lucene-demo jasper4 tomcat4
+Requires: jakarta-commons-beanutils jakarta-commons-collections jakarta-commons-digester jakarta-commons-dbcp jakarta-commons-el jakarta-commons-fileupload jakarta-commons-launcher jakarta-commons-logging jakarta-commons-modeler jakarta-commons-pool
+Requires: mx4j >= 2.1
+Requires: tomcat5 tomcat5-jasper tomcat5-servlet-2.4-api
+Requires: lucene lucene-demo
 Requires: regexp
 
 %description    platform
@@ -192,7 +209,7 @@
 Requires:       %{name}-ecj = %{epoch}:%{version}-%{release}
 Requires:       junit >= 3.8.1-3jpp
 %if %{gcj_support}
-Requires:	libgcj >= 4.0.0-2
+Requires:	libgcj >= 4.0.0-9
 Requires(post,postun): java-1.4.2-gcj-compat >= 1.4.2.0-40jpp_24rh
 %endif
 
@@ -214,7 +231,7 @@
 Requires:       %{name}-platform-devel = %{epoch}:%{version}-%{release}
 %if %{gcj_support}
 Requires(post,postun): java-1.4.2-gcj-compat >= 1.4.2.0-40jpp_24rh
-Requires:	libgcj >= 4.0.0-2
+Requires:	libgcj >= 4.0.0-9
 %endif
 
 %package        pde-devel
@@ -236,12 +253,34 @@
 Group:          Text Editors/Integrated Development Environments (IDE)
 %if %{gcj_support}
 Requires(post,postun): java-1.4.2-gcj-compat >= 1.4.2.0-40jpp_24rh
-Requires:	libgcj >= 4.0.0-2
+Requires:	libgcj >= 4.0.0-9
 %endif
 
 %description -n %{libname}-gtk2
 SWT Library for GTK2.
 
+%package        rcp
+Summary:        Eclipse Rich Client Platform
+Group:          Development/Languages
+%if %{gcj_support}
+Requires:	libgcj >= 4.0.0-9
+Requires(post,postun): java-1.4.2-gcj-compat >= 1.4.2.0-40jpp_24rh
+%else
+Requires:	java >= 1.4.2
+%endif
+
+%description    rcp
+Eclipse Rich Client Platform
+
+%package        rcp-devel
+Summary:        Eclipse RCP Source
+Group:          Text Editors/Integrated Development Environments (IDE)
+Requires:       %{name}-rcp = %{epoch}:%{version}-%{release}
+Requires:       %{name}-jdt-devel = %{epoch}:%{version}-%{release}
+
+%description    rcp-devel
+Source for RCP for use within Eclipse.
+
 %prep
 %setup -q -c
 
@@ -254,16 +293,12 @@
 %endif
 popd
 %patch2 -p0
+%patch3 -p0
 %patch4 -p0
 %patch5 -p0
-%patch10 -p0
 %if %{gcj_support}
 #%patch13 -p1
 %endif
-pushd plugins/org.eclipse.platform.doc.isv
-rm -f activeHelpSample.jar
-%patch15 -p0
-popd
 %if %{gcj_support}
 #%patch16 -p0
 %endif
@@ -283,13 +318,30 @@
 pushd plugins/org.eclipse.core.runtime
 %patch24 -p0
 popd
-%patch25 -p2
-pushd plugins/org.eclipse.jdt.core
-%patch26 -p0
+pushd plugins/org.eclipse.tomcat
+%patch28 -p0
+%patch29 -p0
+popd
+%patch30 -p0
+pushd plugins/org.eclipse.help.webapp
+%patch31 -p0
+popd
+# Remove the pre-built cairo libraries
+pushd plugins/org.eclipse.swt.gtk.linux.x86
+rm libcairo.so.1
+popd
+pushd plugins/org.eclipse.swt.gtk.linux.x86_64
+rm libcairo.so.1
 popd
-pushd plugins/org.eclipse.platform
-%patch27 -p0
+pushd plugins/org.eclipse.swt.motif.linux.x86
+rm libcairo.so.1
 popd
+%patch32 -p0
+pushd plugins/org.eclipse.compare
+%patch33 -p0
+popd
+%patch34 -p1
+%patch35 -p0
 
 %if %{gcj_support}
   # Fedora splash screen.
@@ -327,85 +379,78 @@
 ln -sf %{_javadir}/ant/ant-apache-resolver.jar plugins/org.apache.ant/lib/ant-apache-resolver.jar
 ln -sf %{_javadir}/ant/ant-commons-logging.jar plugins/org.apache.ant/lib/ant-commons-logging.jar
 #ln -sf %{_javadir}/ant/ant-commons-net.jar plugins/org.apache.ant/lib/ant-commons-net.jar
-# ------------------------------------------------------------------------
-# FIXME:  can we just remove these?
-#rm -f plugins/org.apache.ant/lib/ant-icontract.jar
-##ln -sf %{_javadir}/ant/ant-icontract.jar plugins/org.apache.ant/lib/ant-icontract.jar
-#rm -f plugins/org.apache.ant/lib/ant-jai.jar
-##ln -sf %{_javadir}/ant/ant-jai.jar plugins/org.apache.ant/lib/ant-jai.jar
+# FIXME:  Don't symlink this until we have ant 1.6.5 (rh#162444)
 #ln -sf %{_javadir}/ant.jar plugins/org.apache.ant/lib/ant.jar
-#rm -f plugins/org.apache.ant/lib/ant-javamail.jar
-##ln -sf %{_javadir}/ant/ant-javamail.jar plugins/org.apache.ant/lib/ant-javamail.jar
-# ------------------------------------------------------------------------
+ln -sf %{_javadir}/ant/ant-javamail.jar plugins/org.apache.ant/lib/ant-javamail.jar
 ln -sf %{_javadir}/ant/ant-jdepend.jar plugins/org.apache.ant/lib/ant-jdepend.jar
 ln -sf %{_javadir}/ant/ant-jmf.jar plugins/org.apache.ant/lib/ant-jmf.jar
 ln -sf %{_javadir}/ant/ant-jsch.jar plugins/org.apache.ant/lib/ant-jsch.jar
 ln -sf %{_javadir}/ant/ant-junit.jar plugins/org.apache.ant/lib/ant-junit.jar
 ln -sf %{_javadir}/ant-launcher.jar plugins/org.apache.ant/lib/ant-launcher.jar
-# ------------------------------------------------------------------------
 ln -sf %{_javadir}/ant/ant-nodeps.jar plugins/org.apache.ant/lib/ant-nodeps.jar
-# ------------------------------------------------------------------------
-## FIXME:  can we just remove these?
-#rm -f plugins/org.apache.ant/lib/ant-starteam.jar
-##ln -sf %{_javadir}/ant/ant-starteam.jar plugins/org.apache.ant/lib/ant-starteam.jar
-#rm -f plugins/org.apache.ant/lib/ant-stylebook.jar
-##ln -sf %{_javadir}/ant/ant-stylebook.jar plugins/org.apache.ant/lib/ant-stylebook.jar
-# ------------------------------------------------------------------------
 ln -sf %{_javadir}/ant/ant-swing.jar plugins/org.apache.ant/lib/ant-swing.jar
 ln -sf %{_javadir}/ant/ant-trax.jar plugins/org.apache.ant/lib/ant-trax.jar
-# ------------------------------------------------------------------------
-# FIXME:  can we just remove these?
-#rm -f plugins/org.apache.ant/lib/ant-vaj.jar
-##ln -sf %{_javadir}/ant/ant-vaj.jar plugins/org.apache.ant/lib/ant-vaj.jar
-#rm -f plugins/org.apache.ant/lib/ant-weblogic.jar
-##ln -sf %{_javadir}/ant/ant-weblogic.jar plugins/org.apache.ant/lib/ant-weblogic.jar
-#rm -f plugins/org.apache.ant/lib/ant-xalan1.jar
-##ln -sf %{_javadir}/ant/ant-xalan1.jar plugins/org.apache.ant/lib/ant-xalan1.jar
-#rm -f plugins/org.apache.ant/lib/ant-xslp.jar
-##ln -sf %{_javadir}/ant/ant-xslp.jar plugins/org.apache.ant/lib/ant-xslp.jar
-# ------------------------------------------------------------------------
+# We don't have these in FC4
+rm -f plugins/org.apache.ant/lib/ant-apache-bsf.jar
+rm -f plugins/org.apache.ant/lib/ant-commons-net.jar
+# We used to ship these pre-built, but we're not going to do that anymore.  If
+# we can build them using free stuff, we will. -- overholt, 2005-07-04
+rm -f plugins/org.apache.ant/lib/ant-icontract.jar
+rm -f plugins/org.apache.ant/lib/ant-jai.jar
+rm -f plugins/org.apache.ant/lib/ant-netrexx.jar
+rm -f plugins/org.apache.ant/lib/ant-starteam.jar
+rm -f plugins/org.apache.ant/lib/ant-stylebook.jar
+rm -f plugins/org.apache.ant/lib/ant-vaj.jar
+rm -f plugins/org.apache.ant/lib/ant-weblogic.jar
+rm -f plugins/org.apache.ant/lib/ant-xalan1.jar
+rm -f plugins/org.apache.ant/lib/ant-xslp.jar
 ## END ANT ##
-#ln -sf %{_javadir}/lucene.jar plugins/org.apache.lucene/lucene-1.4.3.jar
-#ln -sf %{_datadir}/lucene/lucene-demos-1.4.3.jar plugins/org.apache.lucene/parser.jar
-# plugins/org.eclipse.core.boot/boot.jar
-# plugins/org.eclipse.osgi/osgi/collx.jar
-# plugins/org.eclipse.osgi/osgi/ee.foundation.jar
-# plugins/org.eclipse.osgi/osgi/ee.minimum.jar
-# plugins/org.eclipse.osgi/osgi/exceptions.jar
-# plugins/org.eclipse.osgi/osgi/osgi-r3-jdk131-notsigned.jar
-#ln -sf %{_javadir}/xml-commons-apis.jar plugins/org.eclipse.osgi/osgi/xmlParserAPIs.jar
-# plugins/org.eclipse.osgi.services/services.jar
-# plugins/org.eclipse.osgi.util/util.jar
-# =====>>>>>>>>>>>ln -sf %{_javadir}/jsch.jar plugins/org.eclipse.team.cvs.ssh2/jsch-0.1.18.jar
-# plugins/org.eclipse.text/text.jar
-# ------------------------------------------------------------------------
-# FIXME:  need tomcat4 rpm
-## BEGIN TOMCAT4 ##
-#ln -sf %{tomcat4dir}/bin/bootstrap.jar plugins/org.eclipse.tomcat/bootstrap.jar
-#ln -sf %{tomcat4dir}/server/lib/catalina.jar plugins/org.eclipse.tomcat/catalina.jar
-#ln -sf %{_javadir}/commons-beanutils.jar plugins/org.eclipse.tomcat/commons-beanutils.jar
-#ln -sf %{_javadir}/commons-collections.jar plugins/org.eclipse.tomcat/commons-collections.jar
-#ln -sf %{_javadir}/commons-digester.jar plugins/org.eclipse.tomcat/commons-digester.jar
-#ln -sf %{_javadir}/commons-logging-api.jar plugins/org.eclipse.tomcat/commons-logging-api.jar
-#ln -sf %{_javadir}/commons-logging.jar plugins/org.eclipse.tomcat/commons-logging.jar
-#ln -sf %{_javadir}/commons-modeler.jar plugins/org.eclipse.tomcat/commons-modeler.jar
-#ln -sf %{_javadir}/regexp.jar plugins/org.eclipse.tomcat/jakarta-regexp-1.3.jar
-#ln -sf %{_javadir}/jasper4-compiler.jar  plugins/org.eclipse.tomcat/jasper-compiler.jar
-#ln -sf %{_javadir}/jasper4-runtime.jar plugins/org.eclipse.tomcat/jasper-runtime.jar
-#ln -sf %{_javadir}/mx4j/mx4j-jmx.jar plugins/org.eclipse.tomcat/mx4j-jmx.jar
-#ln -sf %{tomcat4dir}/common/lib/naming-common.jar plugins/org.eclipse.tomcat/naming-common.jar
-#ln -sf %{tomcat4dir}/common/lib/naming-factory.jar plugins/org.eclipse.tomcat/naming-factory.jar
-#ln -sf %{tomcat4dir}/common/lib/naming-resources.jar plugins/org.eclipse.tomcat/naming-resources.jar
-#ln -sf %{_javadir}/servlet.jar plugins/org.eclipse.tomcat/servlet.jar
-#ln -sf %{tomcat4dir}/server/lib/servlets-common.jar plugins/org.eclipse.tomcat/servlets-common.jar
-#ln -sf %{tomcat4dir}/server/lib/servlets-default.jar plugins/org.eclipse.tomcat/servlets-default.jar
-#ln -sf %{tomcat4dir}/server/lib/servlets-invoker.jar plugins/org.eclipse.tomcat/servlets-invoker.jar
-#ln -sf %{tomcat4dir}/server/lib/servlets-manager.jar plugins/org.eclipse.tomcat/servlets-manager.jar
-#ln -sf %{tomcat4dir}/server/lib/tomcat-coyote.jar plugins/org.eclipse.tomcat/tomcat-coyote.jar
-#ln -sf %{tomcat4dir}/server/lib/tomcat-http11.jar plugins/org.eclipse.tomcat/tomcat-http11.jar
-#ln -sf %{tomcat4dir}/server/lib/tomcat-util.jar plugins/org.eclipse.tomcat/tomcat-util.jar
-## END TOMCAT4 ##
-# ------------------------------------------------------------------------
+# BEGIN LUCENE ##
+ln -sf %{_javadir}/lucene.jar plugins/org.apache.lucene/lucene-1.4.3.jar
+ln -sf %{_datadir}/lucene/lucene-demos-1.4.3.jar plugins/org.apache.lucene/parser.jar
+# END LUCENE ##
+ln -sf %{_javadir}/jsch.jar plugins/org.eclipse.team.cvs.ssh2/jsch-0.1.18.jar
+## BEGIN TOMCAT ##
+rm -f plugins/org.eclipse.tomcat/commons-beanutils.jar
+rm -f plugins/org.eclipse.tomcat/commons-collections.jar
+rm -f plugins/org.eclipse.tomcat/commons-digester.jar
+rm -f plugins/org.eclipse.tomcat/commons-logging-api.jar
+rm -f plugins/org.eclipse.tomcat/commons-modeler.jar
+rm -f plugins/org.eclipse.tomcat/jakarta-regexp-1.3.jar
+rm -f plugins/org.eclipse.tomcat/servlet.jar
+rm -f plugins/org.eclipse.tomcat/servlets-manager.jar
+ln -sf %{tomcatsharedir}/bin/bootstrap.jar plugins/org.eclipse.tomcat/bootstrap.jar
+ln -sf %{tomcatlibdir}/server/lib/catalina.jar plugins/org.eclipse.tomcat/catalina.jar
+ln -sf %{tomcatlibdir}/server/lib/catalina-optional.jar plugins/org.eclipse.tomcat/catalina-optional.jar
+ln -sf %{_javadir}/jakarta-commons-beanutils.jar plugins/org.eclipse.tomcat/jakarta-commons-beanutils.jar
+ln -sf %{_javadir}/jakarta-commons-collections.jar plugins/org.eclipse.tomcat/jakarta-commons-collections.jar
+ln -sf %{_javadir}/jakarta-commons-dbcp.jar plugins/org.eclipse.tomcat/jakarta-commons-dbcp.jar
+ln -sf %{_javadir}/jakarta-commons-digester.jar plugins/org.eclipse.tomcat/jakarta-commons-digester.jar
+ln -sf %{_javadir}/jakarta-commons-digester-rss.jar plugins/org.eclipse.tomcat/jakarta-commons-digester-rss.jar
+ln -sf %{_javadir}/jakarta-commons-el.jar plugins/org.eclipse.tomcat/jakarta-commons-el.jar
+ln -sf %{_javadir}/jakarta-commons-fileupload.jar plugins/org.eclipse.tomcat/jakarta-commons-fileupload.jar
+ln -sf %{_javadir}/jakarta-commons-launcher.jar plugins/org.eclipse.tomcat/jakarta-commons-launcher.jar
+ln -sf %{_javadir}/jakarta-commons-logging.jar plugins/org.eclipse.tomcat/jakarta-commons-logging.jar
+ln -sf %{_javadir}/jakarta-commons-modeler.jar plugins/org.eclipse.tomcat/jakarta-commons-modeler.jar
+ln -sf %{_javadir}/jakarta-commons-pool.jar plugins/org.eclipse.tomcat/jakarta-commons-pool.jar
+ln -sf %{_javadir}/jasper5-compiler.jar  plugins/org.eclipse.tomcat/jasper-compiler.jar
+ln -sf %{_javadir}/jasper5-runtime.jar plugins/org.eclipse.tomcat/jasper-runtime.jar
+ln -sf %{_javadir}/jspapi.jar plugins/org.eclipse.tomcat/jspapi.jar
+ln -sf %{_javadir}/mx4j/mx4j.jar plugins/org.eclipse.tomcat/mx4j.jar
+ln -sf %{_javadir}/mx4j/mx4j-impl.jar plugins/org.eclipse.tomcat/mx4j-impl.jar
+ln -sf %{_javadir}/mx4j/mx4j-jmx.jar plugins/org.eclipse.tomcat/mx4j-jmx.jar
+ln -sf %{tomcatlibdir}/common/lib/naming-common.jar plugins/org.eclipse.tomcat/naming-common.jar
+ln -sf %{tomcatlibdir}/common/lib/naming-factory.jar plugins/org.eclipse.tomcat/naming-factory.jar
+ln -sf %{tomcatlibdir}/common/lib/naming-resources.jar plugins/org.eclipse.tomcat/naming-resources.jar
+ln -sf %{_javadir}/regexp.jar plugins/org.eclipse.tomcat/regexp.jar
+ln -sf %{_javadir}/servletapi5.jar plugins/org.eclipse.tomcat/servletapi5.jar
+ln -sf %{tomcatlibdir}/server/lib/servlets-common.jar plugins/org.eclipse.tomcat/servlets-common.jar
+ln -sf %{tomcatlibdir}/server/lib/servlets-default.jar plugins/org.eclipse.tomcat/servlets-default.jar
+ln -sf %{tomcatlibdir}/server/lib/servlets-invoker.jar plugins/org.eclipse.tomcat/servlets-invoker.jar
+ln -sf %{tomcatlibdir}/server/lib/tomcat-coyote.jar plugins/org.eclipse.tomcat/tomcat-coyote.jar
+ln -sf %{tomcatlibdir}/server/lib/tomcat-http11.jar plugins/org.eclipse.tomcat/tomcat-http11.jar
+ln -sf %{tomcatlibdir}/server/lib/tomcat-util.jar plugins/org.eclipse.tomcat/tomcat-util.jar
+## END TOMCAT ##
 ln -sf %{_javadir}/junit.jar plugins/org.junit/junit.jar
 
 rm -f *.jar
@@ -450,10 +495,10 @@
   ## 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 GCJ_PROPERTIES="gnu.gcj.precompiled.db.path=`pwd`/ecj-bootstrap.db"
@@ -461,15 +506,15 @@
 ant -buildfile jdtcoresrc/compilejdtcorewithjavac.xml
 
 %if %{gcj_support}
-#  # 2b. Natively-compile ecj
-#  gcj -fPIC -fjni -findirect-dispatch -shared -Wl,-Bsymbolic \
-#    -o jdtcoresrc/jdtcore.jar.so jdtcoresrc/jdtcore.jar
-#  
-#  gcj-dbtool -n jdtcoresrc/jdtcore.db 30000
-#  gcj-dbtool -a jdtcoresrc/jdtcore.db jdtcoresrc/jdtcore.jar{,.so}
-#  export GCJ_PROPERTIES="gnu.gcj.precompiled.db.path=`pwd`/jdtcoresrc/jdtcore.db"
-  
-  # Remove our gcj-built ecj
+  ## 2b. Natively-compile ecj
+  #gcj -fPIC -fjni -findirect-dispatch -shared -Wl,-Bsymbolic \
+  #  -o jdtcoresrc/jdtcore.jar.so jdtcoresrc/jdtcore.jar
+  #
+  #gcj-dbtool -n jdtcoresrc/jdtcore.db 30000
+  #gcj-dbtool -a jdtcoresrc/jdtcore.db jdtcoresrc/jdtcore.jar{,.so}
+  #export GCJ_PROPERTIES="gnu.gcj.precompiled.db.path=`pwd`/jdtcoresrc/jdtcore.db"
+  #
+  ## Remove our gcj-built ecj
   #rm ecj-bootstrap.db ecj-bootstrap.jar
   rm ecj-bootstrap.jar
 %endif
@@ -479,15 +524,15 @@
 ant -buildfile jdtcoresrc/compilejdtcore.xml
 
 %if %{gcj_support}
-#  # Natively-compile it
-#  gcj -fPIC -fjni -findirect-dispatch -shared -Wl,-Bsymbolic \
-#    -o jdtcore.jar.so jdtcore.jar
-#  gcj-dbtool -n jdtcore.db 30000
-#  gcj-dbtool -a jdtcore.db jdtcore.jar{,.so}
-#  export GCJ_PROPERTIES="gnu.gcj.precompiled.db.path=`pwd`/jdtcore.db"
-#  
-#  # Remove old native bits
-#  rm jdtcoresrc/jdtcore.db jdtcoresrc/jdtcore.jar.so
+  ## Natively-compile it
+  #gcj -fPIC -fjni -findirect-dispatch -shared -Wl,-Bsymbolic \
+  #  -o jdtcore.jar.so jdtcore.jar
+  #gcj-dbtool -n jdtcore.db 30000
+  #gcj-dbtool -a jdtcore.db jdtcore.jar{,.so}
+  #export GCJ_PROPERTIES="gnu.gcj.precompiled.db.path=`pwd`/jdtcore.db"
+  #
+  ## Remove old native bits
+  #rm jdtcoresrc/jdtcore.db jdtcoresrc/jdtcore.jar.so
 %endif
 
 # Build the rest of Eclipse
@@ -500,42 +545,28 @@
 %if %{gcj_support}
   pushd result
   # De-compress resulting tarball
-  tar zxf org.eclipse.sdk-%{build_id}-linux.gtk.%{eclipse_arch}.tar.gz
+  tar zxf linux-gtk-%{eclipse_arch}-sdk.tar.gz
   
   pushd eclipse
   
   # Remove the jars that we're using from other packages so that we don't
   # natively-compile them again
-  rm -f plugins/org.apache.ant_*/lib/ant-antlr.jar
-  rm -f plugins/org.apache.ant_*/lib/ant-apache-bcel.jar
-  rm -f plugins/org.apache.ant_*/lib/ant-apache-log4j.jar
-  rm -f plugins/org.apache.ant_*/lib/ant-apache-oro.jar
-  rm -f plugins/org.apache.ant_*/lib/ant-apache-regexp.jar
-  rm -f plugins/org.apache.ant_*/lib/ant-apache-resolver.jar
-  rm -f plugins/org.apache.ant_*/lib/ant-commons-logging.jar
-  rm -f plugins/org.apache.ant_*/lib/ant-jdepend.jar
-  rm -f plugins/org.apache.ant_*/lib/ant-jmf.jar
-  rm -f plugins/org.apache.ant_*/lib/ant-jsch.jar
-  rm -f plugins/org.apache.ant_*/lib/ant-junit.jar
-  rm -f plugins/org.apache.ant_*/lib/ant-launcher.jar
-  rm -f plugins/org.apache.ant_*/lib/ant-nodeps.jar
-  rm -f plugins/org.apache.ant_*/lib/ant-swing.jar
-  rm -f plugins/org.apache.ant_*/lib/ant-trax.jar
-  rm -f plugins/org.apache.ant_*/lib/ant.jar
+  rm -f plugins/org.apache.ant_*/lib/ant*.jar
+  rm -f plugins/org.eclipse.tomcat_*/*.jar
   rm -f plugins/org.eclipse.team.cvs.ssh2_3.1.0/jsch-0.1.18.jar
   rm -f plugins/org.junit_3.8.1/junit.jar
+  rm -f plugins/org.apache.lucene*/*.jar
 
   # extract jdtCompilerAdapter.jar from org.eclipse.jdt.core_3.1.0.jar
   unzip -d plugins plugins/org.eclipse.jdt.core_3.1.0.jar jdtCompilerAdapter.jar
 
-  # Native build -- do -O2 on x86 and ppc only (for now)
-  # see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20606, for example
-
   # https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=158308
   %ifarch ppc
     mv plugins/org.eclipse.jdt.ui_3.1.0.jar{,.bak}
   %endif
 
+  # Native build -- do -O2 on x86 and ppc only (for now)
+  # see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20606, for example
   %ifarch %{ix86} ppc
     mkdir -p $RPM_BUILD_ROOT%{_libdir}/%{name}
     for j in `find -name \*.jar`; do
@@ -554,6 +585,7 @@
     done
   %endif
 
+  # https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=158308
   %ifarch ppc
     mv plugins/org.eclipse.jdt.ui_3.1.0.jar{.bak,}
   %endif
@@ -614,11 +646,15 @@
 install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}
 
 tar -C $RPM_BUILD_ROOT%{_datadir} -zxf \
-  result/org.eclipse.sdk-%{build_id}-linux.gtk.%{eclipse_arch}.tar.gz
+  result/linux-gtk-%{eclipse_arch}-sdk.tar.gz
 
 # extract jdtCompilerAdapter.jar from org.eclipse.jdt.core_3.1.0.jar (again)
 pushd $RPM_BUILD_ROOT%{_datadir}/%{name}
 unzip -d plugins plugins/org.eclipse.jdt.core_3.1.0.jar jdtCompilerAdapter.jar
+
+# Extract .so files
+# https://bugs.eclipse.org/bugs/show_bug.cgi?id=90535
+java -cp startup.jar org.eclipse.core.launcher.Main -consolelog -application org.eclipse.core.runtime.initializer -fileInitializer %{SOURCE19}
 popd
 
 # Binaries, libraries, and natively-built shared libraries
@@ -649,38 +685,75 @@
 pushd $RPM_BUILD_ROOT%{_datadir}/%{name}
 ln -sf %{_libdir}/%{name}/eclipse eclipse
 
-## JNI libraries
-#cp -p plugins/org.eclipse.update.core.linux_%{eclipse_oldmajminmic}/os/linux/%{eclipse_arch}/libupdate.so \
-#  $RPM_BUILD_ROOT%{_libdir}/%{name}/
-#cp -p plugins/org.eclipse.core.resources.linux_%{eclipse_oldmajminmic}/os/linux/%{eclipse_arch}/libcore_*.so \
-#  $RPM_BUILD_ROOT%{_libdir}/%{name}/
-#suff=
-#%ifarch alpha ia64 ppc64 sparc64 x86_64
-#suff=64
-#%endif
-#cp -p plugins/org.eclipse.swt.gtk${suff}_%{eclipse_majmin}.%{eclipse_micro}/os/linux/%{eclipse_arch}/libswt*.so \
-#  $RPM_BUILD_ROOT%{_libdir}/%{name}/
+# Symlink JNI libraries
+for l in `find configuration -name \*.so`; do
+    mv $l $RPM_BUILD_ROOT%{_libdir}/%{name};
+    pushd `dirname $l`;
+      ln -sf %{_libdir}/%{name}/`basename $l`;
+    popd;
+    # SWT bundle stuff should go in libswt3-gtk
+    # Contents of other bundles should go in eclipse-platform
+    if [ "`basename $l`" = "libswt-gtk-%{swt_version}.so" ]
+    then
+        pushd `dirname $l`;
+          cd ../..;
+          currentDir=`pwd`;
+          # Add this directory to the files list for libswt
+          # This topmostDirs hack is needed due to differences in directory
+          # layout between the build system and regular machines
+          topmostDirs=`echo $currentDir | gawk -F '/' '{ print $2"-"$3 }'`;
+          if [ "$topmostDirs" = "var-tmp" ]; then
+            echo $currentDir | gawk -F '/' '{ print "/"$5"/"$6"/"$7"/"$8"/"$9"/"$10"/"$11"/"$12 }' > %{_builddir}/%{buildsubdir}/%{libname}-gtk2.install;
+          else
+            echo $currentDir | gawk -F '/' '{ print "/"$7"/"$8"/"$9"/"$10"/"$11"/"$12"/"$13"/"$14 }' > %{_builddir}/%{buildsubdir}/%{libname}-gtk2.install;
+          fi
+        popd
+    elif [ "`basename $l`" = "libcore_3_1_0.so" ]; then
+        pushd `dirname $l`;
+          cd ../../../../..;
+          currentDir=`pwd`;
+          # Add this directory to the files list for eclipse-platform
+          # This topmostDirs hack is needed due to differences in directory
+          # layout between the build system and regular machines
+          topmostDirs=`echo $currentDir | gawk -F '/' '{ print $2"-"$3 }'`;
+          if [ "$topmostDirs" = "var-tmp" ]; then
+            echo $currentDir | gawk -F '/' '{ print "/"$5"/"$6"/"$7"/"$8"/"$9"/"$10"/"$11"/"$12 }' >> %{_builddir}/%{buildsubdir}/%{name}-platform.install;
+          else
+            echo $currentDir | gawk -F '/' '{ print "/"$7"/"$8"/"$9"/"$10"/"$11"/"$12"/"$13"/"$14 }' >> %{_builddir}/%{buildsubdir}/%{name}-platform.install;
+          fi
+        popd
+    elif [ "`basename $l`" = "libupdate.so" ]; then
+        pushd `dirname $l`;
+          cd ../../../../..;
+          currentDir=`pwd`;
+          # Add this directory to the files list for eclipse-platform
+          # This topmostDirs hack is needed due to differences in directory
+          # layout between the build system and regular machines
+          topmostDirs=`echo $currentDir | gawk -F '/' '{ print $2"-"$3 }'`;
+          if [ "$topmostDirs" = "var-tmp" ]; then
+            echo $currentDir | gawk -F '/' '{ print "/"$5"/"$6"/"$7"/"$8"/"$9"/"$10"/"$11"/"$12 }' >> %{_builddir}/%{buildsubdir}/%{name}-platform.install;
+          else
+            echo $currentDir | gawk -F '/' '{ print "/"$7"/"$8"/"$9"/"$10"/"$11"/"$12"/"$13"/"$14 }' >> %{_builddir}/%{buildsubdir}/%{name}-platform.install;
+          fi
+        popd
+    fi
+done
 popd
 
 pushd $RPM_BUILD_ROOT%{_libdir}/%{name}
 chmod -R 755 eclipse *.so
 popd
 
-#### begin libswt-gtk2 symlinks
-#pushd $RPM_BUILD_ROOT%{_libdir}
-#for base in awt-gtk mozilla-gtk atk-gtk gnome-gtk gtk pi-gtk; do
-#  ln -sf %{_libdir}/%{name}/libswt-${base}-%{swt_version}.so \
-#         libswt-${base}-%{swt_version}.so
-#done
-#popd
-
+### begin libswt-gtk2 symlinks
+pushd $RPM_BUILD_ROOT%{_libdir}
+for base in awt-gtk atk-gtk mozilla-gtk gnome-gtk gtk pi-gtk; do
+  ln -sf %{_libdir}/%{name}/libswt-${base}-%{swt_version}.so \
+         libswt-${base}-%{swt_version}.so
+done
+popd
 install -d -m 755 $RPM_BUILD_ROOT%{_javadir}
-
 pushd $RPM_BUILD_ROOT%{_javadir}
 ln -sf %{_datadir}/%{name}/plugins/org.eclipse.swt.gtk.linux.%{eclipse_arch}_%{eclipse_majmin}.%{eclipse_micro}.jar swt-gtk-%{eclipse_majmin}.%{eclipse_micro}.jar
-#ln -sf %{_datadir}/%{name}/plugins/org.eclipse.swt.gtk${suff}_%{eclipse_majmin}.%{eclipse_micro}/ws/gtk/swt-pi.jar swt-pi-gtk-%{version}.jar
-#ln -sf %{_datadir}/%{name}/plugins/org.eclipse.swt.gtk${suff}_%{eclipse_majmin}.%{eclipse_micro}/ws/gtk/swt-mozilla.jar swt-mozilla-%{version}.jar
-#ln -sf %{_datadir}/%{name}/plugins/org.eclipse.swt.gtk${suff}_%{eclipse_majmin}.%{eclipse_micro}/ws/gtk/swt-cairo.jar swt-cairo-%{version}.jar
 popd
 ### end libswt-gtk2 symlinks
 
@@ -727,8 +800,8 @@
 
 cat %{SOURCE7} > %{name}-jdt.install
 cat %{SOURCE8} > %{name}-pde.install
-cat %{SOURCE9} > %{name}-platform.install
-cat %{SOURCE10} > %{libname}-gtk2.install
+cat %{SOURCE9} >> %{name}-platform.install
+cat %{SOURCE10} >> %{libname}-gtk2.install
 
 cat >> $RPM_BUILD_ROOT%{_datadir}/%{name}/.eclipseproduct << EOF
 name=Eclipse Platform
@@ -760,69 +833,82 @@
 ln -sf %{_javadir}/ant/ant-apache-resolver.jar plugins/org.apache.ant_*/lib/ant-apache-resolver.jar
 ln -sf %{_javadir}/ant/ant-commons-logging.jar plugins/org.apache.ant_*/lib/ant-commons-logging.jar
 #ln -sf %{_javadir}/ant/ant-commons-net.jar plugins/org.apache.ant_*/lib/ant-commons-net.jar
-#ln -sf %{_javadir}/ant/ant-icontract.jar plugins/org.apache.ant_*/lib/ant-icontract.jar
-#ln -sf %{_javadir}/ant/ant-jai.jar plugins/org.apache.ant_*/lib/ant-jai.jar
-ln -sf %{_javadir}/ant.jar plugins/org.apache.ant_*/lib/ant.jar
-#ln -sf %{_javadir}/ant/ant-javamail.jar plugins/org.apache.ant_*/lib/ant-javamail.jar
+# FIXME:  Don't symlink this until we have ant 1.6.5 (rh#162444)
+#ln -sf %{_javadir}/ant.jar plugins/org.apache.ant_*/lib/ant.jar
+ln -sf %{_javadir}/ant/ant-javamail.jar plugins/org.apache.ant_*/lib
 ln -sf %{_javadir}/ant/ant-jdepend.jar plugins/org.apache.ant_*/lib/ant-jdepend.jar
 ln -sf %{_javadir}/ant/ant-jmf.jar plugins/org.apache.ant_*/lib/ant-jmf.jar
 ln -sf %{_javadir}/ant/ant-jsch.jar plugins/org.apache.ant_*/lib/ant-jsch.jar
 ln -sf %{_javadir}/ant/ant-junit.jar plugins/org.apache.ant_*/lib/ant-junit.jar
 ln -sf %{_javadir}/ant-launcher.jar plugins/org.apache.ant_*/lib/ant-launcher.jar
 ln -sf %{_javadir}/ant/ant-nodeps.jar plugins/org.apache.ant_*/lib/ant-nodeps.jar
-#ln -sf %{_javadir}/ant/ant-starteam.jar plugins/org.apache.ant_*/lib/ant-starteam.jar
-#ln -sf %{_javadir}/ant/ant-stylebook.jar plugins/org.apache.ant_*/lib/ant-stylebook.jar
 ln -sf %{_javadir}/ant/ant-swing.jar plugins/org.apache.ant_*/lib/ant-swing.jar
 ln -sf %{_javadir}/ant/ant-trax.jar plugins/org.apache.ant_*/lib/ant-trax.jar
-#ln -sf %{_javadir}/ant/ant-vaj.jar plugins/org.apache.ant_*/lib/ant-vaj.jar
-#ln -sf %{_javadir}/ant/ant-weblogic.jar plugins/org.apache.ant_*/lib/ant-weblogic.jar
-#ln -sf %{_javadir}/ant/ant-xalan1.jar plugins/org.apache.ant_*/lib/ant-xalan1.jar
-#ln -sf %{_javadir}/ant/ant-xslp.jar plugins/org.apache.ant_*/lib/ant-xslp.jar
+# We don't have these in FC4
+rm -f plugins/org.apache.ant_*/lib/ant-apache-bsf.jar
+rm -f plugins/org.apache.ant_*/lib/ant-commons-net.jar
+# We used to ship these pre-built, but we're not going to do that anymore.  If
+# we can build them using free stuff, we will. -- overholt, 2005-07-04
+rm -f plugins/org.apache.ant_*/lib/ant-icontract.jar
+rm -f plugins/org.apache.ant_*/lib/ant-jai.jar
+rm -f plugins/org.apache.ant_*/lib/ant-netrexx.jar
+rm -f plugins/org.apache.ant_*/lib/ant-starteam.jar
+rm -f plugins/org.apache.ant_*/lib/ant-stylebook.jar
+rm -f plugins/org.apache.ant_*/lib/ant-vaj.jar
+rm -f plugins/org.apache.ant_*/lib/ant-weblogic.jar
+rm -f plugins/org.apache.ant_*/lib/ant-xalan1.jar
+rm -f plugins/org.apache.ant_*/lib/ant-xslp.jar
 ## END ANT ##
-#ln -sf %{_javadir}/lucene.jar plugins/org.apache.lucene_*/lucene-1.4.3.jar
-#ln -sf %{_datadir}/lucene/lucene-demos-1.4.3.jar plugins/org.apache.lucene_*/parser.jar
-# plugins/org.eclipse.core.boot_*/boot.jar
-###ln -sf %{_javadir}/ant.jar plugins/org.eclipse.core.resources_*/lib/ant.jar
-# plugins/org.eclipse.core.resources_*/lib/antsupport.jar
-# plugins/org.eclipse.osgi_*/osgi/collx.jar
-# plugins/org.eclipse.osgi_*/osgi/ee.foundation.jar
-# plugins/org.eclipse.osgi_*/osgi/ee.minimum.jar
-# plugins/org.eclipse.osgi_*/osgi/exceptions.jar
-# plugins/org.eclipse.osgi_*/osgi/osgi-r3-jdk131-notsigned.jar
-###ln -sf %{_javadir}/xml-commons-apis.jar plugins/org.eclipse.osgi_*/osgi/xmlParserAPIs.jar
-# plugins/org.eclipse.osgi.services_*/services.jar
-# plugins/org.eclipse.osgi.util_*/util.jar
-#===> ln -sf %{_javadir}/jsch.jar plugins/org.eclipse.team.cvs.ssh2_*/jsch-0.1.18.jar
-# plugins/org.eclipse.text/text_*.jar
-## BEGIN TOMCAT4 ##
-##ln -sf %{tomcat4dir}/bin/bootstrap.jar plugins/org.eclipse.tomcat_*/bootstrap.jar
-#ln -sf %{tomcat4dir}/server/lib/catalina.jar plugins/org.eclipse.tomcat_*/catalina.jar
-#ln -sf %{_javadir}/commons-beanutils.jar plugins/org.eclipse.tomcat_*/commons-beanutils.jar
-#ln -sf %{_javadir}/commons-collections.jar plugins/org.eclipse.tomcat_*/commons-collections.jar
-#ln -sf %{_javadir}/commons-digester.jar plugins/org.eclipse.tomcat_*/commons-digester.jar
-#ln -sf %{_javadir}/commons-logging-api.jar plugins/org.eclipse.tomcat_*/commons-logging-api.jar
-#ln -sf %{_javadir}/commons-logging.jar plugins/org.eclipse.tomcat_*/commons-logging.jar
-#ln -sf %{_javadir}/commons-modeler.jar plugins/org.eclipse.tomcat_*/commons-modeler.jar
-#ln -sf %{_javadir}/regexp.jar plugins/org.eclipse.tomcat_*/jakarta-regexp-1.3.jar
-#ln -sf %{_javadir}/jasper4-compiler.jar  plugins/org.eclipse.tomcat_*/jasper-compiler.jar
-#ln -sf %{_javadir}/jasper4-runtime.jar plugins/org.eclipse.tomcat_*/jasper-runtime.jar
-#ln -sf %{_javadir}/mx4j/mx4j-jmx.jar plugins/org.eclipse.tomcat_*/mx4j-jmx.jar
-#ln -sf %{tomcat4dir}/common/lib/naming-common.jar plugins/org.eclipse.tomcat_*/naming-common.jar
-#ln -sf %{tomcat4dir}/common/lib/naming-factory.jar plugins/org.eclipse.tomcat_*/naming-factory.jar
-#ln -sf %{tomcat4dir}/common/lib/naming-resources.jar plugins/org.eclipse.tomcat_*/naming-resources.jar
-#ln -sf %{_javadir}/servlet.jar plugins/org.eclipse.tomcat_*/servlet.jar
-#ln -sf %{tomcat4dir}/server/lib/servlets-common.jar plugins/org.eclipse.tomcat_*/servlets-common.jar
-#ln -sf %{tomcat4dir}/server/lib/servlets-default.jar plugins/org.eclipse.tomcat_*/servlets-default.jar
-#ln -sf %{tomcat4dir}/server/lib/servlets-invoker.jar plugins/org.eclipse.tomcat_*/servlets-invoker.jar
-#ln -sf %{tomcat4dir}/server/lib/servlets-manager.jar plugins/org.eclipse.tomcat_*/servlets-manager.jar
-#ln -sf %{tomcat4dir}/server/lib/tomcat-coyote.jar plugins/org.eclipse.tomcat_*/tomcat-coyote.jar
-#ln -sf %{tomcat4dir}/server/lib/tomcat-http11.jar plugins/org.eclipse.tomcat_*/tomcat-http11.jar
-#ln -sf %{tomcat4dir}/server/lib/tomcat-util.jar plugins/org.eclipse.tomcat_*/tomcat-util.jar
-## END TOMCAT4 ##
+# BEGIN LUCENE ##
+ln -sf %{_javadir}/lucene.jar plugins/org.apache.lucene_*/lucene-1.4.3.jar
+ln -sf %{_datadir}/lucene/lucene-demos-1.4.3.jar plugins/org.apache.lucene_*/parser.jar
+# END LUCENE ##
+ln -sf %{_javadir}/jsch.jar plugins/org.eclipse.team.cvs.ssh2_*/jsch-0.1.18.jar
+## BEGIN TOMCAT ##
+rm -f plugins/org.eclipse.tomcat_*/commons-beanutils.jar
+rm -f plugins/org.eclipse.tomcat_*/commons-collections.jar
+rm -f plugins/org.eclipse.tomcat_*/commons-digester.jar
+rm -f plugins/org.eclipse.tomcat_*/commons-logging-api.jar
+rm -f plugins/org.eclipse.tomcat_*/commons-modeler.jar
+rm -f plugins/org.eclipse.tomcat_*/jakarta-regexp-1.3.jar
+rm -f plugins/org.eclipse.tomcat_*/servlet.jar
+rm -f plugins/org.eclipse.tomcat_*/servlets-manager.jar
+ln -sf %{tomcatsharedir}/bin/bootstrap.jar plugins/org.eclipse.tomcat_*/bootstrap.jar
+ln -sf %{tomcatlibdir}/server/lib/catalina.jar plugins/org.eclipse.tomcat_*/catalina.jar
+ln -sf %{tomcatlibdir}/server/lib/catalina-optional.jar plugins/org.eclipse.tomcat_*/catalina-optional.jar
+ln -sf %{_javadir}/jakarta-commons-beanutils.jar plugins/org.eclipse.tomcat_*/jakarta-commons-beanutils.jar
+ln -sf %{_javadir}/jakarta-commons-collections.jar plugins/org.eclipse.tomcat_*/jakarta-commons-collections.jar
+ln -sf %{_javadir}/jakarta-commons-dbcp.jar plugins/org.eclipse.tomcat_*/jakarta-commons-dbcp.jar
+ln -sf %{_javadir}/jakarta-commons-digester.jar plugins/org.eclipse.tomcat_*/jakarta-commons-digester.jar
+ln -sf %{_javadir}/jakarta-commons-digester-rss.jar plugins/org.eclipse.tomcat_*/jakarta-commons-digester-rss.jar
+ln -sf %{_javadir}/jakarta-commons-el.jar plugins/org.eclipse.tomcat_*/jakarta-commons-el.jar
+ln -sf %{_javadir}/jakarta-commons-fileupload.jar plugins/org.eclipse.tomcat_*/jakarta-commons-fileupload.jar
+ln -sf %{_javadir}/jakarta-commons-launcher.jar plugins/org.eclipse.tomcat_*/jakarta-commons-launcher.jar
+ln -sf %{_javadir}/jakarta-commons-logging.jar plugins/org.eclipse.tomcat_*/jakarta-commons-logging.jar
+ln -sf %{_javadir}/jakarta-commons-modeler.jar plugins/org.eclipse.tomcat_*/jakarta-commons-modeler.jar
+ln -sf %{_javadir}/jakarta-commons-pool.jar plugins/org.eclipse.tomcat_*/jakarta-commons-pool.jar
+ln -sf %{_javadir}/jasper5-compiler.jar  plugins/org.eclipse.tomcat_*/jasper-compiler.jar
+ln -sf %{_javadir}/jasper5-runtime.jar plugins/org.eclipse.tomcat_*/jasper-runtime.jar
+ln -sf %{_javadir}/jspapi.jar plugins/org.eclipse.tomcat_*/jspapi.jar
+ln -sf %{_javadir}/mx4j/mx4j.jar plugins/org.eclipse.tomcat_*/mx4j.jar
+ln -sf %{_javadir}/mx4j/mx4j-impl.jar plugins/org.eclipse.tomcat_*/mx4j-impl.jar
+ln -sf %{_javadir}/mx4j/mx4j-jmx.jar plugins/org.eclipse.tomcat_*/mx4j-jmx.jar
+ln -sf %{tomcatlibdir}/common/lib/naming-common.jar plugins/org.eclipse.tomcat_*/naming-common.jar
+ln -sf %{tomcatlibdir}/common/lib/naming-factory.jar plugins/org.eclipse.tomcat_*/naming-factory.jar
+ln -sf %{tomcatlibdir}/common/lib/naming-resources.jar plugins/org.eclipse.tomcat_*/naming-resources.jar
+ln -sf %{_javadir}/regexp.jar plugins/org.eclipse.tomcat_*/regexp.jar
+ln -sf %{_javadir}/servletapi5.jar plugins/org.eclipse.tomcat_*/servletapi5.jar
+ln -sf %{tomcatlibdir}/server/lib/servlets-common.jar plugins/org.eclipse.tomcat_*/servlets-common.jar
+ln -sf %{tomcatlibdir}/server/lib/servlets-default.jar plugins/org.eclipse.tomcat_*/servlets-default.jar
+ln -sf %{tomcatlibdir}/server/lib/servlets-invoker.jar plugins/org.eclipse.tomcat_*/servlets-invoker.jar
+ln -sf %{tomcatlibdir}/server/lib/tomcat-coyote.jar plugins/org.eclipse.tomcat_*/tomcat-coyote.jar
+ln -sf %{tomcatlibdir}/server/lib/tomcat-http11.jar plugins/org.eclipse.tomcat_*/tomcat-http11.jar
+ln -sf %{tomcatlibdir}/server/lib/tomcat-util.jar plugins/org.eclipse.tomcat_*/tomcat-util.jar
+## END TOMCAT ##
 ln -sf %{_javadir}/junit.jar plugins/org.junit_*/junit.jar
 
 # Symlink org.eclipse.jdt.core_%{eclipse_majmin}.%{eclipse_micro}.jar in
-# %{_datadir}/java/eclipse-ecj.jar for java-1.4.2-gcj-compat's "java"
+# %{_datadir}/java/eclipse-ecj.jar for java-1.4.2-gcj-compat's "javac"
 mkdir -p $RPM_BUILD_ROOT%{_datadir}/java
 ln -s %{_datadir}/%{name}/plugins/org.eclipse.jdt.core_%{eclipse_majmin}.%{eclipse_micro}.jar \
   $RPM_BUILD_ROOT%{_datadir}/java/eclipse-ecj.jar
@@ -836,6 +922,7 @@
 gcj-dbtool -n $gcjdbdir/%{name}-platform.db 80000
 gcj-dbtool -n $gcjdbdir/%{name}-jdt.db 80000
 gcj-dbtool -n $gcjdbdir/%{name}-pde.db 80000
+gcj-dbtool -n $gcjdbdir/%{name}-rcp.db 80000
 
 # ecj db
 gcj-dbtool -f $gcjdbdir/%{name}-ecj.db \
@@ -867,6 +954,16 @@
     done;
 done
 
+# rcp db
+for j in `find $RPM_BUILD_ROOT/%{_datadir}/%{name}/plugins/org.eclipse.rcp_3.* \
+  -name \*.jar`; do
+    lib=`echo $j | sed "s:%{_datadir}:%{_libdir}:"`.so;
+    if [ -f $lib ]; then
+      gcj-dbtool -f $gcjdbdir/%{name}-rcp.db \
+        $j `echo $lib | sed "s:$RPM_BUILD_ROOT/::"`;
+    fi;
+done
+
 # platform db
 for dir in `cat %{SOURCE9}`; do
     for j in `find $RPM_BUILD_ROOT/$dir -name \*.jar`; do
@@ -903,6 +1000,9 @@
 %post pde
 %{_bindir}/rebuild-gcj-db %{_libdir}
 
+%post rcp
+%{_bindir}/rebuild-gcj-db %{_libdir}
+
 %post -n %{libname}-gtk2
 %{_bindir}/rebuild-gcj-db %{_libdir}
 %endif
@@ -926,6 +1026,9 @@
 %postun pde
 %{_bindir}/rebuild-gcj-db %{_libdir}
 
+%postun rcp
+%{_bindir}/rebuild-gcj-db %{_libdir}
+
 %postun -n %{libname}-gtk2
 %{_bindir}/rebuild-gcj-db %{_libdir}
 %endif
@@ -962,17 +1065,13 @@
 %dir %{_datadir}/%{name}/plugins
 %dir %{_datadir}/%{name}/features
 %dir %{_datadir}/%{name}/configuration
-#%{_libdir}/%{name}/libswt-gnome-gtk-*.so
-#%{_libdir}/%{name}/libswt-gtk-*.so
-#%{_libdir}/%{name}/libswt-pi-gtk-*.so
-#%{_libdir}/%{name}/libswt-atk-gtk-*.so
-#%{_libdir}/%{name}/libswt-awt-gtk-*.so
-#%{_libdir}/%{name}/libswt-mozilla-gtk-*.so
-#%{_libdir}/libswt-*.so
+%dir %{_datadir}/%{name}/configuration/org.eclipse.osgi
+%dir %{_datadir}/%{name}/configuration/org.eclipse.osgi/bundles
+# %{_datadir}/%{name}/configuration/org.eclipse.osgi/bundles/%{swt_bundle_id} is
+# in libswt3-gtk2.install
+%{_libdir}/%{name}/libswt-*.so
+%{_libdir}/libswt-*.so
 %{_javadir}/swt-gtk*.jar
-#%{_javadir}/swt-pi-gtk*.jar
-#%{_javadir}/swt-mozilla*.jar
-#%{_javadir}/swt-cairo*.jar
 %if %{gcj_support}
 # Native bits
 %{_libdir}/gcj-4.0.0/classmap.db.d/libswt3-gtk2.db
@@ -1021,13 +1120,43 @@
 %{_datadir}/%{name}/plugins/org.eclipse.pde.source_3.*
 %{_datadir}/%{name}/features/org.eclipse.pde.source_3.*
 
+%files rcp
+%{_datadir}/%{name}/features/org.eclipse.rcp_3.*
+%{_datadir}/%{name}/plugins/org.eclipse.rcp_3.*
+%if %{gcj_support}
+# Native bits
+%{_libdir}/gcj-4.0.0/classmap.db.d/%{name}-rcp.db
+%{_libdir}/%{name}/plugins/org.eclipse.rcp_3.1.0.jar.so
+%endif
+
+%files rcp-devel
+%{_datadir}/%{name}/plugins/org.eclipse.rcp.source_3.*
+%{_datadir}/%{name}/plugins/org.eclipse.rcp.source.linux*
+%{_datadir}/%{name}/features/org.eclipse.rcp.source_3.*
+
 %files platform -f %{name}-platform.install
+%ifnarch ppc
+%{_datadir}/%{name}/about.html
+%{_datadir}/%{name}/about_files
+%endif
 %{_datadir}/%{name}/.eclipseproduct
 %{_datadir}/%{name}/startup.jar
 %{_datadir}/%{name}/buildscripts
 %{_libdir}/%{name}/eclipse
-#%{_libdir}/%{name}/libcore*
-#%{_libdir}/%{name}/libupdate*
+%{_libdir}/%{name}/libcore*
+%{_libdir}/%{name}/libupdate*
+# This is all from our FileInitializer extraction of .sos
+# all extracted bundles other than SWT will be in eclipse-platform.install
+%dir %{_datadir}/%{name}/configuration
+%dir %{_datadir}/%{name}/configuration/org.eclipse.osgi
+%dir %{_datadir}/%{name}/configuration/org.eclipse.osgi/bundles
+%{_datadir}/%{name}/configuration/org.eclipse.osgi/.bundledata*
+%{_datadir}/%{name}/configuration/org.eclipse.osgi/.lazy*
+%{_datadir}/%{name}/configuration/org.eclipse.osgi/.manager
+%{_datadir}/%{name}/configuration/org.eclipse.osgi/.state*
+%{_datadir}/%{name}/configuration/config.ini
+%{_datadir}/%{name}/configuration/org.eclipse.core.runtime
+%{_datadir}/%{name}/configuration/org.eclipse.update
 %{_datadir}/%{name}/eclipse
 %{_bindir}/eclipse
 %{_datadir}/applications/*
@@ -1060,7 +1189,7 @@
 %{_libdir}/%{name}/plugins/org.eclipse.osgi_3.1.0.jar.so.bak
 %{_libdir}/%{name}/plugins/org.eclipse.ant.core_3.1.0.jar.so
 %{_libdir}/%{name}/plugins/org.eclipse.compare_3.1.0.jar.so
-%{_libdir}/%{name}/plugins/org.eclipse.core.boot_3.0.0.jar.so
+%{_libdir}/%{name}/plugins/org.eclipse.core.boot_3.1.0.jar.so
 %{_libdir}/%{name}/plugins/org.eclipse.core.filebuffers_3.1.0.jar.so
 %{_libdir}/%{name}/plugins/org.eclipse.core.resources_3.1.0.jar.so
 %{_libdir}/%{name}/plugins/org.eclipse.core.resources.linux_3.1.0.jar.so
@@ -1069,8 +1198,8 @@
 %{_libdir}/%{name}/plugins/org.eclipse.debug.ui_3.1.0.jar.so
 %{_libdir}/%{name}/plugins/org.eclipse.ltk.ui.refactoring_3.1.0.jar.so
 %{_libdir}/%{name}/plugins/org.eclipse.ltk.core.refactoring_3.1.0.jar.so
-%{_libdir}/%{name}/plugins/org.eclipse.osgi.services_3.0.0.jar.so
-%{_libdir}/%{name}/plugins/org.eclipse.osgi.util_3.0.0.jar.so
+%{_libdir}/%{name}/plugins/org.eclipse.osgi.services_3.1.0.jar.so
+%{_libdir}/%{name}/plugins/org.eclipse.osgi.util_3.1.0.jar.so
 %{_libdir}/%{name}/plugins/org.eclipse.platform.doc.isv_3.1.0
 %{_libdir}/%{name}/plugins/org.eclipse.platform_3.1.0
 %{_libdir}/%{name}/plugins/org.eclipse.search_3.1.0.jar.so
@@ -1078,7 +1207,7 @@
 %{_libdir}/%{name}/plugins/org.eclipse.team.cvs.core_3.1.0.jar.so
 %{_libdir}/%{name}/plugins/org.eclipse.team.cvs.ui_3.1.0.jar.so
 %{_libdir}/%{name}/plugins/org.eclipse.team.cvs.ssh_3.1.0.jar.so
-%{_libdir}/%{name}/plugins/org.eclipse.team.cvs.ssh2_3.1.0.jar.so
+%{_libdir}/%{name}/plugins/org.eclipse.team.cvs.ssh2_3.1.0
 %{_libdir}/%{name}/plugins/org.eclipse.team.ui_3.1.0.jar.so
 %{_libdir}/%{name}/plugins/org.eclipse.text_3.1.0.jar.so
 %{_libdir}/%{name}/plugins/org.eclipse.ui.browser_3.1.0.jar.so
@@ -1092,11 +1221,6 @@
 %{_libdir}/%{name}/plugins/org.eclipse.ant.ui_3.1.0.jar.so
 %{_libdir}/%{name}/plugins/org.eclipse.help.webapp_3.1.0
 %{_libdir}/%{name}/plugins/org.eclipse.ui.console_3.1.0.jar.so
-# FIXME build packages for these so we don't have their jars and jar.sos in
-# eclipse-platform
-%{_libdir}/%{name}/plugins/org.apache.lucene_1.4.3
-%{_libdir}/%{name}/plugins/org.eclipse.tomcat_4.1.30.1
-%{_libdir}/%{name}/plugins/org.apache.ant_1.6.3
 %endif
 
 %files platform-devel
@@ -1105,6 +1229,58 @@
 %{_datadir}/%{name}/plugins/org.eclipse.platform.source.linux.gtk.*_3.1.0
 
 %changelog
+* Tue Jul 05 2005 Andrew Overholt <overholt at redhat.com> 3.1.0_fc-3
+- Bump release for FC4 update.
+
+* Mon Jul 04 2005 Andrew Overholt <overholt at redhat.com> 3.1.0_fc-2
+- Remove remaining pre-built ant jars (but don't symlink to ant.jar until we
+  have ant 1.6.5 - rh#162444).
+- Bump requirement on gcc to get fixes for rh#158614 and gcc#21637.
+- Add patch to not try to link to external javadocs and include the javadoc
+  output in the build output.
+- Add build and runtime requirement on ant-javamail (I'm not sure how we missed
+  this previously).
+
+* Mon Jul  4 2005 Gary Benson <gbenson at redhat.com> 3.1.0_fc-2
+- Disable classpath access rules introduced in e.o#92398 (rh#162177).
+
+* Tue Jun 28 2005 Andrew Overholt <overholt at redhat.com> 3.1.0_fc-1
+- Import 3.1.
+- Update splash screen.
+
+* Sun Jun 26 2005 Andrew Overholt <overholt at redhat.com> 3.1.0_fc-0.RC4.1
+- Import 3.1 RC4.
+- Remove activeHelpSample.jar building patch as it's now fixed upstream.
+- Add patch to remove references to cairo since we don't have it in FC4.
+- Add about.html and about_files to eclipse-platform.install (x86 & x86_64).
+- Add patch to create public compare API (jpound - e.o#98707).
+- Add patch from Robin Green to not look for firefox libxpcom.so (rh#161658).
+- Symlink lucene jars (rh#159939).
+
+* Fri Jun 24 2005 Andrew Overholt <overholt at redhat.com> 3.1.0_fc-0.RC3.3
+- Add rcp requirement for platform (rh#161267).
+- Add un-owned osgi directories to libswt and platform.
+
+* Tue Jun 21 2005 Andrew Overholt <overholt at redhat.com> 3.1.0_fc-0.RC3.2
+- Use SWT bundle ID for SWT %files list (determine in %%install).
+
+* Mon Jun 20 2005 Andrew Overholt <overholt at redhat.com> 3.1.0_fc-0.RC3.1
+- Import 3.1RC3.
+- Use FileInitializer (e.o#90535) - this should eliminate .sos in ~/.eclipse.
+- Add eclipse-filenamepatterns.txt ("*.so" currently) for above.
+- Symlink JNI libraries.
+
+* Fri Jun 17 2005 Andrew Overholt <overholt at redhat.com> 3.1.0_fc-0.RC2.2
+- Update to new naming scheme for resulting gzipped tarball.
+- Add patch to not generate help indices (it seems to hang).
+
+* Thu Jun 16 2005 Andrew Overholt <overholt at redhat.com> 3.1.0_fc-0.RC2.1
+- Import 3.1RC2.
+- Add RCP sub-package.  Unsure about its dependencies ATM.
+
+* Tue Jun 14 2005 Andrew Overholt <overholt at redhat.com> 3.1.0_fc-0.M7.9
+- Add tomcat5 patch and symlinks.
+
 * Thu May 26 2005 Andrew Overholt <overholt at redhat.com> 3.1.0_fc-0.M7.8
 - Fix ant jar removal (gbenson).
 


Index: sources
===================================================================
RCS file: /cvs/dist/rpms/eclipse/FC-4/sources,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- sources	23 May 2005 17:01:40 -0000	1.23
+++ sources	5 Jul 2005 15:33:20 -0000	1.24
@@ -1,3 +1,3 @@
-a51cad364164de7c3cd65bf48037a8f9  eclipse-native-splash-3.1-M7.png
-30279e8c74de2db219418f645291be39  eclipse-sourceBuild-srcIncluded-3.1M7.zip
+19ad65d52005da5eaa1d3687b3a50de2  eclipse-sourceBuild-srcIncluded-I20050627-1435.zip
+e938246ecd12c7c139fec749b8615425  eclipse-native-splash-3.1.png
 60f8146948470d0ef7c275f26b874a31  ecj-M5.zip


--- eclipse-build-activeHelpSample.jar.patch DELETED ---


--- eclipse-build.xml-typo.patch DELETED ---


--- eclipse-gtk-launcher.patch DELETED ---


--- eclipse-gtk.install DELETED ---


--- eclipse-importArchivedProj.patch DELETED ---


--- eclipse-jnigen.patch DELETED ---


--- eclipse-libswt-mozilla2.patch DELETED ---


--- eclipse-org.eclipse.core.resources-Makefile.patch DELETED ---


--- eclipse-org.eclipse.help.appserver-host.patch DELETED ---


--- eclipse-platformOptions.patch DELETED ---


--- eclipse-search.patch DELETED ---


--- eclipse-source.install DELETED ---


--- eclipse-startup-url.openStream.patch DELETED ---


--- eclipse-swt-libgcjawt.patch DELETED ---


--- eclipse-swt64-tools.tar.gz.md5 DELETED ---


--- eclipse-tools-build.xml DELETED ---


--- eclipse-welcome-screen.patch DELETED ---




More information about the fedora-cvs-commits mailing list