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#eb91f49b7da497e291829d6b5e52f62aa01dff27
This commit is contained in:
DistroBaker 2021-03-19 14:46:43 +00:00
parent db2a82c0e5
commit 9c0ff0cc60
7 changed files with 139 additions and 317 deletions

View File

@ -1,115 +0,0 @@
From 2684843e3d22bb177a6c6b21c3ee75f3bb3d250e Mon Sep 17 00:00:00 2001
From: Simeon Andreev
Date: Mon, 21 Dec 2020 12:52:01 +0100
Subject: Bug 569853 - jstack crashes Eclipse when running on Java 11
1) Always call DetachCurrentThread if AttachCurrentThreadAsDaemon was
called before, see
https://docs.oracle.com/javase/8/docs/technotes/guides/jni/spec/invocation.html#detaching_from_the_vm.
2) Specify JNI 1.4 version in JNI_OnLoad, see
https://docs.oracle.com/en/java/javase/11/docs/specs/jni/invocation.html#jni_onload
3) Added printf around attach/detach for easier debugging.
4) Fixed build.sh to allow c99 standard for the for loop defined in
DEBUG_CALL_PRINTS and resolve compilation error below if
DEBUG_CALL_PRINTS is enabled:
callback.c:1252:3: error: 'for' loop initial declarations are only
allowed in C99 mode
Main change is 1), it is a workaround for jstack / JVM bug described in
https://bugzilla.redhat.com/show_bug.cgi?id=1897150
Change-Id: I3ba32d9bef217e5ffc76b8802e7e59de503a2161
---
.../Eclipse SWT/common/library/callback.c | 28 +++++++++-------------
.../Eclipse SWT/common/library/swt.c | 6 +----
.../Eclipse SWT/common/library/swt.h | 1 -
4 files changed, 13 insertions(+), 24 deletions(-)
diff --git a/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/common/library/callback.c b/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/common/library/callback.c
index 1e37e28810..0bd7b87a77 100644
--- a/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/common/library/callback.c
+++ b/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/common/library/callback.c
@@ -1298,24 +1298,15 @@ jlong callback(int index, ...)
}
#endif
-#ifdef JNI_VERSION_1_2
- if (IS_JNI_1_2) {
- (*JVM)->GetEnv(JVM, (void **)&env, JNI_VERSION_1_2);
- }
-#endif
-
-#ifdef JNI_VERSION_1_4
- if (env == NULL) {
- if (JNI_VERSION >= JNI_VERSION_1_4) {
- (*JVM)->AttachCurrentThreadAsDaemon(JVM, (void **)&env, NULL);
- }
- }
+(*JVM)->GetEnv(JVM, (void **)&env, JNI_VERSION_1_4);
+
+if (env == NULL) {
+ (*JVM)->AttachCurrentThreadAsDaemon(JVM, (void **)&env, NULL);
+#ifdef DEBUG_CALL_PRINTS
+ fprintf(stderr, "SWT-JNI: AttachCurrentThreadAsDaemon\n");
#endif
-
- if (env == NULL) {
- (*JVM)->AttachCurrentThread(JVM, (void **)&env, NULL);
- if (IS_JNI_1_2) detach = 1;
- }
+ detach = 1;
+}
/* If the current thread is not attached to the VM, it is not possible to call into the VM */
if (env == NULL) {
@@ -1391,6 +1382,9 @@ done:
if (detach) {
(*JVM)->DetachCurrentThread(JVM);
+#ifdef DEBUG_CALL_PRINTS
+ fprintf(stderr, "SWT-JNI: DetachCurrentThread\n");
+#endif
env = NULL;
}
diff --git a/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/common/library/swt.c b/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/common/library/swt.c
index e78a2e4811..483aae2d47 100644
--- a/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/common/library/swt.c
+++ b/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/common/library/swt.c
@@ -14,16 +14,12 @@
#include "swt.h"
-int IS_JNI_1_2 = 0;
JavaVM *JVM = NULL;
-#ifdef JNI_VERSION_1_2
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) {
- IS_JNI_1_2 = 1;
JVM = vm;
- return JNI_VERSION_1_2;
+ return JNI_VERSION_1_4;
}
-#endif
void throwOutOfMemory(JNIEnv *env) {
jclass clazz = (*env)->FindClass(env, "java/lang/OutOfMemoryError");
diff --git a/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/common/library/swt.h b/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/common/library/swt.h
index fa228e9971..32f39f01bd 100644
--- a/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/common/library/swt.h
+++ b/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/common/library/swt.h
@@ -29,7 +29,6 @@
extern "C" {
#endif
-extern int IS_JNI_1_2;
extern JavaVM *JVM;
/* #define DEBUG */
--
cgit v1.2.1

View File

@ -1,49 +0,0 @@
From de8045341dd4eda05a98db2157ead188ab21a899 Mon Sep 17 00:00:00 2001
From: Andrey Loskutov
Date: Tue, 22 Dec 2020 12:40:46 +0100
Subject: Bug 569853 - reverted build file change causing crash on native
dialog
Change on the build script was required to compile callback.c with
#define DEBUG_CALL_PRINTS for debug output.
Turned out, this change compiles something that GTK code can't
understand & so it crashes with SIGSEGV on opening native file dialog.
# Problematic frame:
# C [libglib-2.0.so.0+0x39757] g_path_is_absolute+0x7
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j org.eclipse.swt.internal.gtk.GTK.gtk_file_chooser_set_current_folder(JJ)V+0
j org.eclipse.swt.widgets.FileDialog.presetChooserDialog()V+599
j org.eclipse.swt.widgets.FileDialog.openNativeChooserDialog()Ljava/lang/String;+104
j org.eclipse.swt.widgets.FileDialog.open()Ljava/lang/String;+1
j org.eclipse.ui.internal.ide.actions.OpenLocalFileAction.run()V+35
j org.eclipse.ui.internal.ide.actions.OpenLocalFileAction.run(Lorg/eclipse/jface/action/IAction;)V+1
Change-Id: I225525d41c41ae90e9f8e30eb53baae18f527634
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
---
diff --git a/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/common/library/callback.c b/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/common/library/callback.c
index 0bd7b87a77..df33e672e2 100644
--- a/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/common/library/callback.c
+++ b/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/common/library/callback.c
@@ -1244,12 +1244,13 @@
#ifdef DEBUG_CALL_PRINTS
{
+ int i;
va_list vaCopy;
va_copy(vaCopy, vl);
counter++;
fprintf(stderr, "SWT-JNI:%*scallback[%d](", counter, "", index);
- for (int i=0; i<argCount; i++) {
+ for (i=0; i<argCount; i++) {
void* arg = va_arg(vaCopy, void*);
int isPrinted = 0;
--
cgit v1.2.1

View File

@ -481,7 +481,7 @@ diff --git a/eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml b/eclip
index 767a93df9..293525308 100644
--- a/eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml
+++ b/eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml
@@ -22,6 +22,23 @@
@@ -22,6 +22,22 @@
<requires>
<import feature="org.eclipse.emf.common" version="2.7.0" match="compatible"/>
<import feature="org.eclipse.emf.ecore" version="2.7.0" match="compatible"/>
@ -497,7 +497,6 @@ index 767a93df9..293525308 100644
+ <import plugin="org.apache.commons.io" />
+ <import plugin="org.apache.commons.logging" />
+ <import plugin="org.apache.felix.scr" />
+ <import plugin="com.ibm.icu" />
+ <import plugin="org.apache.felix.gogo.command" />
+ <import plugin="org.apache.felix.gogo.runtime" />
+ <import plugin="org.apache.felix.gogo.shell" />
@ -624,20 +623,6 @@ index 767a93df9..293525308 100644
<plugin
id="org.eclipse.equinox.event"
download-size="0"
@@ -335,13 +254,6 @@
version="0.0.0"
unpack="false"/>
- <plugin
- id="com.ibm.icu"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
<plugin
id="org.eclipse.equinox.preferences"
download-size="0"
@@ -504,27 +416,6 @@
version="0.0.0"
unpack="false"/>

View File

@ -19,7 +19,7 @@ index 7e1f520..734dd10 100644
id="org.eclipse.equinox.launcher.cocoa.macosx.x86_64"
os="macosx"
ws="cocoa"
@@ -480,6 +510,28 @@
@@ -480,6 +510,17 @@
download-size="0"
install-size="0"
version="0.0.0"
@ -33,17 +33,6 @@ index 7e1f520..734dd10 100644
+ arch="s390x"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ fragment="true"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.swt.gtk.linux.aarch64"
+ os="linux"
+ ws="gtk"
+ arch="aarch64"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
fragment="true"
unpack="false"/>
@ -70,7 +59,7 @@ index 7e1f520..734dd10 100644
--- a/eclipse.platform.swt.binaries/pom.xml 2017-04-05 01:57:59.142576722 +0100
+++ b/eclipse.platform.swt.binaries/pom.xml 2017-04-05 02:00:00.153247342 +0100
@@ -56,6 +56,7 @@
<module>bundles/org.eclipse.swt.cocoa.macosx.x86_64</module>
<module>bundles/org.eclipse.swt.cocoa.macosx.arm64</module>
<module>bundles/org.eclipse.swt.gtk.linux.aarch64</module>
<module>bundles/org.eclipse.swt.gtk.linux.ppc64le</module>
+ <module>bundles/org.eclipse.swt.gtk.linux.s390x</module>
@ -101,22 +90,11 @@ index 7e1f520..734dd10 100644
defaultOSArch="aarch64"
--- a/rt.equinox.framework/pom.xml 2017-04-26 22:19:15.548461372 +0100
+++ b/rt.equinox.framework/pom.xml 2017-04-26 22:20:41.348571492 +0100
@@ -77,6 +77,18 @@
<module>bundles/org.eclipse.equinox.launcher.gtk.linux.aarch64</module>
</modules>
</profile>
+ <profile>
+ <id>build-native-launchers-gtk.linux.s390x</id>
+ <activation>
+ <property>
+ <name>native</name>
+ <value>gtk.linux.s390x</value>
+ </property>
+ </activation>
+ <modules>
+ <module>bundles/org.eclipse.equinox.launcher.gtk.linux.s390x</module>
+ </modules>
+ </profile>
</profiles>
@@ -90,6 +90,7 @@
<module>bundles/org.eclipse.equinox.launcher.gtk.linux.aarch64</module>
<module>bundles/org.eclipse.equinox.launcher.gtk.linux.ppc64le</module>
<module>bundles/org.eclipse.equinox.launcher.gtk.linux.x86_64</module>
+ <module>bundles/org.eclipse.equinox.launcher.gtk.linux.s390x</module>
<module>bundles/org.eclipse.equinox.launcher.win32.win32.x86_64</module>
<modules>
<module>bundles/org.eclipse.osgi.tests</module>

View File

@ -3,18 +3,22 @@
# this is a way to bootstrap Eclipse on secondary archs.
%bcond_with bootstrap
# Set this to not build JDT and PDE plugins
%bcond_without jdt_pde
Epoch: 1
%global eb_commit 83d8885ff232bbe9fc992c7f5583eba6c86fdaf6
%global eclipse_rel %{version}
%global eclipse_tag R-%{eclipse_rel}-202012021800
%global eclipse_rel %{version}RC2
%global eclipse_tag S-%{eclipse_rel}-202103031800
%global _jetty_version 9.4.36
%global _lucene_version 8.6.3
%global _batik_version 1.13
%global _asm_version 8.0.1
%global _junit5_version 5.7.1
%global _emf_version 1:2.24.0
%global _emf_version 1:2.25.0
%global _ecf_version 3.14.19
%ifarch s390x x86_64 aarch64 ppc64le
@ -53,7 +57,7 @@ Epoch: 1
Summary: An open, extensible IDE
Name: eclipse
Version: 4.18
Version: 4.19
Release: 3%{?dist}
License: EPL-2.0
URL: https://www.eclipse.org/
@ -124,10 +128,6 @@ Patch25: eclipse-patch-out-fileupload-dep.patch
# Force a clean on the restart after p2 operations
Patch26: force-clean-after-p2-operations.patch
# Upstream fix for https://bugs.eclipse.org/bugs/show_bug.cgi?id=569853
Patch27: ebz569853-1.patch
Patch28: ebz569853-2.patch
# Upstream no longer supports non-64bit arches
ExcludeArch: s390 %{arm} %{ix86}
@ -167,9 +167,9 @@ BuildRequires: jsch
BuildRequires: apache-commons-logging
BuildRequires: apache-commons-codec
BuildRequires: apache-commons-jxpath
BuildRequires: osgi(org.apache.felix.gogo.shell) >= 1.1.0
BuildRequires: osgi(org.apache.felix.gogo.command) >= 1.0.2
BuildRequires: osgi(org.apache.felix.gogo.runtime) >= 1.1.0
BuildRequires: osgi(org.apache.felix.gogo.shell) >= 1.1.4
BuildRequires: osgi(org.apache.felix.gogo.command) >= 1.1.2
BuildRequires: osgi(org.apache.felix.gogo.runtime) >= 1.1.4
BuildRequires: felix-scr >= 2.1.16-4
BuildRequires: osgi(org.eclipse.jetty.util) >= %{_jetty_version}
BuildRequires: osgi(org.eclipse.jetty.util.ajax) >= %{_jetty_version}
@ -183,12 +183,7 @@ BuildRequires: lucene-core >= %{_lucene_version}
BuildRequires: lucene-analysis >= %{_lucene_version}
BuildRequires: lucene-queryparser >= %{_lucene_version}
BuildRequires: lucene-analyzers-smartcn >= %{_lucene_version}
BuildRequires: junit >= 4.12
BuildRequires: junit5 >= 5.6.2
BuildRequires: apiguardian
BuildRequires: hamcrest
BuildRequires: sat4j
BuildRequires: objectweb-asm >= %{_asm_version}
BuildRequires: sac
BuildRequires: batik-css >= %{_batik_version}
BuildRequires: batik-util >= %{_batik_version}
@ -212,12 +207,22 @@ BuildRequires: xz-java
BuildRequires: osgi(osgi.annotation)
BuildRequires: jna
BuildRequires: jna-contrib
# Build deps that are excluded when bootstrapping
%if %{without bootstrap}
# For building docs and apitooling
%if %{without bootstrap} && %{with jdt_pde}
# For building docs and apitooling there is a self-requirement
# So we avoid this requirement for bootstrapping or we are not building PDE
BuildRequires: eclipse-pde
%endif
%if %{with jdt_pde}
# For building JDT and PDE
BuildRequires: apiguardian
BuildRequires: hamcrest
BuildRequires: junit >= 4.12
BuildRequires: junit5 >= %{_junit5_version}
BuildRequires: objectweb-asm >= %{_asm_version}
%endif
%description
The Eclipse platform is designed for building integrated development
environments (IDEs), server-side applications, desktop applications, and
@ -250,9 +255,9 @@ Requires: ant-commons-net ant-javamail ant-jdepend ant-junit ant-swing ant-jsch
Requires: apache-commons-logging
Requires: apache-commons-codec
Requires: apache-commons-jxpath
Requires: osgi(org.apache.felix.gogo.shell) >= 1.1.0
Requires: osgi(org.apache.felix.gogo.command) >= 1.0.2
Requires: osgi(org.apache.felix.gogo.runtime) >= 1.1.0
Requires: osgi(org.apache.felix.gogo.shell) >= 1.1.4
Requires: osgi(org.apache.felix.gogo.command) >= 1.1.2
Requires: osgi(org.apache.felix.gogo.runtime) >= 1.1.4
Requires: felix-scr >= 2.1.16-4
Requires: osgi(org.eclipse.jetty.util) >= %{_jetty_version}
Requires: osgi(org.eclipse.jetty.util.ajax) >= %{_jetty_version}
@ -297,6 +302,7 @@ Obsoletes: %{name}-contributor-tools < 1:4.17-4
The Eclipse Platform is the base of all IDE plugins. This does not include the
Java Development Tools or the Plugin Development Environment.
%if %{with jdt_pde}
%package jdt
Summary: Eclipse Java Development Tools
BuildArch: noarch
@ -304,12 +310,9 @@ BuildArch: noarch
Provides: %{name} = %{epoch}:%{version}-%{release}
Requires: %{name}-platform = %{epoch}:%{version}-%{release}
Requires: junit >= 4.12
Requires: junit5 >= 5.6.2
Requires: junit5 >= %{_junit5_version}
Requires: osgi(org.hamcrest.core)
# Obsoletes added in F30
Obsoletes: eclipse-recommenders <= 2.5.4-5
%description jdt
Eclipse Java Development Tools. This package is required to use Eclipse for
developing software written in the Java programming language.
@ -324,6 +327,7 @@ Requires: objectweb-asm >= %{_asm_version}
%description pde
Eclipse Plugin Development Environment. This package is required for
developing Eclipse plugins.
%endif
%package p2-discovery
Summary: Eclipse p2 Discovery
@ -380,14 +384,12 @@ rm -rf rt.equinox.binaries/org.eclipse.equinox.executable/{bin,contributed}/
%patch24 -p1
%patch25
%patch26 -p1
%patch27 -p1
%patch28 -p1
# Optional (unused) multipart support (see patch 25)
rm rt.equinox.bundles/bundles/org.eclipse.equinox.http.servlet/src/org/eclipse/equinox/http/servlet/internal/multipart/MultipartSupport{Impl,FactoryImpl,Part}.java
# ASM still on 8
sed -i -e 's/V16/V15/' -e 's/ASM9/ASM8/' eclipse.jdt.debug/org.eclipse.jdt.launching.javaagent/src/main/java/org/eclipse/jdt/launching/internal/weaving/ClassfileTransformer.java eclipse.pde.ui/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/Util.java
sed -i -e 's/V17/V15/' -e 's/ASM9/ASM8/' eclipse.jdt.debug/org.eclipse.jdt.launching.javaagent/src/main/java/org/eclipse/jdt/launching/internal/weaving/ClassfileTransformer.java eclipse.pde.ui/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/Util.java
sed -i -e '/org.objectweb.asm/s/9\.0\.0/8.0.0/' eclipse.pde.ui/apitools/org.eclipse.pde.api.tools/META-INF/MANIFEST.MF
sed -i -e 's/9\.0/8.0.1/' eclipse.jdt.debug/org.eclipse.jdt.launching.javaagent/pom.xml
@ -425,7 +427,6 @@ sed -i -e 's/9\.0/8.0.1/' eclipse.jdt.debug/org.eclipse.jdt.launching.javaagent/
%pom_disable_module features/org.eclipse.equinox.p2.sdk rt.equinox.p2
%pom_disable_module features/org.eclipse.equinox.server.p2 rt.equinox.bundles
%pom_disable_module features/org.eclipse.equinox.serverside.sdk rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.p2.artifact.checksums.bouncycastle rt.equinox.p2
# Don't need annotations for obsolete JDKs
%pom_disable_module org.eclipse.jdt.annotation_v1 eclipse.jdt.core
@ -443,7 +444,8 @@ sed -i -e 's/javax.annotation/%{_jakarta_annotations}/' -e 's/javax.servlet\([^.
eclipse.platform.common/bundles/org.eclipse.*/pom.xml \
eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/platformOptions.txt \
eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml \
rt.equinox.bundles/features/org.eclipse.equinox.server.{jetty,simple}/feature.xml
rt.equinox.bundles/features/org.eclipse.equinox.server.{jetty,simple}/feature.xml \
eclipse.platform.runtime/bundles/org.eclipse.e4.core.di/META-INF/MANIFEST.MF
# Fix requirement on junit 4
sed -i -e 's/4.13.0,5.0.0/4.12.0,5.0.0/' eclipse.jdt.ui/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/internal/junit/buildpath/BuildPathSupport.java
@ -493,76 +495,60 @@ done
%pom_disable_module bundles/org.eclipse.equinox.servletbridge rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.servletbridge.template rt.equinox.bundles
%if %{without jdt_pde}
# Disable JDT and PDE bundles
%pom_disable_module eclipse.jdt/
%pom_disable_module eclipse.jdt.core
%pom_disable_module eclipse.jdt.core.binaries
%pom_disable_module eclipse.jdt.debug
%pom_disable_module eclipse.jdt.ui
%pom_disable_module ant/org.eclipse.ant.launching eclipse.platform
%pom_disable_module ant/org.eclipse.ant.ui eclipse.platform
%pom_disable_module eclipse.pde.build
%pom_disable_module eclipse.pde.ui
%pom_disable_module features/org.eclipse.cvs-feature eclipse.platform.team
%pom_disable_module bundles/org.eclipse.cvs eclipse.platform.team
%pom_disable_module bundles/org.eclipse.team.cvs.core eclipse.platform.team
%pom_disable_module bundles/org.eclipse.team.cvs.ssh2 eclipse.platform.team
%pom_disable_module bundles/org.eclipse.team.cvs.ui eclipse.platform.team
%pom_disable_module bundles/org.eclipse.platform.doc.isv eclipse.platform.common
%pom_disable_module bundles/org.eclipse.jdt.doc.isv eclipse.platform.common
%pom_disable_module bundles/org.eclipse.pde.doc.user eclipse.platform.common
%pom_remove_plugin :target-platform-configuration eclipse.platform.releng/features/org.eclipse.platform-feature
%pom_xpath_remove "pom:configuration/pom:plugins" eclipse.platform.releng/features/org.eclipse.platform-feature
%pom_xpath_inject "pom:excludes" '<plugin id="org.eclipse.ltk.core.refactoring"/>' \
eclipse.platform.releng/features/org.eclipse.platform-feature
%pom_xpath_inject "pom:excludes" '<plugin id="org.eclipse.ltk.ui.refactoring"/>' \
eclipse.platform.releng/features/org.eclipse.platform-feature
%pom_xpath_remove "feature/includes[@id='org.eclipse.jdt']" eclipse.platform.releng/features/org.eclipse.sdk/feature.xml
%pom_xpath_remove "feature/includes[@id='org.eclipse.jdt.source']" eclipse.platform.releng/features/org.eclipse.sdk/feature.xml
%pom_xpath_remove "feature/includes[@id='org.eclipse.pde']" eclipse.platform.releng/features/org.eclipse.sdk/feature.xml
%pom_xpath_remove "feature/includes[@id='org.eclipse.pde.source']" eclipse.platform.releng/features/org.eclipse.sdk/feature.xml
# But some bundles still need JDT annotations at compile time
%pom_xpath_inject "pom:modules" "<module>eclipse.jdt.core/org.eclipse.jdt.annotation</module>"
%endif
# Don't need enforcer on RPM builds
%pom_remove_plugin :maven-enforcer-plugin eclipse-platform-parent
# And moditect is not present
%pom_remove_plugin :moditect-maven-plugin rt.equinox.framework/bundles/org.eclipse.osgi
# This part generates secondary fragments using primary fragments
%pom_xpath_inject "pom:plugin[pom:artifactId='target-platform-configuration']/pom:configuration/pom:environments" \
"<environment><os>linux</os><ws>gtk</ws><arch>s390x</arch></environment>" eclipse-platform-parent
rm -rf eclipse.platform.swt.binaries/bundles/org.eclipse.swt.gtk.linux.s390x
rm -rf rt.equinox.framework/bundles/org.eclipse.equinox.launcher.gtk.linux.s390x
for dir in rt.equinox.binaries rt.equinox.framework/bundles eclipse.platform.swt.binaries/bundles ; do
utils/ensure_arch.sh "$dir" x86_64 s390x
done
# Remove platform-specific stuff that we don't care about to reduce build time
# (i.e., all bundles that are not applicable to the current build platform --
# this reduces the build time on arm by around 20 minutes per architecture that
# we are not currently building)
TYCHO_ENV="<environment><os>linux</os><ws>gtk</ws><arch>%{eclipse_arch}</arch></environment>"
%pom_xpath_set "pom:configuration/pom:environments" "$TYCHO_ENV" eclipse-platform-parent
%pom_xpath_set "pom:configuration/pom:environments" "$TYCHO_ENV" eclipse.platform.ui/bundles/org.eclipse.e4.ui.swt.gtk
for b in `ls eclipse.platform.swt.binaries/bundles | grep -P -e 'org.eclipse.swt\.(?!gtk\.linux.%{eclipse_arch}$)'` ; do
module=$(grep ">bundles/$b<" eclipse.platform.swt.binaries/pom.xml || :)
if [ -n "$module" ] ; then
%pom_disable_module bundles/$b eclipse.platform.swt.binaries
%pom_xpath_inject "pom:excludes" "<plugin id='$b'/>" eclipse.platform.ui/features/org.eclipse.e4.rcp
fi
done
for b in `ls rt.equinox.framework/bundles | grep -P -e 'org.eclipse.equinox.launcher\.(?!gtk\.linux.%{eclipse_arch}$)'` ; do
module=$(grep ">bundles/$b<" rt.equinox.framework/pom.xml || :)
if [ -n "$module" ] ; then
%pom_disable_module bundles/$b rt.equinox.framework
%pom_xpath_remove -f "plugin[@id='$b']" rt.equinox.framework/features/org.eclipse.equinox.executable.feature/feature.xml
fi
done
for b in `(cd rt.equinox.bundles/bundles && ls -d *{macosx,win32,linux}*) | grep -P -e 'org.eclipse.equinox.security\.(?!linux\.%{eclipse_arch}$)'` ; do
module=$(grep ">bundles/$b<" rt.equinox.bundles/pom.xml || :)
if [ -n "$module" ] ; then
%pom_disable_module bundles/$b rt.equinox.bundles
%pom_xpath_remove -f "plugin[@id='$b']" rt.equinox.p2/features/org.eclipse.equinox.p2.core.feature/feature.xml
fi
done
for b in `ls eclipse.platform.team/bundles/ | grep -P -e 'org.eclipse.core.net\.(?!linux.%{eclipse_arch}$)'` ; do
%pom_disable_module bundles/$b eclipse.platform.team
done
for b in `ls eclipse.platform.resources/bundles/ | grep -P -e 'org.eclipse.core.filesystem\.(?!linux\.%{eclipse_arch}$)'` ; do
module=$(grep ">bundles/$b<" eclipse.platform.resources/pom.xml || :)
if [ -n "$module" ] ; then
%pom_disable_module bundles/$b eclipse.platform.resources
fi
done
%pom_disable_module org.eclipse.jdt.launching.macosx eclipse.jdt.debug
%pom_disable_module org.eclipse.jdt.launching.ui.macosx eclipse.jdt.debug
%pom_disable_module bundles/org.eclipse.compare.win32 eclipse.platform.team
%pom_disable_module org.eclipse.e4.ui.workbench.renderers.swt.cocoa eclipse.platform.ui/bundles
%pom_disable_module org.eclipse.ui.cocoa eclipse.platform.ui/bundles
%pom_disable_module org.eclipse.ui.win32 eclipse.platform.ui/bundles
%pom_disable_module org.eclipse.e4.ui.swt.win32 eclipse.platform.ui/bundles
%pom_disable_module bundles/org.eclipse.core.resources.win32.x86_64 eclipse.platform.resources
%pom_disable_module bundles/org.eclipse.swt.browser.chromium eclipse.platform.swt
%pom_xpath_remove -f "plugin[@id='org.eclipse.swt.browser.chromium.gtk.linux.x86_64']" eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml
for f in eclipse.jdt/org.eclipse.jdt-feature/feature.xml \
eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml \
eclipse.platform.releng/features/org.eclipse.rcp/feature.xml \
eclipse.platform.releng/features/org.eclipse.platform-feature/feature.xml ; do
%pom_xpath_remove -f "plugin[@os='macosx']" $f
%pom_xpath_remove -f "plugin[@os='win32']" $f
%pom_xpath_remove -f "plugin[@ws='win32']" $f
for arch in x86_64 aarch64 ppc64le s390x ; do
if [ "$arch" != "%{eclipse_arch}" ] ; then
%pom_xpath_remove -f "plugin[@arch='$arch']" $f
fi
done
done
# Materialise product only for the current architecture
%pom_add_plugin "org.eclipse.tycho:target-platform-configuration:\${tycho.version}" eclipse.platform.releng.tychoeclipsebuilder/platform/pom.xml \
"<configuration><environments><environment><os>linux</os><ws>gtk</ws><arch>%{eclipse_arch}</arch></environment></environments></configuration>"
# Don't use strictBinIncludes due to missing natives for other platforms we don't build
%pom_xpath_inject "pom:plugin[pom:artifactId='tycho-packaging-plugin']/pom:configuration" \
"<strictBinIncludes>false</strictBinIncludes>" eclipse-platform-parent
# Fix javadoc generation relying on Windows version of SWT
sed -i -e '/swt/s/swt.win32.win32.x86_64/swt.gtk.linux.%{eclipse_arch}/' eclipse.platform.common/bundles/org.eclipse*/*Options.txt
@ -571,6 +557,15 @@ sed -i -e '/swt/s/swt.win32.win32.x86_64/swt.gtk.linux.%{eclipse_arch}/' eclipse
sed -i -e 's/JavaSE-1.7/JavaSE-1.8/' rt.equinox.framework/bundles/org.eclipse.osgi.{util,services}/META-INF/MANIFEST.MF \
rt.equinox.bundles/bundles/org.eclipse.equinox.http.servlet/{build.properties,META-INF/MANIFEST.MF}
# Don't build chromium bundles
%pom_disable_module bundles/org.eclipse.swt.browser.chromium eclipse.platform.swt
%pom_disable_module bundles/org.eclipse.swt.browser.chromium.cocoa.macosx.x86_64 eclipse.platform.swt.binaries
%pom_disable_module bundles/org.eclipse.swt.browser.chromium.gtk.linux.x86_64 eclipse.platform.swt.binaries
%pom_disable_module bundles/org.eclipse.swt.browser.chromium.win32.win32.x86_64 eclipse.platform.swt.binaries
%pom_xpath_remove -f "plugin[@id='org.eclipse.swt.browser.chromium.gtk.linux.x86_64']" eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml
%pom_xpath_remove -f "plugin[@id='org.eclipse.swt.browser.chromium.win32.win32.x86_64']" eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml
%pom_xpath_remove -f "plugin[@id='org.eclipse.swt.browser.chromium.cocoa.macosx.x86_64']" eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml
# Disable contributor tools
%pom_disable_module eclipse.platform.ui.tools
%pom_disable_module features/org.eclipse.swt.tools.feature eclipse.platform.swt
@ -632,6 +627,8 @@ ln -s $(build-classpath osgi-annotation) rt.equinox.bundles/bundles/org.eclipse.
# The order of these mvn_package calls is important
%mvn_package "::pom::" __noinstall
%mvn_package "org.eclipse.jdt:*macosx" __noinstall
%if %{with jdt_pde}
%mvn_package "::jar:sources{,-feature}:" sdk
%mvn_package ":org.eclipse.jdt.doc.isv" sdk
%mvn_package ":org.eclipse.platform.doc.isv" sdk
@ -647,6 +644,23 @@ ln -s $(build-classpath osgi-annotation) rt.equinox.bundles/bundles/org.eclipse.
%mvn_package ":org.eclipse.pde.api.tools*" pde
%mvn_package "org.eclipse.ui:org.eclipse.ui.trace" pde
%mvn_package "org.eclipse.sdk{,.feature}:" sdk
%else
%mvn_package "::jar:sources{,-feature}:" __noinstall
%mvn_package ":org.eclipse.jdt.doc.isv" __noinstall
%mvn_package ":org.eclipse.platform.doc.isv" __noinstall
%mvn_package ":org.eclipse.equinox.executable" __noinstall
%mvn_package "org.eclipse.jdt{,.feature}:" __noinstall
%mvn_package ":org.eclipse.ant.{launching,ui}" __noinstall
%mvn_package "org.eclipse.debug:org.eclipse.unittest.ui" __noinstall
%mvn_package ":org.eclipse.equinox.p2.discovery.{feature,compatibility}" p2-discovery
%mvn_package ":org.eclipse.equinox.p2{,.ui}.discovery" p2-discovery
%mvn_package "org.eclipse.cvs{,.feature}:" cvs
%mvn_package "org.eclipse.team:org.eclipse.team.cvs*" cvs
%mvn_package "org.eclipse.pde{,.ui,.feature}:" pde
%mvn_package ":org.eclipse.pde.api.tools*" pde
%mvn_package "org.eclipse.ui:org.eclipse.ui.trace" pde
%mvn_package "org.eclipse.sdk{,.feature}:" __noinstall
%endif
%mvn_package ":" __noinstall
%build
@ -659,9 +673,6 @@ export M_ARCH="$LDFLAGS"
#This is the lowest value where the build succeeds. 512m is not enough.
export MAVEN_OPTS="-Dfile.encoding=UTF-8 -Xmx1024m -XX:CompileCommand=exclude,org/eclipse/tycho/core/osgitools/EquinoxResolver,newState ${MAVEN_OPTS}"
# TODO: Fix bug in the tycho installation
xmvn -o install:install-file -Dtycho.mode=maven -Dfile=%{_javadir}/tycho/tycho-lib-detector.jar -DpomFile=%{_mavenpomdir}/tycho/tycho-lib-detector.pom
# Pre-build agent jar needed for AdvancedSourceLookupSupport
(cd eclipse.jdt.debug/org.eclipse.jdt.launching.javaagent && xmvn -e -o -B clean verify)
mv eclipse.jdt.debug/org.eclipse.jdt.launching.javaagent/target/javaagent-shaded.jar \
@ -670,7 +681,7 @@ mv eclipse.jdt.debug/org.eclipse.jdt.launching.javaagent/target/javaagent-shaded
# Qualifier generated from last modification time of source tarball
QUALIFIER=$(date -u -d"$(stat --format=%y %{SOURCE0})" +v%Y%m%d-%H%M)
%mvn_build -j -f -- -e -DforceContextQualifier=$QUALIFIER -DaggregatorBuild=true \
%if %{with bootstrap}
%if %{with bootstrap} || %{without jdt_pde}
-P!api-generation,!build-docs \
%endif
-Declipse.javadoc=%{_jvmdir}/java-11/bin/javadoc -Dnative=gtk.linux.%{eclipse_arch} \
@ -754,8 +765,10 @@ desktop-file-validate $RPM_BUILD_ROOT/usr/share/applications/%{name}.desktop
# Install appstream appdata
install -m644 -D desktopintegration/eclipse.appdata.xml $RPM_BUILD_ROOT%{_datadir}/appdata/eclipse.appdata.xml
%if %{with jdt_pde}
install -m644 -D desktopintegration/eclipse-jdt.metainfo.xml $RPM_BUILD_ROOT%{_datadir}/appdata/eclipse-jdt.metainfo.xml
install -m644 -D desktopintegration/eclipse-pde.metainfo.xml $RPM_BUILD_ROOT%{_datadir}/appdata/eclipse-pde.metainfo.xml
%endif
LOCAL_PWD=`pwd`
#change the installation p2 files
@ -833,10 +846,6 @@ popd
#fix so permissions
find $RPM_BUILD_ROOT/%{_eclipsedir} -name *.so -exec chmod a+x {} \;
# Usage marker
install -d -m 755 %{buildroot}%{_eclipsedir}/.pkgs
echo "%{version}-%{release}" > %{buildroot}%{_eclipsedir}/.pkgs/Distro%{?dist}
%files swt -f .mfiles-swt
%{_eclipsedir}/plugins/org.eclipse.swt_*
%{_eclipsedir}/plugins/org.eclipse.swt.gtk.linux.*
@ -847,7 +856,6 @@ echo "%{version}-%{release}" > %{buildroot}%{_eclipsedir}/.pkgs/Distro%{?dist}
%{_bindir}/eclipse
%{_eclipsedir}/eclipse
%{_eclipsedir}/.eclipseproduct
%{_eclipsedir}/.pkgs
%config %{_eclipsedir}/eclipse.ini
%config %{_sysconfdir}/eclipse.ini
/usr/share/applications/*
@ -929,7 +937,6 @@ echo "%{version}-%{release}" > %{buildroot}%{_eclipsedir}/.pkgs/Distro%{?dist}
%{_eclipsedir}/plugins/org.eclipse.equinox.common_*
%{_eclipsedir}/plugins/org.eclipse.equinox.concurrent_*
%{_eclipsedir}/plugins/org.eclipse.equinox.console_*
%{_eclipsedir}/plugins/org.eclipse.equinox.ds_*
%{_eclipsedir}/plugins/org.eclipse.equinox.event_*
%{_eclipsedir}/plugins/org.eclipse.equinox.frameworkadmin_*
%{_eclipsedir}/plugins/org.eclipse.equinox.frameworkadmin.equinox_*
@ -1033,11 +1040,13 @@ echo "%{version}-%{release}" > %{buildroot}%{_eclipsedir}/.pkgs/Distro%{?dist}
%{_javadir}/%{name}/core*
%{_javadir}/%{name}/equinox*
%if %{with jdt_pde}
%files jdt -f .mfiles-jdt
%{_datadir}/appdata/eclipse-jdt.metainfo.xml
%files pde -f .mfiles-pde -f .mfiles-cvs -f .mfiles-sdk
%{_datadir}/appdata/eclipse-pde.metainfo.xml
%endif
%files p2-discovery -f .mfiles-p2-discovery
@ -1048,6 +1057,20 @@ echo "%{version}-%{release}" > %{buildroot}%{_eclipsedir}/.pkgs/Distro%{?dist}
%{_eclipsedir}/plugins/org.eclipse.osgi.util_*
%changelog
* Thu Mar 11 2021 Mat Booth <mat.booth@redhat.com> - 1:4.19-3
- Avoid shipping macos-specific JDT bundles
* Thu Mar 11 2021 Mat Booth <mat.booth@redhat.com> - 1:4.19-2
- Fix build on F33
* Thu Mar 11 2021 Mat Booth <mat.booth@redhat.com> - 1:4.19-1
- Update to 2021-03 release
* Tue Mar 09 2021 Mat Booth <mat.booth@redhat.com> - 1:4.18-4
- Simplify platform-specific bundle disablement now that perf is less
of an issue (i.e. no 32bit arm)
- Allow building without JDT and PDE plugins for reduced dependency tree
* Wed Feb 3 2021 Mat Booth <mat.booth@redhat.com> - 1:4.18-3
- Backport patch for jstack crash from ebz#569853

View File

@ -18,8 +18,8 @@ index 497e5d6fa..a118a0e4c 100644
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
-Bundle-Version: 1.6.100.qualifier
+Bundle-Version: 1.6.101.qualifier
Main-Class: org.eclipse.equinox.launcher.Main
Bundle-ClassPath: .
Bundle-Vendor: %providerName
@ -31,8 +31,8 @@ index 43849b5b8..c5d2cdfea 100644
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.launcher</artifactId>
- <version>1.6.0-SNAPSHOT</version>
+ <version>1.6.1-SNAPSHOT</version>
- <version>1.6.100-SNAPSHOT</version>
+ <version>1.6.101-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

View File

@ -1,2 +1,2 @@
SHA512 (org.eclipse.linuxtools.eclipse-build-83d8885ff232bbe9fc992c7f5583eba6c86fdaf6.tar.xz) = ee1e0c9370e0c9d6bc4f3f300b7fc6a234bd4a8b251e801a2cd5844ad3ccf92b890140a01fd6323ab565e1b8354cfd9cfb80f749fb3edeeb8c2f3175097dd190
SHA512 (eclipse-platform-sources-4.18.tar.xz) = 9ffe27a6e36e4666c0ba2a597ffce7419206f9b58cccd686b54bd5a68b6aa0e0385c941f4b7704ce06e5bdf71cd5e048ff672f6de503617e21e92873f3672ff3
SHA512 (eclipse-platform-sources-4.19RC2.tar.xz) = 404651907bcc946c868864da917f059f05c16e1c6249d0a89a925d3a9df2461017bdfd610dd30ce2e4db7b16a7b4afa8479db9617649025ad057305cedda0db1