diff --git a/eclipse-add-ppc64-sparc64-s390-s390x.patch b/eclipse-add-ppc64-sparc64-s390-s390x.patch index c3808eb..b2dd657 100644 --- a/eclipse-add-ppc64-sparc64-s390-s390x.patch +++ b/eclipse-add-ppc64-sparc64-s390-s390x.patch @@ -77,7 +77,7 @@ retrieving revision 1.40.2.1 diff -u -r1.40.2.1 feature.xml --- features/org.eclipse.rcp/feature.xml 1 Aug 2006 17:29:33 -0000 1.40.2.1 +++ features/org.eclipse.rcp/feature.xml 6 Feb 2007 23:44:22 -0000 -@@ -308,5 +308,60 @@ +@@ -308,5 +308,38 @@ install-size="0" version="0.0.0" unpack="false"/> @@ -94,28 +94,6 @@ diff -u -r1.40.2.1 feature.xml + unpack="false"/> + + -+ -+ -+ -+ - - -+ -+ -+ -+ +@@ -42,4 +42,6 @@ + + + ++ ++ diff -ru features/org.eclipse.rcp.source/feature.xml features/org.eclipse.rcp.source/feature.xml --- features/org.eclipse.rcp.source/feature.xml 2007-02-06 19:04:06.000000000 -0500 +++ features/org.eclipse.rcp.source/feature.xml 2007-02-06 19:09:11.000000000 -0500 -@@ -28,4 +28,9 @@ - - - +@@ -30,4 +30,7 @@ + + + + -+ -+ + + diff --git a/eclipse.spec b/eclipse.spec index e6569f4..682f005 100644 --- a/eclipse.spec +++ b/eclipse.spec @@ -19,11 +19,11 @@ Epoch: 1 Summary: An open, extensible IDE Name: eclipse Version: %{eclipse_majmin}.%{eclipse_micro} -Release: 0.2.RC4%{?dist} +Release: 0.3.RC4%{?dist} License: Eclipse Public License Group: Text Editors/Integrated Development Environments (IDE) URL: http://www.eclipse.org/ -Source0: http://download.eclipse.org/eclipse/downloads/drops/S-3.3RC4-200706081718/eclipse-sourceBuild-srcIncluded-3.3RC4.zip +Source0: http://download.eclipse.org/eclipse/downloads/drops/S-3.3RC4-200706081718/eclipse-sourceBuild-srcIncluded-3.3RC4.zip Source1: %{name}-fedora-splash-3.3.0.png Source2: %{name}.desktop Source3: eclipse.in @@ -64,6 +64,7 @@ Patch6: %{name}-tomcat55.patch Patch7: %{name}-tomcat55-build.patch # Use ecj for gcj Patch17: %{name}-ecj-gcj.patch +Patch24: %{name}-add-ppc64-sparc64-s390-s390x.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: ant @@ -575,6 +576,29 @@ sed --in-place "s|\(initialValue = request.getDefaultValue\)|// \1|" \ sed --in-place "s|\(value = fRequest.getDefaultValue\)|// \1|" \ plugins/org.eclipse.ant.ui/Remote\ Ant\ Support/org/eclipse/ant/internal/ui/antsupport/inputhandler/SWTInputHandler.java +## Nasty hack to get suppport for ppc64, s390{,x} and sparc{,64} +%patch24 -p0 +# there is only partial support for ppc64 in 3.2 so we have to remove this +# partial support to get the replacemnt hack to work +find -name \*ppc64\* | xargs rm -r +# remove ppc64 support from features/org.eclipse.platform.source/feature.xml +# replace ppc64 with a fake arch (ppc128) so we don't have duplicate ant targets +find -type f -name \*.xml -exec sed --in-place "s/\(rootFileslinux_gtk_\)ppc64/\1ppc128/g" "{}" \; +# remove org.eclipse.platform.source.linux.gtk.ppc64,3.2.0.v20060602-0010-gszCh-8eOaU1uKq +sed --in-place "s/,.\{38\}ppc64.*macosx/,org.eclipse.platform.source.macosx/g" features/org.eclipse.platform.source/build.xml +# replace final occurances with an existing arch +sed --in-place "s/ppc64/x86_64/g" features/org.eclipse.platform.source/build.xml +# Move all of the ia64 directories to ppc64 or s390{,x} or sparc{,64} dirs and replace +# the ia64 strings with ppc64 or s390(x) +%ifarch ppc64 s390 s390x sparc sparc64 + for f in $(find -name \*ia64\* | grep -v motif | grep -v ia64_32); do + mv $f $(echo $f | sed "s/ia64/%{_arch}/") + done + find -type f ! -name \*.java -a ! -name feature.xml -exec sed --in-place "s/ia64_32/@eye-eh-64_32@/g" "{}" \; + find -type f ! -name \*.java -a ! -name feature.xml -exec sed --in-place "s/ia64/%{_arch}/g" "{}" \; + find -type f ! -name \*.java -a ! -name feature.xml -exec sed --in-place "s/@eye-eh-64_32@/ia64_32/g" "{}" \; +%endif + # link to the jsch jar rm plugins/com.jcraft.jsch_0.1.31.jar ln -s %{_javadir}/jsch.jar plugins/com.jcraft.jsch_0.1.31.jar @@ -1020,6 +1044,85 @@ build-jar-repository -s -p plugins/org.junit_* junit rm plugins/com.jcraft.jsch_0.1.31.jar ln -s %{_javadir}/jsch.jar plugins/com.jcraft.jsch_0.1.31.jar +# Ensure that the zip files are the same across all builds. +# This is needed to make these package multilib compatible. +# FIXME: this needs to be re-written as a separate program +# warning: big hack! +mkdir -p ${RPM_BUILD_ROOT}/tmp +for zip in `find ${RPM_BUILD_ROOT}%{_datadir}/%{name} -type f -name \*.zip -o -type f -name \*.jar`; do + # unpack every zip, set the date of the files and directories and repack the zip + ZIPNAME=`basename $zip` + TMPDIR=`mktemp -d -p ${RPM_BUILD_ROOT}/tmp $ZIPNAME.tmpdir.XXXXXXXXXX` + ZIPDIR=`mktemp -d -p ${RPM_BUILD_ROOT}/tmp $ZIPNAME.zipdir.XXXXXXXXXX` + + pushd $TMPDIR + unzip -qq -o $zip + rm -f $zip + + # check if there are jars or zips inside the zip or jar + zipsinside=`find $TMPDIR -type f -name \*.zip -o -name \*.jar` + if [ -n "$zipsinside" ]; then + for zip2 in $zipsinside; do + # unpack every zip, set the date of the files and directories and repack the zip + ZIPNAME2=`basename $zip2` + TMPDIR2=`mktemp -d -p ${RPM_BUILD_ROOT}/tmp $ZIPNAME2.tmpdir.XXXXXXXXXX` + ZIPDIR2=`mktemp -d -p ${RPM_BUILD_ROOT}/tmp $ZIPNAME2.zipdir.XXXXXXXXXX` + + pushd $TMPDIR2 + unzip -qq -o $zip2 + rm -f $zip2 + + # create the directories first + for d in `find -type d | LC_ALL=C sort`; do + mkdir -p $ZIPDIR2/$d + done + # move the contents over to the a new directory in order and set the times. + for f in `find -type f | LC_ALL=C sort`; do + cp $f $ZIPDIR2/$f + touch --date="1970-01-01 UTC" $ZIPDIR2/$f + done + popd + + # Set the times of the directories. + touch --date="1970-01-01 UTC" `find $ZIPDIR2 -type d` + + # make the new zip + pushd $ZIPDIR2 + find -type f -print | LC_ALL=C sort | /usr/bin/zip -q -X -9 $zip2 -@ + popd + + # Cleanup. + rm -rf $TMPDIR2 + rm -rf $ZIPDIR2 + done + fi + + # now on to the original zip or jar. + # create the directories first + for d in `find -type d | LC_ALL=C sort`; do + mkdir -p $ZIPDIR/$d + done + # move the contents over to the a new directory in order and set the times. + for f in `find -type f | LC_ALL=C sort`; do + cp $f $ZIPDIR/$f + touch --date="1970-01-01 UTC" $ZIPDIR/$f + done + popd + + # Set the times of the directories. + touch --date="1970-01-01 UTC" `find $ZIPDIR -type d` + + # make the new zip + pushd $ZIPDIR + find -type f -print | LC_ALL=C sort | /usr/bin/zip -q -X -9 $zip -@ + popd + + # Cleanup. + rm -rf $TMPDIR + rm -rf $ZIPDIR +done +rm -rf ${RPM_BUILD_ROOT}/tmp + # remove this python script so that it is not aot compiled, thus avoiding a # multilib conflict ANTPLUGINVERSION=$(ls plugins | grep org.apache.ant_ | sed 's/org.apache.ant_//') @@ -1493,6 +1596,10 @@ fi %{_libdir}/%{name}/plugins/org.eclipse.sdk_* %changelog +* Wed Jun 27 2007 Ben Konrath 3.3.0-0.3.RC4 +- Restore ppc64, s390{,x} and sparc{,64} support. +- Restore multilib support. + * Tue Jun 19 2007 Ben Konrath 3.3.0-0.2.RC4 - Use icu4j-eclipse sub-package instead of building icu4j here. - Use exec in binary wrapper.