diff --git a/eclipse-copy-platform.sh b/eclipse-copy-platform.sh index e7cd85a..1c0b502 100644 --- a/eclipse-copy-platform.sh +++ b/eclipse-copy-platform.sh @@ -20,13 +20,15 @@ if [ $# -lt 2 ]; then echo "Usage: copy-platform where eclipse_base optional_directories" - echo "For example: copy-plaform ~/SDK /usr/share/eclipse cdt pydev jdt" + echo "For example: copy-plaform ~/SDK /usr/lib/eclipse cdt pydev jdt" exit 1 fi where=$1; shift eclipse=$1; shift +datadir=/usr/share/eclipse + mkdir -p $where/plugins $where/features cd $where @@ -46,13 +48,29 @@ if [ $# -gt 0 ]; then ln -s $eclipse/dropins/$f/eclipse/$g $g done else - (cd $eclipse/dropins; ls -d plugins/* features/*) | + (cd $eclipse/dropins/$f; ls -d plugins/* features/*) | while read g; do [ ! -e $g ] && \ ln -s $eclipse/dropins/$g $g done fi done + (cd $datadir/dropins; ls -d *"$optional"*) | + while read f; do + if [ -e $datadir/dropins/$f/eclipse ]; then + (cd $datadir/dropins/$f/eclipse; ls -d plugins/* features/*) | + while read g; do + [ ! -e $g ] && \ + ln -s $datadir/dropins/$f/eclipse/$g $g + done + else + (cd $datadir/dropins/$f; ls -d plugins/* features/*) | + while read g; do + [ ! -e $g ] && \ + ln -s $datadir/dropins/$g $g + done + fi + done done fi diff --git a/eclipse-memorypermsizeandjvmcrash.patch b/eclipse-memorypermsizeandjvmcrash.patch index fdf5fc3..ce331d9 100644 --- a/eclipse-memorypermsizeandjvmcrash.patch +++ b/eclipse-memorypermsizeandjvmcrash.patch @@ -7,7 +7,7 @@ retrieving revision 1.3 diff -u -r1.3 eclipse.ini --- gtk/eclipse.ini 3 Jun 2008 20:55:37 -0000 1.3 +++ gtk/eclipse.ini 31 Jul 2008 00:28:29 -0000 -@@ -4,4 +4,9 @@ +@@ -4,4 +4,10 @@ 256m -vmargs -Xms40m @@ -18,3 +18,4 @@ diff -u -r1.3 eclipse.ini +-XX:CompileCommand=exclude,org/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding, +-XX:CompileCommand=exclude,org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates,instantiateTemplate +-XX:CompileCommand=exclude,org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage,addBinding ++-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=/usr/share/eclipse/dropins diff --git a/eclipse-pdebuild.sh b/eclipse-pdebuild.sh index a81db23..99a4752 100755 --- a/eclipse-pdebuild.sh +++ b/eclipse-pdebuild.sh @@ -76,7 +76,7 @@ buildDir=$PWD/build SDK=$buildDir/SDK homeDir=$buildDir/home datadir=`rpm --eval "%{_libdir}"` -pdeBuildDir=$datadir/eclipse/dropins/sdk/plugins/org.eclipse.pde.build_@PDEBUILDVERSION@ +pdeBuildDir=$datadir/eclipse/dropins/sdk/eclipse/plugins/org.eclipse.pde.build_@PDEBUILDVERSION@ featureId= dependencies= @@ -183,7 +183,7 @@ $debugPlatformArgs \ -DbaseLocation=$SDK \ -DsourceDirectory=$sourceDir \ -DbuildDirectory=$buildDir \ --Dbuilder=$datadir/eclipse/dropins/sdk/plugins/org.eclipse.pde.build_@PDEBUILDVERSION@/templates/package-build \ +-Dbuilder=$datadir/eclipse/dropins/sdk/eclipse/plugins/org.eclipse.pde.build_@PDEBUILDVERSION@/templates/package-build \ -DorbitDepsDir="$orbitDepsDir" \ $additionalArgs \ -f $pdeBuildDir/scripts/build.xml \ @@ -202,7 +202,7 @@ if [ $dryRun -ne 1 ]; then -DbaseLocation=$SDK \ -DsourceDirectory=$sourceDir \ -DbuildDirectory=$buildDir \ - -Dbuilder=$datadir/eclipse/dropins/sdk/plugins/org.eclipse.pde.build_@PDEBUILDVERSION@/templates/package-build \ + -Dbuilder=$datadir/eclipse/dropins/sdk/eclipse/plugins/org.eclipse.pde.build_@PDEBUILDVERSION@/templates/package-build \ -DorbitDepsDir=\""$orbitDepsDir"\" \ $additionalArgs \ -f $pdeBuildDir/scripts/build.xml \ diff --git a/eclipse.spec b/eclipse.spec index eddd28b..cffbd22 100644 --- a/eclipse.spec +++ b/eclipse.spec @@ -27,7 +27,7 @@ Epoch: 1 Summary: An open, extensible IDE Name: eclipse Version: %{eclipse_majmin}.%{eclipse_micro} -Release: 15%{?dist} +Release: 16%{?dist} License: EPL Group: Text Editors/Integrated Development Environments (IDE) URL: http://www.eclipse.org/ @@ -705,8 +705,16 @@ sdkDir=$RPM_BUILD_ROOT%{_libdir}/%{name} install -d -m 755 $sdkDir install -d -m 755 $sdkDir/plugins install -d -m 755 $sdkDir/features +# FIXME: We can probably get rid of the links directory (for the +# datadir.link file) when we ensure all plugins are installing into +# dropins (either in libdir or datadir). install -d -m 755 $RPM_BUILD_ROOT%{_libdir}/java install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name} +install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/dropins + +# FIXME: Please don't install stuff to these directories. They're only +# still here for legacy plugins (which probably won't function in 3.4). +# We'll remove these later. install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/features install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins @@ -861,13 +869,13 @@ for f in about.html about_files \.eclipseproduct epl-v10.html notice.html readme fi done dropins=$provisionDir/dropins -mkdir $dropins/jdt $dropins/sdk -mv $jdtDir/features $dropins/jdt -mv $jdtDir/plugins $dropins/jdt +mkdir -p $dropins/jdt/eclipse $dropins/sdk/eclipse +mv $jdtDir/features $dropins/jdt/eclipse +mv $jdtDir/plugins $dropins/jdt/eclipse mv $jdtMetadata/content.xml $dropins/jdt -mv $sdkDir/features $dropins/sdk -mv $sdkDir/plugins $dropins/sdk +mv $sdkDir/features $dropins/sdk/eclipse +mv $sdkDir/plugins $dropins/sdk/eclipse mv $sdkMetadata/content.xml $dropins/sdk rm -rf $metadataDir $jdtDir $sdkDir $installDir mv $provisionDir $sdkDir @@ -890,6 +898,8 @@ cp -p features/org.eclipse.platform/gtk/eclipse.ini $sdkDir cp -p features/org.eclipse.platform/gtk/eclipse.ini.patched \ $sdkDir/eclipse.ini +# We have /usr/share/eclipse/dropins in eclipse.ini +sed -i "s|/usr/share|%{_datadir}|" $sdkDir/eclipse.ini # Add a compatibility symlink to startup.jar pushd $sdkDir @@ -956,10 +966,11 @@ for lib in `find configuration -name \*.so`; do done mkdir -p $RPM_BUILD_ROOT%{_libdir}/%{name}/links - +# FIXME: We can probably get rid of the links file when we ensure all +# plugins are installing into dropins (either in libdir or datadir). # Set up an extension location and a link file for the arch-independent dir echo "path:%{_datadir}" > \ - $RPM_BUILD_ROOT%{_libdir}/%{name}/links/datadir.link + $sdkDir/links/datadir.link # Ensure the launcher binary has the correct permissions chmod 755 $RPM_BUILD_ROOT/%{_libdir}/%{name}/%{name} @@ -992,9 +1003,10 @@ ln -s ../%{name}/swt-gtk-%{eclipse_majmin}.%{eclipse_micro}.jar ../java/swt.jar popd # Install the eclipse-ecj.jar symlink for java-1.4.2-gcj-compat's "javac" -JDTCORESUFFIX=$(ls $RPM_BUILD_ROOT%{_libdir}/%{name}/dropins/jdt/plugins | grep jdt.core_ | sed "s/org.eclipse.jdt.core_//") +JDTCORESUFFIX=$(ls $RPM_BUILD_ROOT%{_libdir}/%{name}/dropins/jdt/eclipse/plugins \ + | grep jdt.core_ | sed "s/org.eclipse.jdt.core_//") install -d -m 755 $RPM_BUILD_ROOT%{_javadir} -ln -s %{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.core_$JDTCORESUFFIX \ +ln -s %{_libdir}/%{name}/dropins/jdt/eclipse/plugins/org.eclipse.jdt.core_$JDTCORESUFFIX \ $RPM_BUILD_ROOT%{_javadir}/eclipse-ecj-%{version}.jar ln -s %{_javadir}/eclipse-ecj-%{version}.jar \ $RPM_BUILD_ROOT%{_javadir}/eclipse-ecj.jar @@ -1048,11 +1060,11 @@ mkdir -p $RPM_BUILD_ROOT%{_libdir}/%{name}/buildscripts cp -p copy-platform $RPM_BUILD_ROOT%{_libdir}/%{name}/buildscripts copyPlatform=$RPM_BUILD_ROOT%{_libdir}/%{name}/buildscripts/copy-platform pushd $RPM_BUILD_ROOT%{_libdir}/%{name} -for p in $(ls -d dropins/jdt/plugins/*); do +for p in $(ls -d dropins/jdt/eclipse/plugins/*); do plugin=$(basename $p) echo $p | sed -e"s,^\(.*\),[ ! -e plugins/$plugin ] \&\& ln -s \$eclipse/\1 plugins/$plugin," >> $copyPlatform done -for p in $(ls -d dropins/sdk/plugins/*); do +for p in $(ls -d dropins/sdk/eclipse/plugins/*); do plugin=$(basename $p) echo $p | sed -e"s,^\(.*\),[ ! -e plugins/$plugin ] \&\& ln -s \$eclipse/\1 plugins/$plugin," >> $copyPlatform done @@ -1061,7 +1073,7 @@ popd # Install the PDE Build wrapper script. install -p -D -m0755 %{SOURCE21} \ $RPM_BUILD_ROOT%{_libdir}/%{name}/buildscripts/pdebuild -PDEBUILDVERSION=$(ls $RPM_BUILD_ROOT%{_libdir}/%{name}/dropins/sdk/plugins \ +PDEBUILDVERSION=$(ls $RPM_BUILD_ROOT%{_libdir}/%{name}/dropins/sdk/eclipse/plugins \ | grep org.eclipse.pde.build_ | \ sed 's/org.eclipse.pde.build_//') sed -i "s/@PDEBUILDVERSION@/$PDEBUILDVERSION/g" \ @@ -1072,11 +1084,11 @@ rm plugins/org.sat4j* ln -s %{_javadir}/org.sat4j.core_* plugins/ ln -s %{_javadir}/org.sat4j.pb_* plugins/ -ASMPLUGINVERSION=$(ls dropins/sdk/plugins | grep org.objectweb.asm_ | \ +ASMPLUGINVERSION=$(ls dropins/sdk/eclipse/plugins | grep org.objectweb.asm_ | \ sed 's/org.objectweb.asm_//') -rm dropins/sdk/plugins/org.objectweb.asm_$ASMPLUGINVERSION +rm dropins/sdk/eclipse/plugins/org.objectweb.asm_$ASMPLUGINVERSION ln -s %{_javadir}/objectweb-asm/asm-all.jar \ - dropins/sdk/plugins/org.objectweb.asm_$ASMPLUGINVERSION + dropins/sdk/eclipse/plugins/org.objectweb.asm_$ASMPLUGINVERSION ## BEGIN ANT ## ANTDIR=plugins/$(ls plugins | grep org.apache.ant_) @@ -1114,7 +1126,7 @@ JETTYPLUGINVERSION=$(ls plugins | grep org.mortbay.jetty_5 | sed 's/org.mortbay. rm plugins/org.mortbay.jetty_$JETTYPLUGINVERSION ln -s %{_javadir}/jetty/jetty.jar plugins/org.mortbay.jetty_$JETTYPLUGINVERSION -pushd dropins/jdt +pushd dropins/jdt/eclipse build-jar-repository -s -p plugins/org.junit_* junit JUNIT4VERSION=$(ls plugins | grep org.junit4_ | sed 's/org.junit4_//') @@ -1196,9 +1208,9 @@ fi %defattr(-,root,root) %dir %{_libdir}/%{name} %dir %{_libdir}/%{name}/dropins -%dir %{_libdir}/%{name}/dropins/jdt -%dir %{_libdir}/%{name}/dropins/jdt/plugins -%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.core_* +%dir %{_libdir}/%{name}/dropins/jdt/eclipse +%dir %{_libdir}/%{name}/dropins/jdt/eclipse/plugins +%{_libdir}/%{name}/dropins/jdt/eclipse/plugins/org.eclipse.jdt.core_* %{_javadir}/eclipse-ecj*.jar %{_javadir}/jdtcore*.jar %{_javadir}/ecj*.jar @@ -1279,6 +1291,7 @@ fi %{_datadir}/icons/*/*/apps/* %{_libdir}/%{name}/eclipse %dir %{_libdir}/%{name}/dropins +%dir %{_datadir}/%{name}/dropins %{_libdir}/%{name}/features/org.eclipse.platform_* %{_libdir}/%{name}/plugins/com.jcraft.jsch_* %{_libdir}/%{name}/plugins/javax.servlet_* @@ -1406,26 +1419,26 @@ fi %defattr(-,root,root) %{_bindir}/efj %{_libdir}/%{name}/dropins/jdt/content.xml -%{_libdir}/%{name}/dropins/jdt/features -%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt_* -%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.ant.ui_* -%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.apt.core_* -%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.apt.ui_* -%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.apt.pluggable.core_* -%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.compiler.apt_* -%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.compiler.tool_* -%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.core_* -%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.core.manipulation_* -%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.debug.ui_* -%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.debug_* -%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.junit_* -%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.junit.runtime_* -%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.junit4.runtime_* -%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.launching_* -%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.ui_* -%{_libdir}/%{name}/dropins/jdt/plugins/org.junit_* -%{_libdir}/%{name}/dropins/jdt/plugins/org.junit4_* -%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.doc.user_* +%{_libdir}/%{name}/dropins/jdt/eclipse/features +%{_libdir}/%{name}/dropins/jdt/eclipse/plugins/org.eclipse.jdt_* +%{_libdir}/%{name}/dropins/jdt/eclipse/plugins/org.eclipse.ant.ui_* +%{_libdir}/%{name}/dropins/jdt/eclipse/plugins/org.eclipse.jdt.apt.core_* +%{_libdir}/%{name}/dropins/jdt/eclipse/plugins/org.eclipse.jdt.apt.ui_* +%{_libdir}/%{name}/dropins/jdt/eclipse/plugins/org.eclipse.jdt.apt.pluggable.core_* +%{_libdir}/%{name}/dropins/jdt/eclipse/plugins/org.eclipse.jdt.compiler.apt_* +%{_libdir}/%{name}/dropins/jdt/eclipse/plugins/org.eclipse.jdt.compiler.tool_* +%{_libdir}/%{name}/dropins/jdt/eclipse/plugins/org.eclipse.jdt.core_* +%{_libdir}/%{name}/dropins/jdt/eclipse/plugins/org.eclipse.jdt.core.manipulation_* +%{_libdir}/%{name}/dropins/jdt/eclipse/plugins/org.eclipse.jdt.debug.ui_* +%{_libdir}/%{name}/dropins/jdt/eclipse/plugins/org.eclipse.jdt.debug_* +%{_libdir}/%{name}/dropins/jdt/eclipse/plugins/org.eclipse.jdt.junit_* +%{_libdir}/%{name}/dropins/jdt/eclipse/plugins/org.eclipse.jdt.junit.runtime_* +%{_libdir}/%{name}/dropins/jdt/eclipse/plugins/org.eclipse.jdt.junit4.runtime_* +%{_libdir}/%{name}/dropins/jdt/eclipse/plugins/org.eclipse.jdt.launching_* +%{_libdir}/%{name}/dropins/jdt/eclipse/plugins/org.eclipse.jdt.ui_* +%{_libdir}/%{name}/dropins/jdt/eclipse/plugins/org.junit_* +%{_libdir}/%{name}/dropins/jdt/eclipse/plugins/org.junit4_* +%{_libdir}/%{name}/dropins/jdt/eclipse/plugins/org.eclipse.jdt.doc.user_* %files pde %defattr(-,root,root) @@ -1435,6 +1448,11 @@ fi %{_libdir}/%{name}/configuration/org.eclipse.equinox.source %changelog +* Tue Aug 05 2008 Andrew Overholt 3.4.0-16 +- Ensure %%{_datadir}/eclipse/dropins gets watched in eclipse.ini +- Move JDT and SDK bits to dropins/{jdt,sdk}/eclipse for consistency +- Update copy-platform to add %%{_datadir}/dropins + * Mon Aug 04 2008 Sean Flanigan 3.4.0-15 - Removed buildroot from path in datadir.link