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