diff --git a/eclipse-add-ppc64-sparc64-s390-s390x.patch b/eclipse-add-ppc64-sparc64-s390-s390x.patch new file mode 100644 index 0000000..863e956 --- /dev/null +++ b/eclipse-add-ppc64-sparc64-s390-s390x.patch @@ -0,0 +1,72 @@ +Index: src/org/eclipse/core/runtime/Platform.java +=================================================================== +RCS file: /cvsroot/eclipse/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Platform.java,v +retrieving revision 1.106 +diff -u -r1.106 Platform.java +--- plugins/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Platform.java 13 Apr 2006 00:42:47 -0000 1.106 ++++ plugins/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Platform.java 31 Jan 2007 21:33:51 -0000 +@@ -339,6 +339,11 @@ + * @since 3.1 + */ + public static final String ARCH_IA64_32 = "ia64_32";//$NON-NLS-1$ ++ ++ public static final String ARCH_PPC64 = "ppc64";//$NON-NLS-1$ ++ public static final String ARCH_SPARC64 = "sparc64";//$NON-NLS-1$ ++ public static final String ARCH_S390 = "s390";//$NON-NLS-1$ ++ public static final String ARCH_S390X = "s390x";//$NON-NLS-1$ + + /** + * Constant string (value "win32") indicating the platform is running on a +Index: src/org/eclipse/core/internal/runtime/InternalPlatform.java +=================================================================== +RCS file: /cvsroot/eclipse/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/InternalPlatform.java,v +retrieving revision 1.253 +diff -u -r1.253 InternalPlatform.java +--- plugins/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/InternalPlatform.java 21 Apr 2006 20:49:57 -0000 1.253 ++++ plugins/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/InternalPlatform.java 31 Jan 2007 21:33:50 -0000 +@@ -52,6 +52,10 @@ + Platform.ARCH_X86, // + Platform.ARCH_AMD64, // + Platform.ARCH_IA64, // ++ Platform.ARCH_PPC64, // ++ Platform.ARCH_SPARC64, // ++ Platform.ARCH_S390, // ++ Platform.ARCH_S390X, // + Platform.ARCH_IA64_32}; + private static final String BOOT = "-boot"; //$NON-NLS-1$ + private static final String CLASSLOADER_PROPERTIES = "-classloaderProperties"; //$NON-NLS-1$ +Index: eclipseAdaptor/src/org/eclipse/core/runtime/internal/adaptor/PluginConverterImpl.java +=================================================================== +RCS file: /cvsroot/eclipse/org.eclipse.osgi/eclipseAdaptor/src/org/eclipse/core/runtime/internal/adaptor/PluginConverterImpl.java,v +retrieving revision 1.13 +diff -u -r1.13 PluginConverterImpl.java +--- plugins/org.eclipse.osgi/eclipseAdaptor/src/org/eclipse/core/runtime/internal/adaptor/PluginConverterImpl.java 13 Apr 2006 16:10:27 -0000 1.13 ++++ plugins/org.eclipse.osgi/eclipseAdaptor/src/org/eclipse/core/runtime/internal/adaptor/PluginConverterImpl.java 31 Jan 2007 21:33:52 -0000 +@@ -64,7 +64,7 @@ + private static final String MANIFEST_VERSION = "Manifest-Version"; //$NON-NLS-1$ + private static final String PLUGIN_PROPERTIES_FILENAME = "plugin"; //$NON-NLS-1$ + private static PluginConverterImpl instance; +- private static final String[] ARCH_LIST = {org.eclipse.osgi.service.environment.Constants.ARCH_PA_RISC, org.eclipse.osgi.service.environment.Constants.ARCH_PPC, org.eclipse.osgi.service.environment.Constants.ARCH_SPARC, org.eclipse.osgi.service.environment.Constants.ARCH_X86, org.eclipse.osgi.service.environment.Constants.ARCH_AMD64, org.eclipse.osgi.service.environment.Constants.ARCH_IA64}; ++ private static final String[] ARCH_LIST = {org.eclipse.osgi.service.environment.Constants.ARCH_PA_RISC, org.eclipse.osgi.service.environment.Constants.ARCH_PPC, org.eclipse.osgi.service.environment.Constants.ARCH_SPARC, org.eclipse.osgi.service.environment.Constants.ARCH_X86, org.eclipse.osgi.service.environment.Constants.ARCH_AMD64, org.eclipse.osgi.service.environment.Constants.ARCH_IA64, org.eclipse.osgi.service.environment.Constants.ARCH_PPC64, org.eclipse.osgi.service.environment.Constants.ARCH_SPARC64, org.eclipse.osgi.service.environment.Constants.ARCH_S390, org.eclipse.osgi.service.environment.Constants.ARCH_S390X}; + static public final String FRAGMENT_MANIFEST = "fragment.xml"; //$NON-NLS-1$ + static public final String GENERATED_FROM = "Generated-from"; //$NON-NLS-1$ + static public final String MANIFEST_TYPE_ATTRIBUTE = "type"; //$NON-NLS-1$ +Index: eclipseAdaptor/src/org/eclipse/osgi/service/environment/Constants.java +=================================================================== +RCS file: /cvsroot/eclipse/org.eclipse.osgi/eclipseAdaptor/src/org/eclipse/osgi/service/environment/Constants.java,v +retrieving revision 1.9 +diff -u -r1.9 Constants.java +--- plugins/org.eclipse.osgi/eclipseAdaptor/src/org/eclipse/osgi/service/environment/Constants.java 13 Jun 2005 17:14:22 -0000 1.9 ++++ plugins/org.eclipse.osgi/eclipseAdaptor/src/org/eclipse/osgi/service/environment/Constants.java 31 Jan 2007 21:33:52 -0000 +@@ -119,6 +119,11 @@ + */ + public static final String ARCH_IA64_32 = "ia64_32";//$NON-NLS-1$ + ++ public static final String ARCH_PPC64 = "ppc64";//$NON-NLS-1$ ++ public static final String ARCH_SPARC64 = "sparc64";//$NON-NLS-1$ ++ public static final String ARCH_S390 = "s390";//$NON-NLS-1$ ++ public static final String ARCH_S390X = "s390x";//$NON-NLS-1$ ++ + /** + * Constant string (value "win32") indicating the platform is running on a + * machine using the Windows windowing system. diff --git a/eclipse.spec b/eclipse.spec index a28dd73..83df5cf 100644 --- a/eclipse.spec +++ b/eclipse.spec @@ -19,7 +19,7 @@ Epoch: 1 Summary: An open, extensible IDE Name: eclipse Version: %{eclipse_majmin}.%{eclipse_micro} -Release: 34%{?dist} +Release: 35%{?dist} License: Eclipse Public License Group: Text Editors/Integrated Development Environments (IDE) URL: http://www.eclipse.org/ @@ -111,6 +111,7 @@ Patch22: %{name}-ppc64gre64.patch # fixed a number of update-related bugs -- in an FC6 update. # We can remove this patch for Fedora 8. Patch23: %{name}-launcher-addplatformtotildeeclipse.patch +Patch24: %{name}-add-ppc64-sparc64-s390-s390x.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: ant @@ -671,33 +672,30 @@ sed --in-place "s/$swt_frag_ver_ia64/$swt_frag_ver/g" plugins/org.eclipse.swt.gt assemble.org.eclipse.sdk.linux.gtk.ia64.xml \ features/org.eclipse.rcp/build.xml -# Nasty hack to get suppport for ppc64, s390{,x} and sparc{,64} +## 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 +# remove ppc64 support from features/org.eclipse.platform.source/feature.xml +mv features/org.eclipse.platform.source/feature.xml features/org.eclipse.platform.source/feature.xml.orig +grep -v ppc64 features/org.eclipse.platform.source/feature.xml.orig > features/org.eclipse.platform.source/feature.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 - # 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 - - # remove ppc64 support from features/org.eclipse.platform.source/feature.xml - mv features/org.eclipse.platform.source/feature.xml features/org.eclipse.platform.source/feature.xml.orig - grep -v ppc64 features/org.eclipse.platform.source/feature.xml.orig > features/org.eclipse.platform.source/feature.xml - - # finally, the replacement hack 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 -exec sed --in-place "s/ia64_32/@eye-eh-64_32@/g" "{}" \; - find -type f -exec sed --in-place "s/ia64/%{_arch}/g" "{}" \; - find -type f -exec sed --in-place "s/@eye-eh-64_32@/ia64_32/g" "{}" \; + find -type f ! -name \*.java -exec sed --in-place "s/ia64_32/@eye-eh-64_32@/g" "{}" \; + find -type f ! -name \*.java -exec sed --in-place "s/ia64/%{_arch}/g" "{}" \; + find -type f ! -name \*.java -exec sed --in-place "s/@eye-eh-64_32@/ia64_32/g" "{}" \; %endif # gjdoc can't handle Mac-encoded files @@ -1036,12 +1034,10 @@ for id in `ls configuration/org.eclipse.osgi/bundles`; do done popd -# Install symlinks to the SWT JNI shared libraries in /usr/lib/eclipse with sane -# versions +# Install symlinks to the SWT JNI shared libraries in /usr/lib/eclipse pushd $RPM_BUILD_ROOT%{_libdir}/%{name} for lib in $(find configuration -name libswt\*.so); do - ln -s %{_libdir}/%{name}/$lib `basename $lib | sed "s/-gtk-.*.so/-gtk-%{eclipse_majmin}.so/"` - ln -s %{_libdir}/%{name}/$lib `basename $lib | sed "s/-gtk-.*.so/-gtk-%{eclipse_majmin}.%{eclipse_micro}.so/"` + ln -s %{_libdir}/%{name}/$lib `basename $lib` done popd @@ -1742,6 +1738,10 @@ fi %{_libdir}/%{name}/plugins/org.eclipse.sdk_* %changelog +* Wed Jan 31 2007 Ben Konrath 3.2.1-35 +- Use original name for the SWT symlinks. +- Rework ppc64, s390{x} and sparc{64} hack to fix multilib problem. + * Tue Jan 30 2007 Ben Konrath 3.2.1-34 - Create symlinks to the SWT JNI libs in %%{_libdir}/eclipse with sane versions.