From 8edcfdd44a3acb9ac4c018a0ef638e81efc00f37 Mon Sep 17 00:00:00 2001 From: Andrew Overholt Date: Nov 16 2009 23:20:58 +0000 Subject: - Merge fixes from rawhide. - Fixes rh#537536. --- diff --git a/eclipse.spec b/eclipse.spec index e25f2fa..fa444e9 100644 --- a/eclipse.spec +++ b/eclipse.spec @@ -1,17 +1,15 @@ # TODO: -# - look at startup script and launcher patches -# - get Ganymede update site pre-configured (https://bugs.eclipse.org/249133) -# - investigate bi-arch requirements # - see why about.html isn't being copied on ppc # - fix ant libs Epoch: 1 -%define eclipse_major 3 -%define eclipse_minor 5 -%define eclipse_majmin %{eclipse_major}.%{eclipse_minor} -%define eclipse_micro 1 -%define initialize 1 +%global eclipse_major 3 +%global eclipse_minor 5 +%global eclipse_majmin %{eclipse_major}.%{eclipse_minor} +%global eclipse_micro 1 +%global initialize 1 %global download_url http://download.eclipse.org/technology/linuxtools/eclipse-build/ +%global bootstrap 0 # All arches line up between Eclipse and Linux kernel names except i386 -> x86 %ifarch %{ix86} @@ -29,11 +27,11 @@ Epoch: 1 Summary: An open, extensible IDE Name: eclipse Version: %{eclipse_majmin}.%{eclipse_micro} -Release: 4%{?dist} +Release: 19%{?dist} License: EPL Group: Text Editors/Integrated Development Environments (IDE) URL: http://www.eclipse.org/ -Source0: %{download_url}eclipse-build-0.4.0RC0.tar.gz +Source0: %{download_url}eclipse-build-0_4_RC4.tar.gz Source1: %{download_url}eclipse-R3_5_1-fetched-src.tar.bz2 Source2: eclipse.sh.in Source17: efj.sh.in @@ -43,15 +41,10 @@ Source19: %{name}-filenamepatterns.txt # This script copies the platform sub-set of the SDK for generating metadata Source28: %{name}-mv-Platform.sh -Patch0: %{name}-add-ppc64-sparc64-s390-s390x.patch -Patch1: %{name}-add-ppc64-sparc64-s390-s390x-2.patch - -Patch2: %{name}-add-ppc64-filesystem.patch - # Make sure the shipped target platform templates are looking in the # correct location for source bundles (see RHBZ # 521969). This does not # need to go upstream. -Patch3: %{name}-target-platform-template.patch +Patch0: %{name}-target-platform-template.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: ant @@ -69,33 +62,32 @@ BuildRequires: mesa-libGL-devel BuildRequires: mesa-libGLU-devel BuildRequires: cairo >= 1.0 BuildRequires: unzip -BuildRequires: icu4j-eclipse >= 1:4.0.1-3 -BuildRequires: tomcat5-jasper-eclipse >= 5.5.27-6.3 -BuildRequires: tomcat6-servlet-2.5-api >= 6.0.18-9.2 BuildRequires: desktop-file-utils BuildRequires: java-devel >= 1.6.0 BuildRequires: java-javadoc BuildRequires: libXt-devel BuildRequires: xulrunner-devel-unstable +%if !%{bootstrap} +BuildRequires: icu4j-eclipse >= 1:4.0.1-3 +BuildRequires: tomcat5-jasper-eclipse >= 5.5.27-6.3 +BuildRequires: tomcat6-servlet-2.5-api >= 6.0.18-9.2 BuildRequires: ant-antlr ant-apache-bcel ant-apache-log4j ant-apache-oro ant-apache-regexp ant-apache-resolver ant-commons-logging ant-apache-bsf ant-commons-net BuildRequires: ant-javamail ant-jdepend ant-junit ant-nodeps ant-swing ant-trax ant-jsch BuildRequires: jsch >= 0:0.1.41 -BuildRequires: jakarta-commons-beanutils jakarta-commons-collections jakarta-commons-digester jakarta-commons-dbcp jakarta-commons-fileupload jakarta-commons-launcher jakarta-commons-modeler jakarta-commons-pool BuildRequires: jakarta-commons-el >= 1.0-9 BuildRequires: jakarta-commons-logging >= 1.0.4-6jpp.3 BuildRequires: jakarta-commons-codec BuildRequires: jakarta-commons-httpclient -BuildRequires: mx4j >= 2.1 BuildRequires: jetty >= 6.1.20 BuildRequires: lucene >= 2.3.1-3.4 BuildRequires: lucene-contrib >= 2.3.1-3.4 -BuildRequires: regexp BuildRequires: junit >= 3.8.1-3jpp BuildRequires: junit4 BuildRequires: hamcrest >= 0:1.1-9.2 BuildRequires: sat4j >= 2.1.0-1 BuildRequires: objectweb-asm +%endif %description The Eclipse platform is designed for building integrated development @@ -122,7 +114,9 @@ SWT Library for GTK+-2.0. Summary: Eclipse Rich Client Platform Group: Development/Languages Requires: %{name}-swt = %{epoch}:%{version}-%{release} +%if ! %{bootstrap} Requires: icu4j-eclipse >= 1:4.0.1-3 +%endif Requires: java >= 1.6.0 %description rcp @@ -132,21 +126,20 @@ Eclipse Rich Client Platform Summary: Eclipse platform common files Group: Text Editors/Integrated Development Environments (IDE) Requires: %{name}-rcp = %{epoch}:%{version}-%{release} +%if ! %{bootstrap} Requires: ant-antlr ant-apache-bcel ant-apache-log4j ant-apache-oro ant-apache-regexp ant-apache-resolver ant-commons-logging ant-apache-bsf ant-commons-net Requires: ant-javamail ant-jdepend ant-junit ant-nodeps ant-swing ant-trax ant-jsch -Requires: jakarta-commons-beanutils jakarta-commons-collections jakarta-commons-digester jakarta-commons-dbcp jakarta-commons-fileupload jakarta-commons-launcher jakarta-commons-modeler jakarta-commons-pool Requires: jakarta-commons-el >= 1.0-9 Requires: jakarta-commons-logging >= 1.0.4-6jpp.3 Requires: jakarta-commons-codec -Requires: mx4j >= 2.1 Requires: tomcat5-jasper-eclipse >= 5.5.27-6.3 Requires: tomcat6-servlet-2.5-api >= 6.0.18-9.2 Requires: jetty >= 6.1.20 Requires: jsch >= 0.1.41 Requires: lucene >= 2.3.1-3.4 Requires: lucene-contrib >= 2.3.1-3.4 -Requires: regexp Requires: sat4j >= 2.1.0-1 +%endif Provides: eclipse-cvs-client = 1:%{version}-%{release} Obsoletes: eclipse-cvs-client < 1:3.3.2-20 @@ -159,9 +152,11 @@ Summary: Eclipse Java Development Tools Group: Text Editors/Integrated Development Environments (IDE) Requires: %{name}-platform = %{epoch}:%{version}-%{release} Requires: %{name}-cvs-client = %{epoch}:%{version}-%{release} +%if ! %{bootstrap} Requires: junit >= 3.8.1-3jpp Requires: junit4 Requires: jakarta-commons-httpclient +%endif Requires: java-javadoc Requires: java-devel @@ -172,27 +167,27 @@ developing software written in the Java programming language. %package pde Summary: Eclipse Plugin Development Environment Group: Text Editors/Integrated Development Environments (IDE) -Provides: eclipse -Provides: eclipse-sdk +Provides: eclipse +Provides: eclipse-sdk Requires: %{name}-platform = %{epoch}:%{version}-%{release} Requires: %{name}-jdt = %{epoch}:%{version}-%{release} +%if ! %{bootstrap} Requires: objectweb-asm Requires: hamcrest >= 0:1.1-9.2 +%endif # For PDE Build wrapper script Requires: bash Provides: %{name}-pde-runtime = 1:%{version}-%{release} -# The 20 is more than the currently (2008-06-25) latest 3.3.2 package -# but I want to leave some room in case we need to do an F9 update. -Obsoletes: %{name}-pde-runtime < 1:3.3.2-20 +Obsoletes: %{name}-pde-runtime < 1:3.3.2-20 %description pde Eclipse Plugin Development Environment. This package is required for developing Eclipse plugins. %prep -%setup -q -n eclipse-build-0.4.0RC0 +%setup -q -n eclipse-build-0_4_RC4 cp %{SOURCE1} . -ant applyPatches +ant -DbuildArch=%{eclipse_arch} applyPatches pushd build/eclipse-R3_5_1-fetched-src # Use our system-installed javadocs, reference only what we built, and @@ -214,10 +209,6 @@ sed -i -e "s|http://java.sun.com/j2se/1.4/docs/api|%{_datadir}/javadoc/java|" \ find -iname \*.sf | xargs rm find -iname \*.rsa | xargs rm -# Remove existing .sos and binary launcher -find -name \*.so | xargs rm -find features/org.eclipse.equinox.executable -type f -name eclipse | xargs rm - # FIXME: do this as part of Linux distros project # # the swt version is set to HEAD on s390x but shouldn't be @@ -230,85 +221,7 @@ swt_frag_ver_s390x=$(grep "version\.suffix\" value=" plugins/org.eclipse.swt.gtk sed --in-place "s|$swt_frag_ver_s390x|$swt_frag_ver|g" plugins/org.eclipse.swt.gtk.linux.s390x/build.xml \ plugins/org.eclipse.swt.gtk.linux.s390x/META-INF/MANIFEST.MF -# Nasty hack to get suppport for ppc64, sparc{,64} and alpha -%ifarch ppc64 -%patch0 -p1 -%patch1 -%patch2 -%endif - -# Copy all of the s390x directories and files to ppc64 or sparc{,64} or alpha dirs and replace -# the s390x strings with ppc64, etc. -%ifnarch %{ix86} x86_64 - cp -rp features/org.eclipse.platform/about_files/linux.gtk.{x86,%{_arch}} -%endif -%ifarch ppc64 sparc sparcv9 sparc64 alpha - for f in $(find -name \*s390x\* ); do - tofile=$(echo $f | sed "s/s390x/%{_arch}/") - cp -rp $f $tofile - for g in $(find $tofile -type f); do - sed -i "s/s390x/%{_arch}/g" $g - done - done - mv buildConfigs/eclipse-build-config/build.properties buildConfigs/eclipse-build-config/build.properties.java - OLDIFS=$IFS -IFS=' -' - for f in $(find -type f ! -name \*.java -a ! -name feature.xml -a ! -name \*.gif \ - -a ! -name \*.png -a ! -name \*.htm* -a ! -name \*.jar -a ! -name \ - \*.exe -a ! -name \*.pm -a ! -name \*.jpg -a ! -name \*win32\* | grep -v win32); do - sed -i -e "s/s390x/%{_arch}/g" $f - done - IFS=$OLDIFS - - mv buildConfigs/eclipse-build-config/build.properties.java buildConfigs/eclipse-build-config/build.properties - sed -i -e "s|contributed/gtk/linux/ppc64|bin/gtk/linux/ppc64|g" buildConfigs/eclipse-build-config/productFiles/rcpConfig/build.properties - sed -i -e "s|s390x|%{_arch}|" features/org.eclipse.rcp/feature.xml - sed -i -e "s/%{_arch}/s390x/g" plugins/org.eclipse.swt.gtk.linux.s390x/META-INF/MANIFEST.MF - sed -i -e "s/%{_arch}/s390x/g" plugins/org.eclipse.equinox.launcher.gtk.linux.s390x/META-INF/MANIFEST.MF -%endif - -%ifarch ppc64 sparc sparcv9 sparc64 alpha ia64 -IFS=' -' - # Fragments for these arches - rm -rf plugins/org.eclipse.equinox.launcher.gtk.linux.%{_arch} - cp -R plugins/org.eclipse.equinox.launcher.gtk.linux.{ppc,%{_arch}} - pushd plugins/org.eclipse.equinox.launcher.gtk.linux.%{_arch} - for f in $(find -type f); do - sed -i -e "s/ppc/%{_arch}/g" $f - tofile=$(echo $f | sed "s/ppc/%{_arch}/") - if [ $tofile != $f ]; then - cp -rp $f $tofile - fi - done - popd - rm -rf plugins/org.eclipse.core.filesystem.linux.%{_arch} - cp -R plugins/org.eclipse.core.filesystem.linux.{ppc,%{_arch}} - pushd plugins/org.eclipse.core.filesystem.linux.%{_arch} - for f in $(find -type f); do - sed -i -e "s/ppc/%{_arch}/g" $f - tofile=$(echo $f | sed "s/ppc/%{_arch}/") - if [ $tofile != $f ]; then - cp -rp $f $tofile - fi - done - popd - rm -rf plugins/org.eclipse.swt.gtk.linux.%{_arch} - cp -R plugins/org.eclipse.swt.gtk.linux.{ppc,%{_arch}} - pushd plugins/org.eclipse.swt.gtk.linux.%{_arch} - for f in $(find -type f); do - sed -i -e "s/ppc/%{_arch}/g" $f - tofile=$(echo $f | sed "s/ppc/%{_arch}/") - if [ $tofile != $f ]; then - cp -rp $f $tofile - fi - done - popd - IFS=$OLDIFS - -%endif - +%if ! %{bootstrap} # Symlinks rm plugins/org.sat4j* ln -s %{_javadir}/org.sat4j.core* plugins/org.sat4j.core_2.1.0.v20090520.jar @@ -453,6 +366,9 @@ rm plugins/org.eclipse.swt/extra_jars/exceptions.jar \ plugins/org.eclipse.osgi/osgi/osgi.cmpn.jar \ plugins/org.eclipse.osgi/osgi/osgi.core.jar +#fix build with commons-codec 1.4. Upstream has 1.3. +sed -i "s|1.3.0.qualifier|0.0.0|g" features/org.eclipse.equinox.p2.user.ui/feature.xml + # make sure there are no jars left JARS="" for j in $(find -name \*.jar); do @@ -464,9 +380,10 @@ if [ ! -z "$JARS" ]; then echo "These jars should be deleted and symlinked to system jars: $JARS" #FIXME: enable exit 1 fi +%endif # target platform template patch -%patch3 -p0 +%patch0 -p0 popd %build @@ -593,7 +510,7 @@ org.eclipse.equinox.p2.director \ # Stuff in JDT, PDE, SDK for f in about.html about_files \.eclipseproduct epl-v10.html notice.html readme; do - if [ -e $installDir/$f ]; then + if [ -e $installDir/$f ]; then mv $installDir/$f $provisionDir fi done @@ -718,6 +635,17 @@ cp -p eclipse.ini-real \ sed -i "s|$RPM_BUILD_ROOT||g" $sdkDir/eclipse.ini +# Temporary fix until https://bugs.eclipse.org/294877 is resolved +sed -i "s|-Xms40m|-Xms128m|g" $sdkDir/eclipse.ini +sed -i "s|-Xms256m|-Xms512m|g" $sdkDir/eclipse.ini +echo "" >> $sdkDir/eclipse.ini +echo "-XX:CompileCommand=exclude,org/eclipse/core/internal/dtree/DataTreeNode,forwardDeltaWith" >> $sdkDir/eclipse.ini +echo "-XX:CompileCommand=exclude,org/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding," >> $sdkDir/eclipse.ini +echo "-XX:CompileCommand=exclude,org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates,instantiateTemplate" >> $sdkDir/eclipse.ini +echo "-XX:CompileCommand=exclude,org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage,addBinding" >> $sdkDir/eclipse.ini +echo "-XX:CompileCommand=exclude,org/python/pydev/editor/codecompletion/revisited/PythonPathHelper,isValidSourceFile" >> $sdkDir/eclipse.ini +echo "-XX:CompileCommand=exclude,org/python/pydev/ui/filetypes/FileTypesPreferencesPage,getDottedValidSourceFiles" >> $sdkDir/eclipse.ini + 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). @@ -745,7 +673,7 @@ sed --in-place "s:startup.jar:%{_libdir}/%{name}/startup.jar:" \ rm -rf $installDir # A sanity check. -desktop-file-validate %{name}.desktop +desktop-file-validate %{buildroot}/%{_datadir}/applications/%{name}.desktop # Create a script that can be used to make a symlink tree of the # eclipse platform. @@ -784,6 +712,7 @@ PDEBUILDVERSION=$(ls $RPM_BUILD_ROOT%{_libdir}/%{name}/dropins/sdk/plugins \ sed -i "s/@PDEBUILDVERSION@/$PDEBUILDVERSION/g" \ $RPM_BUILD_ROOT%{_libdir}/%{name}/buildscripts/pdebuild +%if ! %{bootstrap} pushd $RPM_BUILD_ROOT%{_libdir}/%{name} rm plugins/org.sat4j* ln -s %{_javadir}/org.sat4j.core* plugins/org.sat4j.core_2.1.0.v20090520.jar @@ -913,8 +842,8 @@ JSPAPIVERSION=$(ls plugins | grep javax.servlet.jsp_ | \ rm plugins/javax.servlet.jsp_* ln -s %{_javadir}/tomcat5-jsp-2.0-api.jar \ plugins/javax.servlet.jsp_$JSPAPIVERSION - popd +%endif %clean rm -rf $RPM_BUILD_ROOT @@ -963,6 +892,9 @@ fi %{_libdir}/%{name}/configuration/org.eclipse.osgi/.manager %{_libdir}/%{name}/configuration/org.eclipse.osgi/.state* %endif +%if %{bootstrap} +%{_libdir}/%{name}/plugins/com.ibm.icu_* +%endif %config %{_libdir}/%{name}/configuration %config %{_libdir}/%{name}/configuration/config.ini %config %{_libdir}/%{name}/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info @@ -970,7 +902,7 @@ fi %{_libdir}/%{name}/notice.html %{_libdir}/%{name}/epl-v10.html %{_libdir}/%{name}/links -%ifnarch ppc +%ifnarch ppc ppc64 %{_libdir}/%{name}/about.html %endif %ifarch x86_64 @@ -1015,7 +947,7 @@ fi %defattr(-,root,root) %attr(0755,root,root) %{_bindir}/%{name} %config %{_libdir}/%{name}/eclipse.ini -%ifnarch ppc +%ifnarch ppc ppc64 %{_libdir}/%{name}/about_files %endif %{_datadir}/applications/* @@ -1168,16 +1100,67 @@ fi #%{_libdir}/%{name}/configuration/org.eclipse.equinox.source %changelog -* Fri Oct 30 2009 Andrew Overholt 1:3.5.1-4 +* Mon Nov 16 2009 Andrew Overholt 1:3.5.1-19 +- Merge fixes from rawhide. +- Fixes rh#537536. + +* Fri Nov 13 2009 Alexander Kurtakov 1:3.5.1-18 +- No about files on ppc64 too. + +* Wed Nov 11 2009 Alexander Kurtakov 1:3.5.1-17 +- Update to eclipse-build 0.4 RC4 (fixes pdebuild escaping). + +* Tue Nov 10 2009 Alexander Kurtakov 1:3.5.1-16 +- Specify -DbuildArch when running ant applyPatches. + +* Tue Nov 10 2009 Alexander Kurtakov 1:3.5.1-15 +- Update to eclipse-build 0.4 RC3. + +* Fri Nov 10 2009 Alexander Kurtakov 1:3.5.1-14 +- Fix build with commons-codec 1.4. + +* Fri Oct 30 2009 Andrew Overholt 1:3.5.1-13 - Make /usr/bin/eclipse a wrapper script due to rhbz#531675 (e.o#290395). -* Wed Oct 28 2009 Alexander Kurtakov 1:3.5.1-2 -- Don't install 2 desktop files. (rhbz #530450) +* Mon Oct 26 2009 Andrew Overholt 1:3.5.1-12 +- Remove old TODO items. -* Tue Oct 13 2009 Alexander Kurtakov 1:3.5.1-1 -- Update to 3.5.1. +* Fri Oct 23 2009 Alexander Kurtakov 1:3.5.1-12 +- No need to invoke desktop-file-install, it's handled by e-b install now. + +* Thu Oct 22 2009 Alexander Kurtakov 1:3.5.1-11 +- Remove ppc64 files copying and sedding. Supported by eclipse-build now. + +* Tue Oct 20 2009 Alexander Kurtakov 1:3.5.1-10 +- Remove old/not needed BR/Rs. + +* Mon Oct 19 2009 Alexander Kurtakov 1:3.5.1-9 +- New e-b snapshot that contains fragments for ppc64. + +* Thu Oct 15 2009 Alexander Kurtakov 1:3.5.1-8 +- Add bootstrap flag. + +* Tue Oct 13 2009 Alexander Kurtakov 1:3.5.1-7 - Fixes crash issue with gtk 2.18. +* Mon Oct 12 2009 Alexander Kurtakov 1:3.5.1-7 +- Put back JAVA_HOME. + +* Mon Oct 12 2009 Alexander Kurtakov 1:3.5.1-6 +- New eclipse-build snapshot. Pdebuild and ecf compilation are part of it. + +* Thu Oct 8 2009 Alexander Kurtakov 1:3.5.1-5 +- Fix install call. + +* Thu Oct 8 2009 Alexander Kurtakov 1:3.5.1-4 +- New eclipse-build snapshot. Remove parts included in it. + +* Wed Oct 07 2009 Andrew Overholt 1:3.5.1-3 +- Add patch for bugs.eclipse.org/287307 + +* Mon Oct 5 2009 Alexander Kurtakov 1:3.5.1-2 +- Add /usr/share/eclipse/dropins to dropins locations. + * Wed Sep 23 2009 Andrew Overholt 1:3.5.0-2 - Move jakarta-commons-codec requirement from jdt to platform.