File classpathx-mail.spec of Package classpathx-mail
#
# spec file for package classpathx-mail (Version 1.1.1)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
%define jmailver 1.3.1
%define inetlibver 1.1.1
Name: classpathx-mail
Version: 1.1.1
Release: 54
Summary: GNU JavaMail(tm)
Group: Development/Languages/Java
License: GPL v2 or later
Url: http://www.gnu.org/software/classpathx/javamail/javamail.html
Source0: http://ftp.gnu.org/gnu/classpathx/mail-%{version}.tar.bz2
Source1: http://ftp.gnu.org/gnu/classpath/inetlib-%{inetlibver}.tar.bz2
# see bz157685
Patch1: %{name}-docbuild.patch
Patch2: %{name}-add-inetlib.patch
Patch3: %{name}-remove-inetlib.patch
# see bz157685
Patch4: classpath-inetlib-docbuild.patch
PreReq: coreutils
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
BuildRequires: jpackage-utils >= 1.5
BuildRequires: ant
BuildRequires: jaf >= 1.0
BuildRequires: perl
BuildRequires: jce
# gnu-crypto is required for pre-1.5 JVMs only
#BuildRequires: gnu-crypto
%if %defined suse_version
BuildRequires: java-devel
%endif
BuildRequires: java-sasl
Requires: jaf >= 1.0
Requires: jce
Requires: java-sasl
Requires(preun): /usr/sbin/update-alternatives
Requires(post): /usr/sbin/update-alternatives
Provides: javamail = %{jmailver}
Provides: gnu-javamail = 1.0
Obsoletes: gnu-javamail <= 1.0
%description
GNU JavaMail(tm) is a free implementation of the JavaMail API.
%package javadoc
License: GPL v2 or later
Summary: GNU JavaMail(tm)
Group: Development/Languages/Java
Provides: javamail-javadoc = 0:%{jmailver}
PreReq: coreutils
#BuildRequires: java-javadoc
# there's no classpathx-jaf in SUSE
#BuildRequires: jaf-javadoc
%description javadoc
GNU JavaMail(tm) is a free implementation of the JavaMail API.
%{summary}.
%prep
%setup -q -n mail-%{version}
%patch1 -p0
%patch2 -p0
%patch3 -p0
rm -f libmail.so
bunzip2 -dc %{SOURCE1} | tar -xf -
pushd inetlib-%{inetlibver}
%patch4 -p0
mkdir -p source/org/jpackage/mail
mv source/gnu/inet source/org/jpackage/mail
popd
# assume no filename contains spaces
perl -p -i -e 's/gnu(.)inet/org${1}jpackage${1}mail${1}inet/' `grep gnu.inet -lr *`
%build
# build inetlib
pushd inetlib-%{inetlibver}
export CLASSPATH=%(build-classpath jce sasl)
ant -Dant.build.javac.source=1.4 -Dant.build.javac.target=1.4 -Dj2se.apidoc=%{_javadocdir}/java inetlib.jar doc
popd
mkdir classes
cp -r inetlib-%{inetlibver}/classes/org classes
# build mail
export CLASSPATH=%(build-classpath activation)
ant \
-Dj2se.apidoc=%{_javadocdir}/java \
-Djaf.apidoc=%{_javadocdir}/jaf \
-Dant.build.javac.source=1.4 -Dant.build.javac.target=1.4 \
dist javadoc
# build monolithic
mkdir monolithic
pushd monolithic
for jar in gnumail gnumail-providers ; do jar xf ../$jar.jar; done
rm -f META-INF/MANIFEST.MF
jar cf ../monolithic.jar *
popd
rm -Rf monolithic
%install
rm -rf $RPM_BUILD_ROOT
install -dm 755 $RPM_BUILD_ROOT%{_javadir}/classpathx-mail
# API
install -pm 644 gnumail.jar \
$RPM_BUILD_ROOT%{_javadir}/classpathx-mail/mail-%{jmailver}-api-%{version}.jar
ln -s mail-%{jmailver}-api-%{version}.jar \
$RPM_BUILD_ROOT%{_javadir}/classpathx-mail/mail-%{jmailver}-api.jar
ln -s mail-%{jmailver}-api.jar \
$RPM_BUILD_ROOT%{_javadir}/classpathx-mail/mailapi.jar
# Providers
install -pm 644 gnumail-providers.jar \
$RPM_BUILD_ROOT%{_javadir}/classpathx-mail/mail-%{jmailver}-providers-%{version}.jar
ln -s mail-%{jmailver}-providers-%{version}.jar \
$RPM_BUILD_ROOT%{_javadir}/classpathx-mail/mail-%{jmailver}-providers.jar
ln -s mail-%{jmailver}-providers.jar \
$RPM_BUILD_ROOT%{_javadir}/classpathx-mail/providers.jar
for prov in imap nntp pop3 smtp ; do
ln -s mail-%{jmailver}-providers.jar \
$RPM_BUILD_ROOT%{_javadir}/classpathx-mail/$prov-%{jmailver}.jar
ln -s providers.jar $RPM_BUILD_ROOT%{_javadir}/classpathx-mail/$prov.jar
done
install -pm 644 monolithic.jar \
$RPM_BUILD_ROOT%{_javadir}/classpathx-mail-%{jmailver}-monolithic-%{version}.jar
ln -s classpathx-mail-%{jmailver}-monolithic-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/classpathx-mail-%{jmailver}-monolithic.jar
touch $RPM_BUILD_ROOT%{_javadir}/javamail.jar # for %ghost
install -dm 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{jmailver}
cp -pR docs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{jmailver}
ln -s %{name}-%{jmailver} $RPM_BUILD_ROOT%{_javadocdir}/%{name} # ghost symlink
%clean
rm -rf $RPM_BUILD_ROOT
%triggerpostun -- classpathx-mail-monolithic <= 0:1.1.1-1jpp
# Remove file from old monolithic subpackage
rm -f %{_javadir}/javamail.jar
# Recreate the link as update-alternatives could not do it
ln -s %{_sysconfdir}/alternatives/javamail %{_javadir}/javamail.jar
%post
/usr/sbin/update-alternatives --install %{_javadir}/javamail.jar javamail %{_javadir}/classpathx-mail-1.3.1-monolithic.jar 010301
%preun
if [ "$1" = "0" ]; then
/usr/sbin/update-alternatives --remove javamail %{_javadir}/classpathx-mail-1.3.1-monolithic.jar
fi
%post javadoc
rm -f %{_javadocdir}/%{name}
ln -s %{name}-%{jmailver} %{_javadocdir}/%{name}
%postun javadoc
if [ "$1" = "0" ]; then
rm -f %{_javadocdir}/%{name}
fi
%files
%defattr(644,root,root,755)
%doc AUTHORS ChangeLog COPYING
%dir %{_javadir}/classpathx-mail
%{_javadir}/classpathx-mail/mail-%{jmailver}-api-%{version}.jar
%{_javadir}/classpathx-mail/mail-%{jmailver}-api.jar
%{_javadir}/classpathx-mail/mailapi.jar
%{_javadir}/classpathx-mail/mail-%{jmailver}-providers-%{version}.jar
%{_javadir}/classpathx-mail/mail-%{jmailver}-providers.jar
%{_javadir}/classpathx-mail/providers.jar
%{_javadir}/classpathx-mail/imap-%{jmailver}.jar
%{_javadir}/classpathx-mail/imap.jar
%{_javadir}/classpathx-mail/nntp-%{jmailver}.jar
%{_javadir}/classpathx-mail/nntp.jar
%{_javadir}/classpathx-mail/pop3-%{jmailver}.jar
%{_javadir}/classpathx-mail/pop3.jar
%{_javadir}/classpathx-mail/smtp-%{jmailver}.jar
%{_javadir}/classpathx-mail/smtp.jar
# Monolithic jar
%{_javadir}/classpathx-mail-%{jmailver}-monolithic-%{version}.jar
%{_javadir}/classpathx-mail-%{jmailver}-monolithic.jar
%ghost %{_javadir}/javamail.jar
%files javadoc
%defattr(644,root,root,755)
%doc %{_javadocdir}/%{name}-%{jmailver}
%ghost %{_javadocdir}/%{name}
%changelog
* Thu Jul 31 2008 mvyskocil@suse.cz
- merged with gnu-javamail [bnc#411839]
- removed a support for a build using gcj
* Mon Apr 07 2008 mvyskocil@suse.cz
- First release in Suse (JPP 1.7)
- build dependency for log4j update [bnc#355798]