rpms/eclipse/devel eclipse-addrootfiles.patch, NONE, 1.1 eclipse-mv-Platform.sh, 1.1, 1.2 eclipse-pde.build-add-package-build.patch, 1.5, 1.6 eclipse-pdebuild.sh, 1.1, 1.2 eclipse.spec, 1.564, 1.565
Andrew Overholt (overholt)
fedora-extras-commits at redhat.com
Tue Jul 29 13:41:16 UTC 2008
Author: overholt
Update of /cvs/pkgs/rpms/eclipse/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv30801
Modified Files:
eclipse-mv-Platform.sh
eclipse-pde.build-add-package-build.patch eclipse-pdebuild.sh
eclipse.spec
Added Files:
eclipse-addrootfiles.patch
Log Message:
* Mon Jul 28 2008 Andrew Overholt <overholt at redhat.com> 3.4.0-10
- Move JDT and PDE/SDK bits to dropins/{jdt,sdk}
- Drop versionless PDE Build symlink (put logic into pdebuild script)
- Make SWT JAR symlinks relative
- Fold pde-runtime into pde
- Add patch to add root files for non-upstream arches
eclipse-addrootfiles.patch:
--- NEW FILE eclipse-addrootfiles.patch ---
diff -up ./plugins/org.eclipse.pde.build/templates/packager/packaging.properties.nonupstreamarches ./plugins/org.eclipse.pde.build/templates/packager/packaging.properties
--- ./plugins/org.eclipse.pde.build/templates/packager/packaging.properties.nonupstreamarches 2008-07-29 09:36:30.000000000 -0400
+++ ./plugins/org.eclipse.pde.build/templates/packager/packaging.properties 2008-07-29 09:37:19.000000000 -0400
@@ -21,6 +21,7 @@ root.linux.motif.x86=eclipse,libcairo-sw
root.linux.gtk.x86=eclipse,libcairo-swt.so,about_files/,about.html,icon.xpm
root.linux.gtk.x86_64=eclipse,libcairo-swt.so,about_files/,about.html,icon.xpm
root.linux.gtk.ia64=eclipse,libcairo-swt.so,about_files/,about.html,icon.xpm
+root.linux.gtk.s390x=eclipse,libcairo-swt.so,about_files/,about.html,icon.xpm
root.linux.gtk.ppc=eclipse
root.macosx.carbon.ppc=eclipse,Eclipse.app/
root.macosx.carbon.ppc.link=Eclipse.app/Contents/MacOS/eclipse,eclipse,../../../MacOS,Eclipse.app/Contents/Resources/Splash.app/Contents/MacOS
Index: eclipse-mv-Platform.sh
===================================================================
RCS file: /cvs/pkgs/rpms/eclipse/devel/eclipse-mv-Platform.sh,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- eclipse-mv-Platform.sh 18 Jul 2008 15:14:32 -0000 1.1
+++ eclipse-mv-Platform.sh 29 Jul 2008 13:40:46 -0000 1.2
@@ -12,6 +12,14 @@
mv $baseDir/readme/ .
mv $baseDir/features/org.eclipse.platform_* features
mv $baseDir/features/org.eclipse.help_* features
+mv $baseDir/features/org.eclipse.cvs_* features
+mv $baseDir/plugins/org.eclipse.cvs_* plugins
+mv $baseDir/plugins/org.eclipse.team.cvs.core_* plugins
+mv $baseDir/plugins/org.eclipse.team.cvs.ssh_* plugins
+mv $baseDir/plugins/org.eclipse.team.cvs.ssh2_* plugins
+mv $baseDir/plugins/org.eclipse.team.cvs.ui_* plugins
+mv $baseDir/features/org.eclipse.equinox.p2.user.ui_* features
+mv $baseDir/features/org.fedoraproject* features
mv $baseDir/features/org.eclipse.equinox.p2.user.ui_* features
mv $baseDir/features/org.fedoraproject* features
mv $baseDir/plugins/org.fedoraproject* plugins
@@ -83,6 +91,7 @@
mv $baseDir/plugins/org.eclipse.core.contenttype_* plugins
mv $baseDir/plugins/org.eclipse.equinox.app_* plugins
mv $baseDir/plugins/org.eclipse.equinox.common_* plugins
+mv $baseDir/plugins/org.eclipse.equinox.initializer_* plugins
mv $baseDir/plugins/org.eclipse.equinox.preferences_* plugins
mv $baseDir/plugins/org.eclipse.equinox.registry_* plugins
mv $baseDir/plugins/org.eclipse.equinox.launcher_* plugins
eclipse-pde.build-add-package-build.patch:
Index: eclipse-pde.build-add-package-build.patch
===================================================================
RCS file: /cvs/pkgs/rpms/eclipse/devel/eclipse-pde.build-add-package-build.patch,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- eclipse-pde.build-add-package-build.patch 14 Jun 2007 06:23:49 -0000 1.5
+++ eclipse-pde.build-add-package-build.patch 29 Jul 2008 13:40:46 -0000 1.6
@@ -1,22 +1,89 @@
-Index: templates/package-build/build.properties
+### Eclipse Workspace Patch 1.0
+#P org.eclipse.pde.build
+Index: templates/package-build/prepare-build-dir.sh
===================================================================
-RCS file: templates/package-build/build.properties
-diff -N templates/package-build/build.properties
+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/build.properties 1 Jan 1970 00:00:00 -0000
-@@ -0,0 +1,12 @@
-+buildDirectory=${sourceDirectory}/build
-+buildLabel=rpmBuild
-+archivePrefix=eclipse
-+skipFetch=true
-+javacFailOnError=true
-+collectingFolder=eclipse
-+archivesFormat=*,*,*-zip
-+zipargs=-y
-+javacDebugInfo=true
-+archiveName=${id}.zip
-+runPackager=false
-+baseLocation=/usr/share/eclipse
++++ templates/package-build/prepare-build-dir.sh 1 Jan 1970 00:00:00 -0000
+@@ -0,0 +1,77 @@
++#!/bin/sh
++
++if [ $# -ne 2 ]; then
++ echo "usage: $0 <path to source dir> <path to build dir>"
++ exit 1
++fi
++
++if [ ! -d $1 ]; then
++ echo "usage: $0 <path to source dir> <path to build dir>"
++ exit 1
++fi
++
++SOURCEDIR=$1
++BUILDDIR=$2
++
++echo "preparing files in $1 for buildfile generation ..."
++mkdir -p $BUILDDIR
++
++# make some ant build files to extract the id from the feature.xml, plugin.xml or the fragment.xml
++mkdir -p $BUILDDIR/tmp
++BUILDFILE=$BUILDDIR/tmp/build.xml
++
++echo "<project default=\"main\">
++ <target name=\"main\">
++ <xmlproperty file=\"@type at .xml\" collapseAttributes=\"true\"/>
++ <fail unless=\"@type at .id\" message=\"feature.id not set\"/>
++ <echo message=\"\${@type at .id}\" />
++ </target>
++</project>" > $BUILDFILE
++
++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
++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
++
++ echo " making symlink: $BUILDDIR/features/$PROJECTNAME -> $PROJECTDIR"
++ ln -sf $PROJECTDIR $BUILDDIR/features/$PROJECTNAME
++done
++
++# 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
Index: templates/package-build/customTargets-assemble-target.xml
===================================================================
RCS file: templates/package-build/customTargets-assemble-target.xml
@@ -42,7 +109,7 @@
diff -N templates/package-build/customTargets.xml
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ templates/package-build/customTargets.xml 1 Jan 1970 00:00:00 -0000
-@@ -0,0 +1,144 @@
+@@ -0,0 +1,147 @@
+<project name="Build specific targets and properties" default="noDefault">
+
+ <fail unless="type" message="Please set the ${type} property to 'feature', 'plugin' or 'fragment'." />
@@ -114,6 +181,9 @@
+ the fetch stage, we have to manually arrange the files -->
+ <exec dir="${builder}" executable="/bin/sh">
+ <arg line="prepare-build-dir.sh ${sourceDirectory} ${buildDirectory}" />
++ </exec>
++ <exec dir="${builder}" executable="/bin/sh">
++ <arg line="symlink-deps.sh ${buildDirectory} ${orbitDepsDir}" />
+ </exec>
+
+ </target>
@@ -187,87 +257,50 @@
+ </target>
+
+</project>
-Index: templates/package-build/prepare-build-dir.sh
+Index: templates/package-build/build.properties
===================================================================
-RCS file: templates/package-build/prepare-build-dir.sh
-diff -N templates/package-build/prepare-build-dir.sh
+RCS file: templates/package-build/build.properties
+diff -N templates/package-build/build.properties
--- /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,77 @@
-+#!/bin/sh
++++ templates/package-build/build.properties 1 Jan 1970 00:00:00 -0000
+@@ -0,0 +1,12 @@
++buildDirectory=${sourceDirectory}/build
++buildLabel=rpmBuild
++archivePrefix=eclipse
++skipFetch=true
++javacFailOnError=true
++collectingFolder=eclipse
++archivesFormat=*,*,*-zip
++zipargs=-y
++javacDebugInfo=true
++archiveName=${id}.zip
++runPackager=false
++baseLocation=/usr/share/eclipse
+Index: templates/package-build/symlink-deps.sh
+===================================================================
+RCS file: templates/package-build/symlink-deps.sh
+diff -N templates/package-build/symlink-deps.sh
+--- /dev/null 1 Jan 1970 00:00:00 -0000
++++ templates/package-build/symlink-deps.sh 1 Jan 1970 00:00:00 -0000
+@@ -0,0 +1,21 @@
++#!/bin/sh -x
+
+if [ $# -ne 2 ]; then
-+ echo "usage: $0 <path to source dir> <path to build dir>"
++ echo "usage: $0 <path to build dir> <dependencies>"
+ exit 1
+fi
+
+if [ ! -d $1 ]; then
-+ echo "usage: $0 <path to source dir> <path to build dir>"
++ echo "usage: $0 <path to build dir> <dependencies>"
+ exit 1
+fi
+
-+SOURCEDIR=$1
-+BUILDDIR=$2
-+
-+echo "preparing files in $1 for buildfile generation ..."
-+mkdir -p $BUILDDIR
-+
-+# make some ant build files to extract the id from the feature.xml, plugin.xml or the fragment.xml
-+mkdir -p $BUILDDIR/tmp
-+BUILDFILE=$BUILDDIR/tmp/build.xml
-+
-+echo "<project default=\"main\">
-+ <target name=\"main\">
-+ <xmlproperty file=\"@type at .xml\" collapseAttributes=\"true\"/>
-+ <fail unless=\"@type at .id\" message=\"feature.id not set\"/>
-+ <echo message=\"\${@type at .id}\" />
-+ </target>
-+</project>" > $BUILDFILE
++BUILDDIR=$1
++DEPENDENCIESDIR=$2
+
-+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
-+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
-+
-+ echo " making symlink: $BUILDDIR/features/$PROJECTNAME -> $PROJECTDIR"
-+ ln -sf $PROJECTDIR $BUILDDIR/features/$PROJECTNAME
-+done
-+
-+# 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
++pushd $BUILDDIR/plugins
++ for dep in `ls $DEPENDENCIESDIR`; do
++ echo "ln -s $DEPENDENCIESDIR/$dep"
++ ln -s $DEPENDENCIESDIR/$dep
++ done
++popd
Index: eclipse-pdebuild.sh
===================================================================
RCS file: /cvs/pkgs/rpms/eclipse/devel/eclipse-pdebuild.sh,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- eclipse-pdebuild.sh 31 Mar 2008 18:45:06 -0000 1.1
+++ eclipse-pdebuild.sh 29 Jul 2008 13:40:46 -0000 1.2
@@ -1,6 +1,6 @@
#!/bin/bash
-# args: [-f <feature>] [-d <dependencies (outside SDK)>] [-a <additional build args>] [-j <JVM args>] [-v] [-D]
+# args: [-f <feature>] [-d <dependencies (outside SDK)>] [-a <additional build args>] [-j <JVM args>] [-v] [-D] [-o <Orbit dependencies>]
function usage {
cat << _EOF_
@@ -17,13 +17,14 @@
-j VM arguments (ex. -DJ2SE-1.5=%{_jvmdir}/java/jre/lib/rt.jar)
-v Be verbose
-D Debug platform itself (passes -consolelog -debug to Eclipse)
+ -o Orbit dependencies
_EOF_
}
function copyPlatform {
# This seems silly but I was running into issues with empty strings
# counting as arguments to copy-platform -- overholt, 2008-03
- if [ -z $dependencies ]; then
+ if [ -z "$dependencies" ]; then
if [ $verbose -eq 1 ]; then
echo "/bin/sh -x $datadir/eclipse/buildscripts/copy-platform $SDK $datadir/eclipse"
/bin/sh -x $datadir/eclipse/buildscripts/copy-platform $SDK $datadir/eclipse
@@ -74,9 +75,8 @@
buildDir=$PWD/build
SDK=$buildDir/SDK
homeDir=$buildDir/home
-libdir=`rpm --eval "%{_libdir}"`
-datadir=`rpm --eval "%{_datadir}"`
-pdeBuildDir=$datadir/eclipse/plugins/org.eclipse.pde.build
+datadir=`rpm --eval "%{_libdir}"`
+pdeBuildDir=$datadir/eclipse/dropins/sdk/plugins/org.eclipse.pde.build_ at PDEBUILDVERSION@
featureId=
dependencies=
@@ -85,9 +85,10 @@
verbose=0
dryRun=0
debugPlatform=0
+orbitDepsDir=
# See above. r = dry run (used for testing)
-while getopts âhf:d:a:j:vrDâ OPTION
+while getopts âhf:d:a:j:vrDo:â OPTION
do
case $OPTION in
h)
@@ -115,6 +116,9 @@
D)
debugPlatform=1
;;
+ o)
+ orbitDepsDir=$OPTARG
+ ;;
?)
usage
exit
@@ -171,7 +175,6 @@
echo "
java -cp $SDK/startup.jar \
--Dosgi.sharedConfiguration.area=$libdir/eclipse/configuration \
org.eclipse.core.launcher.Main \
-application org.eclipse.ant.core.antRunner \
$debugPlatformArgs \
@@ -180,7 +183,8 @@
-DbaseLocation=$SDK \
-DsourceDirectory=$sourceDir \
-DbuildDirectory=$buildDir \
--Dbuilder=$datadir/eclipse/plugins/org.eclipse.pde.build/templates/package-build \
+-Dbuilder=$datadir/eclipse/dropins/sdk/plugins/org.eclipse.pde.build_ at PDEBUILDVERSION@/templates/package-build \
+-DorbitDepsDir="$orbitDepsDir" \
$additionalArgs \
-f $pdeBuildDir/scripts/build.xml \
-vmargs \
@@ -190,7 +194,6 @@
if [ $dryRun -ne 1 ]; then
java -cp $SDK/startup.jar \
- -Dosgi.sharedConfiguration.area=$libdir/eclipse/configuration \
org.eclipse.core.launcher.Main \
-application org.eclipse.ant.core.antRunner \
$debugPlatformArgs \
@@ -199,7 +202,8 @@
-DbaseLocation=$SDK \
-DsourceDirectory=$sourceDir \
-DbuildDirectory=$buildDir \
- -Dbuilder=$datadir/eclipse/plugins/org.eclipse.pde.build/templates/package-build \
+ -Dbuilder=$datadir/eclipse/dropins/sdk/plugins/org.eclipse.pde.build_ at PDEBUILDVERSION@/templates/package-build \
+ -DorbitDepsDir=\""$orbitDepsDir"\" \
$additionalArgs \
-f $pdeBuildDir/scripts/build.xml \
-vmargs \
Index: eclipse.spec
===================================================================
RCS file: /cvs/pkgs/rpms/eclipse/devel/eclipse.spec,v
retrieving revision 1.564
retrieving revision 1.565
diff -u -r1.564 -r1.565
--- eclipse.spec 25 Jul 2008 13:21:25 -0000 1.564
+++ eclipse.spec 29 Jul 2008 13:40:46 -0000 1.565
@@ -1,11 +1,11 @@
# TODO:
# - update icu4j and jasper to use %%{_libdir}/eclipse and not %%{_datadir}/eclipse after we build 3.4
-# - generate content.xml for > platform sub-sets
-# - move > platform bits to dropins/<jdt,pde> along with content.xml for each
# - update ecj-rpmdebuginfo patch
# - look at startup script and launcher patches
# - get Ganymede update site pre-configured
# - investigate bi-arch requirements
+# - investigate need for copy-platform
+# - see why about.html isn't being copied on non-x86{,_64} platforms
Epoch: 1
%define eclipse_major 3
@@ -14,6 +14,9 @@
%define eclipse_micro 0
%define swtver 3.4.0.v3448f
+# Prevent brp-java-repack-jars from being run.
+%define __jar_repack 0
+
# All arches line up between Eclipse and Linux kernel names except i386 -> x86
%ifarch %{ix86}
%define eclipse_arch x86
@@ -24,7 +27,7 @@
Summary: An open, extensible IDE
Name: eclipse
Version: %{eclipse_majmin}.%{eclipse_micro}
-Release: 9%{?dist}
+Release: 10%{?dist}
License: EPL
Group: Text Editors/Integrated Development Environments (IDE)
URL: http://www.eclipse.org/
@@ -100,6 +103,7 @@
Patch24: %{name}-add-ppc64-sparc64-s390-s390x.patch
Patch28: %{name}-add-ppc64-sparc64-s390-s390x-2.patch
Patch30: %{name}-addfragmentsforotherplatforms.patch
+Patch38: %{name}-addrootfiles.patch
#FIXME: file a bug upstream
Patch26: %{name}-launcher-fix-java-home.patch
# Default max heap size too low for lots of people. Bump to 512 MB.
@@ -284,6 +288,10 @@
Requires: objectweb-asm
# For PDE Build wrapper script
Requires: bash
+Provides: %{name}-pde-runtime = 1:%{version}-%{release}
+# The 20 is more than the currently (2008-06-25) latest 3.3.2 package
+# but I want to leave some room in case we need to do an F9 update.
+Obsoletes: %{name}-pde-runtime < 1:3.3.2-20
%description pde
Eclipse Plugin Development Environment. This package is required for
@@ -406,6 +414,7 @@
%patch28
%patch30
%patch31 -p1
+%patch38
# replace ppc64 with a fake arch (ppc128) so we don't have duplicate ant targets
sed -i "s/\(rootFileslinux_gtk_\)ppc64/\1ppc128/g" \
@@ -744,6 +753,7 @@
mkdir $installDir
pushd $installDir
sh %{SOURCE28} $sdkDir
+mv plugins/*.source* $sdkDir/plugins
popd
# Generate metadata for the platform
@@ -763,6 +773,73 @@
-artifactRepositoryName "Fedora Eclipse" \
-metadataRepositoryName "Fedora Eclipse"
+# JDT
+jdtDir=$sdkDir-JDT
+jdtMetadata=$jdtDir/metadata-JDT
+
+mkdir $jdtDir
+pushd $jdtDir
+mkdir features plugins
+mv $sdkDir/features/org.eclipse.jdt_* features
+for plugin in org.eclipse.jdt \
+ org.eclipse.ant.ui \
+ org.eclipse.jdt.apt.core \
+ org.eclipse.jdt.apt.ui \
+ org.eclipse.jdt.apt.pluggable.core \
+ org.eclipse.jdt.compiler.apt \
+ org.eclipse.jdt.compiler.tool \
+ org.eclipse.jdt.core \
+ org.eclipse.jdt.core.manipulation \
+ org.eclipse.jdt.debug.ui \
+ org.eclipse.jdt.debug \
+ org.eclipse.jdt.junit \
+ org.eclipse.jdt.junit.runtime \
+ org.eclipse.jdt.junit4.runtime \
+ org.eclipse.jdt.launching \
+ org.eclipse.jdt.ui \
+ org.junit \
+ org.junit4 \
+ org.eclipse.jdt.doc.user; do
+ mv $sdkDir/plugins/${plugin}_* plugins
+done
+popd
+
+# Generate metadata for JDT
+java \
+-cp $installDir/plugins/org.eclipse.equinox.launcher_$LAUNCHERVERSION \
+org.eclipse.core.launcher.Main \
+-application \
+org.eclipse.equinox.p2.metadata.generator.EclipseGenerator \
+-metadataRepository file:$jdtMetadata \
+-artifactRepository file:$jdtMetadata \
+-source $jdtDir \
+-root "Fedora Eclipse JDT" \
+-rootVersion %{version} \
+-flavor tooling \
+-append \
+-artifactRepositoryName "Fedora Eclipse" \
+-metadataRepositoryName "Fedora Eclipse"
+
+# SDK
+sdkMetadata=$sdkDir/metadata-SDK
+
+# Generate metadata for SDK
+java \
+-cp $installDir/plugins/org.eclipse.equinox.launcher_$LAUNCHERVERSION \
+org.eclipse.core.launcher.Main \
+-application \
+org.eclipse.equinox.p2.metadata.generator.EclipseGenerator \
+-metadataRepository file:$sdkMetadata \
+-artifactRepository file:$sdkMetadata \
+-source $sdkDir \
+-root "Fedora Eclipse SDK" \
+-rootVersion %{version} \
+-flavor tooling \
+-publishArtifacts \
+-append \
+-artifactRepositoryName "Fedora Eclipse" \
+-metadataRepositoryName "Fedora Eclipse"
+
# Director config.ini
mv $installDir/configuration/config.ini{,.bak}
cp -p %{SOURCE22} $installDir/configuration/config.ini
@@ -790,12 +867,21 @@
-bundlepool $provisionDir
# Stuff in JDT, PDE, SDK
-for f in about* \.eclipseproduct epl-v10.html notice.html readme; do
- mv $installDir/$f $provisionDir
+for f in about.html about_files \.eclipseproduct epl-v10.html notice.html readme; do
+ if [ -e $installDir/$f ]; then
+ mv $installDir/$f $provisionDir
+ fi
done
-mv $sdkDir/features/* $provisionDir/features
-mv $sdkDir/plugins/* $provisionDir/plugins
-rm -rf $metadataDir $sdkDir $installDir
+dropins=$provisionDir/dropins
+mkdir $dropins/jdt $dropins/sdk
+mv $jdtDir/features $dropins/jdt
+mv $jdtDir/plugins $dropins/jdt
+mv $jdtMetadata/content.xml $dropins/jdt
+
+mv $sdkDir/features $dropins/sdk
+mv $sdkDir/plugins $dropins/sdk
+mv $sdkMetadata/content.xml $dropins/sdk
+rm -rf $metadataDir $jdtDir $sdkDir $installDir
mv $provisionDir $sdkDir
# Fix paths in p2 data
@@ -846,6 +932,7 @@
rm -r $sdkDir/configuration/org.eclipse.core.runtime
rm -r $sdkDir/configuration/org.eclipse.equinox.app
rm -r $sdkDir/configuration/.settings
+rm -rf $sdkDir/configuration/*.log
dataDirs=$(find $sdkDir/configuration \
-type d -name data)
for dataDir in $dataDirs; do
@@ -891,23 +978,23 @@
# Install symlinks to the SWT JNI shared libraries in %%{_libdir}/eclipse
pushd $RPM_BUILD_ROOT%{_libdir}/%{name}
for lib in $(find configuration -name libswt\*.so); do
- ln -s %{_libdir}/%{name}/$lib `basename $lib`
+ ln -s $lib `basename $lib`
done
popd
# 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:")
pushd $RPM_BUILD_ROOT%{_libdir}/%{name}
-ln -s %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk.linux.%{eclipse_arch}_$SWTJARVERSION.jar swt-gtk-%{eclipse_majmin}.%{eclipse_micro}.jar
+ln -s plugins/org.eclipse.swt.gtk.linux.%{eclipse_arch}_$SWTJARVERSION.jar swt-gtk-%{eclipse_majmin}.%{eclipse_micro}.jar
ln -s swt-gtk-%{eclipse_majmin}.%{eclipse_micro}.jar swt-gtk-%{eclipse_majmin}.jar
ln -s swt-gtk-%{eclipse_majmin}.%{eclipse_micro}.jar swt.jar
ln -s ../%{name}/swt-gtk-%{eclipse_majmin}.%{eclipse_micro}.jar ../java/swt.jar
popd
# Install the eclipse-ecj.jar symlink for java-1.4.2-gcj-compat's "javac"
-JDTCORESUFFIX=$(ls $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins | grep jdt.core_ | sed "s/org.eclipse.jdt.core_//")
+JDTCORESUFFIX=$(ls $RPM_BUILD_ROOT%{_libdir}/%{name}/dropins/jdt/plugins | grep jdt.core_ | sed "s/org.eclipse.jdt.core_//")
install -d -m 755 $RPM_BUILD_ROOT%{_javadir}
-ln -s %{_libdir}/%{name}/plugins/org.eclipse.jdt.core_$JDTCORESUFFIX \
+ln -s %{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.core_$JDTCORESUFFIX \
$RPM_BUILD_ROOT%{_javadir}/eclipse-ecj-%{version}.jar
ln -s %{_javadir}/eclipse-ecj-%{version}.jar \
$RPM_BUILD_ROOT%{_javadir}/eclipse-ecj.jar
@@ -920,13 +1007,6 @@
ln -s %{_javadir}/ecj-%{version}.jar \
$RPM_BUILD_ROOT%{_javadir}/ecj.jar
-# FIXME: get rid of this by putting logic in package build to know what version
-# of pde.build it's using
-# Install a versionless pde.build
-pushd $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/
-ln -s org.eclipse.pde.build_* org.eclipse.pde.build
-popd
-
# Icons
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps
ln -s %{_libdir}/%{name}/plugins/org.fedoraproject.ide.platform/eclipse48.png \
@@ -960,28 +1040,43 @@
cp -p %{SOURCE16} copy-platform
(
cd $RPM_BUILD_ROOT%{_libdir}/%{name}
- ls -d * | egrep -v '^(plugins|features|links|about_files)$'
- ls -d plugins/* features/* links/*
+ ls -d * | egrep -v '^(plugins|features|about_files)$'
+ ls -d plugins/* features/*
) |
sed -e's,^\(.*\),[ ! -e \1 ] \&\& ln -s $eclipse/\1 \1,' >> copy-platform
-
mkdir -p $RPM_BUILD_ROOT%{_libdir}/%{name}/buildscripts
cp -p copy-platform $RPM_BUILD_ROOT%{_libdir}/%{name}/buildscripts
+copyPlatform=$RPM_BUILD_ROOT%{_libdir}/%{name}/buildscripts/copy-platform
+pushd $RPM_BUILD_ROOT%{_libdir}/%{name}
+for p in $(ls -d dropins/jdt/plugins/*); do
+ plugin=$(basename $p)
+ echo $p | sed -e"s,^\(.*\),[ ! -e plugins/$plugin ] \&\& ln -s \$eclipse/\1 plugins/$plugin," >> $copyPlatform
+done
+for p in $(ls -d dropins/sdk/plugins/*); do
+ plugin=$(basename $p)
+ echo $p | sed -e"s,^\(.*\),[ ! -e plugins/$plugin ] \&\& ln -s \$eclipse/\1 plugins/$plugin," >> $copyPlatform
+done
+popd
# Install the PDE Build wrapper script.
install -p -D -m0755 %{SOURCE21} \
$RPM_BUILD_ROOT%{_libdir}/%{name}/buildscripts/pdebuild
+PDEBUILDVERSION=$(ls $RPM_BUILD_ROOT%{_libdir}/%{name}/dropins/sdk/plugins \
+ | grep org.eclipse.pde.build_ | \
+ sed 's/org.eclipse.pde.build_//')
+sed -i "s/@PDEBUILDVERSION@/$PDEBUILDVERSION/g" \
+ $RPM_BUILD_ROOT%{_libdir}/%{name}/buildscripts/pdebuild
pushd $RPM_BUILD_ROOT%{_libdir}/%{name}
rm plugins/org.sat4j*
ln -s %{_javadir}/org.sat4j.core_* plugins/
ln -s %{_javadir}/org.sat4j.pb_* plugins/
-ASMPLUGINVERSION=$(ls plugins | grep org.objectweb.asm_ | \
+ASMPLUGINVERSION=$(ls dropins/sdk/plugins | grep org.objectweb.asm_ | \
sed 's/org.objectweb.asm_//')
-rm plugins/org.objectweb.asm_$ASMPLUGINVERSION
+rm dropins/sdk/plugins/org.objectweb.asm_$ASMPLUGINVERSION
ln -s %{_javadir}/objectweb-asm/asm-all.jar \
- plugins/org.objectweb.asm_$ASMPLUGINVERSION
+ dropins/sdk/plugins/org.objectweb.asm_$ASMPLUGINVERSION
## BEGIN ANT ##
ANTDIR=plugins/$(ls plugins | grep org.apache.ant_)
@@ -1019,11 +1114,13 @@
rm plugins/org.mortbay.jetty_$JETTYPLUGINVERSION
ln -s %{_javadir}/jetty/jetty.jar plugins/org.mortbay.jetty_$JETTYPLUGINVERSION
+pushd dropins/jdt
build-jar-repository -s -p plugins/org.junit_* junit
JUNIT4VERSION=$(ls plugins | grep org.junit4_ | sed 's/org.junit4_//')
rm plugins/org.junit4_$JUNIT4VERSION/junit.jar
ln -s %{_javadir}/junit4.jar plugins/org.junit4_$JUNIT4VERSION/junit.jar
+popd
JSCHVERSION=$(ls plugins | grep com.jcraft.jsch_ | sed 's/com.jcraft.jsch_//')
rm plugins/com.jcraft.jsch_$JSCHVERSION
@@ -1098,8 +1195,10 @@
%files ecj
%defattr(-,root,root)
%dir %{_libdir}/%{name}
-%dir %{_libdir}/%{name}/plugins
-%{_libdir}/%{name}/plugins/org.eclipse.jdt.core_*
+%dir %{_libdir}/%{name}/dropins
+%dir %{_libdir}/%{name}/dropins/jdt
+%dir %{_libdir}/%{name}/dropins/jdt/plugins
+%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.core_*
%{_javadir}/eclipse-ecj*.jar
%{_javadir}/jdtcore*.jar
%{_javadir}/ecj*.jar
@@ -1132,7 +1231,9 @@
#%{_libdir}/%{name}/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info
%{_libdir}/%{name}/notice.html
%{_libdir}/%{name}/epl-v10.html
+%ifarch %{ix86} x86_64
%{_libdir}/%{name}/about.html
+%endif
%ifarch x86_64
%{_libdir}/%{name}/about_files
%endif
@@ -1174,6 +1275,7 @@
%{_datadir}/pixmaps/*
%{_datadir}/icons/*/*/apps/*
%{_libdir}/%{name}/eclipse
+%dir %{_libdir}/%{name}/dropins
%{_libdir}/%{name}/features/org.eclipse.platform_*
%{_libdir}/%{name}/plugins/com.jcraft.jsch_*
%{_libdir}/%{name}/plugins/javax.servlet_*
@@ -1293,86 +1395,53 @@
%{_libdir}/%{name}/plugins/org.sat4j.pb_*
# Put this in -platform since we're putting the p2 stuff here
%{_libdir}/%{name}/artifacts.xml
-# FIXME: should we ship content.xml?
+# FIXME: should we ship content.xml for the platform?
#%{_libdir}/%{name}/metadata
%{_libdir}/%{name}/p2
%files jdt
%defattr(-,root,root)
%{_bindir}/efj
-%{_libdir}/%{name}/features/org.eclipse.jdt_*
-%{_libdir}/%{name}/plugins/org.eclipse.ant.ui_*
-%{_libdir}/%{name}/plugins/org.junit_*
-%{_libdir}/%{name}/plugins/org.eclipse.jdt.junit_*
-%{_libdir}/%{name}/plugins/org.eclipse.jdt.doc.user_*
-%{_libdir}/%{name}/plugins/org.eclipse.jdt.apt.core_*
-%{_libdir}/%{name}/plugins/org.eclipse.jdt.ui_*
-%{_libdir}/%{name}/plugins/org.eclipse.jdt.debug_*
-%{_libdir}/%{name}/plugins/org.eclipse.jdt.junit4.runtime_*
-%{_libdir}/%{name}/plugins/org.junit4_*
-%{_libdir}/%{name}/plugins/org.eclipse.jdt_*
-%{_libdir}/%{name}/plugins/org.eclipse.jdt.launching_*
-%{_libdir}/%{name}/plugins/org.eclipse.jdt.core.manipulation_*
-%{_libdir}/%{name}/plugins/org.eclipse.jdt.apt.ui_*
-%{_libdir}/%{name}/plugins/org.eclipse.jdt.junit.runtime_*
-%{_libdir}/%{name}/plugins/org.eclipse.jdt.debug.ui_*
-%{_libdir}/%{name}/plugins/org.eclipse.jdt.apt.pluggable.core_*
-%{_libdir}/%{name}/plugins/org.eclipse.jdt.compiler.apt_*
-%{_libdir}/%{name}/plugins/org.eclipse.jdt.compiler.tool_*
+%{_libdir}/%{name}/dropins/jdt/content.xml
+%{_libdir}/%{name}/dropins/jdt/features
+%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt_*
+%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.ant.ui_*
+%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.apt.core_*
+%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.apt.ui_*
+%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.apt.pluggable.core_*
+%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.compiler.apt_*
+%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.compiler.tool_*
+%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.core_*
+%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.core.manipulation_*
+%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.debug.ui_*
+%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.debug_*
+%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.junit_*
+%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.junit.runtime_*
+%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.junit4.runtime_*
+%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.launching_*
+%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.ui_*
+%{_libdir}/%{name}/dropins/jdt/plugins/org.junit_*
+%{_libdir}/%{name}/dropins/jdt/plugins/org.junit4_*
+%{_libdir}/%{name}/dropins/jdt/plugins/org.eclipse.jdt.doc.user_*
%files pde
%defattr(-,root,root)
-%{_libdir}/%{name}/features/org.eclipse.sdk_*
-%{_libdir}/%{name}/features/org.eclipse.pde_*
-%{_libdir}/%{name}/features/org.eclipse.pde.p2_*
-%{_libdir}/%{name}/features/org.eclipse.pde.p2.source_*
-%{_libdir}/%{name}/features/org.eclipse.equinox.p2.user.ui.source_*
-%{_libdir}/%{name}/features/org.eclipse.help.source_*
-%{_libdir}/%{name}/features/org.eclipse.pde.source_*
-%{_libdir}/%{name}/plugins/org.eclipse.pde.doc.user_*
-%{_libdir}/%{name}/plugins/org.eclipse.pde.build_*
-%{_libdir}/%{name}/plugins/org.eclipse.pde.build
-%{_libdir}/%{name}/plugins/org.eclipse.pde_*
-%{_libdir}/%{name}/plugins/org.eclipse.pde.core_*
-%{_libdir}/%{name}/plugins/org.eclipse.pde.junit.runtime_*
-%{_libdir}/%{name}/plugins/org.eclipse.pde.ui_*
-%{_libdir}/%{name}/plugins/org.eclipse.pde.ui.templates_*
-%{_libdir}/%{name}/plugins/org.eclipse.pde.p2.ui_*
-%{_libdir}/%{name}/features/org.eclipse.rcp.source_*
-#%{_libdir}/%{name}/plugins/org.eclipse.rcp.source.linux.gtk.%{eclipse_arch}*
-%{_libdir}/%{name}/features/org.eclipse.cvs.source_*
-%{_libdir}/%{name}/plugins/org.eclipse.sdk_*
-%{_libdir}/%{name}/features/org.eclipse.jdt.source_*
-%{_libdir}/%{name}/plugins/org.eclipse.jdt.doc.isv_*
-%{_libdir}/%{name}/features/org.eclipse.platform.source_*
-%{_libdir}/%{name}/plugins/org.eclipse.platform.doc.isv_*
-#%{_libdir}/%{name}/plugins/org.eclipse.platform.source.linux.gtk.%{eclipse_arch}_*
-%{_libdir}/%{name}/plugins/org.eclipse.ui.views.log_*
%{_libdir}/%{name}/buildscripts
-%{_libdir}/%{name}/plugins/org.eclipse.pde.api.tools_*
-%{_libdir}/%{name}/plugins/org.eclipse.pde.api.tools.ui_*
-%{_libdir}/%{name}/plugins/javax.servlet.jsp.source_*
-%{_libdir}/%{name}/plugins/javax.servlet.source_*
-%{_libdir}/%{name}/plugins/org.apache.ant.source_*
-%{_libdir}/%{name}/plugins/org.apache.commons.el.source_*
-%{_libdir}/%{name}/plugins/org.apache.commons.logging.source_*
-%{_libdir}/%{name}/plugins/org.apache.jasper.source_*
-%{_libdir}/%{name}/plugins/org.apache.lucene.analysis.source_*
-%{_libdir}/%{name}/plugins/org.apache.lucene.source_*
-%{_libdir}/%{name}/plugins/org.junit.source_*
-%{_libdir}/%{name}/plugins/org.junit4.source_*
-%{_libdir}/%{name}/plugins/org.mortbay.jetty.source_*
-%{_libdir}/%{name}/plugins/org.objectweb.asm_*
-%{_libdir}/%{name}/plugins/org.objectweb.asm.source_*
-%{_libdir}/%{name}/plugins/org.eclipse.*.source_*
+%{_libdir}/%{name}/dropins/sdk
# FIXME: where should this go?
-%{_libdir}/%{name}/configuration/org.eclipse.equinox.source/source.info
-
-%files pde-runtime
-%defattr(-,root,root)
-%{_libdir}/%{name}/plugins/org.eclipse.pde.runtime_*
+%{_libdir}/%{name}/configuration/org.eclipse.equinox.source
%changelog
+* Mon Jul 28 2008 Andrew Overholt <overholt at redhat.com> 3.4.0-10
+- Move JDT and PDE/SDK bits to dropins/{jdt,sdk}
+- Drop versionless PDE Build symlink (put logic into pdebuild script)
+- Make SWT JAR symlinks relative
+- Fold pde-runtime into pde
+- Add patch to add root files for non-upstream arches
+
+* Fri Jul 25 2008 Andrew Overholt <overholt at redhat.com> 3.4.0-10
+- Add ability for pdebuild (-o) to work with Orbit-style dependencies
+
* Fri Jul 25 2008 Andrew Overholt <overholt at redhat.com> 3.4.0-9
- Collapse patches to build SWT native bits into two
- Copy about* from x86 to all non-x86{_64} platforms
More information about the fedora-extras-commits
mailing list