diff --git a/eclipse-hide-droplets-from-install-wizard.patch b/eclipse-hide-droplets-from-install-wizard.patch index 73fc091..c261fef 100644 --- a/eclipse-hide-droplets-from-install-wizard.patch +++ b/eclipse-hide-droplets-from-install-wizard.patch @@ -14,7 +14,7 @@ diff --git a/rt.equinox.p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equ index e6eef8c39..fe5970e79 100644 --- a/rt.equinox.p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/RepositorySelectionGroup.java +++ b/rt.equinox.p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/RepositorySelectionGroup.java -@@ -300,6 +300,19 @@ public class RepositorySelectionGroup { +@@ -303,6 +303,19 @@ public class RepositorySelectionGroup { void fillRepoCombo(final String selection) { RepositoryTracker tracker = ui.getRepositoryTracker(); URI[] sites = tracker.getKnownRepositories(ui.getSession()); @@ -38,7 +38,7 @@ diff --git a/rt.equinox.p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equ index d796aefd0..c03924f90 100644 --- a/rt.equinox.p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/RepositoryManipulationPage.java +++ b/rt.equinox.p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/RepositoryManipulationPage.java -@@ -130,9 +130,22 @@ public class RepositoryManipulationPage extends PreferencePage implements IWorkb +@@ -133,9 +133,22 @@ public class RepositoryManipulationPage extends PreferencePage implements IWorkb if (cachedElements == null) { Object[] children = super.fetchChildren(o, monitor); cachedElements = new Hashtable<>(children.length); diff --git a/eclipse.spec b/eclipse.spec index e68bb13..957bad2 100644 --- a/eclipse.spec +++ b/eclipse.spec @@ -1,7 +1,10 @@ -# Set to 1 to build Eclipse without circular dependency to eclipse-pde, API +# Set to build Eclipse without circular dependency to eclipse-pde, API # generation and docs will not be built and a second run will be required, but # this is a way to bootstrap Eclipse on secondary archs. -%global bootstrap 0 +%bcond_with bootstrap + +# Set this to avoid building contributor tools and tests +%bcond_without contrib_tools Epoch: 1 @@ -9,7 +12,7 @@ Epoch: 1 %global eclipse_rel %{version}RC2 %global eclipse_tag S-%{eclipse_rel}-201903070500 -%global _jetty_version 9.4.15 +%global _jetty_version 9.4.17 %global _lucene_version 7.7.0 %ifarch %{ix86} @@ -38,7 +41,7 @@ Epoch: 1 Summary: An open, extensible IDE Name: eclipse Version: 4.11 -Release: 4%{?dist} +Release: 5%{?dist} License: EPL-2.0 URL: http://www.eclipse.org/ @@ -141,7 +144,7 @@ BuildRequires: pkgconfig(libsecret-1) BuildRequires: pkgconfig(gtk+-2.0) BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(webkit2gtk-4.0) -BuildRequires: icu4j >= 1:63.1 +BuildRequires: icu4j >= 1:64.2 BuildRequires: ant >= 1.10.5 BuildRequires: ant-antlr ant-apache-bcel ant-apache-log4j ant-apache-oro ant-apache-regexp ant-apache-resolver ant-commons-logging ant-apache-bsf BuildRequires: ant-commons-net ant-javamail ant-jdepend ant-junit ant-swing ant-jsch ant-testutil ant-apache-xalan2 ant-jmf ant-xz ant-junit5 @@ -155,7 +158,7 @@ BuildRequires: apache-sshd 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.scr) >= 2.1.14 +BuildRequires: osgi(org.apache.felix.scr) >= 2.1.16 BuildRequires: osgi(org.eclipse.jetty.util) >= %{_jetty_version} BuildRequires: osgi(org.eclipse.jetty.server) >= %{_jetty_version} BuildRequires: osgi(org.eclipse.jetty.http) >= %{_jetty_version} @@ -192,15 +195,17 @@ BuildRequires: httpcomponents-core BuildRequires: httpcomponents-client BuildRequires: jsoup BuildRequires: xz-java -BuildRequires: mockito >= 2.23.9 BuildRequires: osgi(osgi.annotation) # Build deps that are excluded when bootstrapping -%if ! %{bootstrap} +%if %{without bootstrap} # For building docs and apitooling BuildRequires: eclipse-pde -# For contributor tools +%if %{with contrib_tools} +# For contributor tools and tests BuildRequires: eclipse-egit BuildRequires: eclipse-emf-runtime +BuildRequires: mockito >= 2.23.9 +%endif %endif %description @@ -243,7 +248,7 @@ 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.scr) >= 2.1.14 +Requires: osgi(org.apache.felix.scr) >= 2.1.16 Requires: osgi(org.eclipse.jetty.util) >= %{_jetty_version} Requires: osgi(org.eclipse.jetty.server) >= %{_jetty_version} Requires: osgi(org.eclipse.jetty.http) >= %{_jetty_version} @@ -270,7 +275,7 @@ Requires: glassfish-el >= 3.0.1 Requires: glassfish-jsp-api >= 2.2.1-4 Requires: glassfish-jsp >= 2.2.5 Requires: glassfish-servlet-api >= 3.1.0 -Requires: icu4j >= 1:63.1 +Requires: icu4j >= 1:64.2 Requires: %{name}-swt = %{epoch}:%{version}-%{release} Requires: %{name}-equinox-osgi = %{epoch}:%{version}-%{release} Requires: httpcomponents-core @@ -328,6 +333,7 @@ p2 provisioning platform. Discovery can be used as a tool to display and install from existing P2 repositories or as a framework to build branded installer UIs. +%if %{without bootstrap} && %{with contrib_tools} %package contributor-tools Summary: Tools for Eclipse Contributors @@ -347,6 +353,7 @@ Requires: %{name}-contributor-tools = %{epoch}:%{version}-%{release} %description tests Eclipse Tests. +%endif %prep %setup -T -c @@ -446,9 +453,20 @@ sed -i -e '/org\.eclipse\.jdt\.annotation;bundle-version="\[1\.1\.0,2\.0\.0)"/d' sed -i -e 's/javax.annotation/javax.annotation-api/' eclipse.jdt.core/org.eclipse.jdt.core.tests.compiler/META-INF/MANIFEST.MF # Disable examples +%pom_disable_module examples eclipse.platform.ui +%pom_disable_module org.eclipse.debug.examples.core eclipse.platform.debug +%pom_disable_module org.eclipse.debug.examples.memory eclipse.platform.debug +%pom_disable_module org.eclipse.debug.examples.mixedmode eclipse.platform.debug +%pom_disable_module org.eclipse.debug.examples.ui eclipse.platform.debug %pom_disable_module bundles/org.eclipse.sdk.examples eclipse.platform.releng %pom_disable_module features/org.eclipse.sdk.examples-feature eclipse.platform.releng %pom_disable_module examples/org.eclipse.swt.examples.ole.win32 eclipse.platform.swt +%pom_disable_module examples/org.eclipse.compare.examples eclipse.platform.team +%pom_disable_module examples/org.eclipse.compare.examples.xml eclipse.platform.team +%pom_disable_module examples/org.eclipse.team.examples.filesystem eclipse.platform.team +%pom_disable_module org.eclipse.ui.genericeditor.examples eclipse.platform.text +%pom_disable_module org.eclipse.ui.intro.quicklinks.examples eclipse.platform.ua +%pom_disable_module org.eclipse.ui.intro.solstice.examples eclipse.platform.ua # Disable servletbridge stuff %pom_disable_module bundles/org.eclipse.equinox.http.servletbridge rt.equinox.bundles @@ -532,14 +550,29 @@ done %pom_disable_module tests/org.eclipse.swt.tests.fragments.feature eclipse.platform.swt %pom_xpath_remove "pom:dependency-resolution" eclipse.platform.swt/tests/org.eclipse.swt.tests{,.gtk} +%if %{with bootstrap} || %{without contrib_tools} # Disable contributor tools that have external dependencies during bootstrap -%if %{bootstrap} %pom_disable_module eclipse.platform.ui.tools +%pom_disable_module features/org.eclipse.swt.tools.feature eclipse.platform.swt +%pom_disable_module bundles/org.eclipse.swt.tools.base eclipse.platform.swt +%pom_disable_module bundles/org.eclipse.swt.tools.spies eclipse.platform.swt +%pom_disable_module bundles/org.eclipse.swt.tools eclipse.platform.swt %pom_disable_module features/org.eclipse.releng.tools eclipse.platform.releng %pom_disable_module bundles/org.eclipse.releng.tools eclipse.platform.releng -%pom_disable_module bundles/org.eclipse.releng.tests eclipse.platform.releng -%pom_xpath_remove "plugin[@id='org.eclipse.releng.tests']" \ - eclipse.platform.releng/features/org.eclipse.sdk.tests/feature.xml +# Disable tests for bootstrapping +%pom_disable_module features/org.eclipse.test-feature eclipse.platform.releng +%pom_disable_module bundles/org.eclipse.test eclipse.platform.releng +%pom_disable_module bundles/org.eclipse.test.performance eclipse.platform.releng +%pom_disable_module bundles/org.eclipse.test.performance.win32 eclipse.platform.releng +%pom_disable_module bundles/org.eclipse.ant.optional.junit eclipse.platform.releng +for pom in eclipse.jdt.core{,.binaries} eclipse.jdt.debug eclipse.jdt.ui eclipse.pde.build eclipse.pde.ui \ + eclipse.platform eclipse.platform.debug eclipse.platform.releng eclipse.platform.resources eclipse.platform.runtime \ + eclipse.platform.swt eclipse.platform.team eclipse.platform.text eclipse.platform.ui eclipse.platform.ua \ + rt.equinox.bundles rt.equinox.framework rt.equinox.p2 ; do + sed -i -e '/.*tests.*<\/module>/d' $pom/pom.xml +done +%pom_disable_module bundles/org.eclipse.equinox.frameworkadmin.test rt.equinox.p2 +%pom_disable_module eclipse-junit-tests eclipse.platform.releng.tychoeclipsebuilder %endif # Include some extra features with the product that some other projects may need at @@ -595,12 +628,6 @@ sed -i -e '/org.apache.felix.service.command/s/;status=provisional//' rt.equinox # Pre-compiling JSPs does not currently work %pom_remove_plugin org.eclipse.jetty:jetty-jspc-maven-plugin eclipse.platform.ua/org.eclipse.help.webapp -# Remove generated files not present during bootstrap build -# org.eclipse.platform.doc.isv, org.eclipse.jdt.doc.isv, org.eclipse.pde.doc.user -%if %{bootstrap} -sed -i '22,51d' eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests/src/main/assembly/assembly.xml -%endif - # Use system osgi.annotation lib ln -s $(build-classpath osgi-annotation) rt.equinox.framework/bundles/org.eclipse.osgi/osgi/ ln -s $(build-classpath osgi-annotation) rt.equinox.framework/bundles/org.eclipse.osgi.services/lib/ @@ -613,12 +640,9 @@ ln -s $(build-classpath osgi-annotation) rt.equinox.bundles/bundles/org.eclipse. %mvn_package "::pom::" __noinstall %mvn_package ":*tests*" tests %mvn_package ":org.eclipse.equinox.frameworkadmin.test" tests -%mvn_package ":org.eclipse.equinox.p2.installer" tests %mvn_package ":org.eclipse.jface.examples.databinding" tests %mvn_package ":org.eclipse.pde.tools.versioning" tests -%mvn_package ":org.eclipse.update.core" tests %mvn_package "org.eclipse.test:org.eclipse.test" contributor-tools -%mvn_package ":*examples*" __noinstall %mvn_package "::jar:sources{,-feature}:" sdk %mvn_package ":org.eclipse.jdt.doc.isv" sdk %mvn_package ":org.eclipse.platform.doc.isv" sdk @@ -635,7 +659,7 @@ ln -s $(build-classpath osgi-annotation) rt.equinox.bundles/bundles/org.eclipse. %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.ui:org.eclipse.ui.{views.log,trace}" pde +%mvn_package "org.eclipse.ui:org.eclipse.ui.trace" pde %mvn_package "org.eclipse.sdk{,.feature}:" sdk %mvn_package ":" __noinstall @@ -659,7 +683,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 \ -%if %{bootstrap} +%if %{with bootstrap} -P !api-generation,!build-docs \ %endif -Declipse.javadoc=/usr/bin/javadoc -Dnative=gtk.linux.%{eclipse_arch} \ @@ -836,6 +860,7 @@ pushd %{buildroot}/%{_eclipsedir}/ ln -s $(abs2rel %{_jnidir}/swt.jar %{_eclipsedir}) popd +%if %{without bootstrap} && %{with contrib_tools} # Tests framework unzip eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests/target/eclipse-junit-tests-bundle.zip \ -d $RPM_BUILD_ROOT/%{_datadir}/ -x eclipse-testing/runtests.bat eclipse-testing/runtestsmac.sh @@ -848,6 +873,7 @@ sed -i '/org.eclipse.equinox.p2.reconciler.test/ d' $RPM_BUILD_ROOT/%{_datadir}/ # Package testbundle-to-eclipse-test cp -r testbundle-to-eclipse-test $RPM_BUILD_ROOT/%{_datadir}/eclipse-testing/testbundle mv $RPM_BUILD_ROOT/%{_datadir}/eclipse-testing/testbundle/eclipse-runTestBundles $RPM_BUILD_ROOT/%{_bindir}/eclipse-runTestBundles +%endif #fix so permissions find $RPM_BUILD_ROOT/%{_eclipsedir} -name *.so -exec chmod a+x {} \; @@ -1052,11 +1078,13 @@ echo "%{version}-%{release}" > %{buildroot}%{_eclipsedir}/.pkgs/Distro%{?dist} %files p2-discovery -f .mfiles-p2-discovery +%if %{without bootstrap} && %{with contrib_tools} %files contributor-tools -f .mfiles-contributor-tools %files tests -f .mfiles-tests %{_bindir}/eclipse-runTestBundles %{_datadir}/eclipse-testing +%endif %files equinox-osgi -f .mfiles-equinox-osgi %{_eclipsedir}/plugins/org.eclipse.osgi_* @@ -1065,6 +1093,10 @@ echo "%{version}-%{release}" > %{buildroot}%{_eclipsedir}/.pkgs/Distro%{?dist} %{_eclipsedir}/plugins/org.eclipse.osgi.util_* %changelog +* Thu Apr 25 2019 Mat Booth - 1:4.11-5 +- Fix bootstrap mode to use bcond flags +- Bump requirements on Jetty, SCR and ICU4j + * Wed Apr 10 2019 Mat Booth - 1:4.11-4 - Obsolete recommenders package, rhbz#1698504