From 8b0c1fa102f2d485f08512168d9145f365e67039 Mon Sep 17 00:00:00 2001 From: Alexander Kurtakov Date: Oct 12 2009 14:15:58 +0000 Subject: New eclipse-build snapshot. Pdebuild and ecf compilation are part of it. --- diff --git a/ecf-filetransfer-build.properties b/ecf-filetransfer-build.properties deleted file mode 100644 index 64f93a9..0000000 --- a/ecf-filetransfer-build.properties +++ /dev/null @@ -1 +0,0 @@ -bin.includes = feature.xml diff --git a/ecf-filetransfer-feature.xml b/ecf-filetransfer-feature.xml deleted file mode 100644 index 6cb633a..0000000 --- a/ecf-filetransfer-feature.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - - [Enter Feature Description here.] - - - - [Enter Copyright Description here.] - - - - [Enter License Description here.] - - - - - - - - - - - - - - - - - - - - - - diff --git a/eclipse-copy-platform.sh b/eclipse-copy-platform.sh deleted file mode 100644 index 05ed48f..0000000 --- a/eclipse-copy-platform.sh +++ /dev/null @@ -1,77 +0,0 @@ -#! /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"*) | - while read f; do - [ ! -e $f ] && ln -s $eclipse/$f $f - done - (cd $eclipse/dropins; ls -d *"$optional"*) | - while read f; do - if [ -e $eclipse/dropins/$f/eclipse ]; then - (cd $eclipse/dropins/$f/eclipse; ls -d plugins/* features/*) | - while read g; do - [ ! -e $g ] && \ - ln -s $eclipse/dropins/$f/eclipse/$g $g - done - else - (cd $eclipse/dropins/$f; ls -d plugins/* features/*) | - while read g; do - [ ! -e $g ] && \ - ln -s $eclipse/dropins/$f/$g $g - done - fi - done - (cd $datadir/dropins; ls -d *"$optional"*) | - while read f; do - if [ -e $datadir/dropins/$f/eclipse ]; then - (cd $datadir/dropins/$f/eclipse; ls -d plugins/* features/*) | - while read g; do - [ ! -e $g ] && \ - ln -s $datadir/dropins/$f/eclipse/$g $g - done - else - (cd $datadir/dropins/$f; ls -d plugins/* features/*) | - while read g; do - [ ! -e $g ] && \ - ln -s $datadir/dropins/$g $g - done - fi - done - done -fi - -# Code after this point is automatically created by eclipse.spec. diff --git a/eclipse-pdebuild.sh b/eclipse-pdebuild.sh deleted file mode 100755 index 79462bc..0000000 --- a/eclipse-pdebuild.sh +++ /dev/null @@ -1,303 +0,0 @@ -#!/bin/bash - -# args: [-f ] [-d ] [-a ] [-j ] [-v] [-D] [-o ] - -function usage { -cat << _EOF_ -usage: $0 [] - -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 " - - - - - - " > $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 " - - - - - - " > $buildFile - - featureName=$(ant -Dbasedir=$sourceDir -f $buildFile 2>&1 | grep echo | sed "s/.*\[echo\]\ //") - rm $buildFile - - echo " - - - - - - " > $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 -datadir=`rpm --eval "%{_libdir}"` -pdeBuildDir=$datadir/eclipse/dropins/sdk/plugins/org.eclipse.pde.build_@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 - ;; - 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 - -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:" - -if [ $testing != true ]; then - java -cp $SDK/startup.jar \ - org.eclipse.core.launcher.Main \ - -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_@PDEBUILDVERSION@/templates/package-build \ - $orbitDeps \ - -Dtesting="$testing" \ - $additionalArgs \ - -f $pdeBuildDir/scripts/build.xml \ - -vmargs \ - -Duser.home=$homeDir \ - $vmArgs - -else - java -cp $SDK/startup.jar \ - org.eclipse.core.launcher.Main \ - -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_@PDEBUILDVERSION@/templates/package-build \ - $orbitDeps \ - -Dtesting="$testing" \ - $additionalArgs \ - -f $pdeBuildDir/scripts/build.xml \ - -vmargs \ - -Duser.home=$homeDir \ - $vmArgs -fi diff --git a/eclipse.spec b/eclipse.spec index a79fa2d..dff2c70 100644 --- a/eclipse.spec +++ b/eclipse.spec @@ -10,7 +10,6 @@ Epoch: 1 %define eclipse_minor 5 %define eclipse_majmin %{eclipse_major}.%{eclipse_minor} %define eclipse_micro 1 -%define swtver 3.5.1.v3555a %define initialize 1 %global download_url http://download.eclipse.org/technology/linuxtools/eclipse-build/ @@ -30,22 +29,16 @@ Epoch: 1 Summary: An open, extensible IDE Name: eclipse Version: %{eclipse_majmin}.%{eclipse_micro} -Release: 5%{?dist} +Release: 6%{?dist} License: EPL Group: Text Editors/Integrated Development Environments (IDE) URL: http://www.eclipse.org/ Source0: %{download_url}eclipse-build-0.4.0RC0.tar.gz Source1: %{download_url}eclipse-R3_5_1-fetched-src.tar.bz2 -Source16: %{name}-copy-platform.sh Source17: efj.sh.in # This file contains the types of files we'd like to extract from the jars # when using the FileInitializer Source19: %{name}-filenamepatterns.txt -# Script to wrap PDE Build calls for bundle builds -Source21: %{name}-pdebuild.sh -# Create a simple feature for building ECF's filetransfer plugins -Source26: ecf-filetransfer-feature.xml -Source27: ecf-filetransfer-build.properties # This script copies the platform sub-set of the SDK for generating metadata Source28: %{name}-mv-Platform.sh @@ -128,9 +121,6 @@ SWT Library for GTK+-2.0. Summary: Eclipse Rich Client Platform Group: Development/Languages Requires: %{name}-swt = %{epoch}:%{version}-%{release} -# FIXME: investigate. Can we just add a %{arch} to the above? -## This file-level requirement is for the bi-arch multilib case -#Requires: %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk.linux.%{eclipse_arch}_%{swtver}.jar Requires: icu4j-eclipse >= 1:4.0.1-3 Requires: java >= 1.6.0 @@ -141,9 +131,6 @@ Eclipse Rich Client Platform Summary: Eclipse platform common files Group: Text Editors/Integrated Development Environments (IDE) Requires: %{name}-rcp = %{epoch}:%{version}-%{release} -# FIXME: investigate. Can we just add a %{arch} to the above? -## This file-level requirement is for the bi-arch multilib case -#Requires: %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk.linux.%{eclipse_arch}_%{swtver}.jar Requires: ant-antlr ant-apache-bcel ant-apache-log4j ant-apache-oro ant-apache-regexp ant-apache-resolver ant-commons-logging ant-apache-bsf ant-commons-net Requires: ant-javamail ant-jdepend ant-junit ant-nodeps ant-swing ant-trax ant-jsch Requires: jakarta-commons-beanutils jakarta-commons-collections jakarta-commons-digester jakarta-commons-dbcp jakarta-commons-fileupload jakarta-commons-launcher jakarta-commons-modeler jakarta-commons-pool @@ -477,56 +464,13 @@ if [ ! -z "$JARS" ]; then #FIXME: enable exit 1 fi -# ECF filetransfer plugins -pushd ecf-src -mkdir -p plugins -mv org.eclipse* plugins -mkdir -p features/org.eclipse.ecf.filetransfer-feature -pushd features/org.eclipse.ecf.filetransfer-feature -cp -p %{SOURCE26} feature.xml -cp -p %{SOURCE27} build.properties -popd -popd - # target platform template patch %patch3 -p0 popd %build -ORIGCLASSPATH=$CLASSPATH -export JAVA_HOME=%{java_home} ./build.sh -SDK=$(cd build/eclipse-R3_5_1-fetched-src/installation && pwd) -LAUNCHERVERSION=$(ls $SDK/plugins | grep equinox.launcher_ | sed 's/org.eclipse.equinox.launcher_//') -PDEPLUGINVERSION=$(ls $SDK/plugins | grep pde.build_ | sed 's/org.eclipse.pde.build_//') -pushd build/eclipse-R3_5_1-fetched-src/plugins/org.eclipse.equinox.initializer -java -cp $SDK/plugins/org.eclipse.equinox.launcher_$LAUNCHERVERSION \ - org.eclipse.core.launcher.Main \ - -application org.eclipse.ant.core.antRunner \ - -f build.xml build.update.jar -cp org.eclipse.equinox.initializer*.jar $SDK/plugins -popd - -# Build the ECF filetransfer plugins -pushd build/eclipse-R3_5_1-fetched-src/ecf-src -mkdir -p build -homedir=$(mkdir home| cd home|pwd) -java -cp $SDK/plugins/org.eclipse.equinox.launcher_$LAUNCHERVERSION \ - -Duser.home=$homedir \ - org.eclipse.core.launcher.Main \ - -application org.eclipse.ant.core.antRunner \ - -Dtype=feature \ - -Did=org.eclipse.ecf.filetransfer_feature \ - -DsourceDirectory=$(pwd) \ - -DbaseLocation=$SDK \ - -DforceContextQualifier=v20090831-1906 \ - -Dbuilder=$SDK/plugins/org.eclipse.pde.build_$PDEPLUGINVERSION/templates/package-build \ - -debug -consolelog \ - -f $SDK/plugins/org.eclipse.pde.build_$PDEPLUGINVERSION/scripts/build.xml - -popd - %install rm -rf $RPM_BUILD_ROOT # Get swt version @@ -550,16 +494,7 @@ install -d -m 755 $RPM_BUILD_ROOT%{_libdir}/java install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/features install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins -# Explode the resulting SDK tarball -cp -R build/eclipse-R3_5_1-fetched-src/installation/* $RPM_BUILD_ROOT%{_libdir}/eclipse rm -fr $RPM_BUILD_ROOT%{_libdir}/eclipse/p2 -# ECF filetransfer plugins we built -rm $sdkDir/plugins/org.eclipse.ecf*.jar -unzip -d $RPM_BUILD_ROOT%{_libdir} \ - build/eclipse-R3_5_1-fetched-src/ecf-src/build/rpmBuild/org.eclipse.ecf.filetransfer_feature.zip -# Remove the feature we used for building -rm -rf \ - $sdkDir/features/org.eclipse.ecf.filetransfer_feature_* LAUNCHERVERSION=$(ls $sdkDir/plugins | grep equinox.launcher_ | sed 's/org.eclipse.equinox.launcher_//') @@ -809,7 +744,7 @@ desktop-file-install --vendor="fedora" \ # Create a script that can be used to make a symlink tree of the # eclipse platform. -cp -p %{SOURCE16} copy-platform +cp -p pdebuild/eclipse-copy-platform.sh copy-platform ( cd $RPM_BUILD_ROOT%{_libdir}/%{name} ls -d * | egrep -v '^(plugins|features|about_files|dropins)$' @@ -836,7 +771,7 @@ sed --in-place "s|file\\\:%{_libdir}/eclipse/p2/|@config.dir/../p2/|" \ $RPM_BUILD_ROOT%{_libdir}/%{name}/configuration/config.ini # Install the PDE Build wrapper script. -install -p -D -m0755 %{SOURCE21} \ +install -p -D -m0755 pdebuild/eclipse-pdebuild.sh \ $RPM_BUILD_ROOT%{_libdir}/%{name}/buildscripts/pdebuild PDEBUILDVERSION=$(ls $RPM_BUILD_ROOT%{_libdir}/%{name}/dropins/sdk/plugins \ | grep org.eclipse.pde.build_ | \ @@ -1228,6 +1163,9 @@ fi #%{_libdir}/%{name}/configuration/org.eclipse.equinox.source %changelog +* Mon Oct 12 2009 Alexander Kurtakov 1:3.5.1-6 +- New eclipse-build snapshot. Pdebuild and ecf compilation are part of it. + * Thu Oct 8 2009 Alexander Kurtakov 1:3.5.1-5 - Fix install call. diff --git a/sources b/sources index 5455a9e..3dc7c7c 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ 3ed7a1c9c13a73f6d7abc0b0305631e3 eclipse-R3_5_1-fetched-src.tar.bz2 -c02651bd19acc5bddec2e53dbc3e8820 eclipse-build-0.4.0RC0.tar.gz +4b283c975b7c7b2894ef4de040f6b9c4 eclipse-build-0.4.0RC0.tar.gz