[eclipse/cbi] successful build!

Krzysztof Daniel kdaniel at fedoraproject.org
Tue Aug 7 11:43:46 UTC 2012


commit 48b3c878942646628cc13c49c67627edb7d9ff9d
Author: Krzysztof Daniel <kdaniel at redhat.com>
Date:   Tue Aug 7 13:29:19 2012 +0200

    successful build!

 eclipse-copy-platform.sh |  104 +++++++++++++++
 eclipse-pdebuild.sh      |  314 ++++++++++++++++++++++++++++++++++++++++++++++
 eclipse.spec             |  189 ++++++++++++----------------
 3 files changed, 497 insertions(+), 110 deletions(-)
---
diff --git a/eclipse-copy-platform.sh b/eclipse-copy-platform.sh
new file mode 100755
index 0000000..60c8b45
--- /dev/null
+++ b/eclipse-copy-platform.sh
@@ -0,0 +1,104 @@
+#! /bin/sh
+
+# We need to make our own copy of the eclipse platform in order to
+# build against it.  We do this since the build root might already
+# contain a copy of the plugin we are building -- and the eclipse
+# releng scripts fail in this situation.  We put this script in the
+# eclipse core so that it is easy to use from other spec files.
+
+# Arguments are:
+# * directory where results should end up (script will make it)
+# * base location of eclipse platform install
+# * an optional string that is used to select non-platform
+#   plugins and features.  At present if a plugin or feature has
+#   this as a substring, it will be included.  You need only run
+#   this script once, it will link both the platform and the other
+#   optionally-selected parts in a single invocation.
+
+# Test to see if the minimum arguments
+# are specified
+
+if [ $# -lt 2 ]; then
+  echo "Usage: copy-platform where eclipse_base optional_directories"
+  echo "For example: copy-plaform ~/SDK /usr/lib/eclipse cdt pydev jdt"
+  exit 1
+fi
+
+where=$1; shift
+eclipse=$1; shift
+
+datadir=/usr/share/eclipse
+
+mkdir -p $where/plugins $where/features
+cd $where
+
+# Are there any optional arguments left?
+if [ $# -gt 0 ]; then
+   for optional in "$@"; do
+      (cd $eclipse;
+	ls -d plugins/*"$optional"* features/*"$optional"* 2>/dev/null) |
+      while read f; do
+         [ ! -e $f ] && ln -s $eclipse/$f $f
+      done
+      (cd $eclipse/dropins; ls -d "$optional" 2>/dev/null) |
+      while read f; do
+	  if [ -e $eclipse/dropins/$f/eclipse ]; then
+	      (cd $eclipse/dropins/$f/eclipse;
+				ls -d plugins/* features/* 2>/dev/null) |
+	      while read g; do
+		  [ ! -e $g ] && \
+		    ln -s $eclipse/dropins/$f/eclipse/$g $g
+	      done
+          else
+	      (cd $eclipse/dropins/$f;
+				ls -d plugins/* features/* 2>/dev/null) |
+	      while read g; do
+	          [ ! -e $g ] && \
+		    ln -s $eclipse/dropins/$f/$g $g
+	      done
+          fi
+      done
+      (cd $datadir/dropins; ls -d "$optional" 2>/dev/null) |
+      while read f; do
+	  if [ -e $datadir/dropins/$f/eclipse ]; then
+	      (cd $datadir/dropins/$f/eclipse;
+				ls -d plugins/* features/* 2>/dev/null) |
+	      while read g; do
+		  [ ! -e $g ] && \
+		    ln -s $datadir/dropins/$f/eclipse/$g $g
+	      done
+          else
+	      (cd $datadir/dropins/$f;
+				ls -d plugins/* features/* 2>/dev/null) |
+	      while read g; do
+	          [ ! -e $g ] && \
+		    ln -s $datadir/dropins/$g $g
+	      done
+          fi
+      done
+   done
+fi
+for p in $(ls -d $eclipse/dropins/jdt/plugins/*); do
+    plugin=$(basename $p)
+    [ ! -e plugins/$plugin ] && ln -s $eclipse/dropins/jdt/plugins/$plugin plugins/$plugin
+done
+for f in $(ls -d $eclipse/dropins/jdt/features/*); do
+    feature=$(basename $f)
+    [ ! -e features/$feature ] && ln -s $eclipse/dropins/jdt/features/$feature features/$feature
+done
+for p in $(ls -d $eclipse/dropins/sdk/plugins/*); do
+    plugin=$(basename $p)
+    [ ! -e plugins/$plugin ] && ln -s $eclipse/dropins/sdk/plugins/$plugin plugins/$plugin
+done
+for f in $(ls -d $eclipse/dropins/sdk/features/*); do
+    feature=$(basename $f)
+    [ ! -e features/$feature ] && ln -s $eclipse/dropins/sdk/features/$feature features/$feature
+done
+for p in $(ls -d $eclipse/plugins/*); do
+    plugin=$(basename $p)
+    [ ! -e plugins/$plugin ] && ln -s $eclipse/plugins/$plugin plugins/$plugin
+done
+for f in $(ls -d $eclipse/features/*); do
+    feature=$(basename $f)
+    [ ! -e features/$feature ] && ln -s $eclipse/features/$feature features/$feature
+done
diff --git a/eclipse-pdebuild.sh b/eclipse-pdebuild.sh
new file mode 100755
index 0000000..ea14c58
--- /dev/null
+++ b/eclipse-pdebuild.sh
@@ -0,0 +1,314 @@
+#!/bin/bash
+
+# args:  [-f <feature>] [-d <dependencies (outside SDK)>] [-a <additional build args>] [-j <JVM args>] [-v] [-D] [-o <Orbit dependencies>]
+
+function usage {
+cat << _EOF_
+usage: $0 [<options>]
+
+Use PDE Build to build Eclipse features
+
+Optional arguments:
+   -h      Show this help message
+   -f      Feature ID to build
+   -d      Plugin dependencies in addition to Eclipse SDK
+           (space-separated, names on which to glob features and plugins)
+   -a      Additional build arguments (ex. -DjavacSource=1.5)
+   -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      Directory containing Orbit-style dependencies
+   -z      Comma-delimited list of dependency zips (not for use during RPM build)
+_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 [ $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
+        else
+            echo "/bin/sh $datadir/eclipse/buildscripts/copy-platform $SDK $datadir/eclipse"
+            /bin/sh $datadir/eclipse/buildscripts/copy-platform $SDK $datadir/eclipse
+        fi
+    else
+        if [ $verbose -eq 1 ]; then
+            echo "/bin/sh -x $datadir/eclipse/buildscripts/copy-platform $SDK $datadir/eclipse $dependencies"
+            /bin/sh -x $datadir/eclipse/buildscripts/copy-platform $SDK $datadir/eclipse $dependencies
+        else
+            echo "/bin/sh $datadir/eclipse/buildscripts/copy-platform $SDK $datadir/eclipse $dependencies"
+            /bin/sh $datadir/eclipse/buildscripts/copy-platform $SDK $datadir/eclipse $dependencies
+        fi
+    fi
+}
+
+function findFeatureId {
+    # We can determine the feature ID if we have only one
+    numFeatures=$(find $sourceDir -name feature.xml | wc -l)
+    if [ $numFeatures -ne 1 ]; then
+        #echo "# features found = $numFeatures"
+        echo "Cannot determine feature ID.  Please specify with -f."
+        usage
+        exit 1
+    fi
+    
+    featureXml=$(find $sourceDir -name feature.xml)
+    
+    # Taken from Ben Konrath's package-build
+    # make an ant build files to extract the id from the feature.xml
+    buildFile=$buildDir/findFeatureForRPM-tmp-build.xml
+    
+    echo "<project default=\"main\">
+    	<target name=\"main\">
+                   	<xmlproperty file=\"$featureXml\" collapseAttributes=\"true\"/>
+    		<fail unless=\"feature.id\" message=\"feature.id not set\"/>
+                   	<echo message=\"\${feature.id}\" />
+            </target>
+    </project>" > $buildFile
+    
+    featureId=$(ant -Dbasedir=$sourceDir -f $buildFile 2>&1 | grep echo | cut --delimiter=' ' -f 7)
+    rm $buildFile
+}
+
+function findFeatureNameAndVersion {
+    featureXml=$(find $sourceDir -name feature.xml | while read f; do grep -l id=\"$featureId\" $f; done)
+    
+    buildFile=$buildDir/findFeatureForRPM-tmp-build.xml
+    
+    echo "<project default=\"main\">
+    	<target name=\"main\">
+                   	<xmlproperty file=\"$featureXml\" collapseAttributes=\"true\"/>
+    		<fail unless=\"feature.id\" message=\"feature.id not set\"/>
+                   	<echo message=\"\${feature.label}\" />
+            </target>
+    </project>" > $buildFile
+    
+    featureName=$(ant -Dbasedir=$sourceDir -f $buildFile 2>&1 | grep echo | sed "s/.*\[echo\]\ //")
+    rm $buildFile
+
+    echo "<project default=\"main\">
+    	<target name=\"main\">
+                   	<xmlproperty file=\"$featureXml\" collapseAttributes=\"true\"/>
+    		<fail unless=\"feature.id\" message=\"feature.id not set\"/>
+                   	<echo message=\"\${feature.version}\" />
+            </target>
+    </project>" > $buildFile
+    
+    featureVersion=$(ant -Dbasedir=$sourceDir -f $buildFile 2>&1 | grep echo | sed "s/.*\[echo\]\ //")
+    rm $buildFile
+}
+
+function findMaxBREE {
+	manifests=$(find $sourceDir -name MANIFEST.MF)
+	maxBree=1.4
+	for i in $manifests; do
+		breeLine=$(cat $i|grep RequiredExecutionEnvironment|cut -c37-|sed 's/^ *\(.*\) *$/\1/')
+		case $breeLine in
+         "J2SE-1.5")
+         	 bree=1.5
+             ;;
+         "JavaSE-1.6")
+         	 bree=1.6
+             ;;
+     	esac
+     	if [ "$bree" \> "$maxBree" ]; then
+     		maxBree=$bree
+     	fi
+    done
+}
+
+sourceDir=$PWD
+buildDir=$PWD/build
+SDK=$buildDir/SDK
+homeDir=$buildDir/home
+workspaceDir=$homeDir/workspace
+datadir=`rpm --eval "%{_libdir}"`
+pdeBuildDir=$datadir/eclipse/dropins/sdk/plugins/org.eclipse.pde.build_ at PDEBUILDVERSION@
+
+featureId=
+dependencies=
+additionalArgs=
+vmArgs=
+verbose=0
+dryRun=0
+debugPlatform=0
+orbitDepsDir=
+p2Generate=
+testing=false
+zipDeps=
+
+# See above.  r = dry run (used for testing)
+while getopts “hf:d:z:a:j:tvrDo:” OPTION
+do
+     case $OPTION in
+         h)
+             usage
+             exit
+             ;;
+         f)
+             featureId=$OPTARG
+             ;;
+         d)
+             dependencies=$OPTARG
+             ;;
+         a)
+             additionalArgs=$OPTARG
+             ;;
+         j)
+             vmArgs=$OPTARG
+             ;;
+         t)
+             testing=true
+             ;;
+         v)
+             verbose=1
+             ;;
+         r)
+             dryRun=1
+             ;;
+         D)
+             debugPlatform=1
+             ;;
+         o)
+             orbitDepsDir=$OPTARG
+             ;;
+         z)
+             zipDeps=$OPTARG
+             ;;
+         ?)
+             usage
+             exit 1
+             ;;
+     esac
+done
+
+echo "mkdir -p $buildDir"
+if [ $dryRun -ne 1 ]; then
+    mkdir -p $buildDir
+fi
+
+# Eclipse may try to write to the building user's home directory so we create a
+# temporary one for use by the build.
+echo "mkdir -p $homeDir"
+if [ $dryRun -ne 1 ]; then
+    mkdir -p $homeDir
+fi
+
+echo "mkdir -p $workspaceDir"
+if [ $dryRun -ne 1 ]; then
+    mkdir -p $workspaceDir
+fi
+
+if [ -z $featureId ]; then
+    findFeatureId
+fi
+
+if [ -z $featureId ]; then
+    echo "Cannot determine feature ID.  Please specify with -f."
+    usage
+    exit 1
+fi
+
+findFeatureNameAndVersion
+
+echo "Building feature = $featureId."
+
+if [ -z "$dependencies" ]; then
+    if [ $verbose -eq 1 ]; then
+        echo "Assuming no dependencies except Eclipse SDK."
+    fi
+fi
+
+# Symlink the SDK and dependencies for build
+if [ -z "$dependencies" ]; then
+    echo "Symlinking SDK into $SDK directory."
+else
+    echo "Symlinking SDK and \"$dependencies\" into $SDK directory."
+fi
+if [ $dryRun -ne 1 ]; then
+    copyPlatform
+fi
+
+if [ $debugPlatform -eq 1 ]; then
+    debugPlatformArgs="-debug -consolelog"
+fi
+
+if [ "x$orbitDepsDir" != "x" ]; then
+    orbitDeps="-DorbitDepsDir=$orbitDepsDir"
+fi
+
+if [ "x$zipDeps" != "x" ]; then
+    OLD_IFS="$IFS"
+    IFS=","
+    zipDepsArray=($zipDeps)
+    IFS="$OLD_IFS"
+    numZips=${#zipDepsArray[@]}
+    for (( i=0; i< $numZips; i++ )); do
+        thisZip=${zipDepsArray[$i]}
+        thisFile=$(basename $thisZip)
+        thisURL=$(echo $thisZip | sed s/$thisFile//)
+        if [ ! -e $thisFile ]; then
+            wget -q $thisZip
+        fi
+        mkdir -p tmp
+        unzip -q -o $thisFile -d tmp
+        cp -raf tmp/eclipse/features/* $SDK/features
+        cp -raf tmp/eclipse/plugins/* $SDK/plugins
+        rm -rf tmp
+        thisZip=
+        thisFile=
+        thisURL=
+    done
+fi
+if [ -z "$additionalArgs" ]; then
+	findMaxBREE
+	additionalArgs="-DjavacSource=$maxBree -DjavacTarget=$maxBree"
+fi
+
+echo "Starting build:"
+
+launcherJar=$(ls $SDK/plugins | grep "org.eclipse.equinox.launcher_")
+
+if [ $testing != true ]; then
+  java -cp $SDK/plugins/${launcherJar} \
+    -Duser.home=$homeDir \
+    $vmArgs \
+    org.eclipse.core.launcher.Main \
+    -data $workspaceDir \
+    -application org.eclipse.ant.core.antRunner \
+    $debugPlatformArgs \
+    -Dtype=feature \
+    -Did=$featureId \
+    -DbaseLocation=$SDK \
+    -DsourceDirectory=$sourceDir \
+    -DbuildDirectory=$buildDir \
+    -Dbuilder=$datadir/eclipse/dropins/sdk/plugins/org.eclipse.pde.build_ at PDEBUILDVERSION@/templates/package-build \
+    $orbitDeps \
+    -Dtesting="$testing" \
+    $additionalArgs \
+    -f $pdeBuildDir/scripts/build.xml
+else
+  echo "\
+  java -cp $SDK/plugins/${launcherJar} \
+    -Duser.home=$homeDir \
+    $vmArgs \
+    org.eclipse.core.launcher.Main \
+    -data $workspaceDir \
+    -application org.eclipse.ant.core.antRunner \
+    $debugPlatformArgs \
+    -Dtype=feature \
+    -Did=$featureId \
+    -DbaseLocation=$SDK \
+    -DsourceDirectory=$sourceDir \
+    -DbuildDirectory=$buildDir \
+    -Dbuilder=$datadir/eclipse/dropins/sdk/plugins/org.eclipse.pde.build_ at PDEBUILDVERSION@/templates/package-build \
+    $orbitDeps \
+    -Dtesting=\"$testing\" \
+    $additionalArgs \
+    -f $pdeBuildDir/scripts/build.xml
+  "
+fi
+
+exit $?
diff --git a/eclipse.spec b/eclipse.spec
index 3b6b1fd..fbe04ed 100644
--- a/eclipse.spec
+++ b/eclipse.spec
@@ -28,19 +28,21 @@ Source0:        eclipse-source.tar.bz2
 Source1:        eclipse-jdtpdeupdatesite.tar.bz2
 Source2:        eclipse.desktop
 Source3:        efj.sh
-#Source4:        macros.%{name}
-#Source5:        http://repo1.maven.org/maven2/org/eclipse/osgi/org.eclipse.osgi/3.6.0.v20100517/org.eclipse.osgi-3.6.0.v20100517.pom
+Source4:        macros.%{name}
+Source5:        http://repo1.maven.org/maven2/org/eclipse/osgi/org.eclipse.osgi/3.6.0.v20100517/org.eclipse.osgi-3.6.0.v20100517.pom
 # Fetched from http://repo1.maven.org/maven2/org/eclipse/osgi/org.eclipse.osgi.services/3.2.100.v20100503/org.eclipse.osgi.services-3.2.100.v20100503.pom
 # Patched to remove fake parent
-#Source6:        org.eclipse.osgi.services-3.2.100.v20100503.pom
-#Source7:        http://repo1.maven.org/maven2/org/eclipse/equinox/http/servlet/1.0.0-v20070606/servlet-1.0.0-v20070606.pom
-#Source8:        org.eclipse.jdt.core-3.8.0.v_C03.pom
+Source6:        org.eclipse.osgi.services-3.2.100.v20100503.pom
+Source7:        http://repo1.maven.org/maven2/org/eclipse/equinox/http/servlet/1.0.0-v20070606/servlet-1.0.0-v20070606.pom
+Source8:        org.eclipse.jdt.core-3.8.0.v_C03.pom
 
 
 Source20:       rt.incubator.pom.xml
 Source21:       initializer.pom.xml
 
 Source30:       extract_patterns.txt
+Source31:       eclipse-copy-platform.sh
+Source32:       eclipse-pdebuild.sh
 
 #Patch0:         lucene-3.6-compile.patch
 
@@ -172,18 +174,6 @@ Requires:       jpackage-utils
 %description  equinox-osgi
 Eclipse OSGi - Equinox
 
-#%package      emf-core
-#Version:        %{emf_version}
-#Summary:        Eclipse Modeling Framework Core
-#Group:          Development/Languages
-#Requires:       java >= 1:1.7.0
-#Requires:       %{name}-equinox-osgi = %{epoch}:%{eclipse_version}-%{release}
-#Conflicts:      eclipse-emf < 2.8.0-0.5
-
-#%description  emf-core
-#Eclipse Modeling Framework Core
-
-
 %package        rcp
 Version:        %{eclipse_version}
 Summary:        Eclipse Rich Client Platform
@@ -224,6 +214,7 @@ Requires: atinject >= 1-6
 Requires: geronimo-annotation >= 1.0-7
 Provides: eclipse-cvs-client = 1:%{eclipse_version}-%{release}
 Obsoletes: eclipse-cvs-client < 1:3.3.2-20
+Provides: eclipse-rcp = 1:%{eclipse_version}-%{release}
 
 %description    platform
 The Eclipse Platform is the base of all IDE plugins.  This does not include the
@@ -361,7 +352,7 @@ sed -i -e "s/3.6.0,4.0.0/3.0.0,4.0.0/" eclipse.platform.ua/org.eclipse.ui.intro/
 
 sed -i -e "s/org.eclipse.sdk.epp/org.fedoraproject.eclipse.platform/" TMP/org.eclipse.sdk.epp/org.eclipse.sdk.epp.product
 sed -i -e "s/<id>org.eclipse.sdk.epp<\/id>/<id>org.fedoraproject.eclipse.platform<\/id>/" TMP/org.eclipse.sdk.epp/pom.xml
-sed -i -e "s/\"org.eclipse.sdk\"/\"org.eclipse.platform\"/" TMP/org.eclipse.sdk.epp/org.eclipse.sdk.epp.product
+sed -i -e "s/<feature id=\"org.eclipse.sdk\"\/>/<feature id=\"org.eclipse.platform\"\/><feature id=\"org.eclipse.cvs\"\/>/" TMP/org.eclipse.sdk.epp/org.eclipse.sdk.epp.product
 sed -i -e "s/\"org.eclipse.sdk.ide\"/\"org.eclipse.platform.ide\"/" TMP/org.eclipse.sdk.epp/org.eclipse.sdk.epp.product
 
 sed -i -e "s/<module>TMP\/org.eclipse.sdk.epp<\/module>/<module>TMP\/org.eclipse.sdk.epp<\/module><module>TMP\/jdtpde<\/module>/" pom.xml
@@ -439,23 +430,23 @@ pushd eclipse-backup-with-jdt-pde
         -installIU org.eclipse.pde.feature.group
 popd
 
-mkdir -p pde/plugins pde/features
+mkdir -p sdk/plugins sdk/features
 
 #get the difference and copy all files into pde folder
 for i in `ls eclipse-backup-with-jdt-pde/features` ; do \
     if [ ! -e eclipse-backup-with-jdt/features/$i ]; \
-        then cp -r eclipse-backup-with-jdt-pde/features/$i pde/features ; \
+        then cp -r eclipse-backup-with-jdt-pde/features/$i sdk/features ; \
     fi  \
 done
 
 for i in `ls eclipse-backup-with-jdt-pde/plugins` ; do \
     if [ ! -e eclipse-backup-with-jdt/plugins/$i ]; \
-        then cp -r eclipse-backup-with-jdt-pde/plugins/$i pde/plugins ; \
+        then cp -r eclipse-backup-with-jdt-pde/plugins/$i sdk/plugins ; \
     fi  \
 done
 
 
-cp -r jdt pde eclipse/dropins
+cp -r jdt sdk eclipse/dropins
 
 cd eclipse
 rm -rf configuration/org.eclipse.core.runtime
@@ -484,7 +475,7 @@ install -D eclipse.platform/platform/org.eclipse.platform/eclipse48.png \
 install -D eclipse.platform/platform/org.eclipse.platform/eclipse256.png \
     $RPM_BUILD_ROOT/usr/share/icons/hicolor/256x256/apps/eclipse.png
 mkdir -p $RPM_BUILD_ROOT/usr/share/pixmaps/
-ln -s $RPM_BUILD_ROOT/usr/share/icons/hicolor/256x256/apps/eclipse.png \
+ln -s /usr/share/icons/hicolor/256x256/apps/eclipse.png \
     $RPM_BUILD_ROOT/usr/share/pixmaps/eclipse.png
 
 # Some directories we need
@@ -506,16 +497,20 @@ install -D %{SOURCE2} $RPM_BUILD_ROOT/usr/share/applications/eclipse.desktop
 
 #eclipse compiler
 chmod ugo+rx %{SOURCE3}
-install -D %{SOURCE3} $RPM_BUILD_ROOT/bin/efj
+mkdir -p $RPM_BUILD_ROOT/usr/bin
+install %{SOURCE3} $RPM_BUILD_ROOT/usr/bin/efj
 TARGET_LAUNCHER=%{installation_loc}\/plugins/`ls TMP/org.eclipse.sdk.epp/target/products/org.fedoraproject.eclipse.platform/linux/gtk/x86_64/eclipse/plugins | grep launcher_[0-9]*`
-sed -i -e "s, at LAUNCHER@,${TARGET_LAUNCHER}," $RPM_BUILD_ROOT/bin/efj
+sed -i -e "s, at LAUNCHER@,${TARGET_LAUNCHER}," $RPM_BUILD_ROOT/usr/bin/efj
 
 #eclipse binary
-ln -s $RPM_BUILD_ROOT/%{_libdir}/%{name}/eclipse $RPM_BUILD_ROOT/bin/eclipse
+mkdir -p $RPM_BUILD_ROOT/usr/bin/
+pushd $RPM_BUILD_ROOT/usr/bin/
+    ln -s %{_libdir}/%{name}/eclipse
+popd 
 
 pushd $RPM_BUILD_ROOT/%{_libdir}/%{name}
-    ln -s  $RPM_BUILD_ROOT/%{_libdir}/%{name}plugins/org.eclipse.swt.gtk.linux_* swt.jar
-    ln -s  $RPM_BUILD_ROOT/%{_libdir}/%{name}plugins/org.eclipse.swt.gtk.linux_* swt-gtk.jar
+    ln -s  %{_libdir}/%{name}plugins/org.eclipse.swt.gtk.linux_* swt.jar
+    ln -s  %{_libdir}/%{name}plugins/org.eclipse.swt.gtk.linux_* swt-gtk.jar
 popd
 
 #config ini
@@ -526,17 +521,20 @@ ln -s $RPM_BUILD_ROOT/%{_libdir}/%{name}/configuration/config.ini $RPM_BUILD_ROO
 #################################
 
 
-#pushd $RPM_BUILD_ROOT%{_libdir}/%{name}
+pushd $RPM_BUILD_ROOT%{_libdir}/%{name}
+
+rm icon.xpm
+
 # 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
-  #if [ "Xconfiguration" = $(echo X`find configuration/org.eclipse.osgi/bundles/$id -name libswt\*.so` | sed "s:/.*::") ]; then
-#    echo "%verify(not mtime) %{_libdir}/%{name}/configuration/org.eclipse.osgi/bundles/$id" > %{_builddir}/%{buildsubdir}/%{name}-swt.install;
-#  else
-#    echo "%verify(not mtime) %{_libdir}/%{name}/configuration/org.eclipse.osgi/bundles/$id" >> %{_builddir}/%{buildsubdir}/%{name}-platform.install;
-#  fi
-#done
-#popd
+echo -n "" > %{_builddir}/%{buildsubdir}/%{name}-platform.install;
+for id in `ls configuration/org.eclipse.osgi/bundles`; do
+  if [ "Xconfiguration" = $(echo X`find configuration/org.eclipse.osgi/bundles/$id -name libswt\*.so` | sed "s:/.*::") ]; then
+    echo "%verify(not mtime) %{_libdir}/%{name}/configuration/org.eclipse.osgi/bundles/$id" > %{_builddir}/%{buildsubdir}/%{name}-swt.install;
+  else
+    echo "%verify(not mtime) %{_libdir}/%{name}/configuration/org.eclipse.osgi/bundles/$id" >> %{_builddir}/%{buildsubdir}/%{name}-platform.install;
+  fi
+done
+popd
 
 # Remove state files
 pushd $RPM_BUILD_ROOT%{_libdir}/%{name}/configuration/org.eclipse.osgi/
@@ -611,16 +609,16 @@ desktop-file-validate %{buildroot}/%{_datadir}/applications/%{name}.desktop
 
 # Create a script that can be used to make a symlink tree of the
 # eclipse platform.
-cp -p pdebuild/eclipse-copy-platform.sh copy-platform
+cp -p %{SOURCE31} copy-platform
 
 mkdir -p $RPM_BUILD_ROOT%{_libdir}/%{name}/buildscripts
 mv copy-platform $RPM_BUILD_ROOT%{_libdir}/%{name}/buildscripts
 copyPlatform=$RPM_BUILD_ROOT%{_libdir}/%{name}/buildscripts/copy-platform
 
 # Install the PDE Build wrapper script.
-install -p -D -m0755 pdebuild/eclipse-pdebuild.sh \
+install -p -D -m0755 %{SOURCE32} \
   $RPM_BUILD_ROOT%{_bindir}/%{name}-pdebuild
-PDEBUILDVERSION=$(ls $RPM_BUILD_ROOT%{_libdir}/%{name}/dropins/sdk/plugins \
+PDEBUILDVERSION=$(ls $RPM_BUILD_ROOT%{_libdir}/%{name}/dropins/pde/plugins \
   | grep org.eclipse.pde.build_ | \
   sed 's/org.eclipse.pde.build_//')
 sed -i "s/@PDEBUILDVERSION@/$PDEBUILDVERSION/g" \
@@ -630,9 +628,6 @@ sed -i "s/@PDEBUILDVERSION@/$PDEBUILDVERSION/g" \
 mkdir $RPM_BUILD_ROOT%{_sysconfdir}/rpm/
 install -m 0644 %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/
 
-# Remove the junit library duplicated by pdebuild.
-rm $RPM_BUILD_ROOT%{_libdir}/%{name}/dropins/jdt/plugins/org.junit_4.10.0.v4_10_0_v20120426-0900.jar
-
 %post platform
 touch --no-create %{_datadir}/icons/hicolor
 if [ -x /usr/bin/gtk-update-icon-cache ]; then
@@ -672,70 +667,6 @@ rm -rf %{_bindir}/efj/
 %{_libdir}/%{name}/swt.jar
 %{_libdir}/java/swt.jar
 
-%files rcp
-%dir %{_libdir}/%{name}/features
-%dir %{_datadir}/%{name}
-%dir %{_libdir}/%{name}/configuration
-%{_libdir}/%{name}/configuration/config.ini
-%{_libdir}/%{name}/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info
-%dir %{_libdir}/%{name}/configuration/org.eclipse.equinox.simpleconfigurator
-%{_libdir}/%{name}/readme
-%{_libdir}/%{name}/features/org.eclipse.rcp_*
-%{_libdir}/%{name}/features/org.eclipse.e4.rcp_*
-%{_libdir}/%{name}/plugins/com.ibm.icu_*
-%{_libdir}/%{name}/plugins/javax.inject_1.0.0.v20091030.jar
-%{_libdir}/%{name}/plugins/javax.xml_1.3.4.v200806030440.jar
-%{_libdir}/%{name}/plugins/org.apache.batik.css_*
-%{_libdir}/%{name}/plugins/org.apache.batik.util.gui_*
-%{_libdir}/%{name}/plugins/org.apache.batik.util_*
-%{_libdir}/%{name}/plugins/org.apache.geronimo.specs.geronimo-annotation_1.1_spec_*
-%{_libdir}/%{name}/plugins/org.eclipse.core.commands_*
-%{_libdir}/%{name}/plugins/org.eclipse.core.contenttype_*
-%{_libdir}/%{name}/plugins/org.eclipse.core.databinding_*
-%{_libdir}/%{name}/plugins/org.eclipse.core.databinding.beans_*
-%{_libdir}/%{name}/plugins/org.eclipse.core.databinding.observable_*
-%{_libdir}/%{name}/plugins/org.eclipse.core.databinding.property_*
-%{_libdir}/%{name}/plugins/org.eclipse.core.expressions_*
-%{_libdir}/%{name}/plugins/org.eclipse.core.jobs_*
-%{_libdir}/%{name}/plugins/org.eclipse.core.runtime_*
-%{_libdir}/%{name}/plugins/org.eclipse.equinox.app_*
-%{_libdir}/%{name}/plugins/org.eclipse.equinox.bidi_*
-%{_libdir}/%{name}/plugins/org.eclipse.equinox.console_*
-%{_libdir}/%{name}/plugins/org.eclipse.equinox.common_*
-%{_libdir}/%{name}/plugins/org.eclipse.equinox.launcher_*
-%{_libdir}/%{name}/plugins/org.eclipse.equinox.launcher.gtk.linux.*
-%{_libdir}/%{name}/plugins/org.eclipse.equinox.preferences_*
-%{_libdir}/%{name}/plugins/org.eclipse.equinox.registry_*
-%{_libdir}/%{name}/plugins/org.eclipse.equinox.util_*
-%{_libdir}/%{name}/plugins/org.eclipse.e4.core.commands_*
-%{_libdir}/%{name}/plugins/org.eclipse.e4.core.contexts_*
-%{_libdir}/%{name}/plugins/org.eclipse.e4.core.di.extensions_*
-%{_libdir}/%{name}/plugins/org.eclipse.e4.core.di_*
-%{_libdir}/%{name}/plugins/org.eclipse.e4.core.services_*
-%{_libdir}/%{name}/plugins/org.eclipse.e4.ui.bindings_*
-%{_libdir}/%{name}/plugins/org.eclipse.e4.ui.css.core_*
-%{_libdir}/%{name}/plugins/org.eclipse.e4.ui.css.swt.theme_*
-%{_libdir}/%{name}/plugins/org.eclipse.e4.ui.css.swt_*
-%{_libdir}/%{name}/plugins/org.eclipse.e4.ui.di_*
-%{_libdir}/%{name}/plugins/org.eclipse.e4.ui.model.workbench_*
-%{_libdir}/%{name}/plugins/org.eclipse.e4.ui.services_*
-%{_libdir}/%{name}/plugins/org.eclipse.e4.ui.widgets_*
-%{_libdir}/%{name}/plugins/org.eclipse.e4.ui.workbench.addons.swt_*
-%{_libdir}/%{name}/plugins/org.eclipse.e4.ui.workbench.renderers.swt_*
-%{_libdir}/%{name}/plugins/org.eclipse.e4.ui.workbench.swt_*
-%{_libdir}/%{name}/plugins/org.eclipse.e4.ui.workbench3_*
-%{_libdir}/%{name}/plugins/org.eclipse.e4.ui.workbench_*
-%{_libdir}/%{name}/plugins/org.eclipse.help_*
-%{_libdir}/%{name}/plugins/org.eclipse.jface_*
-%{_libdir}/%{name}/plugins/org.eclipse.jface.databinding_*
-%{_libdir}/%{name}/plugins/org.eclipse.rcp_*
-%{_libdir}/%{name}/plugins/org.eclipse.ui_*
-%{_libdir}/%{name}/plugins/org.eclipse.ui.views_*
-%{_libdir}/%{name}/plugins/org.eclipse.ui.workbench_*
-%{_libdir}/%{name}/plugins/org.eclipse.update.configurator_*
-%{_libdir}/%{name}/plugins/org.eclipse.equinox.simpleconfigurator_*
-%{_libdir}/%{name}/plugins/org.w3c.css.sac_*
-%{_libdir}/%{name}/plugins/org.w3c.dom.svg_*
 
 %if %{initialize}
 %files platform -f %{name}-platform.install
@@ -753,15 +684,22 @@ rm -rf %{_bindir}/efj/
 %{_libdir}/%{name}/eclipse
 %dir %{_libdir}/%{name}/dropins
 %dir %{_datadir}/%{name}/dropins
+%{_libdir}/%{name}/configuration/config.ini
+%{_libdir}/%{name}/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info
 %{_libdir}/%{name}/features/org.eclipse.platform_*
 %{_libdir}/%{name}/features/org.eclipse.e4.rcp_*
+%{_libdir}/%{name}/features/org.eclipse.rcp_*
+%{_libdir}/%{name}/features/org.eclipse.emf.common_*
+%{_libdir}/%{name}/features/org.eclipse.emf.ecore_*
+%{_libdir}/%{name}/plugins/com.ibm.icu_*
+%{_libdir}/%{name}/plugins/org.apache.jasper.glassfish_*
 %{_libdir}/%{name}/plugins/com.jcraft.jsch_*
 %{_libdir}/%{name}/plugins/org.eclipse.jdt.core_*
 %{_libdir}/%{name}/plugins/javax.servlet_*
 %{_libdir}/%{name}/plugins/javax.servlet.jsp_*
 %{_libdir}/%{name}/plugins/javax.el_*
 %{_libdir}/%{name}/plugins/javax.inject_1.0.0.v20091030.jar
-%{_libdir}/%{name}/plugins/javax.xml_1.3.4.v200806030440.jar
+%{_libdir}/%{name}/plugins/javax.xml_1.3.4.*.jar
 %{_libdir}/%{name}/plugins/org.apache.tomcat_*
 %{_libdir}/%{name}/plugins/org.apache.juli_*
 %{_libdir}/%{name}/plugins/org.apache.el_*
@@ -794,6 +732,10 @@ rm -rf %{_bindir}/efj/
 %{_libdir}/%{name}/plugins/org.eclipse.core.variables_*
 %{_libdir}/%{name}/plugins/org.eclipse.debug.core_*
 %{_libdir}/%{name}/plugins/org.eclipse.debug.ui_*
+%{_libdir}/%{name}/plugins/org.eclipse.emf.common_*
+%{_libdir}/%{name}/plugins/org.eclipse.emf.ecore.change_*
+%{_libdir}/%{name}/plugins/org.eclipse.emf.ecore.xmi_*
+%{_libdir}/%{name}/plugins/org.eclipse.emf.ecore_*
 %{_libdir}/%{name}/plugins/org.eclipse.equinox.ds_*
 %{_libdir}/%{name}/plugins/org.eclipse.equinox.event_*
 %{_libdir}/%{name}/plugins/org.eclipse.equinox.http.jetty_*
@@ -858,7 +800,6 @@ rm -rf %{_bindir}/efj/
 %{_libdir}/%{name}/plugins/org.eclipse.jetty.io_*
 %{_libdir}/%{name}/plugins/org.eclipse.jetty.security_*
 %{_libdir}/%{name}/plugins/org.eclipse.jetty.servlet_*
-%{_libdir}/%{name}/plugins/org.eclipse.equinox.initializer_*
 %{_libdir}/%{name}/plugins/org.eclipse.team.cvs.core_*
 %{_libdir}/%{name}/plugins/org.eclipse.cvs_*
 %{_libdir}/%{name}/plugins/org.eclipse.team.cvs.ssh2_*
@@ -915,6 +856,34 @@ rm -rf %{_bindir}/efj/
 %{_libdir}/%{name}/plugins/org.sat4j.pb_*
 %{_libdir}/%{name}/plugins/org.w3c.css.sac_*
 %{_libdir}/%{name}/plugins/org.w3c.dom.svg_*
+%{_libdir}/%{name}/plugins/org.eclipse.core.commands_*
+%{_libdir}/%{name}/plugins/org.eclipse.core.contenttype_*
+%{_libdir}/%{name}/plugins/org.eclipse.core.databinding.beans_*
+%{_libdir}/%{name}/plugins/org.eclipse.core.databinding.observable_*
+%{_libdir}/%{name}/plugins/org.eclipse.core.databinding.property_*
+%{_libdir}/%{name}/plugins/org.eclipse.core.databinding_*
+%{_libdir}/%{name}/plugins/org.eclipse.core.expressions_*
+%{_libdir}/%{name}/plugins/org.eclipse.core.jobs_*
+%{_libdir}/%{name}/plugins/org.eclipse.core.runtime_*
+%{_libdir}/%{name}/plugins/org.eclipse.equinox.app_*
+%{_libdir}/%{name}/plugins/org.eclipse.equinox.bidi_*
+%{_libdir}/%{name}/plugins/org.eclipse.equinox.common_*
+%{_libdir}/%{name}/plugins/org.eclipse.equinox.concurrent_*
+%{_libdir}/%{name}/plugins/org.eclipse.equinox.console_*
+%{_libdir}/%{name}/plugins/org.eclipse.equinox.launcher.gtk.linux.%{_arch}_*
+%{_libdir}/%{name}/plugins/org.eclipse.equinox.launcher_*
+%{_libdir}/%{name}/plugins/org.eclipse.equinox.preferences_*
+%{_libdir}/%{name}/plugins/org.eclipse.equinox.registry_*
+%{_libdir}/%{name}/plugins/org.eclipse.equinox.simpleconfigurator_*
+%{_libdir}/%{name}/plugins/org.eclipse.equinox.util_*
+%{_libdir}/%{name}/plugins/org.eclipse.help_*
+%{_libdir}/%{name}/plugins/org.eclipse.jface.databinding_*
+%{_libdir}/%{name}/plugins/org.eclipse.jface_*
+%{_libdir}/%{name}/plugins/org.eclipse.rcp_*
+%{_libdir}/%{name}/plugins/org.eclipse.ui.workbench_*
+%{_libdir}/%{name}/plugins/org.eclipse.ui_*
+%{_libdir}/%{name}/plugins/org.eclipse.update.configurator_*
+%{_libdir}/%{name}/readme/readme_eclipse.html
 # Put this in -platform since we're putting the p2 stuff here
 %{_libdir}/%{name}/artifacts.xml
 # FIXME: should we ship content.xml for the platform?


More information about the scm-commits mailing list