From 01bdabeb6879f69927f15b65a231c926db479bd0 Mon Sep 17 00:00:00 2001 From: Krzysztof Daniel Date: Wed, 22 Aug 2012 13:51:12 +0200 Subject: [PATCH] Fix Eclipse not picking anything from dropins folder. The problem was caused by missing BR/R of glassfish-jsp. Eclipse was properly build in koji, but after being installed it pointed to the wrong version of glassfish-jsp, causing the reconciler to fail each time. The proper way of diagnosing this problem is: install Eclipse from koji, build it locally and comapre bundles.info looking for differences in dependencies (all bundles NOT matching org.eclipse* pattern). --- eclipse.spec | 152 +++++++++++++++++++++++++++------------------------ 1 file changed, 82 insertions(+), 70 deletions(-) diff --git a/eclipse.spec b/eclipse.spec index cf3ae80..db8e3de 100644 --- a/eclipse.spec +++ b/eclipse.spec @@ -20,7 +20,7 @@ Epoch: 1 Summary: An open, extensible IDE Name: eclipse Version: %{eclipse_version} -Release: 9%{?dist} +Release: 10%{?dist} License: EPL Group: Text Editors/Integrated Development Environments (IDE) URL: http://www.eclipse.org/ @@ -150,6 +150,7 @@ BuildRequires: eclipse-ecf-core BuildRequires: tomcat-servlet-3.0-api BuildRequires: tomcat6-servlet-2.5-api BuildRequires: cglib +BuildRequires: glassfish-jsp >= 2.2.5 %if 0%{?rhel} >= 6 ExclusiveArch: %{ix86} x86_64 @@ -210,6 +211,7 @@ Requires: geronimo-annotation >= 1.0-7 Requires: eclipse-ecf-core Requires: eclipse-emf-core Requires: tomcat-servlet-3.0-api +Requires: glassfish-jsp >= 2.2.5 Provides: eclipse-cvs-client = 1:%{eclipse_version}-%{release} Obsoletes: eclipse-cvs-client < 1:3.3.2-20 Obsoletes: eclipse-rcp < 1:%{eclipse_version}-%{release} @@ -428,7 +430,7 @@ cp ../../../../../../../../rt.equinox.incubator/framework/bundles/org.eclipse.eq pushd eclipse ./eclipse -application org.eclipse.equinox.initializer.configInitializer -justThisArchOSWS -fileInitializer %{SOURCE30} rm dropins/org.eclipse.equinox.initializer-1.0.0-SNAPSHOT.jar - ./eclipse -initialize + ./eclipse -application org.eclipse.equinox.p2.reconciler.application # Create file listings for the extracted shared libraries echo -n "" > %{_builddir}/%{buildsubdir}/%{name}-platform.install; for id in `ls configuration/org.eclipse.osgi/bundles`; do @@ -438,72 +440,8 @@ for id in `ls configuration/org.eclipse.osgi/bundles`; do echo "%verify(not mtime) %{_libdir}/%{name}/configuration/org.eclipse.osgi/bundles/$id" >> %{_builddir}/%{buildsubdir}/%{name}-platform.install; fi done -popd - -#make a backup -cp -rf eclipse eclipse-backup-with-jdt -# go into backup -pushd eclipse-backup-with-jdt - ./eclipse -application org.eclipse.equinox.p2.director \ - -repository file:/`pwd`/../../../../../../../../jdtpde/target/repository \ - -installIU org.eclipse.jdt.feature.group -#exit backup -popd - -mkdir -p jdt/plugins jdt/features - - -#get the difference and copy all files into jdt folder -for i in `ls eclipse-backup-with-jdt/features` ; do \ - if [ ! -e eclipse/features/$i ]; \ - then cp -r eclipse-backup-with-jdt/features/$i jdt/features ; \ - fi \ -done - -for i in `ls eclipse-backup-with-jdt/plugins` ; do \ - if [ ! -e eclipse/plugins/$i ]; \ - then cp -r eclipse-backup-with-jdt/plugins/$i jdt/plugins ; \ - fi \ -done - -cp -rf eclipse-backup-with-jdt eclipse-backup-with-jdt-pde - -pushd eclipse-backup-with-jdt-pde - ./eclipse -application org.eclipse.equinox.p2.director \ - -repository file:/`pwd`/../../../../../../../../jdtpde/target/repository \ - -installIU org.eclipse.sdk.feature.group -popd - -mkdir -p sdk/plugins sdk/features - -#get the difference and copy all files into pde folder -for i in `ls eclipse-backup-with-jdt-pde/features` ; do \ - if [ ! -e eclipse-backup-with-jdt/features/$i ]; \ - then cp -r eclipse-backup-with-jdt-pde/features/$i sdk/features ; \ - fi \ -done - -for i in `ls eclipse-backup-with-jdt-pde/plugins` ; do \ - if [ ! -e eclipse-backup-with-jdt/plugins/$i ]; \ - then cp -r eclipse-backup-with-jdt-pde/plugins/$i sdk/plugins ; \ - fi \ -done - - -cp -r jdt sdk eclipse/dropins - -cd eclipse -rm -rf configuration/org.eclipse.core.runtime -rm -rf configuration/org.eclipse.equinox.app -rm -rf configuration/org.eclipse.update/* - -find configuration -type d -name "data" -exec rm -rf `pwd`{} \; -find configuration -type f -name "*.log" -exec rm `pwd`{} \; - -cd configuration/org.eclipse.osgi -rm -rf .bundledata* .lazy* .manager .state* -cd ../.. +#symlink what should be symlinked pushd plugins #So, remove duplicated jars and symlink them f=`ls | grep -e "^com.ibm.icu_"` @@ -735,9 +673,79 @@ cd org.apache.ant_* popd popd +#enf of platform symlinking + +#quit the eclispe folder +popd + +#make a backup +cp -rf eclipse eclipse-backup-with-jdt +# go into backup +pushd eclipse-backup-with-jdt + ./eclipse -application org.eclipse.equinox.p2.director \ + -repository file:/`pwd`/../../../../../../../../jdtpde/target/repository \ + -installIU org.eclipse.jdt.feature.group +#exit backup +popd + +mkdir -p jdt/plugins jdt/features + + +#get the difference and copy all files into jdt folder +for i in `ls eclipse-backup-with-jdt/features` ; do \ + if [ ! -e eclipse/features/$i ]; \ + then cp -r eclipse-backup-with-jdt/features/$i jdt/features ; \ + fi \ +done + +for i in `ls eclipse-backup-with-jdt/plugins` ; do \ + if [ ! -e eclipse/plugins/$i ]; \ + then cp -r eclipse-backup-with-jdt/plugins/$i jdt/plugins ; \ + fi \ +done + +cp -rf eclipse-backup-with-jdt eclipse-backup-with-jdt-pde + +pushd eclipse-backup-with-jdt-pde + ./eclipse -application org.eclipse.equinox.p2.director \ + -repository file:/`pwd`/../../../../../../../../jdtpde/target/repository \ + -installIU org.eclipse.sdk.feature.group +popd + +mkdir -p sdk/plugins sdk/features + +#get the difference and copy all files into pde folder +for i in `ls eclipse-backup-with-jdt-pde/features` ; do \ + if [ ! -e eclipse-backup-with-jdt/features/$i ]; \ + then cp -r eclipse-backup-with-jdt-pde/features/$i sdk/features ; \ + fi \ +done + +for i in `ls eclipse-backup-with-jdt-pde/plugins` ; do \ + if [ ! -e eclipse-backup-with-jdt/plugins/$i ]; \ + then cp -r eclipse-backup-with-jdt-pde/plugins/$i sdk/plugins ; \ + fi \ +done + + +cp -r jdt sdk eclipse/dropins + +cd eclipse +rm -rf configuration/org.eclipse.core.runtime +rm -rf configuration/org.eclipse.equinox.app +rm -rf configuration/org.eclipse.update/* + +find configuration -type d -name "data" -exec rm -rf `pwd`{} \; +find configuration -type f -name "*.log" -exec rm `pwd`{} \; + +cd configuration/org.eclipse.osgi +rm -rf .bundledata* .lazy* .manager .state* +cd ../.. + +#symlink jdt & sdk pushd dropins/jdt/plugins f=`ls | grep -e "^org.hamcrest.core_"` - rm $f + rm -f $f ln -s %{_javadir}/hamcrest/core.jar $f cd org.junit_3.8.2.* @@ -747,15 +755,16 @@ pushd dropins/jdt/plugins popd pushd dropins/sdk/plugins - f=`ls | grep -e "^com.ibm.icu.source_*"` + f=`ls | grep -e "^com.ibm.icu.source_"` rm $f ln -s %{_javadir}/icu4j-eclipse/plugins/com.ibm.icu.source_*.jar $f - f=`ls | grep -e "^org.objectweb.asm_*"` + f=`ls | grep -e "^org.objectweb.asm_"` rm $f ln -s %{_javadir}/objectweb-asm/asm-all.jar $f popd + popd %install @@ -1219,6 +1228,9 @@ rm -rf %{_bindir}/efj/ %{_mavendepmapfragdir}/%{name}-equinox-osgi %changelog +* Wed Aug 22 2012 Krzysztof Daniel 1:4.2.0-10 +- Fix Eclipse not picking anything from dropins folder. + * Tue Aug 21 2012 Krzysztof Daniel 1:4.2.0-9 - Adopt upstream CBI system.