%define name elm %define versionbase 2.5 %define versiontag ME+ %define version1 %{versiontag}%{versionbase} %define minor alpha5 %define release 1 %define ver_full0 %{version1}.%{minor} %define ver_full %{ver_full0} %define fix_prefix /usr/local Summary: ELM mail client version %{version1} PL%{minor} Name: %{name} Version: %{ver_full} Release: %{release} Source0: http://elmme-mailer.org/%{name}-%{ver_full0}.tar.gz License: The Elm(tm) Mail System General Public License Group: Applications/Communications BuildRoot: %{_tmppath}/%{name}-buildroot Docdir: %{fix_prefix}/doc AutoReqProv: no %description Elm ME+ - an interactive mail system, Millenium Edition Elm %{versiontag}%{versionbase} is based on Elm 2.4 and incorporates some code from Elm 2.5. It contains enhanced MIME and character set support. It can read mail from POP or IMAP folders and can pass mail to the PGP or GPG programs. %define modargs -M iconv -M smtp %package mod Summary: Base modules for ELM mail client version %{version1} PL%{minor} Group: Applications/Communications AutoReqProv: no requires: elm = %{version} %description mod Elm ME+ - an interactive mail system, Millenium Edition libelmme-iconv.so and libelmme-smtp.so modules for Elm %{versiontag}%{versionbase}. The libelmme-smtp.so module is required if /usr/sbin/sendmail is not available. %package tls Summary: TLS module for ELM mail client version %{version1} PL%{minor} Group: Applications/Communications AutoReqProv: no requires: elm = %{version} %description tls Elm ME+ - an interactive mail system, Millenium Edition libelmme-tls.so modules for Elm %{versiontag}%{versionbase}. This module provides POP's STLS and IMAPs STARTTLS command. This module uses encryption from OpenSSL library. %prep %setup -n %{name}%{versiontag}.%{versionbase}.%{minor} %build cat >config.rpm < XXtmp1 sort XXtmp1 | uniq > XXtmp cp XXtmp $RPM_BUILD_ROOT%{fix_prefix}/lib/elm.filelist-main.rpm rm XXtmp1 # mod package $RPM_BUILD_ROOT%{fix_prefix}/lib/elmregister rpm-list -u root -g root -R $RPM_BUILD_ROOT %{modargs} > XXtmp1 sort XXtmp1 | uniq > XXtmp cp XXtmp $RPM_BUILD_ROOT%{fix_prefix}/lib/elm.filelist-mod.rpm rm XXtmp1 # tls package $RPM_BUILD_ROOT%{fix_prefix}/lib/elmregister rpm-list -u root -g root -R $RPM_BUILD_ROOT -M tls > XXtmp1 sort XXtmp1 | uniq > XXtmp cp XXtmp $RPM_BUILD_ROOT%{fix_prefix}/lib/elm.filelist-tls.rpm rm XXtmp1 # # Use temporary location so that installation do not # overwrite filelist # # main-package $RPM_BUILD_ROOT%{fix_prefix}/lib/elmregister filter -R $RPM_BUILD_ROOT -w $RPM_BUILD_ROOT%{fix_prefix}/lib/elm.filelist-main.%{minor} # mod package $RPM_BUILD_ROOT%{fix_prefix}/lib/elmregister filter -R $RPM_BUILD_ROOT %{modargs} -w $RPM_BUILD_ROOT%{fix_prefix}/lib/elm.filelist-mod.%{minor} # tls package $RPM_BUILD_ROOT%{fix_prefix}/lib/elmregister filter -R $RPM_BUILD_ROOT -M tls -w $RPM_BUILD_ROOT%{fix_prefix}/lib/elm.filelist-tls.%{minor} # rm $RPM_BUILD_ROOT%{fix_prefix}/lib/elm.filelist %clean if [ "$RPM_BUILD_ROOT" != "/" ] ; then rm -rf $RPM_BUILD_ROOT fi %pre %pre mod %pre tls %post # Following files are created or rebuild on replay stage F=%{fix_prefix}/lib/elm.mimecharsets if [ -f $F ] ; then cp -p $F $F.rpmsave fi F=%{fix_prefix}/lib/elm.terminalinfo if [ -f $F ] ; then cp -p $F $F.rpmsave fi F=%{fix_prefix}/lib/elm.rc if [ -f $F ] ; then cp -p $F $F.rpmsave fi # record only old values before this installation to elm.rc.old-values F=%{fix_prefix}/lib/elm.rc.old-values if [ -f $F ] ; then mv -f $F $F.rpmsave fi %{fix_prefix}/lib/elmregister replay -F %{fix_prefix}/lib/elm.filelist-main.%{minor} cat %{fix_prefix}/lib/elm.filelist-main.%{minor} >> %{fix_prefix}/lib/elm.filelist rm %{fix_prefix}/lib/elm.filelist-main.%{minor} %{fix_prefix}/lib/elmregister unstage %post mod # mod package postinstall script %{fix_prefix}/lib/elmregister replay -F %{fix_prefix}/lib/elm.filelist-mod.%{minor} %{modargs} cat %{fix_prefix}/lib/elm.filelist-mod.%{minor} >> %{fix_prefix}/lib/elm.filelist rm %{fix_prefix}/lib/elm.filelist-mod.%{minor} %{fix_prefix}/lib/elmregister unstage %{modargs} %post tls # tls package postinstall script %{fix_prefix}/lib/elmregister replay -F %{fix_prefix}/lib/elm.filelist-tls.%{minor} -M tls cat %{fix_prefix}/lib/elm.filelist-tls.%{minor} >> %{fix_prefix}/lib/elm.filelist rm %{fix_prefix}/lib/elm.filelist-tls.%{minor} %{fix_prefix}/lib/elmregister unstage -M tls %preun # Uninstall if this is is last install # This assumes that all other elm modules are already uninstalled if [ $1 = 0 ] ; then %{fix_prefix}/lib/elmregister uninstall -m all fi %preun mod # Uninstall if this is is last install if [ $1 = 0 ] ; then %{fix_prefix}/lib/elmregister uninstall %{modargs} fi %preun tls # Uninstall if this is is last install if [ $1 = 0 ] ; then %{fix_prefix}/lib/elmregister uninstall -M tls fi %postun if [ $1 = 0 ] ; then # We return these files to original places, so that # these are used when elm is re-installed F=%{fix_prefix}/lib/elm.mimecharsets if [ -f $F.rpmsave -a ! -f $F ] ; then cp -p $F.rpmsave $F fi F=%{fix_prefix}/lib/elm.terminalinfo if [ -f $F.rpmsave -a ! -f $F ] ; then cp -p $F.rpmsave $F fi F=%{fix_prefix}/lib/elm.rc if [ -f $F.rpmsave -a ! -f $F ] ; then cp -p $F.rpmsave $F fi F=%{fix_prefix}/lib/elm.rc.old-values rm $F fi %postun mod %{fix_prefix}/lib/elmlibregister -G -I %postun tls %{fix_prefix}/lib/elmlibregister -G -I %files -f %{buildroot}%{fix_prefix}/lib/elm.filelist-main.rpm %defattr(-,root,root) %{fix_prefix}/lib/elm.filelist-main.%{minor} %dir %{_docdir}/%{name}-%{ver_full} %doc %{_docdir}/%{name}-%{ver_full}/README.ME+ %doc %{_docdir}/%{name}-%{ver_full}/Configure %doc %{_docdir}/%{name}-%{ver_full}/MANIFEST %doc %{_docdir}/%{name}-%{ver_full}/NOTICE %doc %{_docdir}/%{name}-%{ver_full}/MIME.txt %dir %{_docdir}/%{name}-%{ver_full}/2.4 %doc %{_docdir}/%{name}-%{ver_full}/2.4/Overview %doc %{_docdir}/%{name}-%{ver_full}/2.4/ANNOUNCE.ME %doc %{_docdir}/%{name}-%{ver_full}/2.4/ChangeLog.ME %doc %{_docdir}/%{name}-%{ver_full}/2.4/Patchlist %doc %{_docdir}/%{name}-%{ver_full}/2.4/Changes %doc %{_docdir}/%{name}-%{ver_full}/2.4/Instruct %doc %{_docdir}/%{name}-%{ver_full}/2.4/NOTICE %doc %{_docdir}/%{name}-%{ver_full}/2.4/README %dir %{_docdir}/%{name}-%{ver_full}/doc %doc %{_docdir}/%{name}-%{ver_full}/doc/elmrc.samp %doc %{_docdir}/%{name}-%{ver_full}/doc/mime.types %doc %{_docdir}/%{name}-%{ver_full}/doc/terminal.info %dir %{_docdir}/%{name}-%{ver_full}/shared_libs %files mod -f %{buildroot}%{fix_prefix}/lib/elm.filelist-mod.rpm %defattr(-,root,root) %{fix_prefix}/lib/elm.filelist-mod.%{minor} %dir %{_docdir}/%{name}-%{ver_full}/shared_libs/iconv %doc %{_docdir}/%{name}-%{ver_full}/shared_libs/iconv/README.ME+ %dir %{_docdir}/%{name}-%{ver_full}/shared_libs/smtp %doc %{_docdir}/%{name}-%{ver_full}/shared_libs/smtp/README.ME+ %files tls -f %{buildroot}%{fix_prefix}/lib/elm.filelist-tls.rpm %defattr(-,root,root) %{fix_prefix}/lib/elm.filelist-tls.%{minor} %dir %{_docdir}/%{name}-%{ver_full}/shared_libs/tls %doc %{_docdir}/%{name}-%{ver_full}/shared_libs/tls/README.ME+ %changelog # end of file