%{?scl:%scl_package eclipse-ecf} %{!?scl:%global pkg_name %{name}} %{!?maven_scl:%global maven_scl_prefix %{nil}} %{?maven_scl:%global base_or_scl_root %{_scl_root}} %{!?maven_scl:%global base_or_scl_root %{nil}} %{?maven_scl:%global base_or_scl %{maven_scl_prefix}} %{!?maven_scl:%global base_or_scl %{nil}} %global tag R-Release_HEAD-sdk_feature-140_2014-05-28_16-20-10 %global contextQualifier v20140528-1620 %define __requires_exclude osgi* Name: %{?scl_prefix}eclipse-ecf Version: 3.8.1 Release: 1.1%{?dist} Summary: Eclipse Communication Framework (ECF) License: EPL URL: http://www.eclipse.org/ecf/ Source0: http://git.eclipse.org/c/ecf/org.eclipse.ecf.git/snapshot/org.eclipse.ecf-%{tag}.tar.bz2 # no source plugins for third party libs Patch0: %{pkg_name}-no-apache-source.patch BuildRequires: java-devel >= 1.7.0 %if 0%{?rhel} < 7 BuildRequires: %{maven_scl_prefix}ant %endif BuildRequires: %{?scl_prefix}eclipse-pde BuildRequires: %{?scl_prefix}httpcomponents-client >= 4.3.5-1 BuildRequires: %{?scl_prefix}httpcomponents-core BuildRequires: %{base_or_scl}apache-commons-codec BuildRequires: %{base_or_scl}apache-commons-logging BuildArch: noarch %description ECF is a framework for building distributed servers, applications, and tools. It provides a modular implementation of the OSGi 4.2 Remote Services standard, along with support for REST-based and SOAP-based remote services, and asynchronous messaging for remote services. %package core Summary: ECF core bundles Group: System Environment/Libraries Requires: jpackage-utils %{?scl:Requires: %scl_runtime} %description core ECF bundles required by eclipse-platform. %prep %setup -q -n org.eclipse.ecf-%{tag} %patch0 -b .orig #get just the bits we need mkdir -p ecf/plugins mkdir -p ecf/features cp -r releng/features/org.eclipse.ecf.core.{,ssl.}feature \ ecf/features cp -r releng/features/org.eclipse.ecf.filetransfer.httpclient4.{,ssl.}feature \ ecf/features cp -r releng/features/org.eclipse.ecf.filetransfer.{,ssl.}feature \ ecf/features cp -r framework/bundles/org.eclipse.ecf ecf/plugins cp -r framework/bundles/org.eclipse.ecf.identity ecf/plugins cp -r framework/bundles/org.eclipse.ecf.ssl ecf/plugins cp -r framework/bundles/org.eclipse.ecf.filetransfer ecf/plugins cp -r providers/bundles/org.eclipse.ecf.provider.filetransfer ecf/plugins cp -r providers/bundles/org.eclipse.ecf.provider.filetransfer.ssl ecf/plugins cp -r providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4 ecf/plugins cp -r providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4.ssl ecf/plugins rm -rf `ls | grep -v "ecf"` find . -type f -name "*.jar" -exec rm {} \; find . -type f -name "*.class" -exec rm {} \; mkdir -p deps pushd deps ln -s %{_javadir}/httpcomponents/httpclient.jar ln -s %{_javadir}/httpcomponents/httpcore.jar ln -s %{base_or_scl_root}%{_root_datadir}/java/commons-codec.jar ln -s %{base_or_scl_root}%{_root_datadir}/java/commons-logging.jar popd sed -i -e 's/4.1.0/[4.3.0,5.0.0)/g' ecf/plugins/org.eclipse.ecf.provider.filetransfer.httpclient4/META-INF/MANIFEST.MF sed -i -e 's#(Object) ((URIID) o)#((URIID) o)#g' ecf/plugins/org.eclipse.ecf.identity/src/org/eclipse/ecf/core/identity/URIID.java %build %if 0%{?rhel} < 7 %{?scl:scl enable %{maven_scl} - << "EOF"} %endif %{_bindir}/eclipse-pdebuild -f org.eclipse.ecf.core.feature \ -j "-DforceContextQualifier=%{contextQualifier}" -o `pwd`/deps %{_bindir}/eclipse-pdebuild -f org.eclipse.ecf.core.ssl.feature \ -j "-DforceContextQualifier=%{contextQualifier}" -o `pwd`/deps %{_bindir}/eclipse-pdebuild -f org.eclipse.ecf.filetransfer.feature \ -j "-DforceContextQualifier=%{contextQualifier}" -o `pwd`/deps %{_bindir}/eclipse-pdebuild -f org.eclipse.ecf.filetransfer.ssl.feature \ -j "-DforceContextQualifier=%{contextQualifier}" -o `pwd`/deps %{_bindir}/eclipse-pdebuild -f org.eclipse.ecf.filetransfer.httpclient4.feature \ -j "-DforceContextQualifier=%{contextQualifier}" -o `pwd`/deps %{_bindir}/eclipse-pdebuild -f org.eclipse.ecf.filetransfer.httpclient4.ssl.feature \ -j "-DforceContextQualifier=%{contextQualifier}" -o `pwd`/deps %if 0%{?rhel} < 7 %{?scl:EOF} %endif %install install -d -m 755 %{buildroot}%{_javadir}/ecf unzip -q -n -d %{buildroot}%{_javadir}/ecf build/rpmBuild/org.eclipse.ecf.core.feature.zip unzip -q -n -d %{buildroot}%{_javadir}/ecf build/rpmBuild/org.eclipse.ecf.core.ssl.feature.zip unzip -q -n -d %{buildroot}%{_javadir}/ecf build/rpmBuild/org.eclipse.ecf.filetransfer.feature.zip unzip -q -n -d %{buildroot}%{_javadir}/ecf build/rpmBuild/org.eclipse.ecf.filetransfer.ssl.feature.zip unzip -q -n -d %{buildroot}%{_javadir}/ecf build/rpmBuild/org.eclipse.ecf.filetransfer.httpclient4.feature.zip unzip -q -n -d %{buildroot}%{_javadir}/ecf build/rpmBuild/org.eclipse.ecf.filetransfer.httpclient4.ssl.feature.zip pushd %{buildroot}%{_javadir}/ecf/eclipse/plugins/ rm -rf org.apache* #remove timestamps from name to make symlinking easy for f in \ org.eclipse.ecf \ org.eclipse.ecf.filetransfer \ org.eclipse.ecf.identity \ org.eclipse.ecf.provider.filetransfer \ org.eclipse.ecf.provider.filetransfer.ssl \ org.eclipse.ecf.ssl \ org.eclipse.ecf.provider.filetransfer.httpclient4 \ org.eclipse.ecf.provider.filetransfer.httpclient4.ssl ; do mv ${f}_*.jar ${f}.jar done popd %files core %{_javadir}/ecf %doc ecf/features/org.eclipse.ecf.core.feature/*.html %changelog * Wed Aug 20 2014 Mat Booth - 3.8.1-1.1 - Rebuild against new httpcomponents * Mon Jun 30 2014 Mat Booth - 3.8.1-1 - Update to latest upstream release * Tue Jun 10 2014 Roland Grunberg - 3.8.0-2.5 - Use %%{maven_scl}ant on RHEL 6 due to issues with DTS 3.0 ant. * Tue Jun 10 2014 Roland Grunberg - 3.8.0-2.4 - Build non-bootstrapped. - Change Import-Package to require httpcomponents > 4.3.0. * Wed May 21 2014 Mat Booth - 3.8.0-2.3 - Drop R on java-headless * Mon May 19 2014 Roland Grunberg - 3.8.0-2.2 - Packages necessary features. * Fri May 16 2014 Roland Grunberg - 3.8.0-2.1 - Make changes to build on DTS 3.0. * Mon May 12 2014 Alexander Kurtakov 3.8.0-2 - Rebuild against latest httpcomponents. * Wed Mar 19 2014 Mat Booth - 3.8.0-1 - Update to latest upstream. - Now necessary to explicitly build more fine-grained features. - Drop unneeded dep on jakarta-commons-httpclient. - Fixed mixed use of tabs and spaces. - Switch core package to R: java-headless, rhbz #1068037 * Tue Sep 3 2013 Krzysztof Daniel 3.6.1-1 - Update to latest upstream. * Sat Aug 03 2013 Fedora Release Engineering - 3.6.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Fri Jun 21 2013 Krzysztof Daniel 3.6.0-2 - 974112: Remove versions and timestamps from ECF. * Wed May 1 2013 Krzysztof Daniel 3.6.0-1 - Update to latest upstream. * Mon Apr 8 2013 Krzysztof Daniel 3.5.7-0.6 - Rebuild with old commons logging. * Mon Apr 8 2013 Krzysztof Daniel 3.5.7-0.5 - Drop v3 httpclient. - Make dependency to commons loggigng less strict. * Wed Mar 20 2013 Krzysztof Daniel 3.5.7-0.4 - Add direct dependency to jakarta-commons-httpclient. * Wed Mar 20 2013 Krzysztof Daniel 3.5.7-0.3 - Symlink deps against /usr/share/java/. * Fri Mar 15 2013 Krzysztof Daniel 3.5.7-0.2 - Explicitly build httpclient4 feature. * Thu Mar 14 2013 Krzysztof Daniel 3.5.7-0.1 - Update to latest upstream. - Initial SCLization. * Wed Feb 13 2013 Fedora Release Engineering - 3.5.6-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Mon Oct 8 2012 Krzysztof Daniel 3.5.6-7 - Use __requires_exclude instead of __provides_exclude. * Mon Oct 8 2012 Krzysztof Daniel 3.5.6-6 - Try out __provides_exclude * Mon Oct 8 2012 Krzysztof Daniel 3.5.6-5 - Use new way of changing auto required dependencies. * Fri Oct 5 2012 Krzysztof Daniel 3.5.6-4 - Don't generate autorreuquire. * Mon Aug 27 2012 Krzysztof Daniel 3.5.6-3 - Don't duplicate org.apache* plugins - Use context qualifier to avoid constant feature version changes. * Wed Aug 8 2012 Krzysztof Daniel 3.5.6-2 - Review issues fixed. * Wed Aug 8 2012 Krzysztof Daniel 3.5.6-1 - Initial packaging.