%define name bouncycastle %define major 1 %define minor 33 %define archivever %{major}%{minor} %define section free %define build_free 1 %define gcj_support 1 %define with_jdk15 0 Summary: Bouncy Castle Crypto Package for Java Name: %{name} Version: %{major}.%{minor} Release: %mkrel 3 Epoch: 0 Group: Development/Java License: BSD URL: http://www.bouncycastle.org/ Source0: http://www.bouncycastle.org/download/crypto.tar.bz2 %if !%{build_free} Source100: http://www.bouncycastle.org/download/bcprov-jdk14-%{major}%{minor}.jar Source101: http://www.bouncycastle.org/download/bcprov-jdk15-%{major}%{minor}.jar %endif BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root #Vendor: JPackage Project #Distribution: JPackage Requires: %{name}-provider = %{epoch}:%{version} Requires: jpackage-utils >= 0:1.5 BuildRequires: ant BuildRequires: ant-junit BuildRequires: jaf BuildRequires: javamail BuildRequires: junit %if %{with_jdk15} BuildRequires: java-devel >= 0:1.5.0 %endif BuildRequires: java-devel < 0:1.5.0 BuildRequires: jpackage-utils >= 0:1.5 %if %{gcj_support} Requires(post): java-gcj-compat Requires(postun): java-gcj-compat BuildRequires: java-gcj-compat-devel %else BuildArch: noarch %endif %description The Bouncy Castle Crypto APIs consist of the following: - A lightweight cryptography API in Java. - A provider for the JCE and JCA. - A clean room implementation of the JCE 1.2.1. - Generators for Version 1 and Version 3 X.509 certificates and PKCS12 files. - A signed jar version suitable for JDK 1.4 and the Sun JCE. %package jdk1.4 Group: Development/Java Summary: Bouncy Castle JCE APIs for Java 1.4.x Requires: %{name} = %{epoch}:%{version} Requires: jaf Requires: javamail Requires: java >= 0:1.4.0 Requires: java < 0:1.5.0 %if %{gcj_support} Requires(post): java-gcj-compat Requires(postun): java-gcj-compat %endif BuildRequires: java-devel >= 0:1.4.0 BuildRequires: java-devel < 0:1.5.0 Provides: %{name}-provider = %{epoch}:%{version} Provides: jce %description jdk1.4 Bouncy Castle JCE API's for Java 1.4. %if %{with_jdk15} %package jdk1.5 Group: Development/Java Summary: Bouncy Castle JCE APIs for Java 1.5.x Requires: %{name} = %{epoch}:%{version} Requires: jaf Requires: javamail Requires: java >= 0:1.5.0 Requires: java < 0:1.6.0 %if %{gcj_support} Requires(post): java-gcj-compat Requires(postun): java-gcj-compat %endif BuildRequires: java-devel >= 0:1.5.0 BuildRequires: java < 0:1.6.0 Provides: %{name}-provider = %{epoch}:%{version} Provides: jce %description jdk1.5 Bouncy Castle JCE API's for Java 1.5. %endif %package javadoc-jdk1.4 Group: Development/Java Summary: Java 1.4 javadoc for %{name} %description javadoc-jdk1.4 Java 1.4 javadocs for %{name}. %if %{with_jdk15} %package javadoc-jdk1.5 Group: Development/Java Summary: Java 1.5 javadoc for %{name} %description javadoc-jdk1.5 Java 1.5 javadocs for %{name}. %endif %prep %setup -q -n crypto %{__perl} -pi -e 's/<javac/<javac nowarn="true"/g' *.xml %build export OPT_JAR_LIST="\ $(%{__cat} %{_sysconfdir}/ant.d/junit)\ " export CLASSPATH=$(build-classpath jaf javamail/mailapi junit) # 1.4 JAVA_HOME= for javaver in 1.4.0 1.4.1 1.4.2; do [ -d "%{_jvmdir}/java-${javaver}" ] && \ JAVA_HOME=%{_jvmdir}/java-${javaver} done [ -z "$JAVA_HOME" ] && exit 1 export JAVA_HOME="$JAVA_HOME" ant -f jdk14.xml -Drelease.suffix=%{version} build-provider build export CLASSPATH=$(build-classpath jaf javamail/mailapi junit) # 1.5 %if %{with_jdk15} JAVA_HOME= for javaver in 1.5.0; do [ -d "%{_jvmdir}/java-${javaver}" ] && \ JAVA_HOME=%{_jvmdir}/java-${javaver} done [ -z "$JAVA_HOME" ] && exit 1 export JAVA_HOME="$JAVA_HOME" ant -f jdk15.xml -Drelease.suffix=%{version} build-provider build %endif # with_jdk15 %install %{__rm} -rf %{buildroot} pushd build/artifacts/jdk1.4/jars # Replace built 1.4 and 1.5 providers with original one %if !%{build_free} %{__rm} -f bcprov-jdk14-%{version}.jar %{__cp} -a %{SOURCE100} bcprov-jdk14-%{version}.jar %if %{with_jdk15} %{__rm} -f bcprov-jdk15-%{version}.jar %{__cp} -a %{SOURCE101} bcprov-jdk15-%{version}.jar %endif # with_jdk15 %endif # build_free # Java 1.4 %{__mkdir_p} %{buildroot}%{_javadir} for jar14 in {bcmail,bcpg,bctest,bctsp}-jdk14-%{version}.jar; do %{__install} -m 644 $jar14 %{buildroot}%{_javadir}/$jar14 done pushd %{buildroot}%{_javadir} for jar in *-jdk14-%{version}.jar; do %{__ln_s} $jar $(echo $jar | %{__sed} s#-%{version}##g) done popd %{__mkdir_p} %{buildroot}%{_javadir}-ext %{__install} -m 644 bcprov-jdk14-%{version}.jar %{buildroot}%{_javadir}-ext for javaver in 1.4.0 1.4.1 1.4.2; do %{__mkdir_p} %{buildroot}%{_javadir}-${javaver} # FIXME (cd %{buildroot}%{_javadir}-${javaver} && %{__ln_s} ../../..%{_javadir}-ext/bcprov-jdk14-%{version}.jar bcprov-jdk14-%{version}.jar \ && %{__ln_s} bcprov-jdk14-%{version}.jar bcprov-jdk14.jar) done %{__mkdir_p} %{buildroot}%{_javadir}/gcj-endorsed # FIXME (cd %{buildroot}%{_javadir}/gcj-endorsed && %{__ln_s} ../../../..%{_javadir}-ext/bcprov-jdk14-%{version}.jar bcprov-jdk14-%{version}.jar) popd # Java 1.5 %if %{with_jdk15} %{__mkdir_p} %{buildroot}%{_javadir} pushd build/artifacts/jdk1.5/jars for jar15 in {bcmail,bcpg,bctest,bctsp}-jdk15-%{version}.jar; do %{__install} -m 644 $jar15 %{buildroot}%{_javadir}/$jar15 done pushd %{buildroot}%{_javadir} for jar in *-jdk15-%{version}.jar; do %{__ln_s} $jar $(echo $jar | %{__sed} s#-%{version}##g) done popd %{__mkdir_p} %{buildroot}%{_javadir}-ext %{__install} -m 644 bcprov-jdk15-%{version}.jar %{buildroot}%{_javadir}-ext for javaver in 1.5.0; do %{__mkdir_p} %{buildroot}%{_javadir}-${javaver} # FIXME (cd %{buildroot}%{_javadir}-${javaver} && %{__ln_s} ../../..%{_javadir}-ext/bcprov-jdk15-%{version}.jar bcprov-jdk15-%{version}.jar \ && %{__ln_s} bcprov-jdk15-%{version}.jar bcprov-jdk15.jar) done popd %endif # with_jdk15 # javadoc %{__mkdir_p} %{buildroot}%{_javadocdir}/%{name}-jdk14-%{version} (cd %{buildroot}%{_javadocdir} && %{__ln_s} %{name}-jdk14-%{version} %{name}-jdk14) %if %{with_jdk15} %{__mkdir_p} %{buildroot}%{_javadocdir}/%{name}-jdk15-%{version} (cd %{buildroot}%{_javadocdir} && %{__ln_s} %{name}-jdk15-%{version} %{name}-jdk15) %endif dotvers="1.4" %if %{with_jdk15} dotvers="$dotvers 1.5" %endif for javaver in $dotvers; do ver=`echo $javaver | sed 's/\.//'` for javadoc in bcmail bcpg bcprov bctsp; do %{__mkdir_p} %{buildroot}%{_javadocdir}/%{name}-jdk${ver}-%{version}/${javadoc} %{__cp} -a build/artifacts/jdk${javaver}/${javadoc}-jdk${ver}-%{version}/docs/* %{buildroot}%{_javadocdir}/%{name}-jdk${ver}-%{version}/${javadoc} done done %if %{gcj_support} %if !%{with_jdk15} %{_bindir}/aot-compile-rpm %else %{_bindir}/aot-compile-rpm --exclude %{_javadir}/bcmail-jdk15-%{version}.jar \ --exclude %{_javadir}/bcpg-jdk15-%{version}.jar \ --exclude %{_javadir}/bctest-jdk15-%{version}.jar \ --exclude %{_javadir}/bctsp-jdk15-%{version}.jar \ --exclude %{_javadir}-ext/bcprov-jdk15-%{version}.jar %endif # with_jdk15 %endif # gcj_support %clean %{__rm} -rf %{buildroot} %if %{gcj_support} %post if test -x %{_bindir}/rebuild-security-providers; then %{_bindir}/rebuild-security-providers fi %postun if test -x %{_bindir}/rebuild-security-providers; then %{_bindir}/rebuild-security-providers fi %post jdk1.4 %{update_gcjdb} %postun jdk1.4 %{clean_gcjdb} %endif # gcj_support %post javadoc-jdk1.4 %{__rm} -f %{_javadocdir}/%{name}-jdk14 %{__ln_s} %{name}-jdk14-%{version} %{_javadocdir}/%{name}-jdk14 %postun javadoc-jdk1.4 if [ $1 -eq 0 ]; then %{__rm} -f %{_javadocdir}/%{name}-jdk1.4 fi %if %{with_jdk15} %post javadoc-jdk1.5 %{__rm} -f %{_javadocdir}/%{name}-jdk15 %{__ln_s} %{name}-jdk15-%{version} %{_javadocdir}/%{name}-jdk15 %postun javadoc-jdk1.5 if [ $1 -eq 0 ]; then %{__rm} -f %{_javadocdir}/%{name}-jdk15 fi %endif # with_jdk15 %files %defattr(0644,root,root,0755) %doc *.html %files jdk1.4 %defattr(0644,root,root,0755) %{_javadir}/bc*-jdk14-%{version}.jar %{_javadir}/bc*-jdk14.jar %{_javadir}-ext/bcprov-jdk14-%{version}.jar %{_javadir}-1.4.0/bcprov-jdk14*.jar %{_javadir}-1.4.1/bcprov-jdk14*.jar %{_javadir}-1.4.2/bcprov-jdk14*.jar %{_javadir}/gcj-endorsed/bcprov-jdk14-%{version}.jar %if %{gcj_support} %{_libdir}/gcj/%{name}/*-jdk14-%{version}.jar.* %endif %if %{with_jdk15} %files jdk1.5 %defattr(0644,root,root,0755) %{_javadir}/bc*-jdk15-%{version}.jar %{_javadir}/bc*-jdk15.jar %{_javadir}-ext/bcprov-jdk15-%{version}.jar %{_javadir}-1.5.0/bcprov-jdk15*.jar %if %{gcj_support} #%{_libdir}/gcj/%{name}/*-jdk15-%{version}.jar.* %endif %endif %files javadoc-jdk1.4 %defattr(0644,root,root,0755) %dir %{_javadocdir}/%{name}-jdk14-%{version} %{_javadocdir}/%{name}-jdk14-%{version}/* %ghost %{_javadocdir}/%{name}-jdk14 %if %{with_jdk15} %files javadoc-jdk1.5 %defattr(0644,root,root,0755) %dir %{_javadocdir}/%{name}-jdk15-%{version} %{_javadocdir}/%{name}-jdk15-%{version}/* %ghost %{_javadocdir}/%{name}-jdk15 %endif %changelog * Wed Aug 23 2006 David Walluck <walluck@mandriva.org> 0:1.33-3mdv2007.0 - BuildRequires: ant, ant-junit * Wed May 24 2006 David Walluck <walluck@mandriva.org> 0:1.33-2mdv2007.0 - rebuild for libgcj.so.7 - enable gcj support regardless of %%gcj_support, just not aot compilation - remove checkstyle build requirement * Tue May 09 2006 David Walluck <walluck@mandriva.org> 0:1.33-1mdk - 1.33 * Wed Mar 29 2006 David Walluck <walluck@mandriva.org> 0:1.32-2mdk - run rebuild-gcj-db (bug #21883) - change to BuildRequires: java-gcj-compat-devel * Wed Mar 29 2006 David Walluck <walluck@mandriva.org> 0:1.32-1mdk - 1.32 * Tue Jan 17 2006 David Walluck <walluck@mandriva.org> 0:1.31-3mdk - install into %%{_javadir}/gcj-endorsed so that gcj can find us - fix symlinks - remove tests that (sometimes) fail to build with ecj * Mon Jan 16 2006 David Walluck <walluck@mandriva.org> 0:1.31-2mdk - fix build with jdk 1.5 * Sat Dec 31 2005 David Walluck <walluck@mandriva.org> 0:1.31-1mdk - 1.31 * Sun Dec 18 2005 David Walluck <walluck@mandriva.org> 0:1.31-0.b16.1mdk - 1.31b16 * Wed Dec 07 2005 David Walluck <walluck@mandriva.org> 0:1.31-0.b12.1mdk - 1.31b12 * Wed Nov 02 2005 David Walluck <walluck@mandriva.org> 0:1.31-0.b09.1mdk - 1.31b09 - use ant for build * Wed Nov 02 2005 David Walluck <walluck@mandriva.org> 0:1.30-3mdk - enable bctsp * Sun Oct 30 2005 David Walluck <walluck@mandriva.org> 0:1.30-2mdk - install single jar instead of directory for provider * Mon Sep 19 2005 David Walluck <walluck@mandriva.org> 0:1.30-1mdk - 1.30 * Mon May 30 2005 David Walluck <walluck@mandriva.org> 0:1.28-2mdk - fix provider installation under gcj * Sun May 29 2005 David Walluck <walluck@mandriva.org> 0:1.28-1mdk - 1.28 - make jdk 1.5 support optional - add support for gcj * Mon Feb 21 2005 David Walluck <david@jpackage.org> 0:1.27-1jpp - 1.27 - "fix" requires-on-release - change license to BSD (style) - fix duplicate requires * Thu Jan 20 2005 David Walluck <david@jpackage.org> 0:1.26-1jpp - 1.26 * Sat Oct 09 2004 David Walluck <david@jpackage.org> 0:1.25-1jpp - 1.25 - jdk 1.3.x support out, jdk 1.5.0 support in * Sun Feb 08 2004 David Walluck <david@anti-microsoft.org> 0:1.25-1jpp - 1.25 - fix javadocs and javadoc dirs - clean up BuildRequires/Requires - CLASSPATH doesn't need jce * Tue Jan 20 2004 David Walluck <david@anti-microsoft.org> 0:1.21-1jpp - 1.21 * Fri Oct 10 2003 David Walluck <david@anti-microsoft.org> 0:1.20-2jpp - fix javadoc symlinks * Fri Oct 10 2003 David Walluck <david@anti-microsoft.org> 0:1.20-1jpp - 1.20 - add epochs - %%ghost symlinks - maybe bouncycastle should consider using ant so that it doesn't take over three hours to script the build process - oh, and maybe a single source archive, thanks * Sun Sep 09 2003 David Walluck <david@anti-microsoft.org> 0:1.19-2jpp - build bcmail.jar for jdk1.4 package - add Epoch - Requires: jpackage-utils >= 0:1.5 * Fri Jun 27 2003 Nicolas Mailhot <Nicolas.Mailhot at laPoste.net> 1.19-1jpp - First jpackage 1.5 release - use upstream 1.4 binary due to Sun braindamage * Sun Sep 8 2002 Ville Skyttä <ville.skytta at iki.fi> 1.15-1jpp - First JPackage release.