# Copyright (c) 2000-2010, JPackage Project # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the # distribution. # 3. Neither the name of the JPackage Project nor the names of its # contributors may be used to endorse or promote products derived # from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # %define with() %{expand:%%{?with_%{1}:1}%%{!?with_%{1}:0}} %define without() %{expand:%%{?with_%{1}:0}%%{!?with_%{1}:1}} %define bcond_with() %{expand:%%{?_with_%{1}:%%global with_%{1} 1}} %define bcond_without() %{expand:%%{!?_without_%{1}:%%global with_%{1} 1}} # % bcond_without maven %bcond_with gcj_support # % bcond_without repolib %define repodir %{_javadir}/repository.jboss.com/apache-%{base_name}/%{version}-brew %define repodirlib %{repodir}/lib %define repodirres %{repodir}/resources %define repodirsrc %{repodir}/src %define base_name codec %define short_name commons-%{base_name} %define section free Name: apache-commons-codec Version: 1.4 Release: 5 License: Apache-2.0 Summary: Apache Commons Codec Package Group: Development/Libraries/Java Url: http://commons.apache.org/codec/ Source0: http://www.apache.org/dist/jakarta/commons/%{base_name}/source/%{short_name}-%{version}-src.tar.gz Source1: %{name}-settings.xml Source2: %{name}-jpp-depmap.xml Source3: %{name}-component-info.xml Source4: MANIFEST.MF BuildRequires: jpackage-utils >= 1.7.5 BuildRequires: java-devel >= 1.6.0 BuildRequires: ant >= 1.7 BuildRequires: ant-junit BuildRequires: junit BuildRequires: java-javadoc %if %with maven BuildRequires: apache-commons-parent >= 12 BuildRequires: maven2 >= 2.0.8 BuildRequires: maven-surefire-maven-plugin BuildRequires: maven-surefire-provider-junit BuildRequires: maven2-plugin-antrun BuildRequires: maven2-plugin-assembly BuildRequires: maven2-plugin-compiler BuildRequires: maven2-plugin-idea BuildRequires: maven2-plugin-install BuildRequires: maven2-plugin-jar BuildRequires: maven2-plugin-javadoc BuildRequires: maven2-plugin-resources %endif Requires(post): jpackage-utils >= 1.7.5 Requires(postun): jpackage-utils >= 1.7.5 Requires: java >= 1.6.0 Provides: jakarta-%{short_name} = %{version} Obsoletes: jakarta-%{short_name} < %{version} Provides: %{short_name} = %{version} Obsoletes: %{short_name} < %{version} BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch %description Commons Codec is an attempt to provide definitive implementations of commonly used encoders and decoders. %if %with repolib %package repolib Summary: Artifacts to be uploaded to a repository library Group: Development/Libraries/Java Provides: jakarta-%{short_name}-repolib = %{version} Obsoletes: jakarta-%{short_name}-repolib < %{version} Provides: %{short_name}-repolib = %{version} Obsoletes: %{short_name}-repolib < %{version} %description repolib Artifacts to be uploaded to a repository library. This package is not meant to be installed but so its contents can be extracted through rpm2cpio %endif %package javadoc Summary: Javadoc for %{name} Group: Development/Libraries/Java Requires: java-javadoc Provides: jakarta-%{short_name}-javadoc = %{version} Obsoletes: jakarta-%{short_name}-javadoc < %{version} Provides: %{short_name}-javadoc = %{version} Obsoletes: %{short_name}-javadoc < %{version} %description javadoc Javadoc for %{name}. %prep %setup -q -n %{short_name}-%{version}-src #fixes eof encoding sed -i 's/\r//' LICENSE.txt sed -i 's/\r//' RELEASE-NOTES.txt %if %with maven cp -p %{SOURCE1} settings.xml sed -i -e "s|__JPP_URL_PLACEHOLDER__|file://`pwd`/.m2/repository|g" settings.xml sed -i -e "s|__JAVADIR_PLACEHOLDER__|file://`pwd`/external_repo|g" settings.xml sed -i -e "s|__MAVENREPO_DIR_PLACEHOLDER__|file://`pwd`/.m2/repository|g" settings.xml sed -i -e "s|__MAVENDIR_PLUGIN_PLACEHOLDER__|file:///usr/share/maven2/plugins|g" settings.xml sed -i -e "s|__ECLIPSEDIR_PLUGIN_PLACEHOLDER__|file:///usr/share/eclipse/plugins|g" settings.xml mkdir external_repo ln -s %{_javadir} external_repo/JPP %endif %build %if %with maven export MAVEN_REPO_LOCAL=$(pwd)/.m2/repository mkdir -p ${MAVEN_REPO_LOCAL} export MAVEN_OPTS="-Dmaven2.jpp.mode=true -Dmaven2.jpp.depmap.file=%{SOURCE2} -Dmaven.repo.local=${MAVEN_REPO_LOCAL} -Dproject.build.directory=$(pwd)/target" %{_bindir}/mvn-jpp \ -e \ -s $(pwd)/settings.xml \ install javadoc:javadoc %else export CLASSPATH=$(build-classpath junit) ant -Dbuild.sysclasspath=first \ -Dconf.home=src/conf \ -Dbuild.home=build \ -Dsource.home=src/java \ -Dtest.home=src/test \ -Ddist.home=dist \ -Dcomponent.title=%{short_name} \ -Dcomponent.version=%{version} \ -Dfinal.name=%{name}-%{version} \ -Dextension.name=%{short_name} \ test jar javadoc %endif %install # jars mkdir -p %{buildroot}%{_javadir} %if %with maven cp -p target/%{short_name}-%{version}.jar %{buildroot}%{_javadir}/%{name}-%{version}.jar %else jar umf %{SOURCE4} dist/%{name}-%{version}.jar cp -p dist/%{name}-%{version}.jar %{buildroot}%{_javadir}/%{name}-%{version}.jar %endif ln -s %{name}-%{version}.jar %{buildroot}%{_javadir}/%{name}.jar ln -s %{name}-%{version}.jar %{buildroot}%{_javadir}/%{short_name}-%{version}.jar ln -s %{name}-%{version}.jar %{buildroot}%{_javadir}/%{short_name}.jar ln -s %{name}-%{version}.jar %{buildroot}%{_javadir}/jakarta-%{short_name}-%{version}.jar ln -s %{name}-%{version}.jar %{buildroot}%{_javadir}/jakarta-%{short_name}.jar # Install pom file install -dm 755 %{buildroot}%{_datadir}/maven2/poms cp -p pom.xml %{buildroot}%{_datadir}/maven2/poms/JPP-apache-commons-codec.pom %add_to_maven_depmap commons-codec commons-codec %{version} JPP apache-commons-codec %add_to_maven_depmap org.apache.commons commons-codec %{version} JPP apache-commons-codec # javadoc mkdir -p %{buildroot}%{_javadocdir}/%{name}-%{version} %if %with maven cp -pr target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}-%{version} %else cp -pr dist/docs/api/* %{buildroot}%{_javadocdir}/%{name}-%{version} %endif ln -s %{name}-%{version} %{buildroot}%{_javadocdir}/jakarta-%{short_name}-%{version} ln -s %{name}-%{version} %{buildroot}%{_javadocdir}/jakarta-%{short_name} ln -s %{name}-%{version} %{buildroot}%{_javadocdir}/%{name} %if %with repolib install -d -m 0755 %{buildroot}%{repodir} install -d -m 0755 %{buildroot}%{repodirlib} install -p -m 0644 %{SOURCE3} %{buildroot}%{repodir}/component-info.xml tag=`/bin/echo %{name}-%{version}-%{release} | sed 's|\.|_|g'` sed -i "s/@TAG@/$tag/g" %{buildroot}%{repodir}/component-info.xml install -d -m 0755 %{buildroot}%{repodirsrc} install -p -m 0644 %{SOURCE0} %{buildroot}%{repodirsrc} install -p -m 0644 %{SOURCE1} %{buildroot}%{repodirsrc} install -p -m 0644 %{SOURCE2} %{buildroot}%{repodirsrc} install -p -m 0644 %{SOURCE3} %{buildroot}%{repodirsrc} cp -p %{buildroot}%{_javadir}/%{name}-%{version}.jar %{buildroot}%{repodirlib}/%{short_name}.jar %endif %post %update_maven_depmap %postun %update_maven_depmap %files %defattr(0644,root,root,0755) %doc LICENSE.txt RELEASE-NOTES.txt %{_javadir}/*.jar %{_datadir}/maven2/poms/* %{_mavendepmapfragdir}/* %files javadoc %defattr(0644,root,root,0755) %{_javadocdir}/* %if %with repolib %files repolib %defattr(0644,root,root,0755) %{repodir} %endif %changelog * Sun Dec 18 2011 Minh Ngo 1.4-13 - Fixing the license for openSUSE packages * Thu Feb 10 2011 mbooth 1.4-12 - Drop versioned jars and javadocs. * Mon Feb 07 2011 Fedora Release Engineering - 1.4-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Fri May 21 2010 Mat Booth 1.4-10 - Correct dep-map names #594717. * Fri May 21 2010 Alexander Kurtakov 1.4-9 - Obsolete/Provide commons-codec. * Fri May 14 2010 Mat Booth - 1.4-8 - Obsolete jakarta javadoc package. - Keep legacy depmap around. * Thu May 13 2010 Mat Booth - 1.4-7 - Use global instead of define. - Drop really old obsoletes/provides on short_name. - Fix requires. * Tue May 11 2010 Mat Booth - 1.4-6 - Rename package (jakarta-commons-codec->apache-commons-codec). * Tue Dec 8 2009 Mat Booth - 1.4-5 - Enable OSGi automatic depsolving (from Alphonse Van Assche). * Sun Nov 8 2009 Mat Booth - 1.4-4 - Fix javadoc package requires * Sat Nov 7 2009 Mat Booth - 1.4-3 - Correct Obsoletes/Provides according to naming guidelines * Sat Nov 7 2009 Mat Booth - 1.4-2 - Add all maven related build reqs - Require Java 1.6 because tests fail on GCJ * Sat Nov 7 2009 Mat Booth - 1.4-1 - Update to 1.4 - Rewrite spec file to build using upstream-preferred maven instead of ant - Drop patch to add OSGi manifest (done automatically in the maven build) - Install pom and add to maven dep-map - Re-enable all tests * Fri Jul 24 2009 Fedora Release Engineering - 0:1.3-11.4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Wed Feb 25 2009 Fedora Release Engineering - 0:1.3-10.4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Thu Jul 24 2008 Andrew Overholt 1.3-9.4 - Update OSGi manifest. * Wed Jul 9 2008 Tom "spot" Callaway - 0:1.3-9.3 - drop repotag - fix license tag * Tue Feb 19 2008 Fedora Release Engineering - 0:1.3-9jpp.2 - Autorebuild for GCC 4.3 * Thu Sep 06 2007 Andrew Overholt 1.3-8jpp.2 - Add OSGi manifest. * Wed Mar 21 2007 Matt Wringe 0:1.3-8jpp.1 - Update to latest jpp version - Fix rpmlint issues * Wed Mar 21 2007 Matt Wringe 0:1.3-8jpp - Fix some rpmlint warnings - Update copyright year * Sun Oct 01 2006 Jesse Keating 0:1.3-7jpp.2 - rebuilt for unwind info generation, broken in gcc-4.1.1-21 * Tue Sep 26 2006 Matt Wringe 0:1.3-7jpp.1 - Merge with upstream version. * Tue Sep 26 2006 Matt Wringe 0:1.3-7jpp - Add missing java-javadoc requires and buildrequires. * Mon Sep 25 2006 Matt Wringe 0:1.3-6jpp.1 - Merge with upstream version. * Mon Sep 25 2006 Matt Wringe 0:1.3-6jpp - Update jakarta-commons-codec-1.3-buildscript.patch to build offline. * Thu Aug 10 2006 Matt Wringe 0:1.3-5jpp.1 - Merge with upstream version - Add missing javadoc requires * Sat Jul 22 2006 Jakub Jelinek - 0:1.3-4jpp_2fc - Rebuilt * Thu Jul 20 2006 Matt Wringe 0:1.3-4jpp_1fc - Merged with upstream version - Now is natively compiled * Thu Jul 20 2006 Matt Wringe 0:1.3-4jpp - Added conditional native compiling * Tue Apr 04 2006 Ralph Apel 0:1.3-3jpp - First JPP-1.7 release * Wed Sep 08 2004 Fernando Nasser 0:1.3-2jpp - Do not stop on test failure * Tue Sep 07 2004 Fernando Nasser 0:1.3-1jpp - Upgrade to 1.3 - Rebuilt with Ant 1.6.2 * Thu Jan 22 2004 David Walluck 0:1.2-1jpp - 1.2 - use perl instead of patch * Wed May 28 2003 Ville Skyttä - 0:1.1-1jpp - First JPackage release.