forked from pool/fetchmail
Pedro Monreal Gonzalez
a1351922ef
- Update fetchmail.keyring file - Use %{_prefix}/lib instead of %{_libexecdir} - update to 6.4.8: * Add a test program fm_realpath, and a t.realpath script, neither to be installed. These will test resolution of the current working directory. * TRANSLATION UPDATES * Plug memory leaks when parts of the configuration (defaults, rcfile, command line) override one another. * fetchmail terminated the placeholder command string too late and included garbage from the heap at the end of the string. Workaround: don't use place- holders %h or %p in the --plugin string. Bug added in 6.4.0 when merging Gitlab merge request !5 in order to fix an input buffer overrun. Faulty commit 418cda65f752e367fa663fd13884a45fcbc39ddd. * Fetchmail now checks for errors when trying to read the .idfile * Fetchmail's error messages that reports that the defaults entry isn't the first was made more precise. It could be misleading if there was a poll or skip statement before the defaults. * Fetchmail documentation was updated to require OpenSSL 1.1.1. OpenSSL 1.0.2 reached End Of Life status at the end of the year 2019. Fetchmail will tolerate, but warn about, 1.0.2 for now on the assumption that distributors backport security fixes as the need arises. Fetchmail will also warn if another SSL library that is API-compatible with OpenSSL lacks TLS v1.3 support. * If the trust anchor is missing, fetchmail refers the user to README.SSL. * The AC_DECLS(getenv) check was removed, its only user was broken and not accounting for that AC_DECLS always defines HAVE_DECL_... to 0 or 1, so fetchmail never declared a missing getenv() symbol (it was testing with #ifdef). Remove the backup declaration. getenv is mandated by SUSv2 anyways. * fetchmailconf now supports Python 3 and currently requires the "future" OBS-URL: https://build.opensuse.org/request/show/829815 OBS-URL: https://build.opensuse.org/package/show/server:mail/fetchmail?expand=0&rev=96
174 lines
5.5 KiB
RPMSpec
174 lines
5.5 KiB
RPMSpec
#
|
|
# spec file for package fetchmail
|
|
#
|
|
# Copyright (c) 2020 SUSE LLC
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
#Compat macro for new _fillupdir macro introduced in Nov 2017
|
|
%if ! %{defined _fillupdir}
|
|
%define _fillupdir /var/adm/fillup-templates
|
|
%endif
|
|
|
|
Name: fetchmail
|
|
Version: 6.4.8
|
|
Release: 0
|
|
Summary: Full-Featured POP and IMAP Mail Retrieval Daemon
|
|
License: GPL-2.0-or-later
|
|
URL: https://www.fetchmail.info/
|
|
Source: https://sourceforge.net/projects/%{name}/files/branch_6.4/%{name}-%{version}.tar.xz
|
|
Source1: https://sourceforge.net/projects/%{name}/files/branch_6.4/%{name}-%{version}.tar.xz.asc
|
|
Source2: %{name}.logrotate
|
|
Source3: sysconfig.%{name}
|
|
Source5: %{name}.keyring
|
|
Source6: %{name}.service
|
|
Source7: %{name}.tmpfiles
|
|
Source8: %{name}.exec
|
|
Patch0: fetchmail-6.3.8-smtp_errors.patch
|
|
BuildRequires: automake
|
|
BuildRequires: krb5-devel
|
|
BuildRequires: openssl-devel
|
|
BuildRequires: opie
|
|
BuildRequires: postfix
|
|
BuildRequires: procmail
|
|
BuildRequires: python3-base
|
|
BuildRequires: shadow
|
|
BuildRequires: systemd-rpm-macros
|
|
BuildRequires: xz
|
|
Requires: logrotate
|
|
Requires(pre): %fillup_prereq
|
|
Requires(pre): coreutils
|
|
Requires(pre): shadow
|
|
Suggests: smtp_daemon
|
|
Requires(pre): group(daemon)
|
|
%{?systemd_requires}
|
|
|
|
%description
|
|
Fetchmail is a robust and well-documented remote mail retrieval and
|
|
forwarding utility intended to be used over on-demand TCP/IP links
|
|
(such as SLIP or PPP connections).
|
|
|
|
Fetchmail retrieves mail from remote mail servers and forwards it to
|
|
your local machine's delivery system, so it can be read by normal mail
|
|
user agents, such as mutt, elm, pine, (x)emacs/gnus, or mailx.
|
|
|
|
fetchmailconf, an interactive GUI configurator suitable for end-users,
|
|
is included in the fetchmailconf package.
|
|
|
|
%package -n fetchmailconf
|
|
Summary: Fetchmail Configuration Utility
|
|
Requires: %{name} = %{version}
|
|
Requires: python3-future
|
|
Requires: python3-tk
|
|
|
|
%description -n fetchmailconf
|
|
A GUI configuration utility for generating fetchmail configuration
|
|
files (.fetchmailrc).
|
|
|
|
%prep
|
|
%setup -q
|
|
%patch0 -p1
|
|
cp -a %{SOURCE2} %{SOURCE3} .
|
|
|
|
ACLOCAL="aclocal -I m4 -I m4-local" autoreconf -fvi
|
|
|
|
%build
|
|
export CFLAGS="%{optflags} -fPIE"
|
|
%configure \
|
|
--enable-POP2 \
|
|
--enable-RPA \
|
|
--enable-NTLM \
|
|
--enable-SDPS \
|
|
--enable-opie \
|
|
--with-kerberos5 \
|
|
--with-gssapi \
|
|
--with-ssl=%{_prefix}
|
|
make %{?_smp_mflags} LDFLAGS="-pie"
|
|
|
|
%install
|
|
%make_install
|
|
ln -sf fetchmail.1.gz %{buildroot}/%{_mandir}/man1/fetchmailconf.1.gz
|
|
mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d
|
|
cp fetchmail.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/fetchmail
|
|
mkdir -p %{buildroot}/sbin
|
|
mkdir -p %{buildroot}/%{_unitdir}
|
|
mkdir -p %{buildroot}/%{_tmpfilesdir}
|
|
install -m 0644 %{SOURCE6} %{buildroot}/%{_unitdir}/%{name}.service
|
|
install -m 0644 %{SOURCE7} %{buildroot}/%{_tmpfilesdir}/%{name}.conf
|
|
install -m 0755 %{SOURCE8} %{buildroot}/%{_prefix}/lib/%{name}-systemd-exec
|
|
mkdir -p %{buildroot}%{_sbindir}
|
|
ln -s service %{buildroot}%{_sbindir}/rc%{name}
|
|
touch %{buildroot}%{_sysconfdir}/fetchmailrc
|
|
mkdir -p %{buildroot}%{_fillupdir}
|
|
cp sysconfig.%{name} %{buildroot}%{_fillupdir}
|
|
mkdir -p %{buildroot}%{_localstatedir}/log
|
|
touch %{buildroot}%{_localstatedir}/log/fetchmail
|
|
mkdir -p %{buildroot}%{_localstatedir}/lib/fetchmail
|
|
# we don't need this, it's aimed at fetchmail developers
|
|
# and rpmlint is complaining that we have a binary in /usr/share
|
|
rm -r contrib/gai*
|
|
%find_lang %{name}
|
|
|
|
%pre
|
|
/usr/bin/getent passwd fetchmail >/dev/null || \
|
|
/usr/sbin/useradd -r -g daemon -s /bin/false \
|
|
-c "mail retrieval daemon" -d %{_localstatedir}/lib/fetchmail fetchmail || :
|
|
%service_add_pre %{name}.service
|
|
|
|
%post
|
|
%fillup_only
|
|
%service_add_post %{name}.service
|
|
if [ -x /usr/bin/systemd-tmpfiles ]; then
|
|
systemd-tmpfiles --create %{name}.conf || :
|
|
fi
|
|
# Ensure that all files are readable by fetchmail with non-root UID.
|
|
touch var/log/fetchmail
|
|
chown fetchmail var/log/fetchmail
|
|
chmod 0600 var/log/fetchmail
|
|
|
|
%preun
|
|
%service_del_preun %{name}.service
|
|
|
|
%postun
|
|
%service_del_postun %{name}.service
|
|
if [ $1 = 0 ]; then
|
|
rm -rf var/lib/fetchmail
|
|
fi
|
|
|
|
%check
|
|
make %{?_smp_mflags} check
|
|
|
|
%files -f %{name}.lang
|
|
%license COPYING
|
|
%doc FAQ FEATURES NEWS NOTES OLDNEWS README README.NTLM README.SSL README.SSL-SERVER TODO contrib *.html *.txt *.pdf
|
|
%{_bindir}/fetchmail
|
|
%dir %attr(0700, fetchmail, root) %{_localstatedir}/lib/fetchmail
|
|
%ghost %attr(0600, fetchmail, root) %{_localstatedir}/log/fetchmail
|
|
%{_mandir}/man1/fetchmail.1.gz
|
|
%ghost %config(noreplace) %attr(0600, fetchmail, root) %{_sysconfdir}/fetchmailrc
|
|
%config(noreplace) %{_sysconfdir}/logrotate.d/fetchmail
|
|
%{_unitdir}/%{name}.service
|
|
%{_sbindir}/rc%{name}
|
|
%{_prefix}/lib/%{name}-systemd-exec
|
|
%{_tmpfilesdir}/%{name}.conf
|
|
%{_fillupdir}/sysconfig.%{name}
|
|
|
|
%files -n fetchmailconf
|
|
%{_bindir}/fetchmailconf
|
|
%{_mandir}/man1/fetchmailconf.1.gz
|
|
%{python3_sitelib}/fetchmailconf.*
|
|
%{python3_sitelib}/__pycache__/fetchmailconf*
|
|
|
|
%changelog
|