successful build!

This commit is contained in:
Krzysztof Daniel 2012-08-07 13:29:19 +02:00
parent 731dc46c8b
commit 48b3c87894
3 changed files with 497 additions and 110 deletions

104
eclipse-copy-platform.sh Executable file
View File

@ -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

314
eclipse-pdebuild.sh Executable file
View File

@ -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_@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_@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_@PDEBUILDVERSION@/templates/package-build \
$orbitDeps \
-Dtesting=\"$testing\" \
$additionalArgs \
-f $pdeBuildDir/scripts/build.xml
"
fi
exit $?

View File

@ -28,19 +28,21 @@ Source0: eclipse-source.tar.bz2
Source1: eclipse-jdtpdeupdatesite.tar.bz2 Source1: eclipse-jdtpdeupdatesite.tar.bz2
Source2: eclipse.desktop Source2: eclipse.desktop
Source3: efj.sh Source3: efj.sh
#Source4: macros.%{name} 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 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 # 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 # Patched to remove fake parent
#Source6: org.eclipse.osgi.services-3.2.100.v20100503.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 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 Source8: org.eclipse.jdt.core-3.8.0.v_C03.pom
Source20: rt.incubator.pom.xml Source20: rt.incubator.pom.xml
Source21: initializer.pom.xml Source21: initializer.pom.xml
Source30: extract_patterns.txt Source30: extract_patterns.txt
Source31: eclipse-copy-platform.sh
Source32: eclipse-pdebuild.sh
#Patch0: lucene-3.6-compile.patch #Patch0: lucene-3.6-compile.patch
@ -172,18 +174,6 @@ Requires: jpackage-utils
%description equinox-osgi %description equinox-osgi
Eclipse OSGi - Equinox 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 %package rcp
Version: %{eclipse_version} Version: %{eclipse_version}
Summary: Eclipse Rich Client Platform Summary: Eclipse Rich Client Platform
@ -224,6 +214,7 @@ Requires: atinject >= 1-6
Requires: geronimo-annotation >= 1.0-7 Requires: geronimo-annotation >= 1.0-7
Provides: eclipse-cvs-client = 1:%{eclipse_version}-%{release} Provides: eclipse-cvs-client = 1:%{eclipse_version}-%{release}
Obsoletes: eclipse-cvs-client < 1:3.3.2-20 Obsoletes: eclipse-cvs-client < 1:3.3.2-20
Provides: eclipse-rcp = 1:%{eclipse_version}-%{release}
%description platform %description platform
The Eclipse Platform is the base of all IDE plugins. This does not include the 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/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/<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/\"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 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 -installIU org.eclipse.pde.feature.group
popd popd
mkdir -p pde/plugins pde/features mkdir -p sdk/plugins sdk/features
#get the difference and copy all files into pde folder #get the difference and copy all files into pde folder
for i in `ls eclipse-backup-with-jdt-pde/features` ; do \ for i in `ls eclipse-backup-with-jdt-pde/features` ; do \
if [ ! -e eclipse-backup-with-jdt/features/$i ]; \ 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 \ fi \
done done
for i in `ls eclipse-backup-with-jdt-pde/plugins` ; do \ for i in `ls eclipse-backup-with-jdt-pde/plugins` ; do \
if [ ! -e eclipse-backup-with-jdt/plugins/$i ]; \ 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 \ fi \
done done
cp -r jdt pde eclipse/dropins cp -r jdt sdk eclipse/dropins
cd eclipse cd eclipse
rm -rf configuration/org.eclipse.core.runtime 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 \ install -D eclipse.platform/platform/org.eclipse.platform/eclipse256.png \
$RPM_BUILD_ROOT/usr/share/icons/hicolor/256x256/apps/eclipse.png $RPM_BUILD_ROOT/usr/share/icons/hicolor/256x256/apps/eclipse.png
mkdir -p $RPM_BUILD_ROOT/usr/share/pixmaps/ 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 $RPM_BUILD_ROOT/usr/share/pixmaps/eclipse.png
# Some directories we need # Some directories we need
@ -506,16 +497,20 @@ install -D %{SOURCE2} $RPM_BUILD_ROOT/usr/share/applications/eclipse.desktop
#eclipse compiler #eclipse compiler
chmod ugo+rx %{SOURCE3} 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]*` 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,@LAUNCHER@,${TARGET_LAUNCHER}," $RPM_BUILD_ROOT/bin/efj sed -i -e "s,@LAUNCHER@,${TARGET_LAUNCHER}," $RPM_BUILD_ROOT/usr/bin/efj
#eclipse binary #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} pushd $RPM_BUILD_ROOT/%{_libdir}/%{name}
ln -s $RPM_BUILD_ROOT/%{_libdir}/%{name}plugins/org.eclipse.swt.gtk.linux_* swt.jar ln -s %{_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-gtk.jar
popd popd
#config ini #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 # Create file listings for the extracted shared libraries
#echo -n "" > %{_builddir}/%{buildsubdir}/%{name}-platform.install; echo -n "" > %{_builddir}/%{buildsubdir}/%{name}-platform.install;
#for id in `ls configuration/org.eclipse.osgi/bundles`; do 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 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; echo "%verify(not mtime) %{_libdir}/%{name}/configuration/org.eclipse.osgi/bundles/$id" > %{_builddir}/%{buildsubdir}/%{name}-swt.install;
# else else
# echo "%verify(not mtime) %{_libdir}/%{name}/configuration/org.eclipse.osgi/bundles/$id" >> %{_builddir}/%{buildsubdir}/%{name}-platform.install; echo "%verify(not mtime) %{_libdir}/%{name}/configuration/org.eclipse.osgi/bundles/$id" >> %{_builddir}/%{buildsubdir}/%{name}-platform.install;
# fi fi
#done done
#popd popd
# Remove state files # Remove state files
pushd $RPM_BUILD_ROOT%{_libdir}/%{name}/configuration/org.eclipse.osgi/ 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 # Create a script that can be used to make a symlink tree of the
# eclipse platform. # eclipse platform.
cp -p pdebuild/eclipse-copy-platform.sh copy-platform cp -p %{SOURCE31} copy-platform
mkdir -p $RPM_BUILD_ROOT%{_libdir}/%{name}/buildscripts mkdir -p $RPM_BUILD_ROOT%{_libdir}/%{name}/buildscripts
mv copy-platform $RPM_BUILD_ROOT%{_libdir}/%{name}/buildscripts mv copy-platform $RPM_BUILD_ROOT%{_libdir}/%{name}/buildscripts
copyPlatform=$RPM_BUILD_ROOT%{_libdir}/%{name}/buildscripts/copy-platform copyPlatform=$RPM_BUILD_ROOT%{_libdir}/%{name}/buildscripts/copy-platform
# Install the PDE Build wrapper script. # 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 $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_ | \ | grep org.eclipse.pde.build_ | \
sed 's/org.eclipse.pde.build_//') sed 's/org.eclipse.pde.build_//')
sed -i "s/@PDEBUILDVERSION@/$PDEBUILDVERSION/g" \ sed -i "s/@PDEBUILDVERSION@/$PDEBUILDVERSION/g" \
@ -630,9 +628,6 @@ sed -i "s/@PDEBUILDVERSION@/$PDEBUILDVERSION/g" \
mkdir $RPM_BUILD_ROOT%{_sysconfdir}/rpm/ mkdir $RPM_BUILD_ROOT%{_sysconfdir}/rpm/
install -m 0644 %{SOURCE4} $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 %post platform
touch --no-create %{_datadir}/icons/hicolor touch --no-create %{_datadir}/icons/hicolor
if [ -x /usr/bin/gtk-update-icon-cache ]; then if [ -x /usr/bin/gtk-update-icon-cache ]; then
@ -672,70 +667,6 @@ rm -rf %{_bindir}/efj/
%{_libdir}/%{name}/swt.jar %{_libdir}/%{name}/swt.jar
%{_libdir}/java/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} %if %{initialize}
%files platform -f %{name}-platform.install %files platform -f %{name}-platform.install
@ -753,15 +684,22 @@ rm -rf %{_bindir}/efj/
%{_libdir}/%{name}/eclipse %{_libdir}/%{name}/eclipse
%dir %{_libdir}/%{name}/dropins %dir %{_libdir}/%{name}/dropins
%dir %{_datadir}/%{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.platform_*
%{_libdir}/%{name}/features/org.eclipse.e4.rcp_* %{_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/com.jcraft.jsch_*
%{_libdir}/%{name}/plugins/org.eclipse.jdt.core_* %{_libdir}/%{name}/plugins/org.eclipse.jdt.core_*
%{_libdir}/%{name}/plugins/javax.servlet_* %{_libdir}/%{name}/plugins/javax.servlet_*
%{_libdir}/%{name}/plugins/javax.servlet.jsp_* %{_libdir}/%{name}/plugins/javax.servlet.jsp_*
%{_libdir}/%{name}/plugins/javax.el_* %{_libdir}/%{name}/plugins/javax.el_*
%{_libdir}/%{name}/plugins/javax.inject_1.0.0.v20091030.jar %{_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.tomcat_*
%{_libdir}/%{name}/plugins/org.apache.juli_* %{_libdir}/%{name}/plugins/org.apache.juli_*
%{_libdir}/%{name}/plugins/org.apache.el_* %{_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.core.variables_*
%{_libdir}/%{name}/plugins/org.eclipse.debug.core_* %{_libdir}/%{name}/plugins/org.eclipse.debug.core_*
%{_libdir}/%{name}/plugins/org.eclipse.debug.ui_* %{_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.ds_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.event_* %{_libdir}/%{name}/plugins/org.eclipse.equinox.event_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.http.jetty_* %{_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.io_*
%{_libdir}/%{name}/plugins/org.eclipse.jetty.security_* %{_libdir}/%{name}/plugins/org.eclipse.jetty.security_*
%{_libdir}/%{name}/plugins/org.eclipse.jetty.servlet_* %{_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.team.cvs.core_*
%{_libdir}/%{name}/plugins/org.eclipse.cvs_* %{_libdir}/%{name}/plugins/org.eclipse.cvs_*
%{_libdir}/%{name}/plugins/org.eclipse.team.cvs.ssh2_* %{_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.sat4j.pb_*
%{_libdir}/%{name}/plugins/org.w3c.css.sac_* %{_libdir}/%{name}/plugins/org.w3c.css.sac_*
%{_libdir}/%{name}/plugins/org.w3c.dom.svg_* %{_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 # Put this in -platform since we're putting the p2 stuff here
%{_libdir}/%{name}/artifacts.xml %{_libdir}/%{name}/artifacts.xml
# FIXME: should we ship content.xml for the platform? # FIXME: should we ship content.xml for the platform?