- Use original name for the SWT symlinks.

- Rework ppc64, s390{x} and sparc{64} hack to fix multilib problem.
This commit is contained in:
Ben Konrath 2007-01-31 23:36:17 +00:00
parent 121ec8f9cb
commit ac6938fdb7
2 changed files with 98 additions and 26 deletions

View File

@ -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.

View File

@ -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 <bkonrath@redhat.com> 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 <bkonrath@redhat.com> 3.2.1-34
- Create symlinks to the SWT JNI libs in %%{_libdir}/eclipse with sane
versions.