# Copyright (c) 2000-2007, 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_gcj_support 1 %define gcj_support %{?_with_gcj_support:1}%{!?_with_gcj_support:%{?_without_gcj_support:0}%{!?_without_gcj_support:%{?_gcj_support:%{_gcj_support}}%{!?_gcj_support:0}}} # If you don't want to build with maven, and use straight ant instead, # give rpmbuild option '--without maven' %define _without_maven 1 %define with_maven %{!?_without_maven:1}%{?_without_maven:0} %define without_maven %{?_without_maven:1}%{!?_without_maven:0} %define section free %define grname excalibur %define usname avalon-logkit Name: excalibur-avalon-logkit Version: 2.1 Release: %mkrel 10.0.4 Epoch: 0 Summary: Excalibur's Logkit package License: Apache Software License Url: http://excalibur.apache.org/ Group: Development/Java Source0: http://www.apache.org/dist/excalibur/avalon-logkit/source/avalon-logkit-2.1-src.tar.gz Source1: pom-maven2jpp-depcat.xsl Source2: pom-maven2jpp-newdepmap.xsl Source3: pom-maven2jpp-mapdeps.xsl Source4: excalibur-avalon-logkit-2.1-jpp-depmap.xml Source5: excalibur-avalon-logkit-project-common.xml Source6: excalibur-buildsystem.tar.gz Source7: excalibur-avalon-logkit-build.xml Source8: excalibur-avalon-logkit.pom Patch0: excalibur-avalon-logkit-2.1-project_xml.patch Requires: javamail Requires: log4j Requires: servletapi5 Obsoletes: avalon-logkit < %{epoch}:%{version}-%{release} Provides: avalon-logkit = %{epoch}:%{version}-%{release} %if %{with_maven} BuildRequires: maven >= 0:1.1 BuildRequires: saxon BuildRequires: saxon-scripts %else BuildRequires: ant >= 0:1.6 %endif BuildRequires: junit BuildRequires: jpackage-utils >= 0:1.6 BuildRequires: geronimo-javamail-1.3.1-api BuildRequires: geronimo-jms-1.1-api BuildRequires: log4j BuildRequires: servletapi5 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root %if ! %{gcj_support} BuildArch: noarch %endif %if %{gcj_support} BuildRequires: java-gcj-compat-devel %endif %description LogKit is a logging toolkit designed for secure performance orientated logging in applications. To get started using LogKit, it is recomended that you read the whitepaper and browse the API docs. %package javadoc Summary: Javadoc for %{name} Group: Development/Java Obsoletes: avalon-logkit-javadoc < %{epoch}:%{version}-%{release} Provides: avalon-logkit-javadoc = %{epoch}:%{version}-%{release} %description javadoc %{summary}. %package manual Summary: Documents for %{name} Group: Development/java %description manual %{summary}. %prep %setup -q -n %{usname}-%{version} gzip -dc %{SOURCE6} | tar xf - # remove all binary libs find . -name "*.jar" -exec rm -f {} \; #for j in $(find . -name "*.jar"); do # mv $j $j.no #done cp -a %{SOURCE5} project-common.xml cp -a %{SOURCE7} build.xml %patch0 -b .sav %build %if %{with_maven} export DEPCAT=$(pwd)/excalibur-avalon-logkit-2.1-depcat.new.xml echo '<?xml version="1.0" standalone="yes"?>' > $DEPCAT echo '<depset>' >> $DEPCAT for p in $(find . -name project.xml); do pushd $(dirname $p) /usr/bin/saxon project.xml %{SOURCE1} >> $DEPCAT popd done echo >> $DEPCAT echo '</depset>' >> $DEPCAT /usr/bin/saxon $DEPCAT %{SOURCE2} > excalibur-avalon-logkit-2.1-depmap.new.xml for p in $(find . -name project.xml); do pushd $(dirname $p) cp project.xml project.xml.orig /usr/bin/saxon -o project.xml project.xml.orig %{SOURCE3} map=%{SOURCE4} popd done export MAVEN_HOME_LOCAL=$(pwd)/.maven maven \ -Dmaven.repo.remote=file:/usr/share/maven/repository \ -Dmaven.home.local=$MAVEN_HOME_LOCAL \ jar javadoc %else export OPT_JAR_LIST=: export CLASSPATH=$(build-classpath geronimo-javamail-1.3.1-api geronimo-jms-1.1-api log4j servletapi5):target/classes:target/test-classes %ant -Dbuild.sysclasspath=only jar javadoc %endif %install rm -rf $RPM_BUILD_ROOT install -d -m 755 $RPM_BUILD_ROOT%{_javadir}/%{grname} install -m 644 target/%{usname}-%{version}.jar \ $RPM_BUILD_ROOT%{_javadir}/%{grname}/%{usname}-%{version}.jar # create unversioned symlinks (cd $RPM_BUILD_ROOT%{_javadir}/%{grname} && for jar in *-%{version}*; do ln -sf ${jar} ${jar/-%{version}/}; done) pushd $RPM_BUILD_ROOT%{_javadir} ln -sf %{grname}/%{usname}.jar %{usname}.jar popd #poms %add_to_maven_depmap excalibur avalon-logkit %{version} JPP/excalibur avalon-logkit #%add_to_maven_depmap logkit logkit 2.1 JPP/excalibur avalon-logkit install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/maven2/poms install -m 644 %{SOURCE8} \ $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.excalibur-avalon-logkit.pom install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} %if %{with_maven} cp -pr target/docs/apidocs/* \ $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} %else cp -pr dist/docs/api/* \ $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} %endif ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} # ghost symlink install -d -m 755 $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} cp LICENSE.txt $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} %if %{gcj_support} %{_bindir}/aot-compile-rpm %endif %clean rm -rf $RPM_BUILD_ROOT %post %update_maven_depmap %if %{gcj_support} %{update_gcjdb} %endif %postun %update_maven_depmap %if %{gcj_support} %{clean_gcjdb} %endif %files %defattr(0644,root,root,0755) %doc %{_docdir}/%{name}-%{version}/LICENSE.txt %{_javadir}/%{grname}/*.jar %{_javadir}/*.jar %{_datadir}/maven2/poms/* %{_mavendepmapfragdir} %if %{gcj_support} %dir %{_libdir}/gcj/%{name} %attr(-,root,root) %{_libdir}/gcj/%{name}/%{usname}-%{version}.jar.* %endif %files javadoc %defattr(0644,root,root,0755) %doc %{_javadocdir}/%{name}-%{version} %doc %{_javadocdir}/%{name} %changelog * Thu Dec 13 2007 Alexander Kurtakov <akurtakov@mandriva.org> 2.1-10.0.4mdv2008.1 + Revision: 119448 - add maven poms and depmap (extract from excalibur) * Sat Sep 15 2007 Anssi Hannula <anssi@mandriva.org> 0:2.1-10.0.3mdv2008.0 + Revision: 87372 - rebuild to filter out autorequires of GCJ AOT objects - remove unnecessary Requires(post) on java-gcj-compat * Sat Aug 18 2007 David Walluck <walluck@mandriva.org> 0:2.1-10.0.2mdv2008.0 + Revision: 66479 - Import excalibur-avalon-logkit * Thu Feb 22 2007 Ralph Apel <r.apel@r-apel.de> 0:2.1-10jpp - Fix one gcj_support conditional * Thu Feb 22 2007 Ralph Apel <r.apel@r-apel.de> 0:2.1-9jpp - Add option to build without maven - Add gcj_support option * Thu Jun 22 2006 Ralph Apel <r.apel@r-apel.de> 0:2.1-8jpp - Obsolete and Provide avalon-logkit-* * Thu Jun 08 2006 Fernando Nasser <fnasser@redhat.com> 0:2.1-7jpp - Remove those BRs for sf-*-maven-plugin as they are not really needed * Wed Jun 07 2006 Fernando Nasser <fnasser@redhat.com> 0:2.1-6jpp - Add missing BRs for sf-*-maven-plugin * Tue Apr 04 2006 Ralph Apel <r.apel at r-apel.de> 0:2.1-5jpp - Provide avalon-logkit compat symlink * Thu Mar 23 2006 Ralph Apel <r.apel at r-apel.de> 0:2.1-4jpp - Drop explicit ant requirement * Wed Mar 22 2006 Ralph Apel <r.apel at r-apel.de> 0:2.1-3jpp - First JPP-1.7 release * Thu Sep 08 2005 Ralph Apel <r.apel at r-apel.de> 0:2.1-2jpp - Fix MAVEN_HOME_LOCAL and geronimo/spec-jms dependency * Wed Sep 07 2005 Ralph Apel <r.apel at r-apel.de> 0:2.1-1jpp - First build from this codebase