%define bname geronimo %define name geronimo-specs %define version 1.0 %define mstone M2 %define lmstone m2 %define release %mkrel 0.%{lmstone}.2.1 %define section free Summary: Geronimo J2EE server J2EE specifications URL: http://geronimo.apache.org Source0: %{bname}-%{version}-%{mstone}-src.tar.bz2 Name: %{name} Version: %{version} Release: %{release} Epoch: 0 License: Apache License Group: Development/Java BuildRequires: jpackage-utils >= 0:1.5 BuildRequires: mx4j >= 0:2.0.1 BuildRequires: servletapi5 BuildRequires: java-devel Requires: mx4j >= 0:2.0.1 Requires: servletapi5 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot # libgcj aot-compiled native libraries BuildRequires: java-1.4.2-gcj-compat-devel >= 1.0.31 Requires(post): java-1.4.2-gcj-compat >= 1.0.31 Requires(postun): java-1.4.2-gcj-compat >= 1.0.31 %description Geronimo is Apache's ASF-licenced J2EE server project. These are the J2EE-Specifications %package compat Group: Development/Java Summary: Compatibility package for %{name} Requires: %{name} = %{version}-%{release} Provides: ejb = 0:2.1 Provides: j2ee-connector = 0:1.5 Provides: j2ee-deployment = 0:1.1 Provides: j2ee-management = 0:1.0 Provides: jacc = 0:1.0 Provides: jms = 0:1.1 Provides: jta = 0:1.0.1 %description compat Fedora-specific package to make %{name} look like the individual JPackages of the specifications we provide. %prep %setup -q -n geronimo-%{version}-%{mstone} chmod -R go=u-w * %build mkdir -p build/lib for spec in \ ejb-2.1 \ j2ee-connector-1.5 \ j2ee-deployment-1.1 \ j2ee-jacc-1.0 \ j2ee-management-1.0 \ jms-1.1 \ jta-1.0.1B; do name=`echo $spec | sed 's:-[^-]*$::'` srcdir=specs/$name/src/java classdir=build/classes/$name jarfile=build/lib/spec-$spec.jar case $name in j2ee-jacc) CLASSPATH=$(build-classpath servletapi5) export CLASSPATH ;; j2ee-management) CLASSPATH=$(build-classpath mx4j/mx4j-jmx):build/lib/spec-ejb-2.1.jar export CLASSPATH ;; *) unset CLASSPATH esac %javac $srcdir -d $classdir || exit 1 mkdir -p $classdir/META-INF cp -a LICENSE.txt $classdir/META-INF %jar cf $jarfile -C $classdir . done %install rm -rf $RPM_BUILD_ROOT install -d -m 0755 $RPM_BUILD_ROOT%{_javadir}/%{bname} for jar in build/lib/*.jar; do base=`basename $jar .jar` install -m 0644 $jar $RPM_BUILD_ROOT%{_javadir}/%{bname}/$base-rc2.jar ln -s $base-rc2.jar $RPM_BUILD_ROOT%{_javadir}/%{bname}/$base.jar compat=`echo $base | sed 's:^spec-\(.*\)-[^-]*$:\1:'` [ $compat = j2ee-jacc ] && compat=jacc ln -s %{bname}/$base.jar $RPM_BUILD_ROOT%{_javadir}/$compat.jar done aot-compile-rpm %clean rm -rf $RPM_BUILD_ROOT %post %{_bindir}/rebuild-gcj-db %postun %{_bindir}/rebuild-gcj-db %files %defattr(-,root,root,-) %doc LICENSE.txt NOTICE.txt %{_javadir}/%{bname} %attr(-,root,root) %{_libdir}/gcj/%{name} %files compat %defattr(-,root,root,-) %{_javadir}/*.jar %changelog * Fri Sep 02 2005 David Walluck <walluck@mandriva.org> 0:1.0-0.m2.2.1mdk - release * Fri Jul 22 2005 Gary Benson <gbenson at redhat.com> 0:1.0-0.M2.2jpp_4fc - Switch to aot-compile-rpm. - Also build jta. - Build on ia64, ppc64, s390 and s390x. * Wed Jun 29 2005 Gary Benson <gbenson at redhat.com> 0:1.0-0.M2.2jpp_3fc - Add dependency on the main package to the compatibility subpackage. * Mon Jun 27 2005 Gary Benson <gbenson at redhat.com> 0:1.0-0.M2.2jpp_2fc - BC-compile. * Wed Jun 15 2005 Gary Benson <gbenson at redhat.com> 0:1.0-0.M2.2jpp_1fc - Build into Fedora. * Fri Jun 3 2005 Gary Benson <gbenson at redhat.com> - Only build the bits that we need, and don't use Maven to do it. - Add a compatibility subpackage to provide dependencies. - Add NOTICE file as per Apache License version 2.0. * Thu Feb 03 2005 Ralph Apel <r.apel at r-apel.de> 0:1.0-0.M2.2jpp - Process project.xml files with saxon - Don't tamper with $HOME - Don't use build-jar-repository: [xyz].jar will not work with geronimo deploy * Fri Oct 08 2004 Ralph Apel <r.apel at r-apel.de> 0:1.0-0.M2.1jpp - Upgrade to M2 * Thu Sep 30 2004 Ralph Apel <r.apel at r-apel.de> 0:1.0-0.M1.1jpp - First JPackage build