SHA256
1
0
forked from pool/mailx
mailx/mailx.spec
2018-11-19 10:53:20 +00:00

146 lines
5.9 KiB
RPMSpec

#
# spec file for package mailx
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# 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 http://bugs.opensuse.org/
#
Name: mailx
BuildRequires: groff
BuildRequires: krb5-devel
BuildRequires: man
BuildRequires: pcre
BuildRequires: pkg-config
BuildRequires: postfix
BuildRequires: update-alternatives
BuildRequires: pkgconfig(openssl)
Requires(post): update-alternatives
Requires(preun): update-alternatives
Url: http://heirloom.sourceforge.net/mailx.html
Provides: mail
Recommends: smtp_daemon
Version: 12.5
Release: 0
Summary: A MIME-Capable Implementation of the mailx Command
License: BSD-4-Clause AND MPL-1.1
Group: Productivity/Networking/Email/Utilities
Source: mailx-%{version}.tar.bz2
Patch: mailx-%{version}.dif
Patch1: nail-11.25-path.dif
Patch2: mailx-%{version}-replyto.patch
Patch3: nail-11.25-ttychar.dif
Patch4: nail-11.25-toaddr.dif
Patch5: mailx-%{version}-mime.dif
Patch6: mailx-fix-openssl.patch
#PATCH-FIX-OPENSUSE: Try to tranquilize gcc warning about parentheses (please check!)
Patch7: mailx-12.5-parentheses.dif
#PATCH-FIX-SUSE: Fix IPv6 address handling
Patch8: mailx-12.5-ipv6.dif
#PATCH-FIX-SUSE: bsc#909208 -- CVE-2004-2771, CVE-2014-7844: mailx: shell command injection via crafted email addresses
Patch9: 0001-outof-Introduce-expandaddr-flag.patch
#PATCH-FIX-SUSE: bsc#909208 -- CVE-2004-2771, CVE-2014-7844: mailx: shell command injection via crafted email addresses
Patch10: 0002-unpack-Disable-option-processing-for-email-addresses.patch
#PATCH-FIX-SUSE: bsc#909208 -- CVE-2004-2771, CVE-2014-7844: mailx: shell command injection via crafted email addresses
Patch11: 0003-fio.c-Unconditionally-require-wordexp-support.patch
#PATCH-FIX-SUSE: bsc#909208 -- CVE-2004-2771, CVE-2014-7844: mailx: shell command injection via crafted email addresses
Patch12: 0004-globname-Invoke-wordexp-with-WRDE_NOCMD-CVE-2004-277.patch
#PATCH-FIX-SUSE: bsc#1042663 -- mailx fails to build with openssl-1.1
Patch13: mailx-12.5-openssl-1.1.0f.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Nail is a mail user agent derived from Berkeley Mail 8.1. It is
intended to provide the functionality of the POSIX.2 mailx command with
additional support for MIME messages, POP3, and SMTP. In recent system
environments, nail is Unicode/UTF-8 capable. Further, it contains some
minor enhancements like the ability to set a "From:" address.
%prep
%setup -q -n mailx-%{version}
%patch1 -p0 -b .path
%patch2 -p0 -b .rplyto
%patch3 -p0 -b .ttychr
%patch4 -p0 -b .toaddr
%patch5 -p0 -b .mime
%patch6 -p0 -b .ssl
%patch7 -p0 -b .par
%patch8 -p0 -b .ipv6
%patch9 -p1 -b .0001
%patch10 -p1 -b .0002
%patch11 -p1 -b .0003
%patch12 -p1 -b .0004
%patch13 -p0 -b .ssl11f
%patch -p1 -b .0
%build
CC=gcc
CFLAGS="%{optflags} -pipe -D_GNU_SOURCE -DOPENSSL_NO_SSL_INTERN $(pkg-config --cflags openssl)"
export CC CFLAGS
$SHELL ./makeconfig
make %{?_smp_mflags} PREFIX=/usr CC="$CC" CFLAGS="$CFLAGS"
tbl < mailx.1 | groff -mandocdb -Tps | grep -v %%%%CreationDate > manual.ps
gzip -9fn manual.ps
%install
%make_install PREFIX=/usr
rm -rf %{buildroot}/bin
mkdir %{buildroot}/bin
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
ln -sf %{_sysconfdir}/alternatives/binmail %{buildroot}/bin/mail
ln -sf %{_sysconfdir}/alternatives/Mail %{buildroot}/usr/bin/Mail
ln -sf %{_sysconfdir}/alternatives/mail %{buildroot}/usr/bin/mail
ln -sf %{_sysconfdir}/alternatives/Mail.1%{?ext_man} %{buildroot}%{_mandir}/man1/Mail.1%{?ext_man}
ln -sf %{_sysconfdir}/alternatives/mail.1%{?ext_man} %{buildroot}%{_mandir}/man1/mail.1%{?ext_man}
#
ln -sf %{_bindir}/mailx %{buildroot}%{_sysconfdir}/alternatives/binmail
ln -sf %{_bindir}/mailx %{buildroot}%{_sysconfdir}/alternatives/Mail
ln -sf %{_bindir}/mailx %{buildroot}%{_sysconfdir}/alternatives/mail
ln -sf %{_mandir}/man1/mailx.1%{?ext_man} %{buildroot}%{_sysconfdir}/alternatives/Mail.1%{?ext_man}
ln -sf %{_mandir}/man1/mailx.1%{?ext_man} %{buildroot}%{_sysconfdir}/alternatives/mail.1%{?ext_man}
install -m 0644 mail.rc %{buildroot}/etc
mkdir -p %{buildroot}%{_defaultdocdir}/%{name}
%post
%{_sbindir}/update-alternatives --quiet --force \
--install %{_bindir}/mail mail %{_bindir}/mailx 20 \
--slave /bin/mail binmail %{_bindir}/mailx \
--slave %{_bindir}/Mail Mail %{_bindir}/mailx \
--slave %{_mandir}/man1/mail.1%{?ext_man} mail.1%{?ext_man} %{_mandir}/man1/mailx.1%{?ext_man} \
--slave %{_mandir}/man1/Mail.1%{?ext_man} Mail.1%{?ext_man} %{_mandir}/man1/mailx.1%{?ext_man}
%preun
if test ! -e %{_bindir}/mailx; then
%{_sbindir}/update-alternatives --quiet --force --remove mail %{_bindir}/mailx
fi
%files
%defattr(-,root,root)
%license COPYING
%doc README manual.ps.gz nail.rc
/bin/mail
%config /etc/mail.rc
%ghost %config %{_sysconfdir}/alternatives/binmail
%ghost %config %{_sysconfdir}/alternatives/Mail
%ghost %config %{_sysconfdir}/alternatives/mail
%ghost %config %{_sysconfdir}/alternatives/Mail.1%{?ext_man}
%ghost %config %{_sysconfdir}/alternatives/mail.1%{?ext_man}
/usr/bin/Mail
/usr/bin/mail
/usr/bin/mailx
%doc %{_mandir}/man1/Mail.1.gz
%doc %{_mandir}/man1/mail.1.gz
%doc %{_mandir}/man1/mailx.1.gz
%changelog