# TODO:
# - look at files in main package (more split?)
+# - guile and python packages? (note: lmtpd, mda, putmail, mu-mh/inc link with libmu_scm/libmu_py libraries)
# - scripts for daemons
-# - check optional gssapi (or maybe use gss?)
-# - some dbm (gdbm? db as (n)dbm? db after update from db2 to db4.1 API?)
-# - security http://security.gentoo.org/glsa/glsa-200505-20.xml
+# - dbm switches? (GDBM BDB NDBM TC KC)
#
# Conditional build:
-%bcond_with gssapi # use GSSAPI authentication (krb5 or heimdal; not ready for gss)
+%bcond_without gssapi # GSSAPI authentication (krb5 or heimdal)
+%bcond_with gss # use GSS instead of MIT/Heimdal
+%bcond_without ldap # LDAP support
+%bcond_with radius # RADIUS support [requires gnu-radius, which is not ready for guile 2.x]
%bcond_without sasl # without SASL (using GNU SASL)
+# language support
+%bcond_without cxx # C++ wrapper
+%bcond_without guile # Guile support
+%bcond_without python # Python support
+# SQL:
+%bcond_without mysql # MySQL module
+%bcond_without pgsql # PostgreSQL module
+%bcond_without odbc # ODBC module (any variant)
+%bcond_with iodbc # ODBC module using libiodbc
+# broken code:
+%bcond_with nntp # NNTP support [broken in 3.x]
#
+%if %{without odbc}
+%undefine with_iodbc
+%endif
Summary: GNU mail utilities
-Summary(pl): Narzêdzia pocztowe z projektu GNU
+Summary(pl.UTF-8): Narzędzia pocztowe z projektu GNU
Name: mailutils
-Version: 0.6
-Release: 0.1
-License: GPL
+Version: 3.9
+Release: 1
+License: GPL v3+
Group: Applications/Mail
-Source0: ftp://ftp.gnu.org/gnu/mailutils/%{name}-%{version}.tar.bz2
-# Source0-md5: 13e38442893a24f16798e4b5f634ba7d
+Source0: https://ftp.gnu.org/gnu/mailutils/%{name}-%{version}.tar.xz
+# Source0-md5: a357709d5f34b9acc6e16b7c10e77eaa
Patch0: %{name}-info.patch
+Patch1: %{name}-tinfo.patch
+Patch2: link.patch
+Patch3: %{name}-includes.patch
+Patch4: %{name}-examples.patch
+Patch5: %{name}-extern.patch
+Patch6: %{name}-cpp.patch
+Patch7: ggc10.patch
URL: http://www.gnu.org/software/mailutils/mailutils.html
-BuildRequires: gnutls-devel
-BuildRequires: guile-devel >= 1.4
-%{?with_gss:BuildRequires: heimdal-devel}
-%{?with_sasl:BuildRequires: gsasl-devel >= 0.0.2}
+BuildRequires: autoconf >= 2.63
+BuildRequires: automake >= 1:1.11
+BuildRequires: bison
+BuildRequires: flex
+BuildRequires: fribidi-devel
+BuildRequires: gettext-tools >= 0.19
+%{?with_radius:BuildRequires: gnu-radius-devel >= 1.6}
+BuildRequires: gnutls-devel >= 1.2.5
+%{?with_sasl:BuildRequires: gsasl-devel >= 0.2.3}
+%{?with_guile:BuildRequires: guile-devel >= 5:2.2.0}
+%{?with_odbc:%{?with_iodbc:BuildRequires: libiodbc-devel}}
BuildRequires: libltdl-devel
+%if %{with cxx}
+BuildRequires: libstdc++-devel
+%endif
+BuildRequires: libwrap-devel
+BuildRequires: libtool >= 2:1.5
+BuildRequires: libunistring-devel
+%{?with_mysql:BuildRequires: mysql-devel}
+BuildRequires: ncurses-devel
+%{?with_ldap:BuildRequires: openldap-devel}
BuildRequires: pam-devel
+%{?with_pgsql:BuildRequires: postgresql-devel}
+%{?with_python:BuildRequires: python-devel >= 1:2.5}
BuildRequires: readline-devel
+BuildRequires: rpmbuild(macros) >= 1.219
+BuildRequires: tar >= 1:1.22
BuildRequires: texinfo
+%{?with_odbc:%{!?with_iodbc:BuildRequires: unixODBC-devel}}
+BuildRequires: xz
+%if %{with gssapi}
+%if %{with gss}
+BuildRequires: gss-devel >= 0.0.9
+%else
+BuildRequires: heimdal-devel
+%endif
+%endif
Requires: %{name}-libs = %{version}-%{release}
Obsoletes: mailutils-doc
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define _libexecdir %{_sbindir}
+# mailutils variant of traditional PREFIX/bin/mh dir (FHS disallows */bin subdir other than plain "mh")
+%define mh_bindir %{_libexecdir}/mu-mh
%description
GNU mail utilities.
-%description -l pl
-Narzêdzia pocztowe z projektu GNU
+%description -l pl.UTF-8
+Narzędzia pocztowe z projektu GNU.
%package libs
Summary: GNU mail utilities libraries
-Summary(pl): Biblioteka narzêdzi pocztowych GNU
+Summary(pl.UTF-8): Biblioteka narzędzi pocztowych GNU
License: LGPL
Group: Libraries
Obsoletes: libmailbox
mbox, mh, POP3, and IMAP4. It also support mime message handling, and
sending mail via SMTP and /usr/sbin/sendmail.
-%description libs -l pl
-Biblioteka libmailbox zawiera ró¿ne funkcje dostêpu do skrzynek
-pocztowych obs³uguj±ce wiele typów skrzynek, takich jak mbox, mh, POP3
-i IMAP4. Wspiera tak¿e obs³ugê wiadomo¶ci MIME i wysy³anie poczty
+%description libs -l pl.UTF-8
+Biblioteka libmailbox zawiera różne funkcje dostępu do skrzynek
+pocztowych obsługujące wiele typów skrzynek, takich jak mbox, mh, POP3
+i IMAP4. Wspiera także obsługę wiadomości MIME i wysyłanie poczty
przez SMP oraz /usr/sbin/sendmail.
%package devel
Summary: Header files for GNU mail utilities libraries
-Summary(pl): Pliki nag³ówkowe bibliotek narzêdzi pocztowych GNU
+Summary(pl.UTF-8): Pliki nagłówkowe bibliotek narzędzi pocztowych GNU
License: LGPL
Group: Development/Libraries
Requires: %{name}-libs = %{version}-%{release}
%description devel
Header files for GNU mail utilities libraries.
-%description devel -l pl
-Pliki nag³ówkowe bibliotek narzêdzi pocztowych GNU.
+%description devel -l pl.UTF-8
+Pliki nagłówkowe bibliotek narzędzi pocztowych GNU.
%package static
Summary: GNU mail utilities static libraries
-Summary(pl): Statyczne biblioteki narzêdzi pocztowych GNU
+Summary(pl.UTF-8): Statyczne biblioteki narzędzi pocztowych GNU
License: LGPL
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
%description static
GNU mail utilities static libraries.
-%description static -l pl
-Statyczne biblioteki narzêdzi pocztowych GNU.
+%description static -l pl.UTF-8
+Statyczne biblioteki narzędzi pocztowych GNU.
%package -n gnu-mail
Summary: GNU mail utilities mail(x) replacement
-Summary(pl): Zamiennik mail(x) z narzêdzi pocztowych GNU
+Summary(pl.UTF-8): Zamiennik mail(x) z narzędzi pocztowych GNU
Group: Applications/Mail
Requires: %{name} = %{version}-%{release}
A replacement for /bin/mail(x) conforming to the UNIX98 specification
for mailx.
-%description -n gnu-mail -l pl
-Zamiennik /bin/mail(x) zgodny ze specyfikacj± UNIX98 dla mailx.
+%description -n gnu-mail -l pl.UTF-8
+Zamiennik /bin/mail(x) zgodny ze specyfikacją UNIX98 dla mailx.
%package -n gnu-pop3d
Summary: GNU mail utilites POP3 daemon
-Summary(pl): Demon POP3 z narzêdzi pocztowych GNU
+Summary(pl.UTF-8): Demon POP3 z narzędzi pocztowych GNU
Group: Networking/Daemons
Requires: %{name}-libs = %{version}-%{release}
# inetd or standalone
The GNU POP3 daemon. Uses libmailbox to support different styles of
mailboxes.
-%description -n gnu-pop3d -l pl
-Demon GNU POP3. Wykorzystuje libmailbox do obs³ugi ró¿nych rodzajów
+%description -n gnu-pop3d -l pl.UTF-8
+Demon GNU POP3. Wykorzystuje libmailbox do obsługi różnych rodzajów
skrzynek pocztowych.
%package -n gnu-imap4d
Summary: GNU mail utilities IMAP4 daemon
-Summary(pl): Demon IMAP4 z narzêdzi pocztowych GNU
+Summary(pl.UTF-8): Demon IMAP4 z narzędzi pocztowych GNU
Group: Networking/Daemons
Requires: %{name}-libs = %{version}-%{release}
# inetd or standalone
The GNU IMAP4 daemon. Uses libmailbox to support different styles of
mailboxes.
-%description -n gnu-imap4d -l pl
-Demon GNU IMAP4. Wykorzystuje libmailbox do obs³ugi ró¿nych rodzajów
+%description -n gnu-imap4d -l pl.UTF-8
+Demon GNU IMAP4. Wykorzystuje libmailbox do obsługi różnych rodzajów
skrzynek pocztowych.
%prep
%setup -q
%patch0 -p1
+%patch1 -p0
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+
+%{__rm} po/stamp-po
%build
+%{__libtoolize}
+%{__aclocal} -I m4 -I am -I gint -I doc/imprimatur
+%{__autoconf}
+%{__autoheader}
+%{__automake}
%configure \
+ %{!?with_gss:ac_cv_header_gss_h=no} \
+ %{!?with_cxx:--disable-cxx} \
+ %{!?debug:--disable-debug} \
+ --enable-experimental \
+ %{!?with_nntp:--disable-nntp} \
+ %{!?with_python:--disable-python} \
+ %{?with_radius:--enable-radius} \
+ --disable-silent-rules \
+ --with-dbm=BDB \
--with-gnutls \
%{?with_sasl:--with-gsasl} \
- %{?with_gssapi:--with-gssapi}
+ %{?with_gssapi:--with-gssapi} \
+ %{!?with_guile:--without-guile} \
+ %{!?with_ldap:--without-ldap} \
+ --with-mail-spool=/var/mail \
+ --with-mh-bindir=%{_libexecdir}/mu-mh \
+ %{?with_mysql:--with-mysql} \
+ %{?with_odbc:--with-odbc=%{?with_iodbc:iodbc}%{!?with_iodbc:odbc}} \
+ %{?with_pgsql:--with-postgres}
-%{__make}
+%{__make} -j1
%install
rm -rf $RPM_BUILD_ROOT
-%{__make} install \
+%{__make} -j1 install \
DESTDIR=$RPM_BUILD_ROOT
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/mailutils/*.{la,a}
+%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/mailutils/c_api.{la,a}
+
+%py_postclean
+
%find_lang %{name}
%clean
rm -rf $RPM_BUILD_ROOT
-%post
-[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir %{_infodir} >/dev/null 2>&1
+%post -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
-%postun
-[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir %{_infodir} >/dev/null 2>&1
+%postun -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
-%post devel
-[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir %{_infodir} >/dev/null 2>&1
+%post devel -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
-%postun devel
-[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir %{_infodir} >/dev/null 2>&1
+%postun devel -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
%files -f %{name}.lang
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/dotlock
%attr(755,root,root) %{_bindir}/frm
%attr(755,root,root) %{_bindir}/from
+%if %{with guile}
%attr(755,root,root) %{_bindir}/guimb
+%endif
+%attr(755,root,root) %{_bindir}/mailutils
%attr(755,root,root) %{_bindir}/messages
+%attr(755,root,root) %{_bindir}/mimeview
%attr(755,root,root) %{_bindir}/movemail
+%attr(755,root,root) %{_bindir}/putmail
%attr(755,root,root) %{_bindir}/readmsg
%attr(755,root,root) %{_bindir}/sieve
-%attr(755,root,root) %{_bindir}/sieve.scm
%attr(755,root,root) %{_sbindir}/comsatd
-%attr(755,root,root) %{_libexecdir}/mail.local
-%attr(755,root,root) %{_libexecdir}/mail.remote
+%attr(755,root,root) %{_sbindir}/lmtpd
+%attr(755,root,root) %{_sbindir}/mda
+%dir %{mh_bindir}
+%attr(755,root,root) %{mh_bindir}/ali
+%attr(755,root,root) %{mh_bindir}/anno
+%attr(755,root,root) %{mh_bindir}/burst
+%attr(755,root,root) %{mh_bindir}/comp
+%attr(755,root,root) %{mh_bindir}/fmtcheck
+%attr(755,root,root) %{mh_bindir}/folder
+%attr(755,root,root) %{mh_bindir}/folders
+%attr(755,root,root) %{mh_bindir}/forw
+%attr(755,root,root) %{mh_bindir}/inc
+%attr(755,root,root) %{mh_bindir}/install-mh
+%attr(755,root,root) %{mh_bindir}/mark
+%attr(755,root,root) %{mh_bindir}/mhl
+%attr(755,root,root) %{mh_bindir}/mhn
+%attr(755,root,root) %{mh_bindir}/mhparam
+%attr(755,root,root) %{mh_bindir}/mhpath
+%attr(755,root,root) %{mh_bindir}/mhseq
+%attr(755,root,root) %{mh_bindir}/msgchk
+%attr(755,root,root) %{mh_bindir}/next
+%attr(755,root,root) %{mh_bindir}/pick
+%attr(755,root,root) %{mh_bindir}/prev
+%attr(755,root,root) %{mh_bindir}/prompter
+%attr(755,root,root) %{mh_bindir}/refile
+%attr(755,root,root) %{mh_bindir}/repl
+%attr(755,root,root) %{mh_bindir}/rmf
+%attr(755,root,root) %{mh_bindir}/rmm
+%attr(755,root,root) %{mh_bindir}/scan
+%attr(755,root,root) %{mh_bindir}/send
+%attr(755,root,root) %{mh_bindir}/show
+%attr(755,root,root) %{mh_bindir}/sortm
+%attr(755,root,root) %{mh_bindir}/whatnow
+%attr(755,root,root) %{mh_bindir}/whom
+%if "%{_libexecdir}" != "%{_libdir}"
+%dir %{_libexecdir}/mailutils
+%endif
+%attr(755,root,root) %{_libexecdir}/mailutils/mailutils-*
%dir %{_libdir}/mailutils
+%attr(755,root,root) %{_libdir}/mailutils/*.so
%{_datadir}/mailutils
+%if %{with guile}
+%{_datadir}/guile/site/2.*/mailutils
+%endif
+%if %{with python}
+%dir %{py_sitedir}/mailutils
+%attr(755,root,root) %{py_sitedir}/mailutils/c_api.so
+%dir %{py_sitescriptdir}/mailutils
+%{py_sitescriptdir}/mailutils/*.py[co]
+%endif
%{_infodir}/mailutils.info*
%files libs
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/lib*.so.*.*.*
+%attr(755,root,root) %{_libdir}/libmailutils.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmailutils.so.6
+%attr(755,root,root) %{_libdir}/libmu_auth.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmu_auth.so.6
+%if %{with cxx}
+%attr(755,root,root) %{_libdir}/libmu_cpp.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmu_cpp.so.6
+%endif
+%attr(755,root,root) %{_libdir}/libmu_dbm.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmu_dbm.so.6
+%attr(755,root,root) %{_libdir}/libmu_dotmail.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmu_dotmail.so.6
+%attr(755,root,root) %{_libdir}/libmu_imap.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmu_imap.so.6
+%attr(755,root,root) %{_libdir}/libmu_maildir.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmu_maildir.so.6
+%attr(755,root,root) %{_libdir}/libmu_mailer.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmu_mailer.so.6
+%attr(755,root,root) %{_libdir}/libmu_mbox.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmu_mbox.so.6
+%attr(755,root,root) %{_libdir}/libmu_mh.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmu_mh.so.6
+%if %{with nntp}
+%attr(755,root,root) %{_libdir}/libmu_nntp.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmu_nntp.so.6
+%endif
+%attr(755,root,root) %{_libdir}/libmu_pop.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmu_pop.so.6
+%if %{with python}
+%attr(755,root,root) %{_libdir}/libmu_py.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmu_py.so.6
+%endif
+%if %{with guile}
+%attr(755,root,root) %{_libdir}/libmu_scm.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmu_scm.so.6
+%endif
+%attr(755,root,root) %{_libdir}/libmu_sieve.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmu_sieve.so.6
+%attr(755,root,root) %{_libdir}/libmuaux.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmuaux.so.6
+%if %{with guile}
+%attr(755,root,root) %{_libdir}/libguile-mailutils-v-%{version}.so
+%endif
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/mailutils-config
-%attr(755,root,root) %{_libdir}/lib*.so
-%{_libdir}/lib*.la
+%attr(755,root,root) %{_libdir}/libmailutils.so
+%attr(755,root,root) %{_libdir}/libmu_auth.so
+%attr(755,root,root) %{_libdir}/libmu_dbm.so
+%attr(755,root,root) %{_libdir}/libmu_dotmail.so
+%attr(755,root,root) %{_libdir}/libmu_imap.so
+%attr(755,root,root) %{_libdir}/libmu_maildir.so
+%attr(755,root,root) %{_libdir}/libmu_mailer.so
+%attr(755,root,root) %{_libdir}/libmu_mbox.so
+%attr(755,root,root) %{_libdir}/libmu_mh.so
+%attr(755,root,root) %{_libdir}/libmu_pop.so
+%if %{with python}
+%attr(755,root,root) %{_libdir}/libmu_py.so
+%endif
+%if %{with guile}
+%attr(755,root,root) %{_libdir}/libmu_scm.so
+%endif
+%attr(755,root,root) %{_libdir}/libmu_sieve.so
+%attr(755,root,root) %{_libdir}/libmuaux.so
+%{_libdir}/libmailutils.la
+%{_libdir}/libmu_auth.la
+%{_libdir}/libmu_dbm.la
+%{_libdir}/libmu_dotmail.la
+%{_libdir}/libmu_imap.la
+%{_libdir}/libmu_maildir.la
+%{_libdir}/libmu_mailer.la
+%{_libdir}/libmu_mbox.la
+%{_libdir}/libmu_mh.la
+%{_libdir}/libmu_pop.la
+%if %{with python}
+%{_libdir}/libmu_py.la
+%endif
+%if %{with guile}
+%{_libdir}/libmu_scm.la
+%endif
+%{_libdir}/libmu_sieve.la
+%{_libdir}/libmuaux.la
+%if %{with cxx}
+%attr(755,root,root) %{_libdir}/libmu_cpp.so
+%{_libdir}/libmu_cpp.la
+%endif
+%if %{with nntp}
+%attr(755,root,root) %{_libdir}/libmu_nntp.so
+%{_libdir}/libmu_nntp.la
+%endif
%{_includedir}/mailutils
-%{_infodir}/muint.info*
+%{_aclocaldir}/mailutils.m4
%files static
%defattr(644,root,root,755)
-%{_libdir}/lib*.a
+%{_libdir}/libmailutils.a
+%{_libdir}/libmu_auth.a
+%if %{with cxx}
+%{_libdir}/libmu_cpp.a
+%endif
+%{_libdir}/libmu_dbm.a
+%{_libdir}/libmu_dotmail.a
+%{_libdir}/libmu_imap.a
+%{_libdir}/libmu_maildir.a
+%{_libdir}/libmu_mailer.a
+%{_libdir}/libmu_mbox.a
+%{_libdir}/libmu_mh.a
+%if %{with nntp}
+%{_libdir}/libmu_nntp.a
+%endif
+%{_libdir}/libmu_pop.a
+%if %{with python}
+%{_libdir}/libmu_py.a
+%endif
+%if %{with guile}
+%{_libdir}/libmu_scm.a
+%endif
+%{_libdir}/libmu_sieve.a
+%{_libdir}/libmuaux.a
%files -n gnu-mail
%defattr(644,root,root,755)
%files -n gnu-pop3d
%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/popauth
%attr(755,root,root) %{_sbindir}/pop3d
%{_mandir}/man1/pop3d.1*
%{_mandir}/man1/popauth.1*