# vim: set ts=4 sw=4 sts=4 et:
%global tarname apache-%{name}-%{version}-src
Name: cxf
Epoch: 1
Version: 2.7.11
Release: 2%{?dist}
Summary: Apache CXF
License: ASL 2.0
URL: http://cxf.apache.org/
Source0: http://archive.apache.org/dist/%{name}/%{version}/%{tarname}.tar.gz
Patch0: 0001-JDK-8-support.patch
BuildArch: noarch
BuildRequires: maven-local
BuildRequires: maven-plugin-build-helper
BuildRequires: maven-archetype-packaging
BuildRequires: maven-assembly-plugin
BuildRequires: maven-compiler-plugin
BuildRequires: maven-assembly-plugin
BuildRequires: maven-install-plugin
BuildRequires: maven-jar-plugin
BuildRequires: maven-javadoc-plugin
BuildRequires: maven-release-plugin
BuildRequires: maven-resources-plugin
BuildRequires: maven-shared-artifact-resolver
BuildRequires: maven-shared-downloader
BuildRequires: maven-surefire-plugin
BuildRequires: maven-war-plugin
BuildRequires: maven-wagon-ssh
BuildRequires: maven-site-plugin
BuildRequires: activemq-core
BuildRequires: apache-commons-lang
BuildRequires: apache-mina
BuildRequires: aries-blueprint
BuildRequires: objectweb-asm
BuildRequires: batik
BuildRequires: bouncycastle
BuildRequires: cglib
BuildRequires: cxf-build-utils >= 2.6.0-1
BuildRequires: cxf-xjc-utils >= 2.6.2-1
BuildRequires: ehcache-core
BuildRequires: felix-osgi-core
BuildRequires: geronimo-annotation
BuildRequires: geronimo-saaj
BuildRequires: glassfish-jaxb
BuildRequires: glassfish-jaxb-api
BuildRequires: glassfish-jax-rs-api
BuildRequires: glassfish-fastinfoset
BuildRequires: jandex
BuildRequires: javamail
BuildRequires: jboss-connector-1.6-api >= 1.0.1-1
BuildRequires: jboss-servlet-3.0-api
BuildRequires: jboss-jaxws-2.2-api
BuildRequires: jibx
BuildRequires: jra
BuildRequires: logback
BuildRequires: neethi
BuildRequires: opensaml-java
BuildRequires: opensaml-java-parent
BuildRequires: opensaml-java-xmltooling >= 1.3.4-8
BuildRequires: springframework >= 3.1.1-9
BuildRequires: springframework-aop
BuildRequires: springframework-beans
BuildRequires: springframework-context
BuildRequires: springframework-jms
BuildRequires: springframework-tx
BuildRequires: springframework-web
BuildRequires: springframework-webmvc
BuildRequires: tycho
BuildRequires: velocity
BuildRequires: wsdl4j
BuildRequires: wss4j >= 1.6.10
BuildRequires: xml-commons-resolver
BuildRequires: xmlbeans
BuildRequires: ws-xmlschema
%if 0%{?fedora} >= 21
BuildRequires: log4j12
%else
BuildRequires: log4j
%endif
%description
Apache CXF is an open-source services framework that aids in
the development of services using front-end programming APIs,
like JAX-WS and JAX-RS.
%package javadoc
Summary: Javadocs for %{name}
%description javadoc
This package contains the API documentation for %{name}.
%package api
Summary: Apache CXF API
%description api
Apache CXF API classes.
%package maven-plugins
Summary: Apache CXF Maven Plugins
%description maven-plugins
Maven plugins required for building or testing Apache CXF.
%package rt
Summary: Apache CXF Runtime
%description rt
This package contains core feature set of Apache CXF;
web service standards support, frontends, and protocols
support.
%package services
Summary: Apache CXF Services
%description services
This package contains Apache CXF WSN services.
%package tools
Summary: Apache CXF Tools
%description tools
Apache CXF Command Line Tools.
%prep
%setup -q -n %{tarname}
find . -name "*.jar" -delete
find . -name "*.class" -delete
%patch0 -p1
iconv -f macintosh -t utf8 < licenses/cdd1-1.0.txt > cdd.txt
mv -f cdd.txt licenses/cdd1-1.0.txt
# Replace cglib-nodep with cglib
find . -name "pom.xml" -print | xargs sed -i "s|>cglib<|>net.sf.cglib<|"
find . -name "pom.xml" -print | xargs sed -i "s|cglib-nodep|cglib|"
# Replace bcprov-jdk15 with bcprov-jdk16
find . -name "pom.xml" -print | xargs sed -i "s|bcprov-jdk15|bcprov-jdk16|;s|bcprov-jdk16on|bcprov-jdk16|"
# Not necessary for javadoc generation
%pom_remove_plugin "org.apache.maven.plugins:maven-dependency-plugin" distribution/pom.xml
sed -i "s|org.apache.geronimo.specs|org.jboss.spec.javax.servlet|" parent/pom.xml
sed -i "s|geronimo-servlet_3.0_spec|jboss-servlet-api_3.0_spec|" parent/pom.xml
# Replace selected Geronimo APIs with other implementations
while read gid aid newgid newaid version
do
for f in $(grep "${aid}" --include "pom.xml" --exclude-dir "*samples*" -r | awk -F: '{ print $1 }' | uniq)
do
%pom_remove_dep "${gid}:${aid}" ${f}
%pom_xpath_inject "pom:dependencies" "${newgid}${newaid}" ${f}
done
# Make sure we add the version requirements for just added APIs in parent pom.xml
%pom_xpath_inject "pom:dependencyManagement/pom:dependencies/pom:dependency[pom:artifactId='${newaid}']" "${version}" parent/pom.xml
done <org.apache.xmlgraphicsbatik-ext1.8runtime" tools/common/pom.xml
%mvn_package ":cxf-tools*" tools
%mvn_package ":cxf-rt*" rt
%mvn_package ":cxf-maven-plugins*" maven-plugins
%mvn_package ":cxf-api*" api
%mvn_package ":cxf-services*" services
%build
%mvn_build -f
# Create Jandex index file(s)
# Required by WildFly
java -cp $(build-classpath jandex) org.jboss.jandex.Main -j rt/ws/security/target/cxf-rt-ws-security-%{version}.jar
%install
%mvn_install
install -pm 644 rt/ws/security/target/cxf-rt-ws-security-%{version}-jandex.jar %{buildroot}%{_javadir}/%{name}/cxf-rt-ws-security-jandex.jar
%files -f .mfiles
%doc README LICENSE NOTICE
%files tools -f .mfiles-tools
%doc LICENSE NOTICE
%files api -f .mfiles-api
%doc LICENSE NOTICE
%files rt -f .mfiles-rt
%{_javadir}/%{name}/cxf-rt-ws-security-jandex.jar
%doc LICENSE NOTICE
%files services -f .mfiles-services
%doc LICENSE NOTICE
%files maven-plugins -f .mfiles-maven-plugins
%doc LICENSE NOTICE
%files javadoc -f .mfiles-javadoc
%doc LICENSE NOTICE
%changelog
* Wed Jun 17 2015 Fedora Release Engineering - 1:2.7.11-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Tue Mar 24 2015 Marek Goldmann - 1:2.7.11-1
- Upstream release 2.7.11
- Fixes RHBZ#1065245, RHBZ#1068021, RHBZ#1106113
- Fixes CVE-2014-0034, CVE-2014-0035, CVE-2014-0109, CVE-2014-0110, CVE-2014-3584
* Sat Jun 07 2014 Fedora Release Engineering - 1:2.7.5-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Fri Mar 28 2014 Michael Simacek - 1:2.7.5-4
- Use Requires: java-headless rebuild (#1067528)
* Thu Aug 08 2013 Marek Goldmann - 1:2.7.5-3
- Add jandex index to cxf-rt-ws-security jar
* Sat Aug 03 2013 Fedora Release Engineering - 1:2.7.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Wed Jun 19 2013 Marek Goldmann - 1:2.7.5-1
- Upstream reelase 2.7.5
- Broken dependnency on asm2, RHBZ#977970
- New guidelines
* Mon Mar 04 2013 Marek Goldmann - 1:2.6.6-1
- Upstream release 2.6.6, RHBZ#909247
* Wed Feb 13 2013 Fedora Release Engineering - 1:2.6.3-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Wed Feb 06 2013 Java SIG - 1:2.6.3-5
- Update for https://fedoraproject.org/wiki/Fedora_19_Maven_Rebuild
- Replace maven BuildRequires with maven-local
* Wed Dec 12 2012 Marek Goldmann - 1:2.6.3-4
- Prefer the servlet 3.0 API over anything else
* Tue Dec 11 2012 Marek Goldmann - 1:2.6.3-3
- Added proper requires with epoch
* Mon Dec 10 2012 Stanislav Ochotnicky - 1:2.6.3-2
- Added epoch after downgrade
* Tue Nov 13 2012 Marek Goldmann - 2.6.3-1
- Upstream release 2.6.3
* Tue Nov 13 2012 Marek Goldmann - 2.4.9-3
- Replaced patches with pom macros
- Enbled modules: rt/security, javascript
* Tue Oct 02 2012 Marek Goldmann - 2.4.9-2
- Place depmap fragments in subpackages
- Add parent of parent POM file
* Tue Sep 25 2012 Patryk Obara 2.4.9-1
- Update to latest release
- CVE-2012-2379, RHBZ#846247
- CVE-2012-2378, RHBZ#846242
- CVE-2012-3451, RHBZ#858781
* Mon Aug 13 2012 Patryk Obara 2.4.8-5
- Enabled modules: databinding/aegis, databinding/jibx, frontend/js
* Fri Aug 10 2012 Patryk Obara 2.4.8-4
- Enabled modules: frontend/jaxws, bindings/http, transports/http, transports/jms, ws/rm
* Wed Jul 18 2012 Fedora Release Engineering - 2.4.8-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Tue Jul 10 2012 Patryk Obara 2.4.8-2
- Change source0 url
* Mon Jul 9 2012 Patryk Obara 2.4.8-1
- Upgrade to latest bugfix release
- Fix submodule description
- Patch splitting and cleanup
- Added missing build dependencies
* Mon Jun 18 2012 Patryk Obara 2.4.7-1
- Initial packaging