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

Reply via email to