- Add conditionals around Equinox initialization to enable debugging.

This commit is contained in:
Andrew Overholt 2008-10-15 21:22:00 +00:00
parent 34e7cc1a2e
commit b5482d5588
1 changed files with 64 additions and 44 deletions

View File

@ -12,6 +12,7 @@ Epoch: 1
%define eclipse_majmin %{eclipse_major}.%{eclipse_minor}
%define eclipse_micro 1
%define swtver 3.4.1.v3449c
%define initialize 1
# All arches line up between Eclipse and Linux kernel names except i386 -> x86
%ifarch %{ix86}
@ -970,6 +971,10 @@ LAUNCHERNAME=$(ls plugins | grep equinox.launcher_)
ln -s plugins/$LAUNCHERNAME startup.jar
popd
# Remove the unnecessary configuration data
rm -r $sdkDir/configuration/org.eclipse.update
%if %{initialize}
# FIXME: investigate why it doesn't work to set this -- configuration data is
# always written to /usr/share/eclipse/configuration, even with
# -Dosgi.sharedConfiguration.area=$RPM_BUILD_ROOT%{_libdir}/%{name}/configuration
@ -979,8 +984,8 @@ popd
# Extract .so files
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=90535
pushd $RPM_BUILD_ROOT
mv $RPM_BUILD_ROOT/usr/lib/eclipse/dropins $RPM_BUILD_ROOT/dropins
mkdir $RPM_BUILD_ROOT/usr/lib/eclipse/dropins
mv $RPM_BUILD_ROOT%{_libdir}/eclipse/dropins $RPM_BUILD_ROOT/dropins
mkdir $RPM_BUILD_ROOT%{_libdir}/eclipse/dropins
libdir_path=$(echo %{_libdir}/%{name} | sed -e 's/^\///')
java -Dosgi.sharedConfiguration.area=$libdir_path/configuration \
-cp $libdir_path/startup.jar \
@ -989,11 +994,17 @@ java -Dosgi.sharedConfiguration.area=$libdir_path/configuration \
-application org.eclipse.equinox.initializer.configInitializer \
-fileInitializer %{SOURCE19}
popd
rm -fr $RPM_BUILD_ROOT/usr/lib/eclipse/dropins
mv $RPM_BUILD_ROOT/dropins $RPM_BUILD_ROOT/usr/lib/eclipse/dropins
rm -fr $RPM_BUILD_ROOT%{_libdir}/eclipse/dropins
mv $RPM_BUILD_ROOT/dropins $RPM_BUILD_ROOT%{_libdir}/eclipse/dropins
# Do this again after we've run the file initializer
rm -rf $sdkDir/p2/org.eclipse.equinox.p2.core/cache
rm -rf $sdkDir/p2/org.eclipse.equinox.p2.director/rollback/content.xml
pushd $profileDir
sed -i "s|$RPM_BUILD_ROOT||g" *.profile/*
popd
# Remove the unnecessary configuration data
rm -r $sdkDir/configuration/org.eclipse.update
rm -r $sdkDir/configuration/org.eclipse.core.runtime
rm -r $sdkDir/configuration/org.eclipse.equinox.app
rm -r $sdkDir/configuration/.settings
@ -1004,44 +1015,6 @@ for dataDir in $dataDirs; do
rm -rf `dirname $dataDir`
done
# Do this again after we've run the file initializer
rm -rf $sdkDir/p2/org.eclipse.equinox.p2.core/cache
rm -rf $sdkDir/p2/org.eclipse.equinox.p2.director/rollback/content.xml
pushd $profileDir
sed -i "s|$RPM_BUILD_ROOT||g" *.profile/*
popd
# Set eclipse.product to org.fedoraproject.ide.platform
sed --in-place "s/plugins\/org.eclipse.platform/plugins\/org.fedoraproject.ide.platform/" \
$RPM_BUILD_ROOT%{_libdir}/%{name}/configuration/config.ini
sed --in-place "s/eclipse.product=org.eclipse.platform.ide/eclipse.product=org.fedoraproject.ide.platform.product/" \
$RPM_BUILD_ROOT%{_libdir}/%{name}/configuration/config.ini
# Install the Eclipse binary wrapper
install -d -m 755 $RPM_BUILD_ROOT%{_bindir}
ln -s %{_libdir}/%{name}/%{name} $RPM_BUILD_ROOT%{_bindir}/%{name}
#install -d -m 755 $RPM_BUILD_ROOT%{_bindir}
#cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_bindir}/eclipse
#sed --in-place "s|@LIBDIR@|%{_libdir}|g" $RPM_BUILD_ROOT%{_bindir}/eclipse
#ECLIPSELIBSUFFIX=$(ls $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/org.eclipse.equinox.launcher.gtk.linux*/*.so | sed "s/.*.launcher.gtk.linux.//")
#sed --in-place "s|@ECLIPSELIBSUFFIX@|$ECLIPSELIBSUFFIX|" $RPM_BUILD_ROOT%{_bindir}/eclipse
# Ensure the shared libraries have the correct permissions
pushd $RPM_BUILD_ROOT%{_libdir}/%{name}
for lib in `find configuration -name \*.so`; do
chmod 755 $lib
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}" > \
$sdkDir/links/datadir.link
# Ensure the launcher binary has the correct permissions
chmod 755 $RPM_BUILD_ROOT/%{_libdir}/%{name}/%{name}
# Create file listings for the extracted shared libraries
echo -n "" > %{_builddir}/%{buildsubdir}/%{name}-platform.install;
for id in `ls configuration/org.eclipse.osgi/bundles`; do
@ -1058,7 +1031,39 @@ pushd $RPM_BUILD_ROOT%{_libdir}/%{name}
for lib in $(find configuration -name libswt\*.so); do
ln -s $lib `basename $lib`
done
# Ensure the shared libraries have the correct permissions
pushd $RPM_BUILD_ROOT%{_libdir}/%{name}
for lib in `find configuration -name \*.so`; do
chmod 755 $lib
done
popd
%endif
# Set eclipse.product to org.fedoraproject.ide.platform
sed --in-place "s/plugins\/org.eclipse.platform/plugins\/org.fedoraproject.ide.platform/" \
$RPM_BUILD_ROOT%{_libdir}/%{name}/configuration/config.ini
sed --in-place "s/eclipse.product=org.eclipse.platform.ide/eclipse.product=org.fedoraproject.ide.platform.product/" \
$RPM_BUILD_ROOT%{_libdir}/%{name}/configuration/config.ini
# Install the Eclipse binary wrapper
install -d -m 755 $RPM_BUILD_ROOT%{_bindir}
ln -s %{_libdir}/%{name}/%{name} $RPM_BUILD_ROOT%{_bindir}/%{name}
#install -d -m 755 $RPM_BUILD_ROOT%{_bindir}
#cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_bindir}/eclipse
#sed --in-place "s|@LIBDIR@|%{_libdir}|g" $RPM_BUILD_ROOT%{_bindir}/eclipse
#ECLIPSELIBSUFFIX=$(ls $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/org.eclipse.equinox.launcher.gtk.linux*/*.so | sed "s/.*.launcher.gtk.linux.//")
#sed --in-place "s|@ECLIPSELIBSUFFIX@|$ECLIPSELIBSUFFIX|" $RPM_BUILD_ROOT%{_bindir}/eclipse
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}" > \
$sdkDir/links/datadir.link
# Ensure the launcher binary has the correct permissions
chmod 755 $RPM_BUILD_ROOT/%{_libdir}/%{name}/%{name}
# Install the SWT jar symlinks in libdir
SWTJARVERSION=$(grep v$SWT_VERSION plugins/org.eclipse.swt.gtk.linux.%{eclipse_arch}/build.xml | sed "s:.*<.*\"\(.*\)\"/>:\1:")
@ -1281,14 +1286,20 @@ fi
%{_javadir}/ecj*.jar
%{_bindir}/ecj
%if %{initialize}
%files swt -f %{name}-swt.install
%else
%files swt
%endif
%defattr(-,root,root)
%dir %{_libdir}/%{name}
%dir %{_libdir}/%{name}/libswt-*.so
%dir %{_libdir}/%{name}/plugins
%if %{initialize}
%dir %{_libdir}/%{name}/libswt-*.so
%dir %{_libdir}/%{name}/configuration
%dir %{_libdir}/%{name}/configuration/org.eclipse.osgi
%dir %{_libdir}/%{name}/configuration/org.eclipse.osgi/bundles
%endif
%{_libdir}/%{name}/plugins/org.eclipse.swt_*
%{_libdir}/%{name}/plugins/org.eclipse.swt.gtk.linux.%{eclipse_arch}_*
%{_libdir}/%{name}/swt-gtk*.jar
@ -1301,10 +1312,12 @@ fi
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/features
%dir %{_datadir}/%{name}/plugins
%if %{initialize}
%{_libdir}/%{name}/configuration/org.eclipse.osgi/.bundledata*
%{_libdir}/%{name}/configuration/org.eclipse.osgi/.lazy*
%{_libdir}/%{name}/configuration/org.eclipse.osgi/.manager
%{_libdir}/%{name}/configuration/org.eclipse.osgi/.state*
%endif
%config %{_libdir}/%{name}/configuration/config.ini
%config %{_libdir}/%{name}/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info
%dir %{_libdir}/%{name}/configuration/org.eclipse.equinox.simpleconfigurator
@ -1344,7 +1357,11 @@ fi
%{_libdir}/%{name}/plugins/org.eclipse.update.configurator_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.simpleconfigurator_*
%if %{initialize}
%files platform -f %{name}-platform.install
%else
%files platform
%endif
%defattr(-,root,root)
%attr(0755,root,root) %{_bindir}/%{name}
%config %{_libdir}/%{name}/eclipse.ini
@ -1512,6 +1529,9 @@ fi
#%{_libdir}/%{name}/configuration/org.eclipse.equinox.source
%changelog
* Wed Oct 15 2008 Andrew Overholt <overholt@redhat.com> 3.4.1-1
- Add conditionals around Equinox initialization to enable debugging.
* Fri Oct 13 2008 Alexander Kurtakov <akurtako@redhat.com> 3.4.1-1
- Symlink to ant-apache-bsf and ant-commons-net.
- Update branding.