Blob Blame Raw
Epoch:  1

%global eclipse_major   3
%global eclipse_minor   7
%global eclipse_majmin  %{eclipse_major}.%{eclipse_minor}
%global eclipse_micro   1
%global initialize      1
%global download_url    http://download.eclipse.org/technology/linuxtools/eclipse-build/3.7.x_Indigo/
%global eb_sha1         914dc6de2bfc5ee5819a229cf4877f7043040a92

# FIXME:  update java packaging guidelines for this.  See
# fedora-devel-java-list discussion in September 2008.
#
# Prevent brp-java-repack-jars from being run.
%define __jar_repack 0

Summary:        An open, extensible IDE
Name:           eclipse
Version:        %{eclipse_majmin}.%{eclipse_micro}
Release:        12%{?dist}
License:        EPL
Group:          Text Editors/Integrated Development Environments (IDE)
URL:            http://www.eclipse.org/
Source0:        %{download_url}eclipse-build-%{eb_sha1}.tar.xz
Source1:        %{download_url}eclipse-3.7.1-src.tar.bz2
Source2:        eclipse-reconciler.sh
Source3:        %{name}-tmpfiles.conf
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
Source6:        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
Source7:        http://repo1.maven.org/maven2/org/eclipse/equinox/http/servlet/1.0.0-v20070606/servlet-1.0.0-v20070606.pom

BuildRequires:  ant
BuildRequires:  rsync
BuildRequires:  jpackage-utils >= 0:1.5, make, gcc
BuildRequires:  gtk2-devel
BuildRequires:  glib2-devel
BuildRequires:  GConf2-devel
BuildRequires:  gcc-c++
BuildRequires:  nspr-devel
BuildRequires:  libXtst-devel
BuildRequires:  mesa-libGL-devel
BuildRequires:  mesa-libGLU-devel
BuildRequires:  cairo >= 1.0
BuildRequires:  unzip
BuildRequires:  desktop-file-utils
BuildRequires:  java-devel >= 1.6.0
BuildRequires:  java-javadoc
BuildRequires:  libXt-devel
BuildRequires:  webkitgtk-devel

BuildRequires: icu4j-eclipse >= 1:4.4.2-2
BuildRequires: tomcat-lib >= 7.0.22-2
BuildRequires: 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
BuildRequires: ant-javamail ant-jdepend ant-junit ant-swing ant-jsch ant-testutil ant-apache-xalan2 ant-jmf
BuildRequires: jsch >= 0:0.1.41
BuildRequires: apache-commons-el
BuildRequires: apache-commons-logging
BuildRequires: apache-commons-codec
BuildRequires: jakarta-commons-httpclient
BuildRequires: jetty >= 6.1.24-1
BuildRequires: lucene >= 2.9.4-5
BuildRequires: lucene-contrib >= 2.9.4-5
BuildRequires: junit >= 3.8.1-3jpp
BuildRequires: junit4
BuildRequires: hamcrest >= 0:1.1-9.2
BuildRequires: sat4j >= 2.3.0-1
BuildRequires: objectweb-asm >= 3.3.1-1
BuildRequires: zip

%if 0%{?rhel} >= 6
ExclusiveArch: %{ix86} x86_64
%endif

%description
The Eclipse platform is designed for building integrated development
environments (IDEs), server-side applications, desktop applications, and
everything in between.

%package     swt
Summary:        SWT Library for GTK+-2.0
Group:          Text Editors/Integrated Development Environments (IDE)
# %{_libdir}/java directory owned by jpackage-utils
Requires:       jpackage-utils
Requires:       gtk2
Requires:       xulrunner 
Requires:       webkitgtk

%description swt
SWT Library for GTK+-2.0.

%package        rcp
Summary:        Eclipse Rich Client Platform
Group:          Development/Languages
Requires:       %{name}-swt = %{epoch}:%{version}-%{release}
Requires:       icu4j-eclipse >= 1:4.4.2-2
Requires:       java >= 1.6.0

%description    rcp
Eclipse Rich Client Platform

%package        platform
Summary:        Eclipse platform common files
Group:          Text Editors/Integrated Development Environments (IDE)
Requires: initscripts
Requires:   %{name}-rcp = %{epoch}:%{version}-%{release}
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-swing ant-jsch ant-testutil ant-apache-xalan2 ant-jmf
Requires: apache-commons-el 
Requires: apache-commons-logging 
Requires: apache-commons-codec
Requires: tomcat-lib >= 7.0.22-2
Requires: jetty >= 6.1.24-1
Requires: jsch >= 0.1.41
Requires: lucene >= 2.9.4-5
Requires: lucene-contrib >= 2.9.4-5
Requires: sat4j >= 2.3.0-1
Provides: eclipse-cvs-client = 1:%{version}-%{release}
Obsoletes: eclipse-cvs-client < 1:3.3.2-20

%description    platform
The Eclipse Platform is the base of all IDE plugins.  This does not include the
Java Development Tools or the Plugin Development Environment.

%package        jdt
Summary:        Eclipse Java Development Tools
Group:          Text Editors/Integrated Development Environments (IDE)
Requires:       %{name}-platform = %{epoch}:%{version}-%{release}
Requires:       %{name}-cvs-client = %{epoch}:%{version}-%{release}
Requires(post): %{name}-platform = %{epoch}:%{version}-%{release}
Requires(postun): %{name}-platform = %{epoch}:%{version}-%{release}
Requires:       junit >= 3.8.1-3jpp
Requires:       junit4
Requires:       jakarta-commons-httpclient
Requires:       java-javadoc
Requires:       java-devel

%description    jdt
Eclipse Java Development Tools.  This package is required to use Eclipse for
developing software written in the Java programming language.

%package        pde
Summary:        Eclipse Plugin Development Environment
Group:          Text Editors/Integrated Development Environments (IDE)
Provides:       eclipse = %{epoch}:%{version}-%{release}
Provides:       eclipse-sdk = %{epoch}:%{version}-%{release}
Requires:       %{name}-platform = %{epoch}:%{version}-%{release}
Requires(post): %{name}-platform = %{epoch}:%{version}-%{release}
Requires(postun): %{name}-platform = %{epoch}:%{version}-%{release}
Requires:       %{name}-jdt = %{epoch}:%{version}-%{release}
Requires:       objectweb-asm >= 3.3.1-1
Requires:       hamcrest >= 0:1.1-9.2
# For PDE Build wrapper script + creating jars
Requires:       zip
Requires:       bash
Provides:       %{name}-pde-runtime = 1:%{version}-%{release}
Obsoletes:      %{name}-pde-runtime < 1:3.3.2-20

%description    pde
Eclipse Plugin Development Environment.  This package is required for
developing Eclipse plugins.

%prep
%setup -q -n eclipse-build-%{eb_sha1}
cp %{SOURCE1} .
ant applyPatches
pushd build/eclipse-3.7.1-src

# Use our system-installed javadocs, reference only what we built, and
# don't like to osgi.org docs (FIXME:  maybe we should package them?)
sed -i -e "s|http://java.sun.com/j2se/1.4.2/docs/api|%{_datadir}/javadoc/java|" \
   -e "/osgi\.org/d" \
   -e "s|-breakiterator|;../org.eclipse.equinox.util/@dot\n;../org.eclipse.ecf.filetransfer_3.0.0.v20090302-0803.jar\n;../org.eclipse.ecf_3.0.0.v20090302-0803.jar\n-breakiterator|" \
    plugins/org.eclipse.platform.doc.isv/platformOptions.txt
sed -i -e "s|http://java.sun.com/j2se/1.5/docs/api|%{_datadir}/javadoc/java|" \
   -e "s/win32.win32.x86/gtk.linux.%{eclipse_arch}/" \
   plugins/org.eclipse.jdt.doc.isv/jdtOptions.txt
sed -i -e "s|http://java.sun.com/j2se/1.4/docs/api|%{_datadir}/javadoc/java|" \
   -e "s/motif.linux.x86/gtk.linux.%{eclipse_arch}/" \
   plugins/org.eclipse.pde.doc.user/pdeOptions.txt \
   plugins/org.eclipse.pde.doc.user/pdeOptions.txt

#fix for glib 2.31 not allowing include of anything else but glib
sed -i -e "s|#include <glib/gslist.h>||g" plugins/org.eclipse.core.net/natives/unix/gnomeproxy.c

# make sure there are no jars left
JARS=""
for j in $(find -name \*.jar); do
  if [ ! -L $j ]; then
    JARS="$JARS `echo $j`"
  fi
done
if [ ! -z "$JARS" ]; then
    echo "These jars should be deleted and symlinked to system jars: $JARS"
   #FIXME: enable  exit 1
fi

popd

%build
export JAVA_HOME=%{java_home}
ant provision.cvs

%install
ant -DdestDir=$RPM_BUILD_ROOT -Dprefix=/usr -Dmultilib=true installSDKinDropins

# We don't need icon.xpm
# https://bugs.eclipse.org/292472
rm $RPM_BUILD_ROOT/%{_libdir}/%{name}/icon.xpm

# Some directories we need
install -d -m 755 $RPM_BUILD_ROOT%{_libdir}/java
install -d -m 755 $RPM_BUILD_ROOT%{_javadir}/%{name}
install -d -m 755 $RPM_BUILD_ROOT%{_mavenpomdir}

pushd $RPM_BUILD_ROOT%{_libdir}/%{name}
# 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

# Remove state files
pushd $RPM_BUILD_ROOT%{_libdir}/%{name}/configuration/org.eclipse.osgi/
	rm -rf .bundledata* .lazy* .manager .state*
popd

#install the reconciler script
cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}/

#install .so extaction paterns file
cp -p extract_patterns.txt $RPM_BUILD_ROOT/%{_libdir}/%{name}/

# 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 $lib `basename $lib`
done
popd

# Temporary fix until https://bugs.eclipse.org/294877 is resolved
sed -i "s|-Xms40m|-Xms128m|g" $RPM_BUILD_ROOT/%{_sysconfdir}/eclipse.ini
sed -i "s|-Xmx384m|-Xmx512m|g" $RPM_BUILD_ROOT/%{_sysconfdir}/eclipse.ini
echo "" >> $RPM_BUILD_ROOT/%{_sysconfdir}/eclipse.ini
echo "-Dorg.eclipse.swt.browser.UseWebKitGTK=true" >> $RPM_BUILD_ROOT/%{_sysconfdir}/eclipse.ini
echo "-XX:CompileCommand=exclude,org/eclipse/core/internal/dtree/DataTreeNode,forwardDeltaWith" >> $RPM_BUILD_ROOT/%{_sysconfdir}/eclipse.ini
echo "-XX:CompileCommand=exclude,org/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding,<init>" >> $RPM_BUILD_ROOT/%{_sysconfdir}/eclipse.ini
echo "-XX:CompileCommand=exclude,org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates,instantiateTemplate" >> $RPM_BUILD_ROOT/%{_sysconfdir}/eclipse.ini
echo "-XX:CompileCommand=exclude,org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage,addBinding" >> $RPM_BUILD_ROOT/%{_sysconfdir}/eclipse.ini
echo "-XX:CompileCommand=exclude,org/python/pydev/editor/codecompletion/revisited/PythonPathHelper,isValidSourceFile" >> $RPM_BUILD_ROOT/%{_sysconfdir}/eclipse.ini
echo "-XX:CompileCommand=exclude,org/python/pydev/ui/filetypes/FileTypesPreferencesPage,getDottedValidSourceFiles" >> $RPM_BUILD_ROOT/%{_sysconfdir}/eclipse.ini

# SWT JAR symlink in libdir
pushd $RPM_BUILD_ROOT%{_libdir}/%{name}
ln -s ../%{name}/swt.jar ../java/swt.jar
popd

# OSGI JAR symlinks in javadir and maven depmaps
pushd $RPM_BUILD_ROOT%{_javadir}/eclipse
ln -s ../../../../%{_libdir}/%{name}/plugins/org.eclipse.osgi_*.jar osgi.jar
popd
install -m 0644 %{SOURCE5} $RPM_BUILD_ROOT/%{_mavenpomdir}/JPP.eclipse-osgi.pom
%add_maven_depmap JPP.eclipse-osgi.pom %{name}/osgi.jar -a "org.eclipse:osgi"

pushd $RPM_BUILD_ROOT%{_javadir}/eclipse
ln -s ../../../../%{_libdir}/%{name}/plugins/org.eclipse.osgi.services_*.jar osgi.services.jar
popd
install -m 0644 %{SOURCE6} $RPM_BUILD_ROOT/%{_mavenpomdir}/JPP.eclipse-osgi.services.pom
%add_maven_depmap JPP.eclipse-osgi.services.pom %{name}/osgi.services.jar -a "org.eclipse.osgi:services"

pushd $RPM_BUILD_ROOT%{_javadir}/eclipse
ln -s ../../../../%{_libdir}/%{name}/plugins/org.eclipse.equinox.http.servlet_*.jar equinox.http.servlet.jar
popd
install -m 0644 %{SOURCE7} $RPM_BUILD_ROOT/%{_mavenpomdir}/JPP.eclipse-equinox.http.servlet.pom
%add_maven_depmap JPP.eclipse-equinox.http.servlet.pom %{name}/equinox.http.servlet.jar -a "org.eclipse.equinox.http:servlet"

# A sanity check.
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

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

# This symlink is actually provided by the icu4j-eclipse package
# We need to remove this *after* copy-platform creation otherwise
# copy-platform gets generated wrong.
rm $RPM_BUILD_ROOT/%{_libdir}/%{name}/plugins/com.ibm.icu_*.jar

# Install the PDE Build wrapper script.
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_ | \
  sed 's/org.eclipse.pde.build_//')
sed -i "s/@PDEBUILDVERSION@/$PDEBUILDVERSION/g" \
  $RPM_BUILD_ROOT%{_libdir}/%{name}/buildscripts/pdebuild

# Install tmpfs file
mkdir -p %{buildroot}%{_sysconfdir}/tmpfiles.d/
install -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/tmpfiles.d/%{name}.conf

# Install tmpfs dir
mkdir -p %{buildroot}%{_localstatedir}/run/
install -d -m 0710 %{buildroot}%{_localstatedir}/run/%{name}/

# Install eclipse macros file
mkdir $RPM_BUILD_ROOT%{_sysconfdir}/rpm/
install -m 0644 %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/

%pre platform
# Remove all the profiles that were created by the reconciler.
# this rpm will install a new profile and it will be reconciled
# by running the reconciler in %post platform
rm -rf %{_libdir}/%{name}/p2/org.eclipse.equinox.p2.engine/profileRegistry/PlatformProfile.profile/*

%preun platform
# Because of our use of the reconciler there are files which are created
# during installation which rpm does not know about. These files must
# be removed here.

# Remove all configuration files created by the reconciler so that we
# can have a clean uninstall.
rm -rf %{_libdir}/%{name}/p2/org.eclipse.equinox.p2.core/cache
rm -rf %{_libdir}/%{name}/configuration/org.eclipse.equinox.app
rm -rf %{_libdir}/%{name}/configuration/org.eclipse.core.runtime
rm -rf %{_libdir}/%{name}/configuration/org.eclipse.osgi/bundles/*/data
rm -rf %{_libdir}/%{name}/configuration/org.eclipse.equinox.source/
rm -rf %{_libdir}/%{name}/configuration/org.eclipse.update/

# Remove .bundledata* .lazy* .manager .state*
rm -rf %{_libdir}/%{name}/configuration/org.eclipse.osgi/.bundledata*
rm -rf %{_libdir}/%{name}/configuration/org.eclipse.osgi/.lazy*
rm -rf %{_libdir}/%{name}/configuration/org.eclipse.osgi/.manager
rm -rf %{_libdir}/%{name}/configuration/org.eclipse.osgi/.state*

# Delete all empty bundle directories.
find %{_libdir}/%{name}/configuration/org.eclipse.osgi/bundles/ -depth -type d -empty -delete

# Delete orphaned profile files
find %{_libdir}/%{name}/p2/org.eclipse.equinox.p2.engine/profileRegistry/PlatformProfile.profile/ | while read file
do
  rpm -qf "$file" >& /dev/null
  if [ $? != 0 ]; then rm -f $file; fi
done

%post platform
touch --no-create %{_datadir}/icons/hicolor
if [ -x /usr/bin/gtk-update-icon-cache ]; then
  gtk-update-icon-cache -q %{_datadir}/icons/hicolor
fi

# If this is an update, we run the reconciler not to provision the
# platform but to reprovision all other plugins which may have 
# already been installed in the system.
if [ $1 -gt 1 ]; then
  eclipse-reconciler.sh -debug -vmargs -Dosgi.checkConfiguration=true >& /dev/null
fi


%postun platform
touch --no-create %{_datadir}/icons/hicolor
if [ -x /usr/bin/gtk-update-icon-cache ]; then
  gtk-update-icon-cache -q %{_datadir}/icons/hicolor
fi
# Cannot run the reconciler because it will have been removed at
# this point, and there is no need to.

%post jdt
touch /var/run/eclipse/run-reconciler

%postun jdt
touch /var/run/eclipse/run-reconciler

if [ $1 == 0 ]; then
  eclipse-reconciler.sh > /dev/null
fi

%posttrans jdt
eclipse-reconciler.sh > /dev/null

%post pde
touch /var/run/eclipse/run-reconciler

%postun pde
touch /var/run/eclipse/run-reconciler

if [ $1 == 0 ]; then
  eclipse-reconciler.sh > /dev/null
fi

%posttrans pde
eclipse-reconciler.sh > /dev/null

%pre jdt
# workaround for rpm bug, can be removed in F-20 Fixes the problem with efj being directory instead of launcher
rm -rf %{_bindir}/efj/

%if %{initialize}
%files swt -f %{name}-swt.install
%else
%files swt
%endif
%dir %{_libdir}/%{name}
%dir %{_libdir}/%{name}/plugins
%if %{initialize}
%{_libdir}/%{name}/libswt-*.so
%dir %{_libdir}/%{name}/configuration
%dir %{_libdir}/%{name}/configuration/org.eclipse.osgi
%dir %{_libdir}/%{name}/configuration/org.eclipse.osgi/bundles
%endif
%{_libdir}/%{name}/notice.html
%{_libdir}/%{name}/epl-v10.html
%{_libdir}/%{name}/plugins/org.eclipse.swt_*
%{_libdir}/%{name}/plugins/org.eclipse.swt.gtk.linux.*
%{_libdir}/%{name}/swt-gtk*.jar
%{_libdir}/%{name}/swt.jar
%{_libdir}/java/swt.jar

%files rcp
%dir %{_libdir}/%{name}/features
%dir %{_datadir}/%{name}
%verify(not md5 size mtime) %dir %{_libdir}/%{name}/configuration
%verify(not md5 size mtime) %{_libdir}/%{name}/configuration/config.ini
%verify(not md5 size mtime) %{_libdir}/%{name}/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info
%verify(not md5 size mtime) %dir %{_libdir}/%{name}/configuration/org.eclipse.equinox.simpleconfigurator
%ifnarch ppc ppc64
%{_libdir}/%{name}/about.html
%endif
%ifarch x86_64
%{_libdir}/%{name}/about_files
%endif
%{_libdir}/%{name}/readme
%{_libdir}/%{name}/features/org.eclipse.rcp_*
%{_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.core.runtime.compatibility.auth_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.app_*
%{_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.help_*
%{_libdir}/%{name}/plugins/org.eclipse.jface_*
%{_libdir}/%{name}/plugins/org.eclipse.jface.databinding_*
%{_libdir}/%{name}/plugins/org.eclipse.osgi_*
%{_libdir}/%{name}/plugins/org.eclipse.rcp_*
%{_libdir}/%{name}/plugins/org.eclipse.ui_*
%{_libdir}/%{name}/plugins/org.eclipse.ui.workbench_*
%{_libdir}/%{name}/plugins/org.eclipse.update.configurator_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.simpleconfigurator_*
%{_javadir}/%{name}
%{_mavenpomdir}/*
%{_mavendepmapfragdir}/*

%if %{initialize}
%files platform -f %{name}-platform.install
%else
%files platform
%endif
%attr(0755,root,root) %{_bindir}/%{name}
%{_libdir}/%{name}/.eclipseproduct
%config %{_libdir}/%{name}/eclipse.ini
%verify(not md5 size mtime) %config %{_sysconfdir}/eclipse.ini
%ifnarch ppc ppc64
%{_libdir}/%{name}/about_files
%endif
%{_sysconfdir}/rpm/macros.%{name}
%dir %{_localstatedir}/run/%{name}/
%config(noreplace) %{_sysconfdir}/tmpfiles.d/%{name}.conf
%{_datadir}/applications/*
%{_datadir}/pixmaps/*
%{_datadir}/icons/*/*/apps/*
%{_bindir}/eclipse-reconciler.sh
%{_libdir}/%{name}/eclipse
%{_libdir}/%{name}/extract_patterns.txt
%dir %{_libdir}/%{name}/dropins
%dir %{_datadir}/%{name}/dropins
%{_libdir}/%{name}/features/org.eclipse.platform_*
%{_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/org.apache.tomcat_*
%{_libdir}/%{name}/plugins/org.apache.juli_*
%{_libdir}/%{name}/plugins/org.apache.el_*
%{_libdir}/%{name}/plugins/org.apache.ant_*
%{_libdir}/%{name}/plugins/org.apache.commons.el_*
%{_libdir}/%{name}/plugins/org.apache.commons.logging_*
%{_libdir}/%{name}/plugins/org.apache.lucene.core_*
%{_libdir}/%{name}/plugins/org.apache.lucene.analysis_*
%{_libdir}/%{name}/plugins/org.eclipse.ant.core_*
%{_libdir}/%{name}/plugins/org.eclipse.compare_*
%{_libdir}/%{name}/plugins/org.eclipse.compare.core_*
%{_libdir}/%{name}/plugins/org.eclipse.core.boot_*
%{_libdir}/%{name}/plugins/org.eclipse.core.externaltools_*
%{_libdir}/%{name}/plugins/org.eclipse.core.filebuffers_*
%{_libdir}/%{name}/plugins/org.eclipse.core.filesystem_*
%{_libdir}/%{name}/plugins/org.eclipse.core.filesystem.linux.*
%{_libdir}/%{name}/plugins/org.eclipse.core.net_*
%{_libdir}/%{name}/plugins/org.eclipse.core.net.linux.*
%ifarch %{ix86}
%{_libdir}/%{name}/plugins/org.eclipse.update.core.linux_*
%endif
%{_libdir}/%{name}/plugins/org.eclipse.core.resources_*
%{_libdir}/%{name}/plugins/org.eclipse.core.runtime.compatibility_*
%{_libdir}/%{name}/plugins/org.eclipse.core.runtime.compatibility.registry_*
%{_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.equinox.ds_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.event_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.http.jetty_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.http.registry_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.http.servlet_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.jsp.jasper_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.jsp.jasper.registry_*
%{_libdir}/%{name}/plugins/org.eclipse.help.appserver_*
%{_libdir}/%{name}/plugins/org.eclipse.help.base_*
%{_libdir}/%{name}/plugins/org.eclipse.help.ui_*
%{_libdir}/%{name}/plugins/org.eclipse.help.webapp_*
%{_libdir}/%{name}/plugins/org.eclipse.jface.text_*
%{_libdir}/%{name}/plugins/org.eclipse.jsch.core_*
%{_libdir}/%{name}/plugins/org.eclipse.jsch.ui_*
%{_libdir}/%{name}/plugins/org.eclipse.ltk.core.refactoring_*
%{_libdir}/%{name}/plugins/org.eclipse.ltk.ui.refactoring_*
%{_libdir}/%{name}/plugins/org.eclipse.osgi.services_*
%{_libdir}/%{name}/plugins/org.eclipse.osgi.util_*
%{_libdir}/%{name}/plugins/org.eclipse.platform_*
%{_libdir}/%{name}/plugins/org.eclipse.platform.doc.user_*
%{_libdir}/%{name}/plugins/org.eclipse.search_*
%{_libdir}/%{name}/plugins/org.eclipse.team.core_*
%{_libdir}/%{name}/plugins/org.eclipse.team.ui_*
%{_libdir}/%{name}/plugins/org.eclipse.text_*
%{_libdir}/%{name}/plugins/org.eclipse.ui.browser_*
%{_libdir}/%{name}/plugins/org.eclipse.ui.cheatsheets_*
%{_libdir}/%{name}/plugins/org.eclipse.ui.console_*
%{_libdir}/%{name}/plugins/org.eclipse.ui.editors_*
%{_libdir}/%{name}/plugins/org.eclipse.ui.externaltools_*
%{_libdir}/%{name}/plugins/org.eclipse.ui.forms_*
%{_libdir}/%{name}/plugins/org.eclipse.ui.ide_*
%{_libdir}/%{name}/plugins/org.eclipse.ui.ide.application_*
%{_libdir}/%{name}/plugins/org.eclipse.ui.intro_*
%{_libdir}/%{name}/plugins/org.eclipse.ui.intro.universal_*
%{_libdir}/%{name}/plugins/org.eclipse.ui.navigator_*
%{_libdir}/%{name}/plugins/org.eclipse.ui.navigator.resources_*
%{_libdir}/%{name}/plugins/org.eclipse.ui.net_*
%{_libdir}/%{name}/plugins/org.eclipse.ui.presentations.r21_*
%{_libdir}/%{name}/plugins/org.eclipse.ui.views_*
%{_libdir}/%{name}/plugins/org.eclipse.ui.views.properties.tabbed_*
%{_libdir}/%{name}/plugins/org.eclipse.ui.workbench.compatibility_*
%{_libdir}/%{name}/plugins/org.eclipse.ui.workbench.texteditor_*
%{_libdir}/%{name}/plugins/org.eclipse.update.core_*
%{_libdir}/%{name}/plugins/org.eclipse.update.scheduler_*
%{_libdir}/%{name}/plugins/org.eclipse.update.ui_*
%{_libdir}/%{name}/plugins/org.mortbay.jetty.util_*
%{_libdir}/%{name}/plugins/org.mortbay.jetty.server_*
%{_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_*
%{_libdir}/%{name}/plugins/org.eclipse.team.cvs.ui_*
%{_libdir}/%{name}/features/org.eclipse.cvs_*
%{_libdir}/%{name}/features/org.eclipse.help_*
%{_libdir}/%{name}/plugins/org.apache.jasper_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.frameworkadmin_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.frameworkadmin.equinox_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.simpleconfigurator.manipulator_*
%{_libdir}/%{name}/features/org.eclipse.equinox.p2.core.feature_*
%{_libdir}/%{name}/features/org.eclipse.equinox.p2.extras.feature_*
%{_libdir}/%{name}/features/org.eclipse.equinox.p2.rcp.feature_*
%{_libdir}/%{name}/features/org.eclipse.equinox.p2.user.ui_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.p2.director_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.p2.core_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.p2.engine_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.p2.jarprocessor_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.p2.metadata_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.p2.metadata.repository_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.p2.artifact.repository_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.p2.touchpoint.eclipse_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.p2.touchpoint.natives_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.p2.console_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.p2.ql_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.p2.operations_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.p2.transport.ecf_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.p2.ui_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.p2.ui.importexport_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.p2.ui.sdk_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.p2.ui.sdk.scheduler_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.p2.updatechecker_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.p2.garbagecollector_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.p2.directorywatcher_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.p2.publisher_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.p2.publisher.eclipse_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.p2.repository_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.p2.repository.tools_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.p2.reconciler.dropins_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.p2.updatesite_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.security_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.security.ui_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.p2.extensionlocation_*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.p2.director.app_*
%{_libdir}/%{name}/plugins/org.eclipse.ecf.provider.filetransfer_*
%{_libdir}/%{name}/plugins/org.eclipse.ecf.provider.filetransfer.httpclient_*
%{_libdir}/%{name}/plugins/org.eclipse.ecf.provider.filetransfer.httpclient.ssl_*
%{_libdir}/%{name}/plugins/org.eclipse.ecf.provider.filetransfer.ssl_*
%{_libdir}/%{name}/plugins/org.eclipse.ecf.ssl_*
%{_libdir}/%{name}/plugins/org.eclipse.ecf_*
%{_libdir}/%{name}/plugins/org.eclipse.ecf.filetransfer_*
%{_libdir}/%{name}/plugins/org.eclipse.ecf.identity_*
%{_libdir}/%{name}/plugins/org.apache.commons.codec_*
%{_libdir}/%{name}/plugins/org.apache.commons.httpclient_*
%{_libdir}/%{name}/plugins/org.sat4j.core_*
%{_libdir}/%{name}/plugins/org.sat4j.pb_*
# Put this in -platform since we're putting the p2 stuff here
%verify(not md5 size mtime) %{_libdir}/%{name}/artifacts.xml
# FIXME: should we ship content.xml for the platform?
#%{_libdir}/%{name}/metadata
%verify(not md5 size mtime) %{_libdir}/%{name}/p2

%files jdt
%{_bindir}/efj
%{_libdir}/%{name}/dropins/jdt

%files pde
%{_libdir}/%{name}/buildscripts
%{_libdir}/%{name}/dropins/sdk

%changelog
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:3.7.1-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Thu Dec 22 2011 Andrew Overholt <overholt@redhat.com> 1:3.7.1-11
- Install org.eclipse.osgi.services and org.eclipse.equinox.http.servlet in
  javadir/eclipse.
- Add maven pom and depmap for the above.
- Fixes rhbz#769621.

* Tue Dec 20 2011 Andrew Robinson <arobinso@redhat.com> 1:3.7.1-10
- Specfile fix for license feature.

* Mon Dec 19 2011 Andrew Overholt <overholt@redhat.com> 1:3.7.1-9
- New eclipse-build snapshot with proper p2 repo URLs.

* Tue Nov 29 2011 Sami Wagiaalla <swagiaal@redhat.com> 1:3.7.1-8
- Stop using -clean option.
- Use -Dosgi.checkConfiguration=true when updating the platform.
- Remove cache.timestamps and .bundledata* when running the reconciler
  with -Dosgi.checkConfiguration=true.
- Do not verify %{_libdir}/%{name}/artifacts.xml.

* Tue Nov 29 2011 Roland Grunberg <rgrunber@redhat.com> 1:3.7.1-7
- Bump release.

* Fri Nov 25 2011 Alexander Kurtakov <akurtako@redhat.com> 1:3.7.1-6
- Add ExclusiveArch for RHEL.

* Fri Nov 25 2011 Roland Grunberg <rgrunber@redhat.com> 1:3.7.1-5
- (Re-apply) Upgrade to Tomcat 7 Jasper.
- Include org.eclipse.jdt.core as part of platform to avoid cyclic
  dependency between platform and jdt.

* Mon Nov 21 2011 Roland Grunberg <rgrunber@redhat.com> 1:3.7.1-4
- Bump release to match f16 branch.

* Tue Nov 16 2011 Roland Grunberg <rgrunber@redhat.com> 1:3.7.1-2
- Upload new source fixing RHBZ #753090.

* Tue Nov 08 2011 Roland Grunberg <rgrunber@redhat.com> 1:3.7.1-1
- Update to 3.7.1.
- org.apache.lucene no longer used upstream.

* Sat Oct 29 2011 Alexander Kurtakov <akurtako@redhat.com> 1:3.7.0-9
- New e-b snapshot - fixed Program.launch for remote uris.
- Adds _javadir/icu4j.jar for secondary archs bootstrapping.

* Wed Oct 26 2011 Sami Wagiaalla <swagiaal@redhat.com> 1:3.7.0-8
- Add Requires(post/postun) to _eclipse_pkg macro.

* Fri Oct 21 2011 Alexander Kurtakov <akurtako@redhat.com> 1:3.7.0-7
- Install org.eclipse.osgi in javadir/eclipse/osgi.jar
- Add maven pom and depmap.
- Fix compilation with glib 2.31.

* Thu Oct 20 2011 Sami Wagiaalla <swagiaal@redhat.com> 1:3.7.0-7
- Change _eclipse_pkg to pipe all reconciler output to /dev/null

* Thu Oct 20 2011 Sami Wagiaalla <swagiaal@redhat.com> 1:3.7.0-6
- Bump the release number.

* Wed Oct 19 2011 Sami Wagiaalla <swagiaal@redhat.com> 1:3.7.0-5
- Add new line before writing to eclipse.ini.

* Fri Oct 14 2011 Sami Wagiaalla <swagiaal@redhat.com> 1:3.7.0-5
- Change eclipse-reconciler script to run with no arguments.
- Use initscripts to create run directory.
- Run reconciler only once per install transaction. 

* Tue Oct 4 2011 Sami Wagiaalla <swagiaal@redhat.com> 1:3.7.0-5
- New eclipse-build source tar ball.

* Mon Oct 3 2011 Sami Wagiaalla <swagiaal@redhat.com> 1:3.7.0-5
- Bump the relese number.

* Mon Oct 3 2011 Sami Wagiaalla <swagiaal@redhat.com> 1:3.7.0-5
- Remove all metadata files created by the reconciler before
  uninstallation.

* Mon Oct 3 2011 Sami Wagiaalla <swagiaal@redhat.com> 1:3.7.0-5
- Install .so extraction file.
- Extract .so files when the reconciler is run with -clean

* Mon Oct 3 2011 Sami Wagiaalla <swagiaal@redhat.com> 1:3.7.0-5
- Correct verification for files edited by the reconciler.
- Do not install state files.

* Mon Oct 3 2011 Sami Wagiaalla <swagiaal@redhat.com> 1:3.7.0-5
- Add Requires post and postun platform to jdt and pde on 

* Fri Sep 23 2011 Sami Wagiaalla <swagiaal@redhat.com> 1:3.7.0-4
- Run reconciler after and before pde installation.

* Fri Sep 23 2011 Sami Wagiaalla <swagiaal@redhat.com> 1:3.7.0-4
- Add new script eclipse-reconciler.sh
- Run eclipse-reconciler.sh in the post and postun sections of jdt 
  and post seciton on platform.
- Remove all old profiles in %pre rcp.

* Wed Sep 21 2011 Alexander Kurtakov <akurtako@redhat.com> 1:3.7.0-4
- Remove _bindir/efj in pre - Fixes #738677.

* Mon Sep 12 2011 Alexander Kurtakov <akurtako@redhat.com> 1:3.7.0-3
- Use latest eclipse-build snapshot - fixes openjdk 7 build.
- Fix efj launcher script.

* Mon Jun 27 2011 Chris Aniszczyk <zx@redhat.com> 1:3.7.0-1.3
- Fix eclipse archive name

* Fri Jun 24 2011 Andrew Overholt <overholt@redhat.com> 1:3.7.0-1.2
- Fix SWT symlink in %%{_libdir} (rhbz#715470)

* Sun Jun 19 2011 Chris Aniszczyk <zx@redhat.com> 1:3.7.0-1.1
- Fix upload of e-b snapshot

* Wed Jun 15 2011 Chris Aniszczyk <zx@redhat.com> 1:3.7.0-1.0
- New e-b snapshot to update build on 3.7 Final

* Tue Jun 07 2011 Chris Aniszczyk <zx@redhat.com> 1:3.7.0-0.4.RC4
- New e-b snapshot to update build on 3.7 RC4
- Added usage of features back

* Thu Jun 02 2011 Chris Aniszczyk <zx@redhat.com> 1:3.7.0-0.3.RC3
- New e-b snapshot to update build on 3.7 RC3
- removed efj as it's part of eclipse-build now
- removed usage of features

* Tue May 17 2011 Chris Aniszczyk <zx@redhat.com> 1:3.7.0-0.2.RC1
- New e-b snapshot, fixes org.eclipse.equinox.util issue
- updated servlet and jsp related dependencies

* Tue May 17 2011 Chris Aniszczyk <zx@redhat.com> 1:3.7.0-0.1.RC1
- New e-b snapshot - first eclipse 3.7 build based on 3.7 RC1.

* Wed Apr 27 2011 Chris Aniszczyk <zx@redhat.com> 1:3.6.2-5
- New e-b snapshot - really fixes dropins issue.
- update sat4j dependency to 2.3.0

* Mon Apr 25 2011 Chris Aniszczyk <zx@redhat.com> 1:3.6.2-4
- Add rsync to BuildRequires.

* Mon Apr 25 2011 Chris Aniszczyk <zx@redhat.com> 1:3.6.2-3
- New e-b snapshot - fixes dropins issue.

* Fri Apr 8 2011 Alexander Kurtakov <akurtako@redhat.com> 1:3.6.2-2
- New e-b snapshot - fixes Program.launch problem without libswt-gnome.

* Fri Apr 8 2011 Alexander Kurtakov <akurtako@redhat.com> 1:3.6.2-1
- Switch to webkit by default.
- New eclipse-build snapshot.

* Wed Apr 6 2011 Alexander Kurtakov <akurtako@redhat.com> 1:3.6.2-0.2
- Drop bootstrap conditional.
- Drop shell start script.
- Drop jpp versioned dependencies - apache-commons-* have never had such versions.
- Removed patches moved to eclipse-build. 

* Fri Mar 11 2011 Alexander Kurtakov <akurtako@redhat.com> 1:3.6.2-0.1
- First take on 3.6.2.

* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:3.6.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Mon Jan 3 2011 Alexander Kurtakov <akurtako@redhat.com> 1:3.6.1-4
- Fix build with ant 1.8.2.

* Mon Dec 13 2010 Severin Gehwolf <sgehwolf@redhat.com> 1:3.6.1-3
- Add fix for Eclipse help XSS vulnerability (RH Bz #661901).

* Tue Oct 12 2010 Severin Gehwolf <sgehwolf@redhat.com> 1:3.6.1-2
- Require zip for eclipse-pde.

* Tue Oct 5 2010 Alexander Kurtakov <akurtako@redhat.com> 1:3.6.1-1
- Update to 3.6.1.

* Fri Oct 1 2010 Severin Gehwolf <sgehwolf@redhat.com> 1:3.6.0-17
- Push release #, since there has been a 3.6.0-16 scratch build.

* Thu Sep 30 2010 Severin Gehwolf <sgehwolf@redhat.com> 1:3.6.0-16
- Fix copy-platform script generation.

* Mon Sep 27 2010 Severin Gehwolf <sgehwolf@redhat.com> 1:3.6.0-15
- Add shell script portability patch for prepare-build-dir.sh.

* Tue Sep 21 2010 Alexander Kurtakov <akurtako@redhat.com> 1:3.6.0-14
- Really reenable webkit.

* Tue Sep 21 2010 Alexander Kurtakov <akurtako@redhat.com> 1:3.6.0-13
- Reenable webkit support, build is fixed.

* Tue Sep 21 2010 Alexander Kurtakov <akurtako@redhat.com> 1:3.6.0-12
- Disable webkit support - it is causing build failures.

* Tue Sep 21 2010 Alexander Kurtakov <akurtako@redhat.com> 1:3.6.0-11
- Add jsp-api dependency and use the tomcat6 one.

* Fri Sep 17 2010 Jeff Johnston <jjohnstn@redhat.com> 1:3.6.0-10
- Add patch to fix xpcom problem.

* Tue Sep 7 2010 Alexander Kurtakov <akurtako@redhat.com> 1:3.6.0-9
- Add webkitgtk-devel BR and webkit R.

* Wed Sep 1 2010 Alexander Kurtakov <akurtako@redhat.com> 1:3.6.0-8
- Add patch to remove ant-trax from ant bundle's classpath.
- Use new package names in BR/R.

* Wed Sep 1 2010 Alexander Kurtakov <akurtako@redhat.com> 1:3.6.0-7
- Update to eclipse-build 0.6.1 release.
- Fix build with ant 1.8.1.

* Tue Aug 17 2010 Andrew Overholt <overholt@redhat.com> 1:3.6.0-6
- Update to eclipse-build 0.6.1RC2.
- List a few files that were missing but should be installed.
- Finally remove %%{_datadir}/%%{name}/{features,plugins} as nothing is
  installed in there and shouldn't be.
- Use new eclipse-build targets provision.sdk and installSDKinDropins.
- Remove filenamepatterns.txt as it's now part of eclipse-build.
- Update download URL.
- Remove unused patches.

* Tue Aug 10 2010 Andrew Overholt <overholt@redhat.com> 1:3.6.0-5
- Update to eclipse-build 0.6.0 final.

* Fri Aug 06 2010 Andrew Overholt <overholt@redhat.com> 1:3.6.0-4
- Move epl-v10.html and notice.html to SWT sub-package.

* Thu Jul 15 2010 Elliott Baron <ebaron@fedoraproject.org> 1:3.6.0-3
- Increasing min versions for jetty, icu4j-eclipse and sat4j.

* Fri Jul 9 2010 Alexander Kurtakov <akurtako@redhat.com> 1:3.6.0-2
- o.e.core.net.linux is no longer x86 only.

* Fri Jul 9 2010 Alexander Kurtakov <akurtako@redhat.com> 1:3.6.0-1
- Update to 3.6.0.
- Based on eclipse-build 0.6.1 RC0.