diff --git a/apache-commons-collections.spec b/apache-commons-collections.spec new file mode 100644 index 0000000..6d9829b --- /dev/null +++ b/apache-commons-collections.spec @@ -0,0 +1,210 @@ +%global base_name collections +%global short_name commons-%{base_name} + +Name: apache-%{short_name} +Version: 3.2.1 +Release: 6%{?dist} +Summary: Provides new interfaces, implementations and utilities for Java Collections +License: ASL 2.0 +Group: Development/Libraries +Url: http://commons.apache.org/%{base_name}/ +Source0: http://www.apache.org/dist/commons/%{base_name}/source/%{short_name}-%{version}-src.tar.gz +Source6: collections-tomcat5-build.xml + +Patch0: jakarta-%{short_name}-javadoc-nonet.patch +Patch4: commons-collections-3.2-build_xml.patch + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildArch: noarch + +BuildRequires: java-devel +BuildRequires: jpackage-utils +BuildRequires: maven2 +BuildRequires: maven2-plugin-antrun +BuildRequires: maven2-plugin-assembly +BuildRequires: maven2-plugin-compiler +BuildRequires: maven2-plugin-jar +BuildRequires: maven2-plugin-javadoc +BuildRequires: maven2-plugin-idea +BuildRequires: maven2-plugin-install +BuildRequires: maven2-plugin-resources +BuildRequires: maven-doxia-sitetools +BuildRequires: maven-plugin-bundle +BuildRequires: maven-surefire-maven-plugin +BuildRequires: maven-surefire-provider-junit +BuildRequires: ant +BuildRequires: saxon +BuildRequires: saxon-scripts +Requires: java +Requires: jpackage-utils +Requires(post):jpackage-utils +Requires(postun):jpackage-utils + +Provides: jakarta-%{short_name} = %{version}-%{release} +Obsoletes: jakarta-%{short_name} < %{version}-%{release} + +%description +The introduction of the Collections API by Sun in JDK 1.2 has been a +boon to quick and effective Java programming. Ready access to powerful +data structures has accelerated development by reducing the need for +custom container classes around each core object. Most Java2 APIs are +significantly easier to use because of the Collections API. +However, there are certain holes left unfilled by Sun's +implementations, and the Jakarta-Commons Collections Component strives +to fulfill them. Among the features of this package are: +- special-purpose implementations of Lists and Maps for fast access +- adapter classes from Java1-style containers (arrays, enumerations) to +Java2-style collections. +- methods to test or create typical set-theory properties of collections +such as union, intersection, and closure. + +%package testframework +Summary: Testframework for %{name} +Group: Development/Tools +Requires: %{name} = %{version}-%{release} +Provides: jakarta-%{short_name}-testframework = %{version}-%{release} +Obsoletes: jakarta-%{short_name}-testframework < %{version}-%{release} + +%description testframework +%{summary}. + +%package javadoc +Summary: Javadoc for %{name} +Group: Documentation +Requires: %{name} = %{version}-%{release} +Requires: jpackage-utils +Provides: jakarta-%{short_name}-javadoc = %{version}-%{release} +Obsoletes: jakarta-%{short_name}-javadoc < %{version}-%{release} + +%description javadoc +%{summary}. + +%package tomcat5 +Summary: Jakarta Commons Collection dependency for Tomcat5 +Group: Development/Libraries + +%description tomcat5 +A package that is specifically designed to fulfill to a Tomcat5 dependency. + +%package testframework-javadoc +Summary: Javadoc for %{name}-testframework +Group: Documentation +Requires: %{name} = %{version}-%{release} +Provides: jakarta-%{short_name}-testframework-javadoc = %{version}-%{release} +Obsoletes: jakarta-%{short_name}-testframework-javadoc < %{version}-%{release} + +%description testframework-javadoc +%{summary}. + +%prep + +%setup -q -n %{short_name}-%{version}-src +# remove all binary libs +find . -name "*.jar" -exec rm -f {} \; + +%patch0 -p1 +%patch4 -b .sav +cp %{SOURCE6} . + +# Fix file eof +%{__sed} -i 's/\r//' LICENSE.txt +%{__sed} -i 's/\r//' PROPOSAL.html +%{__sed} -i 's/\r//' RELEASE-NOTES.html +%{__sed} -i 's/\r//' README.txt +%{__sed} -i 's/\r//' NOTICE.txt + +%build + +export MAVEN_REPO_LOCAL=$(pwd)/.m2/repository +mkdir -p $MAVEN_REPO_LOCAL + +mvn-jpp -Dmaven.repo.local=$MAVEN_REPO_LOCAL install javadoc:javadoc + +export MAVEN_HOME_LOCAL=$(pwd)/.maven + +ant tf.javadoc + +# commons-collections-tomcat5 +ant -f collections-tomcat5-build.xml + +%install +rm -rf $RPM_BUILD_ROOT +# jars +install -d -m 755 $RPM_BUILD_ROOT%{_javadir} +install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/maven2/poms +install -pm 644 pom.xml $RPM_BUILD_ROOT/%{_datadir}/maven2/poms/JPP-maven-archiver.pom +%add_to_maven_depmap org.apache.commons %{short_name} %{version} JPP %{short_name} +install -m 644 target/%{short_name}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar +install -m 644 target/%{short_name}-testframework-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-testframework-%{version}.jar + +# tomcat5 +install -m 644 collections-tomcat5/%{short_name}-tomcat5.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-tomcat5-%{version}.jar + +(cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}*; do ln -sf ${jar} `echo $jar| sed "s|apache-||g"`; done) +(cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}*; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done) + +# javadoc +install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} +cp -pr target/site/apidocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} +ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} +rm -rf target/site/apidocs + +# testframework-javadoc +install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-testframework-%{version} +cp -pr build/docs/testframework/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-testframework-%{version} +ln -s %{name}-testframework-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}-testframework + +%clean +rm -rf $RPM_BUILD_ROOT + +%post +%update_maven_depmap + +%postun +%update_maven_depmap + +%files +%defattr(-,root,root,-) +%doc PROPOSAL.html README.txt LICENSE.txt RELEASE-NOTES.html NOTICE.txt +%{_datadir}/maven2/poms/* +%{_mavendepmapfragdir}/* +%{_javadir}/%{name}-%{version}.jar +%{_javadir}/%{name}.jar +%{_javadir}/%{short_name}-%{version}.jar +%{_javadir}/%{short_name}.jar + +%files testframework +%defattr(-,root,root,-) +%{_javadir}/%{name}-testframework-%{version}.jar +%{_javadir}/%{name}-testframework.jar +%{_javadir}/%{short_name}-testframework-%{version}.jar +%{_javadir}/%{short_name}-testframework.jar + +%files tomcat5 +%defattr(-,root,root,-) +%{_javadir}/*-tomcat5*.jar +%doc LICENSE.txt NOTICE.txt + +%files javadoc +%defattr(-,root,root,-) +%{_javadocdir}/%{name}-%{version} +%{_javadocdir}/%{name} + +%files testframework-javadoc +%defattr(-,root,root,-) +%{_javadocdir}/%{name}-testframework-%{version} +%{_javadocdir}/%{name}-testframework + +%changelog +* Tue Aug 30 2010 Carl Green - 3.2.1-6 +- Change package to own files in directories, not the directories + +* Mon Aug 30 2010 Carl Green - 3.2.1-5 +- Remove source and patches no longer needed for Maven +- Fix non-standard groups and remove empty sections +- Fix file permissions + +* Sat Aug 28 2010 Carl Green - 3.2.1-4 +- Renamed from jakarta-commons-collections +- Updated to use maven2 +- Replaced saxon:group instruction with xsl:for-each-group in pom-maven2jpp-newdepmap.xsl diff --git a/collections-tomcat5-build.xml b/collections-tomcat5-build.xml new file mode 100644 index 0000000..184e852 --- /dev/null +++ b/collections-tomcat5-build.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/commons-collections-3.2-build_xml.patch b/commons-collections-3.2-build_xml.patch new file mode 100644 index 0000000..c9169f1 --- /dev/null +++ b/commons-collections-3.2-build_xml.patch @@ -0,0 +1,20 @@ +--- build.xml.orig 2008-11-29 21:16:01.000000000 +0200 ++++ build.xml 2008-11-29 21:17:28.000000000 +0200 +@@ -286,7 +286,7 @@ + + + +- ++ + + + +@@ -331,7 +331,7 @@ + + +- ++ + + + diff --git a/jakarta-commons-collections-javadoc-nonet.patch b/jakarta-commons-collections-javadoc-nonet.patch new file mode 100644 index 0000000..1dcb47a --- /dev/null +++ b/jakarta-commons-collections-javadoc-nonet.patch @@ -0,0 +1,26 @@ +--- commons-collections-3.1/build.xml~ 2004-06-23 00:17:14.000000000 +0100 ++++ commons-collections-3.1/build.xml 2005-05-04 13:58:44.000000000 +0100 +@@ -80,7 +80,6 @@ + + + +- + + + +@@ -362,7 +361,6 @@ + author="true" + version="true" + use="true" +- link="${javadoc.links}" + overview="${source.java}/org/apache/commons/collections/overview.html" + doctitle="${component.title} ${component.version} API;" + windowtitle="${component.title} ${component.version} API" +@@ -470,7 +468,6 @@ + access="protected" + author="false" + version="false" +- link="${javadoc.links}" + overview="${source.test}/org/apache/commons/collections/overview.html" + doctitle="${tf.title} ${tf.version} API;" + windowtitle="${tf.title} ${tf.version} API"