Author: tashiro-guest Date: 2006-10-22 19:18:54 +0000 (Sun, 22 Oct 2006) New Revision: 2644
Modified: trunk/eclipse/debian/changelog trunk/eclipse/debian/patches/eclipse-updatehomedir.dpatch trunk/eclipse/debian/rules Log: Updated updatehomedir patch from Fedora's repository Modified: trunk/eclipse/debian/changelog =================================================================== --- trunk/eclipse/debian/changelog 2006-10-22 19:01:04 UTC (rev 2643) +++ trunk/eclipse/debian/changelog 2006-10-22 19:18:54 UTC (rev 2644) @@ -71,6 +71,7 @@ * Ensured that the directories exist before links were created * Converted native presentation patch to 3.2 * Show error dialog only if the mozilla/firefox wasn't found. + * Updated updatehomedir patch from Fedora's repository -- Matthias Klose <[EMAIL PROTECTED]> Sun, 22 Oct 2006 04:25:47 +0200 Modified: trunk/eclipse/debian/patches/eclipse-updatehomedir.dpatch =================================================================== --- trunk/eclipse/debian/patches/eclipse-updatehomedir.dpatch 2006-10-22 19:01:04 UTC (rev 2643) +++ trunk/eclipse/debian/patches/eclipse-updatehomedir.dpatch 2006-10-22 19:18:54 UTC (rev 2644) @@ -23,111 +23,227 @@ exit 0 @DPATCH@ -diff -P -r -u ../source-tree.orig/plugins/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ModeSelectionPage.java source-tree/plugins/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ModeSelectionPage.java ---- ../source-tree.orig/plugins/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ModeSelectionPage.java 2005-09-20 12:06:46.000000000 +0200 -+++ source-tree/plugins/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ModeSelectionPage.java 2005-09-20 14:18:57.000000000 +0200 -@@ -10,6 +10,7 @@ +diff -r -N -u source-tree.orig/plugins/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfiguredSite.java source-tree/plugins/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfiguredSite.java +--- source-tree.orig/plugins/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfiguredSite.java 2006-10-22 19:59:44.000000000 +0200 ++++ source-tree/plugins/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfiguredSite.java 2006-10-22 20:11:31.000000000 +0200 +@@ -35,6 +35,7 @@ + import org.eclipse.core.runtime.IProgressMonitor; + import org.eclipse.core.runtime.IStatus; + import org.eclipse.core.runtime.MultiStatus; ++import org.eclipse.core.runtime.Platform; + import org.eclipse.osgi.util.NLS; + import org.eclipse.update.configuration.IActivity; + import org.eclipse.update.configuration.IConfiguredSite; +@@ -803,7 +804,9 @@ + } + } else { + File container = getSiteContaining(file); +- if (container != null) { ++ // allow the install location to pass even though it looks like this ++ // site is contained in another site ++ if (container != null && !siteLocation.equals(Platform.getInstallLocation().getURL().getFile())) { + verifyStatus = createStatus(IStatus.ERROR, NLS.bind(Messages.ConfiguredSite_ContainedInAnotherSite, (new String[] { container.getAbsolutePath() })), null); + return verifyStatus; + } +diff -r -N -u source-tree.orig/plugins/org.eclipse.update.core/src/org/eclipse/update/internal/search/OptionalFeatureSearchCategory.java source-tree/plugins/org.eclipse.update.core/src/org/eclipse/update/internal/search/OptionalFeatureSearchCategory.java +--- source-tree.orig/plugins/org.eclipse.update.core/src/org/eclipse/update/internal/search/OptionalFeatureSearchCategory.java 2006-10-22 19:59:44.000000000 +0200 ++++ source-tree/plugins/org.eclipse.update.core/src/org/eclipse/update/internal/search/OptionalFeatureSearchCategory.java 2006-10-22 20:11:31.000000000 +0200 +@@ -76,6 +76,13 @@ + public IQueryUpdateSiteAdapter getQuerySearchSite() { + return null; + } ++ ++ /* (non-Javadoc) ++ * @see org.eclipse.update.internal.ui.search.ISearchQuery#getFeature() ++ */ ++ public IFeature getFeature() { ++ return null; ++ } + } + + public void addVersionedIdentifier(VersionedIdentifier vid) { +diff -r -N -u source-tree.orig/plugins/org.eclipse.update.core/src/org/eclipse/update/internal/search/SiteSearchCategory.java source-tree/plugins/org.eclipse.update.core/src/org/eclipse/update/internal/search/SiteSearchCategory.java +--- source-tree.orig/plugins/org.eclipse.update.core/src/org/eclipse/update/internal/search/SiteSearchCategory.java 2006-10-22 19:59:44.000000000 +0200 ++++ source-tree/plugins/org.eclipse.update.core/src/org/eclipse/update/internal/search/SiteSearchCategory.java 2006-10-22 20:11:31.000000000 +0200 +@@ -133,6 +133,14 @@ + public IQueryUpdateSiteAdapter getQuerySearchSite() { + return null; + } ++ ++ /* (non-Javadoc) ++ * @see org.eclipse.update.internal.ui.search.ISearchQuery#getFeature() ++ */ ++ public IFeature getFeature() { ++ return null; ++ } ++ + } + + public SiteSearchCategory() { +diff -r -N -u source-tree.orig/plugins/org.eclipse.update.core/src/org/eclipse/update/internal/search/UpdatesSearchCategory.java source-tree/plugins/org.eclipse.update.core/src/org/eclipse/update/internal/search/UpdatesSearchCategory.java +--- source-tree.orig/plugins/org.eclipse.update.core/src/org/eclipse/update/internal/search/UpdatesSearchCategory.java 2006-10-22 19:59:44.000000000 +0200 ++++ source-tree/plugins/org.eclipse.update.core/src/org/eclipse/update/internal/search/UpdatesSearchCategory.java 2006-10-22 20:11:31.000000000 +0200 +@@ -285,6 +285,10 @@ + monitor.worked(1); + monitor.done(); + } ++ ++ public IFeature getFeature() { ++ return candidate; ++ } + } + + private ArrayList candidates; +diff -r -N -u source-tree.orig/plugins/org.eclipse.update.core/src/org/eclipse/update/search/IUpdateSearchQuery.java source-tree/plugins/org.eclipse.update.core/src/org/eclipse/update/search/IUpdateSearchQuery.java +--- source-tree.orig/plugins/org.eclipse.update.core/src/org/eclipse/update/search/IUpdateSearchQuery.java 2006-10-22 19:59:44.000000000 +0200 ++++ source-tree/plugins/org.eclipse.update.core/src/org/eclipse/update/search/IUpdateSearchQuery.java 2006-10-22 20:11:31.000000000 +0200 +@@ -7,6 +7,7 @@ + * + * Contributors: + * IBM Corporation - initial API and implementation ++ * Red Hat Incorporated - getFeature() API addition *******************************************************************************/ - package org.eclipse.update.internal.ui.wizards; + package org.eclipse.update.search; +@@ -50,4 +51,12 @@ + * @param monitor a progress monitor to report search progress within the provided site + */ + public void run(ISite site, String [] categoriesToSkip, IUpdateSearchFilter filter, IUpdateSearchResultCollector collector, IProgressMonitor monitor); ++ ++/** ++ * Returns IFeature associated with the IUpdateSearchQuery ++ * ++ * @return the IFeature that is associated with the IUpdateSearchQuery ++ * @since 3.2 ++ */ ++ public IFeature getFeature(); + } +diff -r -N -u source-tree.orig/plugins/org.eclipse.update.core/src/org/eclipse/update/search/UpdateSearchRequest.java source-tree/plugins/org.eclipse.update.core/src/org/eclipse/update/search/UpdateSearchRequest.java +--- source-tree.orig/plugins/org.eclipse.update.core/src/org/eclipse/update/search/UpdateSearchRequest.java 2006-10-22 19:59:44.000000000 +0200 ++++ source-tree/plugins/org.eclipse.update.core/src/org/eclipse/update/search/UpdateSearchRequest.java 2006-10-22 20:11:31.000000000 +0200 +@@ -282,6 +282,10 @@ + // currently, the next conditional is only executed (qsite!=null) when + // running an update search. + if (qsite != null && searchFeatureProvidedSites) { ++ // do not update features that are installed in read-only locations ++ IFeature feature = query.getFeature(); ++ if (feature != null && !feature.getSite().getCurrentConfiguredSite().verifyUpdatableStatus().isOK()) ++ continue; + // check for mapping + IUpdateSiteAdapter mappedSite = getMappedSite(updatePolicy, qsite); + // when there is no mapped site the feature is not updatable +diff -r -N -u source-tree.orig/plugins/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/InstallWizard2.java source-tree/plugins/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/InstallWizard2.java +--- source-tree.orig/plugins/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/InstallWizard2.java 2006-10-22 19:58:27.000000000 +0200 ++++ source-tree/plugins/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/InstallWizard2.java 2006-10-22 20:11:30.000000000 +0200 +@@ -153,7 +153,7 @@ + addPage(licensePage); + optionalFeaturesPage = new OptionalFeaturesPage(config); + addPage(optionalFeaturesPage); +- targetPage = new TargetPage(config); ++ targetPage = new TargetPage(config, isUpdate); + addPage(targetPage); + } + +diff -r -N -u source-tree.orig/plugins/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/TargetPage.java source-tree/plugins/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/TargetPage.java +--- source-tree.orig/plugins/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/TargetPage.java 2006-10-22 19:58:27.000000000 +0200 ++++ source-tree/plugins/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/TargetPage.java 2006-10-22 20:11:31.000000000 +0200 +@@ -18,6 +18,9 @@ + import java.util.HashSet; + import java.util.Iterator; + ++import org.eclipse.core.runtime.CoreException; ++import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Platform; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.dialogs.IDialogSettings; - import org.eclipse.swt.SWT; -@@ -70,10 +71,17 @@ - GridLayout layout = new GridLayout(); - composite.setLayout(layout); - updatesButton = new Button(composite, SWT.RADIO); -- updatesButton.setText(UpdateUIMessages.ModeSelectionPage_updates); -+ updatesButton.setText(UpdateUIMessages.ModeSelectionPage_updates); - updateMode = !getSettings().getBoolean(P_NEW_FEATURES_MODE); -+ // don't allow updates if the installation location is readonly -+ if (Platform.getInstallLocation().isReadOnly()) { -+ updatesButton.setEnabled(false); -+ updateMode = false; -+ } - updatesButton.setSelection(updateMode); - -+ -+ - final Label updatesText = new Label(composite, SWT.WRAP); - updatesText.setText(UpdateUIMessages.ModeSelectionPage_updatesText); - GridData gd = new GridData(GridData.FILL_HORIZONTAL); -diff -P -r -u ../source-tree.orig/plugins/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/TargetPage.java source-tree/plugins/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/TargetPage.java ---- ../source-tree.orig/plugins/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/TargetPage.java 2005-09-20 12:06:46.000000000 +0200 -+++ source-tree/plugins/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/TargetPage.java 2005-09-20 14:22:32.000000000 +0200 -@@ -13,6 +13,9 @@ - import java.io.*; - import java.util.*; - -+import org.eclipse.core.runtime.Platform; -+import org.eclipse.core.runtime.CoreException; -+import org.eclipse.core.runtime.IStatus; - import org.eclipse.jface.dialogs.Dialog; - import org.eclipse.jface.resource.*; - import org.eclipse.jface.viewers.*; -@@ -150,7 +153,7 @@ - label.setLayoutData(gd); - - installLocation = new Label(client, SWT.NULL); -- installLocation.setText("foo"); //$NON-NLS-1$ -+ installLocation.setText(""); //$NON-NLS-1$ - gd = new GridData(GridData.FILL_HORIZONTAL); - installLocation.setLayoutData(gd); - -@@ -360,7 +363,27 @@ - continue; - } - -- jobs[i].setTargetSite(getFirstTargetSite(jobs[i])); -+ 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); - - } - } -@@ -370,7 +393,7 @@ - IConfiguredSite[] sites = config.getConfiguredSites(); - for (int i = 0; i < sites.length; i++) { - IConfiguredSite csite = sites[i]; -- if (getSiteVisibility(csite, job)) -+ if (getSiteVisibility(csite, job) && csite.verifyUpdatableStatus().isOK() == true) - return csite; - } - return null; -@@ -388,12 +411,11 @@ - - void removeAddedSites() { - if (added != null) { -- Iterator it = added.iterator(); -- while (it.hasNext()) { -- config.removeConfiguredSite((IConfiguredSite) it.next()); -- // the config listener no longer removes the site so we need to cleanup the collection at the end -- } -- added.clear(); -+ while (!added.isEmpty()) { -+ Iterator it = added.iterator(); -+ if (it.hasNext()) -+ config.removeConfiguredSite((IConfiguredSite) it.next()); -+ } - } - } - + import org.eclipse.jface.resource.ImageDescriptor; +@@ -92,6 +95,7 @@ + private Label installLocation; + private Button changeLocation; + static HashSet added; ++ private boolean isUpdate; // whether the wizard is updating a feature or installing a new one + + class JobsContentProvider + extends DefaultContentProvider +@@ -236,13 +240,14 @@ + /** + * Constructor for ReviewPage2 + */ +- public TargetPage(IInstallConfiguration config) { ++ public TargetPage(IInstallConfiguration config, boolean isUpdate) { + super("Target"); //$NON-NLS-1$ + setTitle(UpdateUIMessages.InstallWizard_TargetPage_title); + setDescription(UpdateUIMessages.InstallWizard_TargetPage_desc); + this.config = config; + UpdateUI.getDefault().getLabelProvider().connect(this); + configListener = new ConfigListener(); ++ this.isUpdate = isUpdate; + } + + public void setJobs(IInstallFeatureOperation[] jobs) { +@@ -273,7 +278,7 @@ + label.setLayoutData(gd); + + installLocation = new Label(client, SWT.NULL); +- installLocation.setText("foo"); //$NON-NLS-1$ ++ installLocation.setText(""); //$NON-NLS-1$ + gd = new GridData(GridData.FILL_HORIZONTAL); + installLocation.setLayoutData(gd); + +@@ -656,12 +661,45 @@ + continue; + } + +- jobs[i].setTargetSite(getFirstTargetSite(jobs[i])); ++ IConfiguredSite csite = getFirstTargetSite(jobs[i]); ++ if (csite == null && Platform.getInstallLocation().isReadOnly() && isUpdate == false) { ++ // there are no updateable sites, the installation location is read-only and we are installing a new feature ++ // make an update site in the user's home direcotry ++ File site = new File(System.getProperty("user.home") + File.separator + ".eclipse" + File.separator + //$NON-NLS-1$ //$NON-NLS-2$ ++ Platform.getProduct().getId() + File.separator + "updates"); //$NON-NLS-1$ ++ ++ try { ++ csite = config.createConfiguredSite(site); ++ config.addConfiguredSite(csite); ++ IStatus status = csite.verifyUpdatableStatus(); ++ if (!status.isOK()) ++ throw new CoreException(status); ++ ++ } catch (CoreException e) { ++ // there was a problem, the user must choose an installation site ++ csite = null; ++ // no need to check if the directory exists because File.delete() returns false if it's not there ++ deleteDir(site); ++ } ++ } + ++ jobs[i].setTargetSite(csite); + } + + } +- ++ ++ private boolean deleteDir(File dir) { ++ if (dir.isDirectory()) { ++ String[] files = dir.list(); ++ for (int i=0; i < files.length; i++) { ++ if (!deleteDir(new File(dir, files[i]))) { ++ return false; ++ } ++ } ++ } ++ return dir.delete(); ++ } ++ + private IConfiguredSite getMostReceantlyUsedSite() { + IDialogSettings master = UpdateUI.getDefault().getDialogSettings(); + IDialogSettings section = master.getSection(TargetSiteDialog.MOST_RECEANTLY_USED_SITE_URL); +@@ -696,7 +734,7 @@ + IConfiguredSite[] sites = config.getConfiguredSites(); + for (int i = 0; i < sites.length; i++) { + IConfiguredSite csite = sites[i]; +- if (getSiteVisibility(csite, job)) ++ if (getSiteVisibility(csite, job) && csite.getSite().getCurrentConfiguredSite().verifyUpdatableStatus().isOK()) + return csite; + } + return null; Modified: trunk/eclipse/debian/rules =================================================================== --- trunk/eclipse/debian/rules 2006-10-22 19:01:04 UTC (rev 2643) +++ trunk/eclipse/debian/rules 2006-10-22 19:18:54 UTC (rev 2644) @@ -134,6 +134,7 @@ eclipse-jsch-build-files \ eclipse-awt-libpath \ eclipse-nativepresentation \ + eclipse-updatehomedir \ # eclipse-icon \ # eclipse-build \ @@ -143,9 +144,7 @@ # eclipse-disable-motif \ # eclipse-efj \ # eclipse-disable-filelog \ -# eclipse-updatehomedir \ # eclipse-libswt-mozilla-classic \ -# eclipse-navtivepresentation \ # eclipse-javadoc-bootclasspath \ # eclipse-link-classpathdoc \ # eclipse-gjdoc-reflection \ _______________________________________________ pkg-java-commits mailing list pkg-java-commits@lists.alioth.debian.org http://lists.alioth.debian.org/mailman/listinfo/pkg-java-commits