- 3.3RC4.

This commit is contained in:
Ben Konrath 2007-06-14 06:23:49 +00:00
parent 7adc7e2270
commit 1424314c31
4 changed files with 79 additions and 137 deletions

View File

@ -1,8 +1,5 @@
* check for correct files listings -- may need to add another sub-package
* re-enable timestamp squashing
* enable ecj on ppc64, s390{,x}, sparc{,64}
* icu4j 3.6.0
* update package build
* splashscreen
* junit 4.1
* ant 1.7

View File

@ -193,42 +193,9 @@ RCS file: templates/package-build/prepare-build-dir.sh
diff -N templates/package-build/prepare-build-dir.sh
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ templates/package-build/prepare-build-dir.sh 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,83 @@
@@ -0,0 +1,77 @@
+#!/bin/sh
+
+
+make_links()
+{
+ TYPE=$1
+ TYPEDIR=$2
+ shift; shift;
+ XMLFILES=$@
+
+ CURBUILDFILE=$BUILDDIR/tmp/$TYPE-build.xml
+ cat $BUILDFILE | sed "s|@type@|$TYPE|" > $CURBUILDFILE
+
+ for f in $XMLFILES; do
+ PROJECTDIR=$(dirname $f)
+ PROJECTNAME=$(ant -Dbasedir=$PROJECTDIR -f $CURBUILDFILE 2>&1 | grep echo | cut --delimiter=' ' -f 7)
+ if [ -z $PROJECTNAME ]; then
+ if [ ! -e $PROJECTDIR/META-INF/MANIFEST.MF ]; then
+ echo "ERROR: could not determine the feature id for $PROJECTDIR"
+ exit 1
+ fi
+ PROJECTNAME=$(grep Bundle-SymbolicName $PROJECTDIR/META-INF/MANIFEST.MF | cut --delimiter=';' -f 1 | cut --delimiter=' ' -f 2)
+ if [ -z $PROJECTNAME ]; then
+ echo "ERROR: could not determine the feature id for $PROJECTDIR"
+ exit 1
+ fi
+ fi
+
+ echo " making symlink: $BUILDDIR/$TYPEDIR/$PROJECTNAME -> $PROJECTDIR"
+ ln -sf $PROJECTDIR $BUILDDIR/$TYPEDIR/$PROJECTNAME
+
+ done
+}
+
+
+if [ $# -ne 2 ]; then
+ echo "usage: $0 <path to source dir> <path to build dir>"
+ exit 1
@ -257,23 +224,50 @@ diff -N templates/package-build/prepare-build-dir.sh
+ </target>
+</project>" > $BUILDFILE
+
+# find the feature.xml, plugin.xml and fragment.xml files
+FEATURES=$(find $SOURCEDIR -name feature.xml)
+PLUGINS=$(find $SOURCEDIR -name plugin.xml)
+FRAGMENTS=$(find $SOURCEDIR -name fragment.xml)
+for type in feature plugin fragment; do
+ CURBUILDFILE=$BUILDDIR/tmp/$type-build.xml
+ cat $BUILDFILE | sed "s|@type@|$type|" > $CURBUILDFILE
+done
+
+# make the directories eclipse is expecting
+echo " making the 'features' and 'plugins' directories"
+mkdir -p $BUILDDIR/features $BUILDDIR/plugins
+
+# make symlinks for the features
+make_links feature features $FEATURES
+FEATURES=$(find $SOURCEDIR -name feature.xml)
+for f in $FEATURES; do
+ PROJECTDIR=$(dirname $f)
+ PROJECTNAME=$(ant -Dbasedir=$PROJECTDIR -f $BUILDDIR/tmp/feature-build.xml 2>&1 | grep echo | cut --delimiter=' ' -f 7)
+ if [ -z $PROJECTNAME ]; then
+ echo "ERROR: could not determine the feature id for $PROJECTDIR"
+ exit 1
+ fi
+
+# make the symlinks for plugins
+make_links plugin plugins $PLUGINS
+ echo " making symlink: $BUILDDIR/features/$PROJECTNAME -> $PROJECTDIR"
+ ln -sf $PROJECTDIR $BUILDDIR/features/$PROJECTNAME
+done
+
+# make the symlinks for fragments - they go in the plugins directory as well
+make_links fragment plugins $FRAGMENTS
+# make symlinks for plugins and fragments
+PLUGINDIRS=$(find $SOURCEDIR -name plugin.xml -o -name fragment.xml -o -name MANIFEST.MF | sed "s/plugin.xml//g" | sed "s/fragment.xml//g" | sed "s/META-INF\/MANIFEST.MF//" | sort | uniq)
+for dir in $PLUGINDIRS; do
+ PROJECTNAME=""
+ if [ -e $dir/META-INF/MANIFEST.MF ]; then
+ PROJECTNAME=$(grep Bundle-SymbolicName $dir/META-INF/MANIFEST.MF | cut --delimiter=';' -f 1 | cut --delimiter=' ' -f 2)
+ elif [ -e $dir/plugin.xml ]; then
+ PROJECTNAME=$(ant -Dbasedir=$dir -f $BUILDDIR/tmp/plugin-build.xml 2>&1 | grep echo | cut --delimiter=' ' -f 7)
+ elif [ -e $dir/fragment.xml ]; then
+ PROJECTNAME=$(ant -Dbasedir=$dir -f $BUILDDIR/tmp/fragment-build.xml 2>&1 | grep echo | cut --delimiter=' ' -f 7)
+ fi
+
+ if [ -z $PROJECTNAME ]; then
+ echo "ERROR: could not determine the plugin or fragment id for $dir"
+ exit 1
+ fi
+
+ echo " making symlink: $BUILDDIR/plugins/$PROJECTNAME -> $dir"
+ ln -sf $dir $BUILDDIR/plugins/$PROJECTNAME
+
+done
+
+rm -rf $BUILDDIR/tmp
+echo done

6
eclipse.in Normal file
View File

@ -0,0 +1,6 @@
#!/bin/sh
@LIBDIR@/eclipse/eclipse \
--launcher.library @LIBDIR@/eclipse/plugins/org.eclipse.equinox.launcher.gtk.linux.@ECLIPSELIBSUFFIX@ \
-startup /usr/share/eclipse/startup.jar \
${1+"$@"}

View File

@ -19,12 +19,13 @@ Epoch: 1
Summary: An open, extensible IDE
Name: eclipse
Version: %{eclipse_majmin}.%{eclipse_micro}
Release: 0.1.RC3%{?dist}
Release: 0.1.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.3RC3-200706011539/eclipse-sourceBuild-srcIncluded-3.3RC3.zip
Source0: http://download.eclipse.org/eclipse/downloads/drops/S-3.3RC4-200706081718/eclipse-sourceBuild-srcIncluded-3.3RC4.zip
Source2: %{name}.desktop
Source3: eclipse.in
# The icu4j bits will be moved out into their own package for Fedora 7. See:
# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=199504
Source7: ftp://ftp.software.ibm.com/software/globalization/icu/icu4j/3.4.5/icu4jsrc_3_4_5.jar
@ -89,10 +90,10 @@ BuildRequires: unzip
BuildRequires: java-javadoc
BuildRequires: desktop-file-utils
%if %{gcj_support}
BuildRequires: gcc-java >= 4.0.2
BuildRequires: gcc-java >= 4.1.2
BuildRequires: java-gcj-compat-devel >= 1.0.64
%else
BuildRequires: java-devel >= 1.4.2
BuildRequires: java-devel >= 1.5.0
%endif
# Need to investigate why we don't build ant-apache-bsf or ant-commons-net in
@ -157,7 +158,7 @@ Summary: Eclipse Rich Client Platform
Group: Development/Languages
Requires: %{libname}-gtk2 = %{epoch}:%{version}-%{release}
# This file-level requirement is for the bi-arch multilib case
Requires: %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk.linux.%{eclipse_arch}_3.3.0.v3345a.jar
Requires: %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk.linux.%{eclipse_arch}_3.3.0.v3345f.jar
Requires(post): %{libname}-gtk2 = %{epoch}:%{version}-%{release}
Requires(postun): %{libname}-gtk2 = %{epoch}:%{version}-%{release}
%if %{gcj_support}
@ -217,7 +218,7 @@ Requires(postun): java-gcj-compat >= 1.0.64
%endif
Requires: %{name}-rcp = %{epoch}:%{version}-%{release}
# This file-level requirement is for the bi-arch multilib case
Requires: %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk.linux.%{eclipse_arch}_3.3.0.v3345a.jar
Requires: %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk.linux.%{eclipse_arch}_3.3.0.v3345f.jar
Requires(post): %{name}-rcp = %{epoch}:%{version}-%{release}
Requires(postun): %{name}-rcp = %{epoch}:%{version}-%{release}
# Need to investigate why we don't build ant-apache-bsf or ant-commons-net in
@ -731,6 +732,12 @@ install -d -m 755 $RPM_BUILD_ROOT%{_libdir}/%{name}/features
# Explode the resulting SDK tarball
tar -C $RPM_BUILD_ROOT%{_datadir} -zxf result/linux-gtk-%{eclipse_arch}-sdk.tar.gz
# Add a compatibility symlink to startup.jar
pushd $RPM_BUILD_ROOT%{_datadir}/%{name}
LAUNCHERNAME=$(ls plugins | grep equinox.launcher_)
ln -s plugins/$LAUNCHERNAME startup.jar
popd
## The FileInitializer app isn't part of the SDK (yet?) but we want it to be
## around for other RPMs
cp equinox-incubator/org.eclipse.equinox.initializer/org.eclipse.equinox.initializer_*.jar \
@ -803,12 +810,11 @@ mv $RPM_BUILD_ROOT%{_datadir}/%{name}/features/org.eclipse.sdk_* \
#
# Extract .so files
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=90535
LAUNCHERVERSION=$(ls $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins | grep equinox.launcher_ | sed 's/org.eclipse.equinox.launcher_//')
pushd $RPM_BUILD_ROOT
datadir_path=$(echo %{_datadir}/%{name} | sed -e 's/^\///')
libdir_path=$(echo %{_libdir}/%{name} | sed -e 's/^\///')
java -Dosgi.sharedConfiguration.area=$libdir_path/configuration \
-cp $datadir_path/plugins/org.eclipse.equinox.launcher_$LAUNCHERVERSION \
-cp $datadir_path/startup.jar \
org.eclipse.core.launcher.Main \
-consolelog \
-application org.eclipse.equinox.initializer.configInitializer \
@ -830,9 +836,18 @@ rm -r $RPM_BUILD_ROOT%{_libdir}/%{name}/configuration/org.eclipse.equinox.app
sed --in-place "s/eclipse.product=org.eclipse.sdk.ide/eclipse.product=org.eclipse.platform.ide/" \
$RPM_BUILD_ROOT%{_libdir}/%{name}/configuration/config.ini
# Install the Eclipse binary
# Install the launcher so
LAUNCHERFRAGVERSION=$(ls $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins | grep equinox.launcher.gtk.linux.%{eclipse_arch}_ | sed "s/.*equinox.launcher.gtk.linux.*_//")
cp launchertmp/library/gtk/eclipse_*.so \
$RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/org.eclipse.equinox.launcher.gtk.linux.%{eclipse_arch}_$LAUNCHERFRAGVERSION
# Install the Eclipse binary wrapper
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/eclipse $RPM_BUILD_ROOT%{_libdir}/%{name}
install -d -m 755 $RPM_BUILD_ROOT%{_bindir}
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/eclipse $RPM_BUILD_ROOT%{_bindir}/%{name}
cp %{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}
@ -894,7 +909,6 @@ ln -s %{_datadir}/icons/hicolor/48x48/apps/%{name}.png \
$RPM_BUILD_ROOT%{_datadir}/pixmaps
%ifarch %{ix86} x86_64
# Remove unused icon.xpm
# This should be fixed in 3.3.
# see https://bugs.eclipse.org/bugs/show_bug.cgi?id=86848
rm $RPM_BUILD_ROOT%{_datadir}/%{name}/icon.xpm
%endif
@ -1038,85 +1052,6 @@ 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_//')
@ -1127,7 +1062,8 @@ rm $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/org.apache.ant_$ANTPLUGINVERSION/b
# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=175547
UIIDEPLUGINVERSION=$(ls plugins | grep ui.ide_ | sed 's/org.eclipse.ui.ide_//')
%ifnarch ia64
aot-compile-rpm --exclude %{_datadir}/%{name}/plugins/org.eclipse.ui.ide_$UIIDEPLUGINVERSION
#aot-compile-rpm --exclude %{_datadir}/%{name}/plugins/org.eclipse.ui.ide_$UIIDEPLUGINVERSION
echo blah
%else
OSGIPLUGINVERSION=$(ls plugins | grep osgi_ | sed 's/org.eclipse.osgi_//')
aot-compile-rpm --exclude %{_datadir}/%{name}/plugins/org.eclipse.ui.ide_$UIIDEPLUGINVERSION \
@ -1261,6 +1197,7 @@ fi
%{_datadir}/%{name}/notice.html
%{_datadir}/%{name}/epl-v10.html
%{_datadir}/%{name}/links
%{_datadir}/%{name}/startup.jar
%ifarch %{ix86} x86_64
%{_datadir}/%{name}/about.html
%endif
@ -1347,6 +1284,7 @@ fi
%defattr(-,root,root)
%attr(0755,root,root) %{_bindir}/%{name}
%{_datadir}/%{name}/eclipse.ini
%{_libdir}/%{name}/eclipse
%{_datadir}/applications/*
%{_datadir}/pixmaps/*
%{_datadir}/icons/*/*/apps/*
@ -1590,6 +1528,13 @@ fi
%{_libdir}/%{name}/plugins/org.eclipse.sdk_*
%changelog
* Tue Jun 12 2007 Ben Konrath <bkonrath@redhat.com> 3.3.0-0.1.RC4
- 3.3RC4.
* Mon Jun 11 2007 Ben Konrath <bkonrath@redhat.com> 3.3.0-0.2.RC3
- Update launching strategy for 3.3.
- Pull in package-build fix from F-7.
* Wed May 23 2007 Ben Konrath <bkonrath@redhat.com> 3.3.0-0.1.RC3
- 3.3RC3.