%global namedreltag -RC1 %global namedversion %{version}%{?namedreltag} Name: abdera Version: 1.1.3 Release: 0.1.RC1%{?dist} Summary: An Open Source Atom Implementation Group: Development/Libraries License: ASL 2.0 URL: http://abdera.apache.org/ # svn export http://svn.apache.org/repos/asf/abdera/java/tags/abdera-1.1.3-RC1 # find abdera-1.1.3-RC1 -name '*.jar' -delete # find abdera-1.1.3-RC1 -name '*.class' -delete # tar czf abdera-1.1.3-RC1-src-svn.tar.gz abdera-1.1.3-RC1 Source0: %{name}-%{namedversion}-src-svn.tar.gz # force use of tomcat' 7.x apis Source1: %{name}-%{namedversion}-depmap # java 7 build fix Patch0: %{name}-%{namedversion}-Discover.patch BuildRequires: java-devel BuildRequires: jpackage-utils BuildRequires: apache-commons-codec BuildRequires: apache-commons-logging BuildRequires: axiom BuildRequires: bea-stax-api BuildRequires: jakarta-commons-httpclient BuildRequires: javamail BuildRequires: jaxen BuildRequires: json-lib BuildRequires: junit BuildRequires: mockito BuildRequires: nu-htmlparser BuildRequires: springframework-web BuildRequires: tomcat-servlet-3.0-api BuildRequires: woodstox-core BuildRequires: xalan-j2 BuildRequires: xerces-j2 BuildRequires: xml-security # test deps # BuildRequires: easymock3 # BuildRequires: junit # org.easymock easymockclassextension 3.0 # org.mortbay.jetty jetty 6.1.24 # org.springframework spring-mock 2.0.6 (spring-test) BuildRequires: apache-resource-bundles BuildRequires: maven BuildRequires: maven-compiler-plugin BuildRequires: maven-install-plugin BuildRequires: maven-javadoc-plugin BuildRequires: maven-plugin-bundle BuildRequires: maven-remote-resources-plugin BuildRequires: maven-resources-plugin BuildRequires: maven-source-plugin BuildRequires: maven-surefire-plugin Requires: apache-commons-codec Requires: apache-commons-logging Requires: bea-stax-api Requires: junit Requires: java Requires: jpackage-utils BuildArch: noarch %description The goal of the Apache Abdera project is to build a functionally-complete, high-performance implementation of the IETF Atom Syndication Format (RFC4287) and Atom Publishing Protocol (RFC5023) specifications. %package adapters Summary: Adapters module from %{name} Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: %{name}-client = %{version}-%{release} Requires: %{name}-server = %{version}-%{release} Requires: junit %description adapters %{summary}. %package client Summary: Atom Publishing Protocol Client Implementation Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: %{name}-parser = %{version}-%{release} Requires: apache-commons-codec Requires: jakarta-commons-httpclient Requires: junit %description client %{summary}. %package extensions Summary: Abdera Extensions Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: %{name}-client = %{version}-%{release} Requires: %{name}-server = %{version}-%{release} Requires: json-lib Requires: junit Requires: mockito Requires: nu-htmlparser %description extensions %{summary}. %package parser Summary: Atom Specification Implementation Parser Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: apache-commons-logging Requires: axiom Requires: bea-stax-api Requires: jaxen Requires: junit Requires: woodstox-core %description parser %{summary}. %package security Summary: Atom Specification Implementation Security Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: %{name}-client = %{version}-%{release} Requires: %{name}-server = %{version}-%{release} Requires: axiom Requires: bouncycastle Requires: tomcat-servlet-3.0-api Requires: xalan-j2 Requires: xerces-j2 Requires: xml-security %description security %{summary}. %package server Summary: Atom Publishing Protocol Specification Server-Side Implementation Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: %{name}-client = %{version}-%{release} Requires: %{name}-parser = %{version}-%{release} Requires: apache-commons-codec Requires: apache-commons-logging Requires: javamail Requires: junit Requires: tomcat-servlet-3.0-api %description server %{summary}. %package spring Summary: Abdera Spring Integration Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: %{name}-server = %{version}-%{release} Requires: springframework-web Requires: tomcat-servlet-3.0-api %description spring %{summary}. %package javadoc Group: Documentation Summary: Javadoc for %{name} Requires: jpackage-utils %description javadoc This package contains javadoc for %{name}. %prep %setup -q -n %{name}-%{namedversion} %patch0 -p0 sed -i "s|wstx-asl|woodstox-core-asl|" pom.xml sed -i "s|xml-security|org.apache.santuario|" pom.xml %pom_remove_dep org.apache.geronimo.specs:geronimo-activation_1.1_spec %pom_remove_dep org.apache.geronimo.specs:geronimo-activation_1.1_spec dependencies/i18n %pom_remove_dep org.apache.geronimo.specs:geronimo-activation_1.1_spec core %pom_remove_dep org.apache.geronimo.specs:geronimo-stax-api_1.0_spec core %pom_remove_dep org.apache.geronimo.specs:geronimo-stax-api_1.0_spec parser %pom_add_dep stax:stax-api core %pom_add_dep stax:stax-api parser %pom_remove_dep org.codehaus.woodstox:wstx-asl parser %pom_add_dep org.codehaus.woodstox:woodstox-core-asl parser # disable embedded copy of system libraries (axiom (api, impl), bea-stax-api, jaxen, and woodstox-core) %pom_xpath_remove pom:properties/pom:abdera.osgi.embed.dependencies parser %pom_xpath_remove pom:properties/pom:abdera.osgi.embed.dependencies security %pom_remove_dep xml-security:xmlsec security %pom_add_dep org.apache.santuario:xmlsec security %pom_remove_dep bouncycastle:bcprov-jdk15 security %pom_add_dep org.bouncycastle:bcprov-jdk16 security # depend on org.apache.jackrabbit jackrabbit-core 1.4, javax.jcr jcr 1.0 %pom_disable_module jcr adapters # depend on org.apache.ibatis ibatis-sqlmap 2.3.0 %pom_disable_module jdbc adapters %pom_disable_module bundle # depend on org.mortbay.jetty jetty 6.1.24 %pom_disable_module examples # [ERROR] server/src/main/java/org/apache/abdera/protocol/server/servlet/ServletRequestContext.java:[207,50] # incompatible types #found : java.util.Enumeration #required: java.util.Enumeration sed -i "s|Enumeration e = request.getHeaders(name);|Enumeration e = request.getHeaders(name);|" \ server/src/main/java/org/apache/abdera/protocol/server/servlet/ServletRequestContext.java %build # test skipped for unavailable deps mvn-rpmbuild \ -Dmaven.test.skip=true \ -Dmaven.local.depmap.file="%{SOURCE1}" \ install javadoc:aggregate %install mkdir -p %{buildroot}%{_javadir}/%{name} mkdir -p %{buildroot}%{_mavenpomdir} install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}.pom %add_maven_depmap JPP.%{name}-%{name}.pom install -m 644 core/target/%{name}-core-%{version}.jar %{buildroot}%{_javadir}/%{name}/%{name}-core.jar install -pm 644 core/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}-core.pom %add_maven_depmap JPP.%{name}-%{name}-core.pom %{name}/%{name}-core.jar install -m 644 dependencies/i18n/target/%{name}-i18n-%{version}.jar %{buildroot}%{_javadir}/%{name}/%{name}-i18n.jar install -pm 644 dependencies/i18n/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}-i18n.pom %add_maven_depmap JPP.%{name}-%{name}-i18n.pom %{name}/%{name}-i18n.jar # bundle examples for a in client \ parser \ security \ server \ spring \ ; do install -m 644 ${a}/target/%{name}-${a}-%{version}.jar %{buildroot}%{_javadir}/%{name}/%{name}-${a}.jar install -pm 644 ${a}/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}-${a}.pom %add_maven_depmap JPP.%{name}-%{name}-${a}.pom %{name}/%{name}-${a}.jar -f ${a} done mkdir -p %{buildroot}%{_docdir}/%{name}-adapters install -pm 644 adapters/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-adapters-parent.pom %add_maven_depmap JPP.%{name}-adapters-parent.pom -f adapters # TODO jcr jdbc for a in filesystem \ ; do install -m 644 adapters/${a}/target/%{name}-${a}-%{version}.jar %{buildroot}%{_javadir}/%{name}/%{name}-${a}.jar install -pm 644 adapters/${a}/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}-${a}.pom %add_maven_depmap JPP.%{name}-%{name}-${a}.pom %{name}/%{name}-${a}.jar -f adapters [ -f adapters/${a}/readme ] && cp -pr adapters/${a}/readme %{name}-adapters-${a}-readme done install -pm 644 extensions/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-extensions-parent.pom %add_maven_depmap JPP.%{name}-extensions-parent.pom -f extensions for e in features \ gdata \ geo \ html \ json \ main \ media \ oauth \ opensearch \ rss \ serializer \ sharing \ wsse \ ; do install -m 644 extensions/${e}/target/%{name}-extensions-${e}-%{version}.jar %{buildroot}%{_javadir}/%{name}/%{name}-extensions-${e}.jar install -pm 644 extensions/${e}/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}-extensions-${e}.pom %add_maven_depmap JPP.%{name}-%{name}-extensions-${e}.pom %{name}/%{name}-extensions-${e}.jar -f extensions done mkdir -p %{buildroot}%{_javadocdir}/%{name} cp -rp target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name} %files %dir %{_javadir}/%{name} %{_javadir}/%{name}/%{name}-core.jar %{_javadir}/%{name}/%{name}-i18n.jar %{_mavenpomdir}/JPP.%{name}-%{name}-core.pom %{_mavenpomdir}/JPP.%{name}-%{name}-i18n.pom %{_mavenpomdir}/JPP.%{name}-%{name}.pom %{_mavendepmapfragdir}/%{name} %doc BUILDING CHANGES LICENSE README %files adapters %{_javadir}/%{name}/%{name}-filesystem.jar %{_mavenpomdir}/JPP.%{name}-adapters-parent.pom %{_mavenpomdir}/JPP.%{name}-%{name}-filesystem.pom %{_mavendepmapfragdir}/%{name}-adapters %doc LICENSE %{name}-adapters-*-readme %files client %{_javadir}/%{name}/%{name}-client.jar %{_mavenpomdir}/JPP.%{name}-%{name}-client.pom %{_mavendepmapfragdir}/%{name}-client %doc LICENSE %files extensions %{_javadir}/%{name}/%{name}-extensions-*.jar %{_mavenpomdir}/JPP.%{name}-extensions-parent.pom %{_mavenpomdir}/JPP.%{name}-%{name}-extensions-*.pom %{_mavendepmapfragdir}/%{name}-extensions %doc LICENSE %files parser %{_javadir}/%{name}/%{name}-parser.jar %{_mavenpomdir}/JPP.%{name}-%{name}-parser.pom %{_mavendepmapfragdir}/%{name}-parser %doc LICENSE %files security %{_javadir}/%{name}/%{name}-security.jar %{_mavenpomdir}/JPP.%{name}-%{name}-security.pom %{_mavendepmapfragdir}/%{name}-security %doc LICENSE %files server %{_javadir}/%{name}/%{name}-server.jar %{_mavenpomdir}/JPP.%{name}-%{name}-server.pom %{_mavendepmapfragdir}/%{name}-server %files spring %{_javadir}/%{name}/%{name}-spring.jar %{_mavenpomdir}/JPP.%{name}-%{name}-spring.pom %{_mavendepmapfragdir}/%{name}-spring %doc LICENSE %files javadoc %{_javadocdir}/%{name} %doc LICENSE %changelog * Sun Sep 02 2012 gil cattaneo 1.1.3-0.1.RC1 - initial rpm