- Make sdk require config.ini itself rather than the package to deal with

the bi-arch installation situation.
- Move sdk feature and plugin to %%{_libdir} so we can check for its
    existence in the post scripts.
This commit is contained in:
Andrew Overholt 2006-11-04 00:14:24 +00:00
parent 3bece450a9
commit e224b7c884
1 changed files with 30 additions and 8 deletions

View File

@ -26,7 +26,7 @@ Epoch: 1
Summary: An open, extensible IDE
Name: eclipse
Version: %{eclipse_majmin}.%{eclipse_micro}
Release: 14%{?dist}
Release: 15%{?dist}
License: EPL
Group: Text Editors/Integrated Development Environments (IDE)
URL: http://www.eclipse.org/
@ -361,6 +361,8 @@ Requires: %{name}-pde-sdk = %{epoch}:%{version}-%{release}
Requires(post,postun): %{name}-platform-sdk = %{epoch}:%{version}-%{release}
Requires(post,postun): %{name}-pde-sdk = %{epoch}:%{version}-%{release}
Requires(post,postun): %{name}-jdt-sdk = %{epoch}:%{version}-%{release}
# This file requirement is to deal with the biarch installation case
Requires(post,postun): %{_libdir}/%{name}/configuration/config.ini
%if %{gcj_support}
Requires: libgcj >= 4.0.2
Requires(post,postun): java-gcj-compat >= 1.0.64
@ -956,6 +958,7 @@ echo "name=Eclipse Platform" > $RPM_BUILD_ROOT%{_libdir}/%{name}/.eclipseextensi
echo "id=org.eclipse.platform" >> $RPM_BUILD_ROOT%{_libdir}/%{name}/.eclipseextension
echo "version=%{eclipse_majmin}.%{eclipse_micro}" >> $RPM_BUILD_ROOT%{_libdir}/%{name}/.eclipseextension
install -d -m 755 $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins
install -d -m 755 $RPM_BUILD_ROOT%{_libdir}/%{name}/features
# Install the platform specific fragments in an arch specific dir
install -d -m 755 $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins
@ -981,6 +984,15 @@ mv $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/com.ibm.icu.source_3.4.5 $RPM_BUIL
# arches -- specifically <Class>-uses.html (e.g. IProblem-uses.html) are not
# generated correctly.
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/*doc* $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins
# To ensure that the product is org.eclipse.sdk.ide when eclipse-sdk is
# installed, we must check for its presence at %%post{,un} time. This does not
# work in the biarch case, though, if it is not in an arch-specific location.
# This results in complaints that the sdk plugin is found twice, but this is
# better than always appearing in the about dialog as the Eclipse Platform with
# the platform plugin version number instead of the actual SDK version number.
# -- overholt, 2006-11-03
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/org.eclipse.sdk_* $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/features/org.eclipse.sdk_* $RPM_BUILD_ROOT%{_libdir}/%{name}/features
mkdir -p home
homedir=$(cd home && pwd)
@ -1000,7 +1012,7 @@ java -Dosgi.sharedConfiguration.area=$libdir_path/configuration \
-fileInitializer %{SOURCE19}
popd
# Make propper links file
# Make proper links file
echo "path:/usr/lib" > $RPM_BUILD_ROOT%{_datadir}/%{name}/links/fragments.link
echo "path:/usr/lib64" > $RPM_BUILD_ROOT%{_datadir}/%{name}/links/fragments64.link
@ -1098,7 +1110,7 @@ install -p -D -m0644 %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/applications/%{name}.
# org.eclipse.platform to show it in # Eclipse about dialog. (courtesy Debian
# Eclipse packagers)
# FIXME use the third id
pushd $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/org.eclipse.sdk_%{eclipse_majmin}.*
pushd $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/org.eclipse.sdk_%{eclipse_majmin}.*
OS_VERSION=`cat /etc/*-release | head -n 1`
sed -e "s/\(0=.*\)/\1 ($OS_VERSION)/" < about.mappings > about.mappings.tmp
mv about.mappings.tmp about.mappings
@ -1355,7 +1367,7 @@ if [ -x /usr/bin/gtk-update-icon-cache ]; then
gtk-update-icon-cache -q %{_datadir}/icons/hicolor
fi
%post sdk
%post sdk
%if %{gcj_support}
%{_bindir}/rebuild-gcj-db
%endif
@ -1364,11 +1376,15 @@ if [ -f %{_libdir}/%{name}/configuration/config.ini ]; then
%{_libdir}/%{name}/configuration/config.ini
fi
%postun sdk
%postun sdk
%if %{gcj_support}
%{_bindir}/rebuild-gcj-db
%endif
if [ -f %{_libdir}/%{name}/configuration/config.ini ]; then
# Only set the product back to platform.ide if the sdk is actually removed for
# this arch. This SDKDIR check is to deal with the ordering of new %%post
# before old %%postun
SDKDIR=$(ls %{_libdir}/%{name}/features | grep "org\.eclipse\.sdk_")
if [ -z "$SDKDIR" -a -f %{_libdir}/%{name}/configuration/config.ini ]; then
sed --in-place "s/[#]*eclipse.product=.*/eclipse.product=org.eclipse.platform.ide/" \
%{_libdir}/%{name}/configuration/config.ini
fi
@ -1716,10 +1732,16 @@ rm -f %{_datadir}/%{name}/configuration/org.eclipse.update/platform.xml*
%files sdk
%defattr(-,root,root)
%{_datadir}/%{name}/features/org.eclipse.sdk_*
%{_datadir}/%{name}/plugins/org.eclipse.sdk_*
%{_libdir}/%{name}/features/org.eclipse.sdk_*
%{_libdir}/%{name}/plugins/org.eclipse.sdk_*
%changelog
* Fri Nov 03 2006 Andrew Overholt <overholt@redhat.com> 3.2.1-15
- Make sdk require config.ini itself rather than the package to deal with the
bi-arch installation situation.
- Move sdk feature and plugin to %%{_libdir} so we can check for its existence
in the post scripts.
* Thu Nov 02 2006 Andrew Overholt <overholt@redhat.com> 3.2.1-14
- Remove post sections that munge eclipse.product; always set it to
org.eclipse.platform.ide or org.eclipse.sdk.ide.