eclipse/force-clean-after-p2-operations.patch
DistroBaker e6112c26c7 Merged update from upstream sources
This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/eclipse.git#c21212b002b4e7a2ff68dde825f2e885df0dd979
2021-01-19 00:06:31 +00:00

81 lines
4.0 KiB
Diff

From d964680827a248e8a312c000c4c2443f96c8c459 Mon Sep 17 00:00:00 2001
From: Mat Booth <mat.booth@redhat.com>
Date: Fri, 27 Sep 2019 14:52:54 +0100
Subject: [PATCH] Force a clean on the restart after p2 operations
---
.../META-INF/MANIFEST.MF | 2 +-
.../bundles/org.eclipse.equinox.launcher/pom.xml | 2 +-
.../src/org/eclipse/equinox/launcher/Main.java | 13 +++++++++++++
.../internal/p2/ui/ProvisioningOperationRunner.java | 6 ++++++
4 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/rt.equinox.framework/bundles/org.eclipse.equinox.launcher/META-INF/MANIFEST.MF b/rt.equinox.framework/bundles/org.eclipse.equinox.launcher/META-INF/MANIFEST.MF
index 497e5d6fa..a118a0e4c 100644
--- a/rt.equinox.framework/bundles/org.eclipse.equinox.launcher/META-INF/MANIFEST.MF
+++ b/rt.equinox.framework/bundles/org.eclipse.equinox.launcher/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.equinox.launcher;singleton:=true
-Bundle-Version: 1.6.0.qualifier
+Bundle-Version: 1.6.1.qualifier
Main-Class: org.eclipse.equinox.launcher.Main
Bundle-ClassPath: .
Bundle-Vendor: %providerName
diff --git a/rt.equinox.framework/bundles/org.eclipse.equinox.launcher/pom.xml b/rt.equinox.framework/bundles/org.eclipse.equinox.launcher/pom.xml
index 43849b5b8..c5d2cdfea 100644
--- a/rt.equinox.framework/bundles/org.eclipse.equinox.launcher/pom.xml
+++ b/rt.equinox.framework/bundles/org.eclipse.equinox.launcher/pom.xml
@@ -19,6 +19,6 @@
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.launcher</artifactId>
- <version>1.6.0-SNAPSHOT</version>
+ <version>1.6.1-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/rt.equinox.framework/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/Main.java b/rt.equinox.framework/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/Main.java
index d013ff7c2..65f4cfd8a 100644
--- a/rt.equinox.framework/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/Main.java
+++ b/rt.equinox.framework/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/Main.java
@@ -560,6 +560,18 @@
setupVMProperties();
processConfiguration();
+ File oca = new File(getConfigurationLocation().toURI());
+ File ocaFile = new File(oca, "clean_on_restart");
+ if (ocaFile.exists()) {
+ System.err.println("Clean triggered."); //$NON-NLS-1$
+ ocaFile.delete();
+ commands = Arrays.copyOf(args, args.length + 1);
+ commands[commands.length-1] = CLEAN;
+ passThruArgs = Arrays.copyOf(passThruArgs, passThruArgs.length + 1);
+ passThruArgs[passThruArgs.length-1] = CLEAN;
+ setupVMProperties();
+ }
+
if (protectBase && (System.getProperty(PROP_SHARED_CONFIG_AREA) == null)) {
System.err.println("This application is configured to run in a cascaded mode only."); //$NON-NLS-1$
System.setProperty(PROP_EXITCODE, Integer.toString(14));
diff --git a/rt.equinox.p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvisioningOperationRunner.java b/rt.equinox.p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvisioningOperationRunner.java
index a70b640ba..8a002ebc2 100644
--- a/rt.equinox.p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvisioningOperationRunner.java
+++ b/rt.equinox.p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvisioningOperationRunner.java
@@ -72,6 +72,12 @@ public class ProvisioningOperationRunner {
* @param restartPolicy
*/
void requestRestart(final int restartPolicy) {
+ String oca = System.getProperty("osgi.configuration.area");
+ try {
+ java.io.File ocaCleanFile = new java.io.File(new java.net.URL(oca).toURI());
+ new java.io.File(ocaCleanFile, "clean_on_restart").createNewFile();
+ } catch (Exception e) { /* Eh, we tried... */ }
+
// Global override of restart (used in test cases).
if (suppressRestart)
return;
--
2.20.1