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).
This commit is contained in:
Krzysztof Daniel 2012-08-22 13:51:12 +02:00
parent eeaf9612cb
commit 01bdabeb68
1 changed files with 82 additions and 70 deletions

View File

@ -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 <kdaniel@redhat.com> 1:4.2.0-10
- Fix Eclipse not picking anything from dropins folder.
* Tue Aug 21 2012 Krzysztof Daniel <kdaniel@redhat.com> 1:4.2.0-9
- Adopt upstream CBI system.