SHA256
1
0
forked from pool/fetchmail
fetchmail/fetchmail.spec
Pedro Monreal Gonzalez a1351922ef Accepting request 829815 from home:pmonrealgonzalez:branches:server:mail
- 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
2020-08-27 16:26:56 +00:00

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