Name: springframework Summary: Spring Java Application Framework Version: 3.1.1 Release: 2%{?dist} Epoch: 0 License: ASL 2.0 Group: Development/Libraries URL: http://www.springframework.org BuildArch: noarch # curl https://nodeload.github.com/SpringSource/spring-framework/tarball/v3.1.1.RELEASE > spring-framework-3.1.1.tar.gz Source0: %{name}-%{version}.tar.gz Source1: pom.xml # Use the group id of Jetty 8, it has to be org.eclipse.jetty instead of # org.mortbay.jetty: Patch1: %{name}-update-jetty-gid.patch # Remove the dependency on jaxws-api as this is part of the JDK: Patch2: %{name}-remove-jaxws-api-dependency.patch # Update the cglib group id (it should be net.sf.cglib instead of cglib) and # the artifact id (it should be cglib instead of cglib-nodep): Patch3: %{name}-update-cglib-gid-and-aid.patch # Don't rename the asm package: Patch4: %{name}-dont-rebundle-asm.patch # Don't use the AWS extension: Patch5: %{name}-dont-use-aws-extension.patch # The artifact id of the version of groovy that we currently package (1.6) is # groovy, not groovy-all. We should update groovy to 1.8 instead of this patch. Patch6: %{name}-downgrade-groovy-aid.patch # Remove the dependency on JRuby (sources using it are also removed before # building): Patch7: %{name}-remove-jruby-dependency.patch # Remove the dependency on EHCache (sources using it are also removed before # building): Patch8: %{name}-remove-ehcache-dependency.patch # Use the correct hibernate validator artifact id: Patch9: %{name}-fix-hibernate-validator-aid.patch # Remove the dependency on jsr-166 as this is part of the JDK: Patch10: %{name}-remove-jsr166-dependency.patch # Remove the dependency on WebSphere UOW as it is not open source and we will # never be able to build it: Patch11: %{name}-remove-websphere-uow-dependency.patch # Use the the standard EJB API (currently provided by geronimo-ejb) instead of # a spring specific one: Patch12: %{name}-use-javax-ejb.patch # Use the JCA API provided by JBoss: Patch13: %{name}-use-jboss-jca-api.patch # Use the correct Derby artifact id: Patch14: %{name}-fix-derby-aid.patch # Fix the tomcat catalina artifact id to use the one in Tomcat 7 as Tomcat 6 # has no POMs: Patch15: %{name}-fix-tomcat-catalina-aid.patch # This will not be needed once bug 803495 in Tomcat 7 is fixed: Patch16: %{name}-avoid-jamonapi-transitive-dependency-on-tomcat-api-and-tomcat-util.patch # Build requirements (alphabetical): BuildRequires: aopalliance BuildRequires: apache-commons-collections BuildRequires: apache-commons-logging BuildRequires: aspectjweaver BuildRequires: atinject BuildRequires: backport-util-concurrent BuildRequires: bsh BuildRequires: c3p0 BuildRequires: cglib BuildRequires: derby BuildRequires: geronimo-annotation BuildRequires: geronimo-ejb BuildRequires: geronimo-interceptor BuildRequires: geronimo-jpa BuildRequires: geronimo-jta BuildRequires: geronimo-validation BuildRequires: groovy BuildRequires: h2 BuildRequires: hamcrest BuildRequires: hibernate-jpa-2.0-api BuildRequires: hibernate-validator BuildRequires: hsqldb BuildRequires: jamonapi >= 2.73-5 BuildRequires: java-devel BuildRequires: jboss-connector-1.6-api BuildRequires: jboss-el-2.2-api >= 1.0.1-0.2 BuildRequires: jetty BuildRequires: joda-time BuildRequires: jopt-simple BuildRequires: jpackage-utils BuildRequires: junit BuildRequires: log4j BuildRequires: objectweb-asm BuildRequires: tomcat-el-2.2-api # See 16 above: # BuildRequires: tomcat-lib >= 7.0.26-2 BuildRequires: tomcat-lib # Runtime requirements (only for the main package, other requirements go in the # subpackages): Requires: apache-commons-collections Requires: apache-commons-logging Requires: aspectjweaver Requires: objectweb-asm Requires: java Requires: log4j Requires: jopt-simple %description Spring is a layered Java/J2EE application framework, based on code published in Expert One-on-One J2EE Design and Development by Rod Johnson (Wrox, 2002). %package javadoc Summary: Javadocs for %{name} Group: Documentation Requires: jpackage-utils %description javadoc This package contains javadoc for %{name}. %package aop Summary: Spring Aspect Oriented Framework Group: Development/Libraries Requires: %{name}-beans = %{version}-%{release} Requires: %{name} = %{version}-%{release} Requires: apache-commons-logging Requires: apache-commons-pool Requires: aopalliance Requires: aspectjweaver Requires: cglib Requires: jamonapi Requires: objectweb-asm %description aop Spring AOP is an enabling technology that allows the implementation of custom aspects and provides declarative transaction management without EJB. %package beans Summary: Spring Bean Factory Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: atinject Requires: cglib Requires: tomcat-el-2.2-api %description beans The Spring Bean Factory provides an advanced configuration mechanism capable of managing beans of any nature, using potentially any kind of storage facility. %package context Summary: Spring Application Context Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: %{name}-aop = %{version}-%{release} Requires: %{name}-beans = %{version}-%{release} Requires: %{name}-expression = %{version}-%{release} Requires: %{name}-instrument = %{version}-%{release} Requires: aspectjweaver Requires: atinject Requires: backport-util-concurrent Requires: bsh Requires: cglib Requires: geronimo-annotation Requires: geronimo-ejb Requires: geronimo-interceptor Requires: geronimo-jpa Requires: geronimo-jta Requires: geronimo-validation Requires: groovy Requires: hamcrest Requires: hibernate-validator Requires: joda-time Requires: objectweb-asm %description context The Spring Application Context is a complete superset of a bean factory, and adds enhanced capabilities to it, some of them more J2EE and enterprise-centric. %package expression Summary: Spring Expression Language (SpEL) Group: Development/Libraries Requires: %{name} = %{version}-%{release} %description expression The Spring Expression Language (SpEL for short) is a powerful expression language that supports querying and manipulating an object graph at runtime. %package instrument Summary: Spring Instrumentation Group: Development/Libraries Requires: %{name} = %{version}-%{release} %description instrument The Spring Instrumentation Framework exposes performance and resource utilization metrics for the Spring container and gives you runtime control of the container. %package jdbc Summary: Spring JDBC Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: %{name}-beans = %{version}-%{release} Requires: %{name}-context = %{version}-%{release} Requires: %{name}-tx = %{version}-%{release} Requires: c3p0 Requires: geronimo-jta Requires: h2 Requires: hsqldb Requires: derby %description jdbc Spring JDBC takes care of all the low-level details associated to the development with JDBC. %package tx Summary: Spring Transaction Management Group: Development/Libraries Requires: %{name} = %{version}-%{release} %description tx Spring provides a consistent abstraction for transaction management that provides a consistent programming model across different transaction APIs, supports declarative transaction management, provides a simpler API for programmatic transaction management and integrates with Spring's various data access abstractions. %prep %setup -q -n SpringSource-spring-framework-79c9ca1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 %patch10 -p1 %patch11 -p1 %patch12 -p1 %patch13 -p1 %patch14 -p1 %patch15 -p1 %patch16 -p1 # ERROR: XThis is not public in Bsh rm org.springframework.context/src/main/java/org/springframework/scripting/bsh/BshScriptFactory.java rm org.springframework.context/src/main/java/org/springframework/scripting/bsh/BshScriptUtils.java # ERROR: JRubyScriptUtils.java:[81,28] error: cannot access ByteList rm org.springframework.context/src/main/java/org/springframework/scripting/jruby/JRubyScriptFactory.java rm org.springframework.context/src/main/java/org/springframework/scripting/jruby/JRubyScriptUtils.java # Remove all the EHCache sources: rm -rf org.springframework.context/src/main/java/org/springframework/cache/ehcache rm -rf org.springframework.context/src/test/resources/org/springframework/cache/ehcache # Put the dummy root POM in place: cp %{SOURCE1} pom.xml %build # Build without the tests, as they bring a lot of dependecies that are not # available in the distribution at the moment: mvn-rpmbuild \ -Dproject.build.sourceEncoding=ISO-8859-1 \ -Dmaven.test.skip=true \ install \ javadoc:aggregate %install # Install jar and POM files: install -d -m 755 %{buildroot}%{_javadir}/%{name} install -d -m 755 %{buildroot}%{_mavenpomdir} while read module_name artifact_id do pom_file="${module_name}/pom.xml" jar_file="${module_name}/target/${artifact_id}-%{version}.RELEASE.jar" install -p -m 644 ${pom_file} %{buildroot}%{_mavenpomdir}/JPP.%{name}-${artifact_id}.pom if [ -f "${jar_file}" ] then install -p -m 644 ${jar_file} %{buildroot}%{_javadir}/%{name}/${artifact_id}.jar %add_maven_depmap JPP.%{name}-${artifact_id}.pom %{name}/${artifact_id}.jar else %add_maven_depmap JPP.%{name}-${artifact_id}.pom fi done <<'.' org.springframework.spring-parent spring-parent org.springframework.aop spring-aop org.springframework.beans spring-beans org.springframework.context spring-context org.springframework.core spring-core org.springframework.expression spring-expression org.springframework.instrument spring-instrument org.springframework.jdbc spring-jdbc org.springframework.transaction spring-tx . # Install javadoc files: install -d -m 755 %{buildroot}%{_javadocdir}/%{name} cp -pr target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}/. %files %{_javadir}/%{name}/spring-core.jar %{_mavendepmapfragdir}/%{name} %{_mavenpomdir}/JPP.%{name}-spring-parent.pom %{_mavenpomdir}/JPP.%{name}-spring-core.pom %doc build-spring-framework/resources/* %files javadoc %{_javadocdir}/%{name} %doc build-spring-framework/resources/license.txt %files aop %{_mavenpomdir}/JPP.%{name}-spring-aop.pom %{_javadir}/%{name}/spring-aop.jar %files beans %{_javadir}/%{name}/spring-beans.jar %{_mavenpomdir}/JPP.%{name}-spring-beans.pom %files context %{_javadir}/%{name}/spring-context.jar %{_mavenpomdir}/JPP.%{name}-spring-context.pom %files expression %{_javadir}/%{name}/spring-expression.jar %{_mavenpomdir}/JPP.%{name}-spring-expression.pom %files instrument %{_javadir}/%{name}/spring-instrument.jar %{_mavenpomdir}/JPP.%{name}-spring-instrument.pom %files jdbc %{_javadir}/%{name}/spring-jdbc.jar %{_mavenpomdir}/JPP.%{name}-spring-jdbc.pom %files tx %{_javadir}/%{name}/spring-tx.jar %{_mavenpomdir}/JPP.%{name}-spring-tx.pom %changelog * Thu Mar 15 2012 Juan Hernandez 0:3.1.1-2 - Cleanup of the spec file * Fri Mar 1 2012 Andy Grimm 0:3.1.1-1 - Initial build