Blame SPECS/eclipse-ecf.spec

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