diff --git a/eclipse-cdt-config-ini.patch b/eclipse-cdt-config-ini.patch
index 3fcf174..23acd04 100644
--- a/eclipse-cdt-config-ini.patch
+++ b/eclipse-cdt-config-ini.patch
@@ -7,6 +7,6 @@ diff -up ./debug/org.eclipse.cdt.debug.application/scripts/config.ini.fix ./debu
osgi.framework=file\:$eclipse.home$/plugins/$osgi.jar$
-osgi.bundles=org.eclipse.cdt.core.linux,org.eclipse.linuxtools.cdt.libhover.library.docs,org.eclipse.cdt.core.native,org.eclipse.core.net,org.eclipse.e4.core.di.extensions,org.eclipse.cdt.debug.ui.memory.floatingpoint,org.eclipse.ui.editors,org.eclipse.equinox.ds@1\:start,org.eclipse.search,org.eclipse.text,org.eclipse.jface.databinding,org.eclipse.cdt.debug.ui.memory.search,org.eclipse.debug.core,org.apache.batik.util,org.eclipse.cdt.debug.ui.memory.memorybrowser,org.eclipse.e4.ui.widgets,org.eclipse.cdt.debug.core,org.eclipse.ui,org.eclipse.cdt.make.core,javax.annotation,org.eclipse.equinox.registry,org.eclipse.cdt.dsf.ui,org.eclipse.cdt.debug.ui.memory.traditional,org.eclipse.cdt.ui,org.eclipse.ui.ide,org.w3c.dom.svg,org.eclipse.jface,org.eclipse.ltk.ui.refactoring,org.w3c.dom.smil,org.eclipse.e4.ui.model.workbench,org.eclipse.equinox.bidi,org.eclipse.e4.ui.workbench,org.eclipse.e4.ui.di,org.eclipse.debug.ui,org.eclipse.e4.ui.bindings,org.eclipse.core.contenttype,org.eclipse.e4.ui.workbench.swt,org.eclipse.ui.views,org.eclipse.emf.ecore.change,org.eclipse.equinox.app,org.eclipse.e4.ui.services,org.eclipse.ant.core,org.eclipse.equinox.p2.core,org.eclipse.cdt.core,org.eclipse.cdt.debug.application,org.eclipse.cdt.debug.application.doc,org.eclipse.core.resources,org.eclipse.team.ui,org.eclipse.equinox.common@2\:start,org.eclipse.equinox.p2.engine,org.eclipse.cdt.debug.ui,org.eclipse.ui.views.properties.tabbed,org.eclipse.help,org.eclipse.help.ui,org.eclipse.help.base,org.eclipse.help.webapp,org.eclipse.equinox.jsp.jasper,org.eclipse.equinox.jsp.jasper.registry,org.apache.jasper.glassfish,org.apache.lucene.core,org.apache.lucene.analysis,org.eclipse.equinox.http.jetty,org.eclipse.equinox.http.registry,org.eclipse.jetty.http,org.eclipse.equinox.http.servlet,org.eclipse.jetty.io,org.eclipse.jetty.server,org.eclipse.jetty.servlet,org.eclipse.jetty.util,org.eclipse.jetty.continuation,org.eclipse.jetty.security,javax.servlet.jsp,javax.el,org.eclipse.core.filesystem,org.eclipse.equinox.event,org.eclipse.cdt.dsf.gdb.ui,org.eclipse.ltk.core.refactoring,org.eclipse.cdt.debug.mi.ui,com.ibm.icu,org.eclipse.swt,org.eclipse.core.filebuffers,org.eclipse.e4.ui.workbench.addons.swt,javax.inject,$swt.plugin$,org.eclipse.core.databinding.observable,org.eclipse.core.jobs,org.eclipse.ui.forms,org.eclipse.e4.core.contexts,javax.xml,org.eclipse.core.variables,org.eclipse.ui.navigator,org.eclipse.e4.core.commands,org.eclipse.core.databinding,org.eclipse.core.commands,org.eclipse.ui.workbench,org.eclipse.equinox.util,org.eclipse.cdt.launch,org.w3c.css.sac,org.eclipse.e4.ui.workbench.renderers.swt,org.eclipse.cdt.managedbuilder.core,org.eclipse.jface.text,org.eclipse.cdt.managedbuilder.gnu.ui,org.eclipse.equinox.p2.metadata,org.eclipse.emf.ecore.xmi,org.eclipse.emf.common,org.eclipse.cdt.gdb,org.eclipse.compare.core,$linux.plugin$,org.eclipse.ui.console,org.eclipse.cdt.dsf.gdb,javax.servlet,org.eclipse.equinox.p2.repository,org.eclipse.linuxtools.cdt.libhover.glibc,org.eclipse.equinox.security,org.eclipse.compare,org.eclipse.core.runtime@start,org.eclipse.cdt.dsf,org.eclipse.osgi.services,org.eclipse.e4.ui.workbench3,org.eclipse.equinox.preferences,org.w3c.dom.events,org.eclipse.linuxtools.cdt.libhover,org.eclipse.cdt.debug.mi.core,org.eclipse.ui.navigator.resources,org.eclipse.e4.ui.css.core,org.eclipse.ui.workbench.texteditor,org.eclipse.core.expressions,org.eclipse.e4.ui.css.swt.theme,org.eclipse.core.databinding.property,org.eclipse.emf.ecore,org.eclipse.e4.core.services,org.eclipse.cdt.gdb.ui,org.eclipse.core.runtime.compatibility.registry,org.apache.batik.util.gui,org.eclipse.e4.core.di,$fs.plugin$,org.eclipse.team.core,org.eclipse.cdt.debug.ui.memory.transport,org.eclipse.equinox.p2.metadata.repository,org.eclipse.e4.ui.css.swt,org.apache.batik.css,org.eclipse.e4.emf.xpath,org.apache.commons.jxpath,org.tukaani.xz,org.eclipse.e4.core.di.annotations
-osgi.configuration.cascaded=false
-+osgi.bundles=org.eclipse.cdt.core.linux,org.eclipse.cdt.core.native,org.eclipse.core.net,org.eclipse.e4.core.di.extensions,org.eclipse.cdt.debug.ui.memory.floatingpoint,org.eclipse.ui.editors,org.eclipse.equinox.ds@1\:start,org.eclipse.search,org.eclipse.text,org.eclipse.jface.databinding,org.eclipse.cdt.debug.ui.memory.search,org.eclipse.debug.core,org.apache.batik.util,org.eclipse.cdt.debug.ui.memory.memorybrowser,org.eclipse.e4.ui.widgets,org.eclipse.cdt.debug.core,org.eclipse.ui,org.eclipse.cdt.make.core,javax.annotation-api,org.eclipse.equinox.registry,org.eclipse.cdt.dsf.ui,org.eclipse.cdt.debug.ui.memory.traditional,org.eclipse.cdt.ui,org.eclipse.ui.ide,org.w3c.dom.svg,org.eclipse.jface,org.eclipse.ltk.ui.refactoring,org.eclipse.e4.ui.model.workbench,org.eclipse.equinox.bidi,org.eclipse.e4.ui.workbench,org.eclipse.e4.ui.di,org.eclipse.debug.ui,org.eclipse.e4.ui.bindings,org.eclipse.core.contenttype,org.eclipse.e4.ui.workbench.swt,org.eclipse.ui.views,org.eclipse.emf.ecore.change,org.eclipse.equinox.app,org.eclipse.e4.ui.services,org.eclipse.ant.core,org.eclipse.equinox.p2.core,org.eclipse.cdt.core,org.eclipse.cdt.debug.application,org.eclipse.cdt.debug.application.doc,org.eclipse.core.resources,org.eclipse.team.ui,org.eclipse.equinox.common@2\:start,org.eclipse.equinox.p2.engine,org.eclipse.cdt.debug.ui,org.eclipse.ui.views.properties.tabbed,org.eclipse.help,org.eclipse.help.ui,org.eclipse.help.base,org.eclipse.help.webapp,org.eclipse.equinox.jsp.jasper,org.eclipse.equinox.jsp.jasper.registry,org.glassfish.web.javax.servlet.jsp,org.apache.lucene.core,org.apache.lucene.analyzers-common,org.eclipse.equinox.http.jetty,org.eclipse.equinox.http.registry,org.eclipse.jetty.http,org.eclipse.equinox.http.servlet,org.eclipse.jetty.io,org.eclipse.jetty.server,org.eclipse.jetty.servlet,org.eclipse.jetty.util,org.eclipse.jetty.continuation,org.eclipse.jetty.security,javax.servlet.jsp,com.sun.el.javax.el,org.eclipse.core.filesystem,org.eclipse.equinox.event,org.eclipse.cdt.dsf.gdb.ui,org.eclipse.ltk.core.refactoring,org.eclipse.cdt.debug.mi.ui,com.ibm.icu,org.eclipse.swt,org.eclipse.core.filebuffers,org.eclipse.e4.ui.workbench.addons.swt,javax.inject,$swt.plugin$,org.eclipse.core.databinding.observable,org.eclipse.core.jobs,org.eclipse.ui.forms,org.eclipse.e4.core.contexts,javax.xml,org.eclipse.core.variables,org.eclipse.ui.navigator,org.eclipse.e4.core.commands,org.eclipse.core.databinding,org.eclipse.core.commands,org.eclipse.ui.workbench,org.eclipse.equinox.util,org.eclipse.cdt.launch,org.w3c.css.sac,org.eclipse.e4.ui.workbench.renderers.swt,org.eclipse.cdt.managedbuilder.core,org.eclipse.jface.text,org.eclipse.cdt.managedbuilder.gnu.ui,org.eclipse.equinox.p2.metadata,org.eclipse.emf.ecore.xmi,org.eclipse.emf.common,org.eclipse.cdt.gdb,org.eclipse.compare.core,$linux.plugin$,org.eclipse.ui.console,org.eclipse.cdt.dsf.gdb,javax.servlet-api,org.eclipse.equinox.p2.repository,org.eclipse.equinox.security,org.eclipse.compare,org.eclipse.core.runtime@start,org.eclipse.cdt.dsf,org.eclipse.osgi.services,org.eclipse.e4.ui.workbench3,org.eclipse.equinox.preferences,org.eclipse.cdt.debug.mi.core,org.eclipse.ui.navigator.resources,org.eclipse.e4.ui.css.core,org.eclipse.ui.workbench.texteditor,org.eclipse.core.expressions,org.eclipse.e4.ui.css.swt.theme,org.eclipse.core.databinding.property,org.eclipse.emf.ecore,org.eclipse.e4.core.services,org.eclipse.cdt.gdb.ui,org.eclipse.core.runtime.compatibility.registry,org.apache.batik.util.gui,org.eclipse.e4.core.di,$fs.plugin$,org.eclipse.team.core,org.eclipse.cdt.debug.ui.memory.transport,org.eclipse.equinox.p2.metadata.repository,org.eclipse.e4.ui.css.swt,org.apache.batik.css,org.eclipse.jdt.core.compiler.batch,org.eclipse.e4.emf.xpath,org.apache.commons.jxpath,org.tukaani.xz,org.eclipse.e4.core.di.annotations
++osgi.bundles=org.eclipse.cdt.core.linux,org.eclipse.cdt.core.native,org.eclipse.core.net,org.eclipse.e4.core.di.extensions,org.eclipse.cdt.debug.ui.memory.floatingpoint,org.eclipse.ui.editors,org.eclipse.equinox.ds@1\:start,org.eclipse.search,org.eclipse.text,org.eclipse.jface.databinding,org.eclipse.cdt.debug.ui.memory.search,org.eclipse.debug.core,org.apache.batik.util,org.eclipse.cdt.debug.ui.memory.memorybrowser,org.eclipse.e4.ui.widgets,org.eclipse.cdt.debug.core,org.eclipse.ui,org.eclipse.cdt.make.core,javax.annotation-api,org.eclipse.equinox.registry,org.eclipse.cdt.dsf.ui,org.eclipse.cdt.debug.ui.memory.traditional,org.eclipse.cdt.ui,org.eclipse.ui.ide,org.w3c.dom.svg,org.eclipse.jface,org.eclipse.ltk.ui.refactoring,org.eclipse.e4.ui.model.workbench,org.eclipse.equinox.bidi,org.eclipse.e4.ui.workbench,org.eclipse.e4.ui.di,org.eclipse.debug.ui,org.eclipse.e4.ui.bindings,org.eclipse.core.contenttype,org.eclipse.e4.ui.workbench.swt,org.eclipse.ui.views,org.eclipse.emf.ecore.change,org.eclipse.equinox.app,org.eclipse.e4.ui.services,org.eclipse.ant.core,org.eclipse.equinox.p2.core,org.eclipse.cdt.core,org.eclipse.cdt.debug.application,org.eclipse.cdt.debug.application.doc,org.eclipse.core.resources,org.eclipse.team.ui,org.eclipse.equinox.common@2\:start,org.eclipse.equinox.p2.engine,org.eclipse.cdt.debug.ui,org.eclipse.ui.views.properties.tabbed,org.eclipse.help,org.eclipse.help.ui,org.eclipse.help.base,org.eclipse.help.webapp,org.eclipse.equinox.jsp.jasper,org.eclipse.equinox.jsp.jasper.registry,org.glassfish.web.javax.servlet.jsp,org.apache.lucene.core,org.apache.lucene.analyzers-common,org.apache.lucene.queryparser,org.apache.lucene.queries,org.apache.lucene.sandbox,org.apache.lucene.analyzers-smartcn,org.eclipse.equinox.http.jetty,org.eclipse.equinox.http.registry,org.eclipse.jetty.http,org.eclipse.equinox.http.servlet,org.eclipse.jetty.io,org.eclipse.jetty.server,org.eclipse.jetty.servlet,org.eclipse.jetty.util,org.eclipse.jetty.continuation,org.eclipse.jetty.security,javax.servlet.jsp,com.sun.el.javax.el,org.eclipse.core.filesystem,org.eclipse.equinox.event,org.eclipse.cdt.dsf.gdb.ui,org.eclipse.ltk.core.refactoring,org.eclipse.cdt.debug.mi.ui,com.ibm.icu,org.eclipse.swt,org.eclipse.core.filebuffers,org.eclipse.e4.ui.workbench.addons.swt,javax.inject,$swt.plugin$,org.eclipse.core.databinding.observable,org.eclipse.core.jobs,org.eclipse.ui.forms,org.eclipse.e4.core.contexts,javax.xml,org.eclipse.core.variables,org.eclipse.ui.navigator,org.eclipse.e4.core.commands,org.eclipse.core.databinding,org.eclipse.core.commands,org.eclipse.ui.workbench,org.eclipse.equinox.util,org.eclipse.cdt.launch,org.w3c.css.sac,org.eclipse.e4.ui.workbench.renderers.swt,org.eclipse.cdt.managedbuilder.core,org.eclipse.jface.text,org.eclipse.cdt.managedbuilder.gnu.ui,org.eclipse.equinox.p2.metadata,org.eclipse.emf.ecore.xmi,org.eclipse.emf.common,org.eclipse.cdt.gdb,org.eclipse.compare.core,$linux.plugin$,org.eclipse.ui.console,org.eclipse.cdt.dsf.gdb,javax.servlet-api,org.eclipse.equinox.p2.repository,org.eclipse.equinox.security,org.eclipse.compare,org.eclipse.core.runtime@start,org.eclipse.cdt.dsf,org.eclipse.osgi.services,org.eclipse.e4.ui.workbench3,org.eclipse.equinox.preferences,org.eclipse.cdt.debug.mi.core,org.eclipse.ui.navigator.resources,org.eclipse.e4.ui.css.core,org.eclipse.ui.workbench.texteditor,org.eclipse.core.expressions,org.eclipse.e4.ui.css.swt.theme,org.eclipse.core.databinding.property,org.eclipse.emf.ecore,org.eclipse.e4.core.services,org.eclipse.cdt.gdb.ui,org.eclipse.core.runtime.compatibility.registry,org.apache.batik.util.gui,org.eclipse.e4.core.di,$fs.plugin$,org.eclipse.team.core,org.eclipse.cdt.debug.ui.memory.transport,org.eclipse.equinox.p2.metadata.repository,org.eclipse.e4.ui.css.swt,org.apache.batik.css,org.eclipse.jdt.core.compiler.batch,org.eclipse.e4.emf.xpath,org.apache.commons.jxpath,org.tukaani.xz,org.eclipse.e4.core.di.annotations,org.eclipse.e4.core.di.annotations,org.apache.xalan,org.apache.xerces,org.apache.xml.resolver,org.apache.xml.serializer
+osgi.configuration.cascaded=true
osgi.bundles.defaultStartLevel=4
diff --git a/eclipse-cdt.spec b/eclipse-cdt.spec
index 46aafe7..edee081 100644
--- a/eclipse-cdt.spec
+++ b/eclipse-cdt.spec
@@ -5,6 +5,12 @@
%global _enable_debug_packages 0
%global __jar_repack %{nil}
+%if 0%{?fedora} >= 24
+%global droplets droplets
+%else
+%global droplets dropins
+%endif
+
# Change following to 0 to default to no container/remote support when building for
# first time in a release...this is needed to build eclipse-linuxtools-docker and
# eclipse.remote which are circular dependencies of eclipse-cdt
@@ -33,7 +39,7 @@ Epoch: 1
Summary: Eclipse C/C++ Development Tools (CDT) plugin
Name: %{?scl_prefix}eclipse-cdt
Version: %{majmin}.%{micro}
-Release: 6%{?dist}
+Release: 7%{?dist}
License: EPL and CPL
URL: http://www.eclipse.org/cdt
@@ -70,7 +76,6 @@ Patch6: %{pkg_name}-exit-code.patch
BuildRequires: tycho
BuildRequires: tycho-extras
-BuildRequires: %{?scl_prefix}eclipse-pde >= 1:4.3.0
BuildRequires: eclipse-license
BuildRequires: desktop-file-utils
BuildRequires: %{?scl_prefix}lpg-java-compat
@@ -211,12 +216,8 @@ cp -r org.eclipse.cdt.core.linux.x86 org.eclipse.cdt.core.linux.%{eclipse_arch}
rm -fr org.eclipse.cdt.core.linux.x86
pushd org.eclipse.cdt.core.linux.%{eclipse_arch}
sed -i -e 's/x86/%{eclipse_arch}/g' pom.xml
-pushd META-INF
-sed -i -e 's/x86/%{eclipse_arch}/g' MANIFEST.MF
-popd
-pushd os/linux
-mv x86 %{eclipse_arch}
-popd
+sed -i -e 's/x86/%{eclipse_arch}/g' META-INF/MANIFEST.MF
+mv os/linux/x86 os/linux/%{eclipse_arch}
popd
popd
pushd releng/org.eclipse.cdt.native-feature
@@ -281,6 +282,18 @@ done
sed -i -e "s|org.junit|org.hamcrest.core, org.junit|g" dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/META-INF/MANIFEST.MF
+%mvn_package ::jar:sources: sdk
+%mvn_package :*.source sdk
+%mvn_package ":*test{,s}*" tests
+%mvn_package :*parser* parsers
+%mvn_package ":org.eclipse.cdt.*{xlc,xlupc,bupc}*" parsers
+%mvn_package :org.eclipse.cdt.arduino* arduino
+%mvn_package :org.eclipse.cdt.docker* docker
+%mvn_package :org.eclipse.cdt.managedbuilder.llvm* llvm
+%mvn_package :org.eclipse.cdt.qt* qt
+%mvn_package :org.eclipse.cdt*
+
+
%build
export JAVA_HOME=%{java_home}
@@ -293,251 +306,129 @@ pushd core/org.eclipse.cdt.core.linux/library
make JAVA_HOME="%{java_home}" ARCH=%{eclipse_arch} CC='gcc -D_GNU_SOURCE'
popd
-xmvn -o -Dtycho.local.keepTarget -Dskip-ppc64le -Dmaven.test.skip=true -Dmaven.repo.local=`pwd`/.m2 install
+%mvn_build -j -f -- -Dtycho.local.keepTarget -Dskip-ppc64le
%install
+%mvn_install
-installDir=${RPM_BUILD_ROOT}/%{eclipse_base}/dropins/cdt
-testInstallDir=${RPM_BUILD_ROOT}/%{_javadir}/eclipse-cdt-tests/plugins
-parsersInstallDir=${installDir}-parsers
-%if %{_enable_container_and_remote_support} == 1
-dockerInstallDir=${installDir}-docker
-arduinoInstallDir=${installDir}-arduino
-%endif
-llvmInstallDir=${installDir}-llvm
-qtInstallDir=${installDir}-qt
-sdkInstallDir=${installDir}-sdk
+installDir=${RPM_BUILD_ROOT}/%{eclipse_base}/%{droplets}/cdt
binInstallDir=${RPM_BUILD_ROOT}/%{_bindir}
manInstallDir=${RPM_BUILD_ROOT}/%{_mandir}/man1
-install -d -m755 $installDir
-install -d -m755 $parsersInstallDir
-install -d -m755 $llvmInstallDir
-install -d -m755 $qtInstallDir
-install -d -m755 $sdkInstallDir
-install -d -m755 $testInstallDir
install -d -m755 $binInstallDir
install -d -m755 $manInstallDir
-%if %{_enable_container_and_remote_support} == 1
-install -d -m755 $dockerInstallDir
-install -d -m755 $arduinoInstallDir
-%endif
-
-# Unzip contents of the cdt repo, removing all but plugins and features
-unzip -q -o releng/org.eclipse.cdt.repo/target/org.eclipse.cdt.repo.zip \
--d $installDir/eclipse
-
-#tests
-# We need grep to return non-zero status to skip all non eclipse-test-plugins
-set +e
-for pom in `find . -name pom.xml`; do
- grep -q 'eclipse-test-plugin' ${pom}
- if [ $? -eq 0 ]; then
- testjar=`ls ${pom/pom.xml/}'target/'*.jar | grep -v sources`
- cp ${testjar} $testInstallDir
- fi
-done
-set -e
cat << EOF > eclipse-runCDTTestBundles
#! /bin/bash
-eclipse-runTestBundles %{_javadir}/eclipse-cdt-tests
+eclipse-runTestBundles %{_javadir}/cdt-tests
EOF
install -D -m 755 eclipse-runCDTTestBundles %{buildroot}%{_bindir}/eclipse-runCDTTestBundles
-# Unzip CDT Standalone Debug plugin which contains installation scripts for the end-user to use
pushd ${installDir}/eclipse/plugins
DEBUGAPPLICATIONVERSION=$(ls . | grep org.eclipse.cdt.debug.application_ | sed 's/org.eclipse.cdt.debug.application_//' |sed 's/.jar//')
-unzip org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION.jar -d ./org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION
-# Copy the jar file inside the folder to work around issue where standalone application cannot be found without a jar file
-mv org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION.jar org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/org.eclipse.cdt.debug.application.jar
-# Fix the cdtdebug.sh script to hard-code ECLIPSE_HOME and cdt dropins directory
-sed -i -e "s,@ECLIPSE_HOME@,%{eclipse_base}," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/cdtdebug.sh
-sed -i -e "s,@CDT_DROPINS@,%{eclipse_base}/dropins/cdt/eclipse/plugins," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/cdtdebug.sh
-# Fix the dropin bundles to have full paths to their respective jar files as Eclipse start-up won't find them otherwise
-PLUGIN=$(ls . | grep org.eclipse.cdt.core.linux_)
-sed -i -e "s,org.eclipse.cdt.core.linux\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
-PLUGIN=$(ls . | grep org.eclipse.cdt.core_)
-sed -i -e "s,org.eclipse.cdt.core\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
-PLUGIN=$(ls . | grep org.eclipse.cdt.debug.ui.memory.floatingpoint_)
-sed -i -e "s,org.eclipse.cdt.debug.ui.memory.floatingpoint\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
-PLUGIN=$(ls . | grep org.eclipse.cdt.make.core_)
-sed -i -e "s,org.eclipse.cdt.make.core\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
-PLUGIN=$(ls . | grep org.eclipse.cdt.dsf.ui_)
-sed -i -e "s,org.eclipse.cdt.dsf.ui\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
-PLUGIN=$(ls . | grep org.eclipse.cdt.debug.ui.memory.traditional_)
-sed -i -e "s,org.eclipse.cdt.debug.ui.memory.traditional\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
-PLUGIN=$(ls . | grep org.eclipse.cdt.ui_)
-sed -i -e "s,org.eclipse.cdt.ui\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
-PLUGIN=$(ls . | grep org.eclipse.cdt.core_)
-sed -i -e "s,org.eclipse.cdt.core\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
-PLUGIN=$(ls . | grep org.eclipse.cdt.debug.application_)
-sed -i -e "s,org.eclipse.cdt.debug.application\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN/org.eclipse.cdt.debug.application.jar\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
-PLUGIN=$(ls . | grep org.eclipse.cdt.debug.application.doc_)
-sed -i -e "s,org.eclipse.cdt.debug.application.doc\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
-PLUGIN=$(ls . | grep org.eclipse.cdt.dsf.gdb.ui_)
-sed -i -e "s,org.eclipse.cdt.dsf.gdb.ui\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
-PLUGIN=$(ls . | grep org.eclipse.cdt.debug.mi.ui_)
-sed -i -e "s,org.eclipse.cdt.debug.mi.ui\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
-PLUGIN=$(ls . | grep org.eclipse.cdt.launch_)
-sed -i -e "s,org.eclipse.cdt.launch\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
-PLUGIN=$(ls . | grep org.eclipse.cdt.managedbuilder.core_)
-sed -i -e "s,org.eclipse.cdt.managedbuilder.core\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
-PLUGIN=$(ls . | grep org.eclipse.cdt.managedbuilder.gnu.ui_)
-sed -i -e "s,org.eclipse.cdt.managedbuilder.gnu.ui\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
-PLUGIN=$(ls . | grep org.eclipse.cdt.gdb_)
-sed -i -e "s,org.eclipse.cdt.gdb\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
-PLUGIN=$(ls . | grep org.eclipse.cdt.dsf.gdb_)
-sed -i -e "s,org.eclipse.cdt.dsf.gdb\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
-PLUGIN=$(ls . | grep org.eclipse.cdt.dsf_)
-sed -i -e "s,org.eclipse.cdt.dsf\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
-PLUGIN=$(ls . | grep org.eclipse.cdt.debug.mi.core_)
-sed -i -e "s,org.eclipse.cdt.debug.mi.core\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
-PLUGIN=$(ls . | grep org.eclipse.cdt.gdb.ui_)
-sed -i -e "s,org.eclipse.cdt.gdb.ui\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
-PLUGIN=$(ls . | grep org.eclipse.cdt.debug.ui.memory.transport_)
-sed -i -e "s,org.eclipse.cdt.debug.ui.memory.transport\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
-PLUGIN=$(ls . | grep org.eclipse.cdt.debug.ui.memory.search_)
-sed -i -e "s,org.eclipse.cdt.debug.ui.memory.search\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
-PLUGIN=$(ls . | grep org.eclipse.cdt.debug.ui.memory.memorybrowser_)
-sed -i -e "s,org.eclipse.cdt.debug.ui.memory.memorybrowser\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
-PLUGIN=$(ls . | grep org.eclipse.cdt.debug.ui_)
-sed -i -e "s,org.eclipse.cdt.debug.ui\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
-PLUGIN=$(ls . | grep org.eclipse.cdt.debug.core_)
-sed -i -e "s,org.eclipse.cdt.debug.core\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
-PLUGIN=$(ls . | grep org.eclipse.cdt.core.native_)
-sed -i -e "s,org.eclipse.cdt.core.native\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
-PLUGIN=$(ls . | grep 'org.eclipse.cdt.core.linux\..*.jar' | grep -v source)
-sed -i -e "s,\$linux.plugin\$\,,file\\\\:%{eclipse_base}/dropins/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
-sed -i -e "s,cp config.ini,cp %{eclipse_base}/dropins/cdt/eclipse/plugins/org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/cdtdebug.sh
-sed -i -e "s,cp dev.properties,cp %{eclipse_base}/dropins/cdt/eclipse/plugins/org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/dev.properties," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/cdtdebug.sh
-cp org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/cdtdebug.sh $binInstallDir/cdtdebug
+pushd org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION
+# Create the jar file inside the folder to work around issue where standalone application cannot be found without a jar file
+jar -cfmv org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION.jar META-INF/MANIFEST.MF *
popd
-install -D desktop/eclipse-cdt.desktop $RPM_BUILD_ROOT/%{_datadir}/applications/%{?scl_prefix}eclipse-cdt.desktop
-desktop-file-validate $RPM_BUILD_ROOT/%{_datadir}/applications/%{?scl_prefix}eclipse-cdt.desktop
-
-# man page
-cp man/cdtdebug.man $manInstallDir/cdtdebug.1
-
-# Unpack all existing feature jars
-for x in $installDir/eclipse/features/*.jar; do
- dirname=`echo $x | sed -e 's:\\(.*\\)\\.jar:\\1:g'`
- mkdir -p $dirname
- unzip -q $x -d $dirname
- rm $x
-done
-
-# Remove lpgjavaruntime jar file
-rm -rf $installDir/eclipse/plugins/net.sourceforge.*
-
-# Move upc, xlc, and lrparser plugins/features to parsers install area.
-mkdir -p $parsersInstallDir/eclipse/features $parsersInstallDir/eclipse/plugins
-mv $installDir/eclipse/features/*xlc* $parsersInstallDir/eclipse/features
-mv $installDir/eclipse/plugins/*xlc* $parsersInstallDir/eclipse/plugins
-mv $installDir/eclipse/features/*lrparser* $parsersInstallDir/eclipse/features
-mv $installDir/eclipse/plugins/*lrparser* $parsersInstallDir/eclipse/plugins
-mv $installDir/eclipse/features/*upc* $parsersInstallDir/eclipse/features
-mv $installDir/eclipse/plugins/*upc* $parsersInstallDir/eclipse/plugins
-pushd $parsersInstallDir/eclipse/plugins
-ln -s /usr/share/java/lpgjavaruntime.jar net.sourceforge.lpg.lpgjavaruntime_1.1.0.jar
-popd
+# Fix the cdtdebug.sh script to hard-code ECLIPSE_HOME and cdt droplets directory
+sed -i -e "s,@ECLIPSE_HOME@,%{eclipse_base}," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/cdtdebug.sh
+sed -i -e "s,@CDT_DROPINS@,%{eclipse_base}/%{droplets}/cdt/eclipse/plugins," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/cdtdebug.sh
+# Fix the dropin bundles to have full paths to their respective jar files as Eclipse start-up won't find them otherwise
-# Move llvm plugins/features to llvm install area.
-mkdir -p $llvmInstallDir/eclipse/features $llvmInstallDir/eclipse/plugins
-mv $installDir/eclipse/features/*llvm* $llvmInstallDir/eclipse/features
-mv $installDir/eclipse/plugins/*llvm* $llvmInstallDir/eclipse/plugins
+for PLUGIN in \
+$(ls . | grep org.eclipse.cdt.core.linux_) \
+$(ls . | grep org.eclipse.cdt.core_) \
+$(ls . | grep org.eclipse.cdt.debug.ui.memory.floatingpoint_) \
+$(ls . | grep org.eclipse.cdt.make.core_) \
+$(ls . | grep org.eclipse.cdt.dsf.ui_) \
+$(ls . | grep org.eclipse.cdt.debug.ui.memory.traditional_) \
+$(ls . | grep org.eclipse.cdt.ui_) \
+$(ls . | grep org.eclipse.cdt.core_) \
+$(ls . | grep org.eclipse.cdt.debug.application.doc_) \
+$(ls . | grep org.eclipse.cdt.dsf.gdb.ui_) \
+$(ls . | grep org.eclipse.cdt.debug.mi.ui_) \
+$(ls . | grep org.eclipse.cdt.launch_) \
+$(ls . | grep org.eclipse.cdt.managedbuilder.core_) \
+$(ls . | grep org.eclipse.cdt.managedbuilder.gnu.ui_) \
+$(ls . | grep org.eclipse.cdt.gdb_) \
+$(ls . | grep org.eclipse.cdt.dsf.gdb_) \
+$(ls . | grep org.eclipse.cdt.dsf_) \
+$(ls . | grep org.eclipse.cdt.debug.mi.core_) \
+$(ls . | grep org.eclipse.cdt.gdb.ui_) \
+$(ls . | grep org.eclipse.cdt.debug.ui.memory.transport_) \
+$(ls . | grep org.eclipse.cdt.debug.ui.memory.search_) \
+$(ls . | grep org.eclipse.cdt.debug.ui.memory.memorybrowser_) \
+$(ls . | grep org.eclipse.cdt.debug.ui_) \
+$(ls . | grep org.eclipse.cdt.debug.core_) \
+$(ls . | grep org.eclipse.cdt.core.native_) \
+$(ls . | grep 'org.eclipse.cdt.core.linux\..*' | grep -v source);
+do
+ sed -i -e "s,${PLUGIN%_*}\,,file\\\\:%{eclipse_base}/%{droplets}/cdt/eclipse/plugins/$PLUGIN\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
+done
-# Move qt plugins/features to qt install area.
-mkdir -p $qtInstallDir/eclipse/features $qtInstallDir/eclipse/plugins
-mv $installDir/eclipse/features/*qt* $qtInstallDir/eclipse/features
-mv $installDir/eclipse/plugins/*qt.* $qtInstallDir/eclipse/plugins
+sed -i -e "s,org.eclipse.cdt.debug.application\,,file\\\\:%{eclipse_base}/%{droplets}/cdt/eclipse/plugins/org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION.jar\,," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini
-%if %{_enable_container_and_remote_support} == 1
-# Move arudino plugins/features to arduino install area.
-mkdir -p $arduinoInstallDir/eclipse/features $arduinoInstallDir/eclipse/plugins
-mv $installDir/eclipse/features/*arduino* $arduinoInstallDir/eclipse/features
-mv $installDir/eclipse/plugins/*arduino* $arduinoInstallDir/eclipse/plugins
-pushd $arduinoInstallDir/eclipse/plugins
-ln -s %{_javadir}/google-gson/gson.jar com.google.gson_2.2.4.jar
-ln -s %{_javadir}/apache-commons-compress.jar org.apache.commons.compress_1.6.0.jar
+sed -i -e "s,cp config.ini,cp %{eclipse_base}/%{droplets}/cdt/eclipse/plugins/org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/cdtdebug.sh
+sed -i -e "s,cp dev.properties,cp %{eclipse_base}/%{droplets}/cdt/eclipse/plugins/org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/dev.properties," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/cdtdebug.sh
+install -D -m 755 org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/cdtdebug.sh $binInstallDir/cdtdebug
popd
-# Docker not available on F22 or earlier
-%if 0%{?fedora} >= 23
-# Move docker launcher plugins/features to docker install area.
-mkdir -p $dockerInstallDir/eclipse/features $dockerInstallDir/eclipse/plugins
-mv $installDir/eclipse/features/*docker* $dockerInstallDir/eclipse/features
-mv $installDir/eclipse/plugins/*docker* $dockerInstallDir/eclipse/plugins
-%endif
-%endif
+echo %{eclipse_base}/%{droplets}/cdt/eclipse/plugins/org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION.jar >> .mfiles
-mkdir -p $sdkInstallDir/eclipse/features $sdkInstallDir/eclipse/plugins
-mv $installDir/eclipse/features/*source* $sdkInstallDir/eclipse/features
-mv $installDir/eclipse/plugins/*source* $sdkInstallDir/eclipse/plugins
-mv $installDir/eclipse/plugins/org.eclipse.cdt.doc.isv_* $sdkInstallDir/eclipse/plugins
-mv $installDir/eclipse/features/*sdk* $sdkInstallDir/eclipse/features
-mv $installDir/eclipse/plugins/*sdk* $sdkInstallDir/eclipse/plugins
+install -D desktop/eclipse-cdt.desktop $RPM_BUILD_ROOT/%{_datadir}/applications/%{?scl_prefix}eclipse-cdt.desktop
+desktop-file-validate $RPM_BUILD_ROOT/%{_datadir}/applications/%{?scl_prefix}eclipse-cdt.desktop
-rm -rf $installDir/eclipse/features/org.eclipse.cdt.master_*
-rm -rf $installDir/eclipse/plugins/org.eclipse.ant.optional.junit_*
-rm -rf $installDir/eclipse/plugins/org.eclipse.test_*
+# man page
+cp man/cdtdebug.man $manInstallDir/cdtdebug.1
-# remove repo stuff that shouldn't be in dropins folder
-rm -rf $installDir/eclipse/artifacts.jar
-rm -rf $installDir/eclipse/content.jar
-rm -rf $installDir/eclipse/binary
-%files
-%{eclipse_base}/dropins/cdt
+%files -f .mfiles
%{_bindir}/cdtdebug
%{_datadir}/applications/*
%{_mandir}/man1/cdtdebug.1*
%doc releng/org.eclipse.cdt.releng/epl-v10.html
%doc releng/org.eclipse.cdt.releng/notice.html
-%files sdk
-%{eclipse_base}/dropins/cdt-sdk
+%files sdk -f .mfiles-sdk
%doc releng/org.eclipse.cdt.releng/epl-v10.html
%doc releng/org.eclipse.cdt.releng/notice.html
-%files parsers
-%{eclipse_base}/dropins/cdt-parsers
+%files parsers -f .mfiles-parsers
%doc releng/org.eclipse.cdt.releng/epl-v10.html
%doc releng/org.eclipse.cdt.releng/notice.html
-%files tests
-%{_javadir}/eclipse-cdt-tests
+%files tests -f .mfiles-tests
%{_bindir}/eclipse-runCDTTestBundles
%doc releng/org.eclipse.cdt.releng/epl-v10.html
%doc releng/org.eclipse.cdt.releng/notice.html
-%files llvm
-%{eclipse_base}/dropins/cdt-llvm
+%files llvm -f .mfiles-llvm
%doc releng/org.eclipse.cdt.releng/epl-v10.html
%doc releng/org.eclipse.cdt.releng/notice.html
-%files qt
-%{eclipse_base}/dropins/cdt-qt
+%files qt -f .mfiles-qt
%doc releng/org.eclipse.cdt.releng/epl-v10.html
%doc releng/org.eclipse.cdt.releng/notice.html
%if %{_enable_container_and_remote_support} == 1
-%files arduino
-%{eclipse_base}/dropins/cdt-arduino
+%files arduino -f .mfiles-arduino
%doc releng/org.eclipse.cdt.releng/epl-v10.html
%doc releng/org.eclipse.cdt.releng/notice.html
# Docker not available on F22 or earlier
%if 0%{?fedora} >= 23
-%files docker
-%{eclipse_base}/dropins/cdt-docker
+%files docker -f .mfiles-docker
%doc releng/org.eclipse.cdt.releng/epl-v10.html
%doc releng/org.eclipse.cdt.releng/notice.html
%endif
%endif
%changelog
+* Tue Feb 09 2016 Roland Grunberg - 1:8.8.0-7
+- Update to use proper xmvn provided macros.
+- Fix CDT GDB Standalone Debugger.
+
* Thu Feb 04 2016 Roland Grunberg - 1:8.8.0-6
- Add symbolic links for google-gson and apache-commons-compress in arduino.
- Resolves: rhbz#1302131.