SHA256
1
0
forked from pool/exim

- update to 4.97.1 (bsc#1218387, CVE-2023-51766):

* Fixes for the smtp protocol smuggling (CVE-2023-51766)

    passed over a connection could use BDAT; any further ones using DATA.
    proxy.
- Update eximstats-html-update.py to run under Python 3.
 * CVE-2019-13917: Fixed an issue with ${sort} expansion which could
   allow remote attackers to execute other programs with root privileges
- Replace xorg-x11-devel by individual pkgconfig() buildrequires.
- Replace references to /var/adm/fillup-templates with new
    + fix CVE-2016-1531
      argument.

OBS-URL: https://build.opensuse.org/package/show/server:mail/exim?expand=0&rev=285
This commit is contained in:
Dirk Mueller 2023-12-30 15:37:11 +00:00 committed by Git OBS Bridge
parent dd0e2195ac
commit 5e68cef9d9
6 changed files with 195 additions and 192 deletions

3
exim-4.97.1.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3a9614ac5b5d10dd98bfc7594561503a51a89c2ccbc52bca3153ee98af1cb37a
size 2071215

11
exim-4.97.1.tar.bz2.asc Normal file
View File

@ -0,0 +1,11 @@
-----BEGIN PGP SIGNATURE-----
iQFEBAABCAAuFiEEqYbzpr1jd9hzCVjevOWMjOQfMt8FAmWJz+4QHGpnaEB3aXpt
YWlsLm9yZwAKCRC85YyM5B8y36vHB/91YtRyZA32+VbpdOjNE+c+gHIFo8qSgzsz
ZqwoJCcx7oXis4+0HHghXuXHhkunBj7uQfOZlM1vbkIJs3tc0PKYvCYVzILX6Fta
MGhz9xAuyY0iIgvP3khvOHlT7GDgU6OQ+r05Adr/Gicls2NXuHkfG4BRDcMO3NVX
J/flHg76Z0xAzxV4lKyDXIPFkRnGw6CGUbascpjzoyZNOfx9TXysVhU8URPkZfLV
d+DnlbJ5PQgrPM24Z0EcjgpydPl1uAGmCyrb9TfhurC+eo6eEyLaiDgF+dFz032y
Lh7JiRsKWZR1PU38ahPaUAg+1qsw9I6WHGiD/04LlQiyDwJBTQZR
=uIow
-----END PGP SIGNATURE-----

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f0f6141b126a929e431d6ac8af3d6a1e310621ffe1f628b7b0de1e9b05488bfd
size 2077471

View File

@ -1,11 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQFEBAABCAAuFiEEqYbzpr1jd9hzCVjevOWMjOQfMt8FAmVGQN8QHGpnaEB3aXpt
YWlsLm9yZwAKCRC85YyM5B8y38ukCADMRsjAIBe/tFwrh0pXkHQNJISfuZaCjGWL
KzIF3LEAaPhV2VSeFIUjBIiLmxjrIAMev3hbHk/O49XEzXXsobazF/G/zNJeMTY9
uWEc+gzkztD5I1eWVbEp0MxHxo7IGf3NWHqKzA3kOdYpPhTdyX9Td9uIYvNnXSfj
Byo8OxUExu34iLaUB9g5I6ja3o799rxZ9XWHdOTIDjD96fYEQq2N0GVsuwa+Gy76
ePZPS4KONmYRbr0Mhgk3CpFzFwn+x4xoNKmFvxNRdq1qeQOqiEr07dS0/Tk210LZ
A5Xg5mooj877FeXxUNlYVcJgqZpt/pRFdgptEfQhyhCOX24TiHgU
=mtGN
-----END PGP SIGNATURE-----

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Sat Dec 30 15:35:31 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 4.97.1 (bsc#1218387, CVE-2023-51766):
* Fixes for the smtp protocol smuggling (CVE-2023-51766)
-------------------------------------------------------------------
Tue Nov 7 09:03:46 UTC 2023 - Peter Wullinger <wullinger@rz.uni-kiel.de> Tue Nov 7 09:03:46 UTC 2023 - Peter Wullinger <wullinger@rz.uni-kiel.de>
- update to exim 4.97 - update to exim 4.97

326
exim.spec
View File

@ -18,85 +18,31 @@
#Compat macro for new _fillupdir macro introduced in Nov 2017 #Compat macro for new _fillupdir macro introduced in Nov 2017
%if ! %{defined _fillupdir} %if ! %{defined _fillupdir}
%define _fillupdir /var/adm/fillup-templates %define _fillupdir %{_localstatedir}/adm/fillup-templates
%endif %endif
%bcond_without mysql %bcond_without mysql
%bcond_without pgsql %bcond_without pgsql
%bcond_without sqlite %bcond_without sqlite
%bcond_without ldap %bcond_without ldap
%bcond_without i18n %bcond_without i18n
%if 0%{?suse_version} > 1199 || 0%{?centos_version} > 599 || 0%{?rhel_version} > 599 %if 0%{?suse_version} > 1199 || 0%{?centos_version} > 599 || 0%{?rhel_version} > 599
%bcond_without dane %bcond_without dane
%else %else
%bcond_with dane %bcond_with dane
%endif %endif
Name: exim Name: exim
BuildRequires: cyrus-sasl-devel Version: 4.97.1
BuildRequires: db-devel
BuildRequires: libidn-devel
%if 0%{?suse_version} >= 1330 && 0%{?suse_version} < 1599
BuildRequires: libnsl-devel
%endif
BuildRequires: libspf2-devel
BuildRequires: pam-devel
%if %{with_ldap}
BuildRequires: openldap2-devel
%endif
BuildRequires: pcre2-devel
BuildRequires: tcpd-devel
BuildRequires: pkgconfig(libcrypto)
BuildRequires: pkgconfig(libssl)
BuildRequires: pkgconfig(xaw7)
BuildRequires: pkgconfig(xmu)
BuildRequires: pkgconfig(xt)
URL: http://www.exim.org/
Conflicts: postfix
Conflicts: sendmail
Conflicts: sendmail-tls
Provides: smtp_daemon
%if %{?suse_version:%suse_version}%{?!suse_version:0} > 800
Requires: logrotate
BuildRequires: perl-File-FcntlLock
Requires: perl-File-FcntlLock
%if 0%{?suse_version} > 1220
BuildRequires: pkgconfig(systemd)
%{?systemd_requires}
%else
Requires(pre): %insserv_prereq
%endif
Requires(pre): %fillup_prereq permissions
%if 0%{?suse_version} >= 1330
BuildRequires: group(mail)
BuildRequires: user(mail)
Requires(pre): user(mail)
Requires(pre): group(mail)
%endif
Requires(pre): fileutils textutils
%endif
Version: 4.97
Release: 0 Release: 0
%if %{with_mysql}
BuildRequires: mysql-devel
%endif
%if %{with_pgsql}
BuildRequires: postgresql-devel
%endif
%if %{with_sqlite}
BuildRequires: sqlite3-devel
%endif
Summary: The Exim Mail Transfer Agent, a Replacement for sendmail Summary: The Exim Mail Transfer Agent, a Replacement for sendmail
License: GPL-2.0-or-later License: GPL-2.0-or-later
Group: Productivity/Networking/Email/Servers Group: Productivity/Networking/Email/Servers
BuildRoot: %{_tmppath}/%{name}-%{version}-build URL: https://www.exim.org/
Source: http://ftp.exim.org/pub/exim/exim4/exim-%{version}.tar.bz2 Source: https://ftp.exim.org/pub/exim/exim4/exim-%{version}.tar.bz2
Source3: http://ftp.exim.org/pub/exim/exim4/exim-%{version}.tar.bz2.asc
# http://ftp.exim.org/pub/exim/Exim-Maintainers-Keyring.asc
Source4: exim.keyring
Source1: sysconfig.exim Source1: sysconfig.exim
Source2: exim.logrotate Source2: exim.logrotate
Source3: https://ftp.exim.org/pub/exim/exim4/exim-%{version}.tar.bz2.asc
# http://ftp.exim.org/pub/exim/Exim-Maintainers-Keyring.asc
Source4: exim.keyring
Source11: exim.rc Source11: exim.rc
Source12: permissions.exim Source12: permissions.exim
Source13: apparmor.usr.sbin.exim Source13: apparmor.usr.sbin.exim
@ -107,6 +53,59 @@ Source40: exim.service
Source41: exim_db.8.gz Source41: exim_db.8.gz
Patch0: exim-tail.patch Patch0: exim-tail.patch
Patch1: gnu_printf.patch Patch1: gnu_printf.patch
BuildRequires: cyrus-sasl-devel
BuildRequires: db-devel
BuildRequires: libidn-devel
BuildRequires: libspf2-devel
BuildRequires: pam-devel
BuildRequires: pcre2-devel
BuildRequires: pkgconfig
BuildRequires: tcpd-devel
BuildRequires: pkgconfig(libcrypto)
BuildRequires: pkgconfig(libssl)
BuildRequires: pkgconfig(xaw7)
BuildRequires: pkgconfig(xmu)
BuildRequires: pkgconfig(xt)
Conflicts: postfix
Conflicts: sendmail
Conflicts: sendmail-tls
Provides: smtp_daemon
%if 0%{?suse_version} >= 1330 && 0%{?suse_version} < 1599
BuildRequires: libnsl-devel
%endif
%if %{with_ldap}
BuildRequires: openldap2-devel
%endif
%if %{?suse_version:%suse_version}%{?!suse_version:0} > 800
BuildRequires: perl-File-FcntlLock
Requires: logrotate
Requires: perl-File-FcntlLock
Requires(pre): %fillup_prereq
Requires(pre): fileutils
Requires(pre): permissions
Requires(pre): textutils
%if 0%{?suse_version} > 1220
BuildRequires: pkgconfig(systemd)
%{?systemd_requires}
%else
Requires(pre): %insserv_prereq
%endif
%if 0%{?suse_version} >= 1330
BuildRequires: group(mail)
BuildRequires: user(mail)
Requires(pre): group(mail)
Requires(pre): user(mail)
%endif
%endif
%if %{with_mysql}
BuildRequires: mysql-devel
%endif
%if %{with_pgsql}
BuildRequires: postgresql-devel
%endif
%if %{with_sqlite}
BuildRequires: sqlite3-devel
%endif
%package -n eximon %package -n eximon
Summary: Eximon, an graphical frontend to administer Exim's mail queue Summary: Eximon, an graphical frontend to administer Exim's mail queue
@ -136,13 +135,13 @@ header of mails.
%description -n eximstats-html %description -n eximstats-html
If this package is installed alongside the exim MTA, and you enable If this package is installed alongside the exim MTA, and you enable
EXIM_REPORT_WEEKLY_HTML in /etc/sysconfig/exim, logrotate/cron will EXIM_REPORT_WEEKLY_HTML in %{_sysconfdir}/sysconfig/exim, logrotate/cron will
create HTML reports in /srv/www/eximstats. create HTML reports in /srv/www/eximstats.
You can edit /etc/apache2/conf.d/eximstats.conf to configure your You can edit %{_sysconfdir}/apache2/conf.d/eximstats.conf to configure your
webserver for the reports. webserver for the reports.
The script /usr/sbin/eximstats-html-update.py can create the reports The script %{_sbindir}/eximstats-html-update.py can create the reports
for log files that were rotated in the past. (You would only run this for log files that were rotated in the past. (You would only run this
once, if at all. The rest is done by logrotate / cron.) once, if at all. The rest is done by logrotate / cron.)
@ -160,11 +159,11 @@ CFLAGS_OPT_WERROR="-Werror=format-security -Werror=missing-format-attribute"
%endif %endif
cat <<-EOF > Local/Makefile cat <<-EOF > Local/Makefile
# see src/EDITME for comments. # see src/EDITME for comments.
BIN_DIRECTORY=/usr/sbin BIN_DIRECTORY=%{_sbindir}
CONFIGURE_FILE=/etc/exim/exim.conf CONFIGURE_FILE=%{_sysconfdir}/exim/exim.conf
EXIM_USER=ref:mail EXIM_USER=ref:mail
EXIM_GROUP=ref:mail EXIM_GROUP=ref:mail
SPOOL_DIRECTORY=/var/spool/exim SPOOL_DIRECTORY=%{_localstatedir}/spool/exim
ROUTER_ACCEPT=yes ROUTER_ACCEPT=yes
ROUTER_DNSLOOKUP=yes ROUTER_DNSLOOKUP=yes
ROUTER_IPLITERAL=yes ROUTER_IPLITERAL=yes
@ -206,21 +205,21 @@ cat <<-EOF > Local/Makefile
# LOOKUP_NISPLUS=yes # LOOKUP_NISPLUS=yes
LOOKUP_PASSWD=yes LOOKUP_PASSWD=yes
# LOOKUP_WHOSON=yes # LOOKUP_WHOSON=yes
CYRUS_SASLAUTHD_SOCKET=/var/run/sasl2/mux CYRUS_SASLAUTHD_SOCKET=%{_localstatedir}/run/sasl2/mux
%if %{with_ldap} %if %{with_ldap}
LDAP_LIB_TYPE=OPENLDAP2 LDAP_LIB_TYPE=OPENLDAP2
LOOKUP_LIBS+=-llber -lldap LOOKUP_LIBS+=-llber -lldap
%endif %endif
%if %{with_mysql} %if %{with_mysql}
LOOKUP_INCLUDE+=-I /usr/include/mysql LOOKUP_INCLUDE+=-I %{_includedir}/mysql
LOOKUP_LIBS+=-L %{_libdir}/mysql -lmysqlclient LOOKUP_LIBS+=-L %{_libdir}/mysql -lmysqlclient
%endif %endif
%if %{with_pgsql} %if %{with_pgsql}
LOOKUP_INCLUDE+=-I /usr/include/pgsql LOOKUP_INCLUDE+=-I %{_includedir}/pgsql
LOOKUP_LIBS+=-lpq LOOKUP_LIBS+=-lpq
%endif %endif
%if %{with_sqlite} %if %{with_sqlite}
LOOKUP_INCLUDE+=-I /usr/include/sqlite3 LOOKUP_INCLUDE+=-I %{_includedir}/sqlite3
LOOKUP_LIBS+=-lsqlite3 LOOKUP_LIBS+=-lsqlite3
%endif %endif
EXIM_MONITOR=eximon.bin EXIM_MONITOR=eximon.bin
@ -236,24 +235,24 @@ cat <<-EOF > Local/Makefile
USE_OPENSSL=yes USE_OPENSSL=yes
TLS_LIBS=-lssl -lcrypto TLS_LIBS=-lssl -lcrypto
INFO_DIRECTORY=%{_infodir} INFO_DIRECTORY=%{_infodir}
LOG_FILE_PATH=/var/log/exim/%%s.log LOG_FILE_PATH=%{_localstatedir}/log/exim/%%s.log
EXICYCLOG_MAX=10 EXICYCLOG_MAX=10
SYSLOG_LOG_PID=yes SYSLOG_LOG_PID=yes
SYSLOG_LONG_LINES=yes SYSLOG_LONG_LINES=yes
COMPRESS_COMMAND=/bin/gzip COMPRESS_COMMAND=/bin/gzip
COMPRESS_SUFFIX=gz COMPRESS_SUFFIX=gz
ZCAT_COMMAND=/usr/bin/zcat ZCAT_COMMAND=%{_bindir}/zcat
SUPPORT_PAM=yes SUPPORT_PAM=yes
# You probably need to add -lpam to EXTRALIBS # You probably need to add -lpam to EXTRALIBS
# RADIUS_CONFIG_FILE=/etc/radiusclient/radiusclient.conf # RADIUS_CONFIG_FILE=%{_sysconfdir}/radiusclient/radiusclient.conf
# CYRUS_PWCHECK_SOCKET=/var/pwcheck/pwcheck # CYRUS_PWCHECK_SOCKET=%{_localstatedir}/pwcheck/pwcheck
# USE_TCP_WRAPPERS=yes # USE_TCP_WRAPPERS=yes
NO_SYMLINK=yes NO_SYMLINK=yes
CHOWN_COMMAND=/bin/chown CHOWN_COMMAND=/bin/chown
CHGRP_COMMAND=/bin/chgrp CHGRP_COMMAND=/bin/chgrp
MV_COMMAND=/bin/mv MV_COMMAND=/bin/mv
RM_COMMAND=/bin/rm RM_COMMAND=/bin/rm
PERL_COMMAND=/usr/bin/perl PERL_COMMAND=%{_bindir}/perl
# APPENDFILE_MODE=0600 # APPENDFILE_MODE=0600
# APPENDFILE_DIRECTORY_MODE=0700 # APPENDFILE_DIRECTORY_MODE=0700
# APPENDFILE_LOCKFILE_MODE=0600 # APPENDFILE_LOCKFILE_MODE=0600
@ -275,7 +274,7 @@ cat <<-EOF > Local/Makefile
# PERL_CC= # PERL_CC=
# PERL_CCOPTS= # PERL_CCOPTS=
# PERL_LIBS= # PERL_LIBS=
PID_FILE_PATH=/var/run/exim.pid PID_FILE_PATH=%{_localstatedir}/run/exim.pid
# SPOOL_DIRECTORY_MODE=0750 # SPOOL_DIRECTORY_MODE=0750
# SPOOL_MODE=0640 # SPOOL_MODE=0640
SUPPORT_MOVE_FROZEN_MESSAGES=yes SUPPORT_MOVE_FROZEN_MESSAGES=yes
@ -289,7 +288,7 @@ cat <<-EOF > Local/Makefile
EXPERIMENTAL_PROXY=yes EXPERIMENTAL_PROXY=yes
EXPERIMENTAL_CERTNAMES=yes EXPERIMENTAL_CERTNAMES=yes
EXPERIMENTAL_DSN=yes EXPERIMENTAL_DSN=yes
SYSTEM_ALIASES_FILE=/etc/aliases SYSTEM_ALIASES_FILE=%{_sysconfdir}/aliases
# enable SRS # enable SRS
SUPPORT_SRS=yes SUPPORT_SRS=yes
%if %{with dane} %if %{with dane}
@ -300,73 +299,73 @@ cat <<-EOF > Local/Makefile
EXPERIMENTAL_INTERNATIONAL=yes EXPERIMENTAL_INTERNATIONAL=yes
%endif %endif
LDFLAGS += -lidn LDFLAGS += -lidn
CFLAGS=$RPM_OPT_FLAGS -std=gnu99 -Wall $CFLAGS_OPT_WERROR -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DLDAP_DEPRECATED $fPIE CFLAGS=%{optflags} -std=gnu99 -Wall $CFLAGS_OPT_WERROR -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DLDAP_DEPRECATED $fPIE
EXTRALIBS=-ldl -lpam -L/usr/X11R6/%{_lib} $pie EXTRALIBS=-ldl -lpam -L/usr/X11R6/%{_lib} $pie
EOF EOF
touch Local/eximon.conf touch Local/eximon.conf
rm -f doc/*.{orig,txt~} rm -f doc/*.{orig,txt~}
%build %build
make %make_build
%install %install
%if 0%{?suse_version} > 1220 %if 0%{?suse_version} > 1220
mkdir -p $RPM_BUILD_ROOT/%{_unitdir} mkdir -p %{buildroot}/%{_unitdir}
%else %else
mkdir -p $RPM_BUILD_ROOT/etc/init.d mkdir -p %{buildroot}%{_initddir}
%endif %endif
%if 0%{?suse_version} > 1500 %if 0%{?suse_version} > 1500
mkdir -p $RPM_BUILD_ROOT%{_distconfdir}/logrotate.d mkdir -p %{buildroot}%{_distconfdir}/logrotate.d
%else %else
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d
%endif %endif
mkdir -p $RPM_BUILD_ROOT/usr/{bin,sbin,lib} mkdir -p %{buildroot}%{_prefix}/{bin,sbin,lib}
mkdir -p $RPM_BUILD_ROOT/var/log/exim mkdir -p %{buildroot}%{_localstatedir}/log/exim
mkdir -p $RPM_BUILD_ROOT/var/spool/mail/ mkdir -p %{buildroot}%{_localstatedir}/spool/mail/
ln -s spool/mail $RPM_BUILD_ROOT/var ln -s spool/mail %{buildroot}%{_localstatedir}
mkdir -p $RPM_BUILD_ROOT%{_fillupdir} mkdir -p %{buildroot}%{_fillupdir}
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man8 mkdir -p %{buildroot}%{_mandir}/man8
mkdir -p $RPM_BUILD_ROOT/usr/bin mkdir -p %{buildroot}%{_bindir}
make inst_dest=$RPM_BUILD_ROOT/usr/sbin \ make inst_dest=%{buildroot}%{_sbindir} \
inst_conf=$RPM_BUILD_ROOT/etc/exim/exim.conf \ inst_conf=%{buildroot}%{_sysconfdir}/exim/exim.conf \
inst_info=$RPM_BUILD_ROOT/%{_infodir} \ inst_info=%{buildroot}/%{_infodir} \
INSTALL_ARG=-no_chown install INSTALL_ARG=-no_chown install
#mv $RPM_BUILD_ROOT/usr/sbin/exim-%{version}* $RPM_BUILD_ROOT/usr/sbin/exim #mv $RPM_BUILD_ROOT/usr/sbin/exim-%{version}* $RPM_BUILD_ROOT/usr/sbin/exim
mv $RPM_BUILD_ROOT/usr/sbin/exim-4.9* $RPM_BUILD_ROOT/usr/sbin/exim mv %{buildroot}%{_sbindir}/exim-4.9* %{buildroot}%{_sbindir}/exim
mv $RPM_BUILD_ROOT/etc/exim/exim.conf src/configure.default # with all substitutions done mv %{buildroot}%{_sysconfdir}/exim/exim.conf src/configure.default # with all substitutions done
%if 0%{?suse_version} > 1220 %if 0%{?suse_version} > 1220
install -m 0644 %{S:40} $RPM_BUILD_ROOT/%{_unitdir}/exim.service install -m 0644 %{SOURCE40} %{buildroot}/%{_unitdir}/exim.service
%else %else
install -m 0755 %{S:11} $RPM_BUILD_ROOT/etc/init.d/exim install -m 0755 %{SOURCE11} %{buildroot}%{_initddir}/exim
%endif %endif
# aka... # aka...
for i in \ for i in \
/usr/lib/sendmail \ %{_prefix}/lib/sendmail \
/usr/bin/runq \ %{_bindir}/runq \
/usr/bin/rsmtp \ %{_bindir}/rsmtp \
/usr/bin/mailq \ %{_bindir}/mailq \
/usr/bin/newaliases %{_bindir}/newaliases
do do
ln -sf ../sbin/exim $RPM_BUILD_ROOT$i ln -sf ../sbin/exim $RPM_BUILD_ROOT$i
done done
ln -sf exim $RPM_BUILD_ROOT/usr/sbin/sendmail ln -sf exim %{buildroot}%{_sbindir}/sendmail
%if 0%{?suse_version} > 1220 %if 0%{?suse_version} > 1220
ln -sv service $RPM_BUILD_ROOT/usr/sbin/rcexim ln -sv service %{buildroot}%{_sbindir}/rcexim
%else %else
ln -sv ../../etc/init.d/exim $RPM_BUILD_ROOT/usr/sbin/rcexim ln -sv ../..%{_initddir}/exim %{buildroot}%{_sbindir}/rcexim
%endif %endif
mv $RPM_BUILD_ROOT/usr/sbin/eximon* $RPM_BUILD_ROOT/usr/bin/ mv %{buildroot}%{_sbindir}/eximon* %{buildroot}%{_bindir}/
cp -p %{S:1} $RPM_BUILD_ROOT%{_fillupdir}/sysconfig.exim cp -p %{SOURCE1} %{buildroot}%{_fillupdir}/sysconfig.exim
%if 0%{?suse_version} > 1500 %if 0%{?suse_version} > 1500
install -m 0644 %{S:2} $RPM_BUILD_ROOT%{_distconfdir}/logrotate.d/exim install -m 0644 %{SOURCE2} %{buildroot}%{_distconfdir}/logrotate.d/exim
%else %else
install -m 0644 %{S:2} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/exim install -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/exim
%endif %endif
# man pages # man pages
mv doc/exim.8 $RPM_BUILD_ROOT/%{_mandir}/man8/ mv doc/exim.8 %{buildroot}/%{_mandir}/man8/
cp $RPM_SOURCE_DIR/exim_db.8.gz $RPM_BUILD_ROOT/%{_mandir}/man8 cp $RPM_SOURCE_DIR/exim_db.8.gz %{buildroot}/%{_mandir}/man8
gunzip $RPM_BUILD_ROOT/%{_mandir}/man8/exim_db.8.gz gunzip %{buildroot}/%{_mandir}/man8/exim_db.8.gz
pod2man --center=EXIM --section=8 $RPM_BUILD_ROOT/usr/sbin/eximstats > $RPM_BUILD_ROOT/%{_mandir}/man8/eximstats.8 pod2man --center=EXIM --section=8 %{buildroot}%{_sbindir}/eximstats > %{buildroot}/%{_mandir}/man8/eximstats.8
for i in \ for i in \
sendmail \ sendmail \
runq \ runq \
@ -374,32 +373,32 @@ for i in \
mailq \ mailq \
newaliases newaliases
do do
ln -sf exim.8.gz $RPM_BUILD_ROOT/%{_mandir}/man8/$i.8.gz ln -sf exim.8.gz %{buildroot}/%{_mandir}/man8/$i.8.gz
done done
for i in \ for i in \
exim_dumpdb \ exim_dumpdb \
exim_fixdb \ exim_fixdb \
exim_tidydb exim_tidydb
do do
ln -sf exim_db.8.gz $RPM_BUILD_ROOT/%{_mandir}/man8/$i.8.gz ln -sf exim_db.8.gz %{buildroot}/%{_mandir}/man8/$i.8.gz
done done
perl -pi -e 's%/usr/share/doc/exim4%/usr/share/doc/packages/exim%g' `find $RPM_BUILD_ROOT/%{_mandir}/man8 -name "*.8"` perl -pi -e 's%%{_datadir}/doc/exim4%%{_docdir}/exim%{g}' `find %{buildroot}/%{_mandir}/man8 -name "*.8"`
gzip -9 doc/*.txt gzip -9 doc/*.txt
# #
# package the utilities without executable permissions, to silence rpmlint warnings # package the utilities without executable permissions, to silence rpmlint warnings
chmod 644 util/*.{pl,sh} src/convert4r* chmod 644 util/*.{pl,sh} src/convert4r*
# #
# eximstats-html files # eximstats-html files
mkdir -p $RPM_BUILD_ROOT/srv/www/eximstats mkdir -p %{buildroot}/srv/www/eximstats
mkdir -p $RPM_BUILD_ROOT/etc/apache2/conf.d/ mkdir -p %{buildroot}%{_sysconfdir}/apache2/conf.d/
%if 0%{?suse_version} == 0 || 0%{?suse_version} > 1310 %if 0%{?suse_version} == 0 || 0%{?suse_version} > 1310
cp -p %{S:31} $RPM_BUILD_ROOT/etc/apache2/conf.d/ cp -p %{SOURCE31} %{buildroot}%{_sysconfdir}/apache2/conf.d/
%else %else
cp -p %{S:32} $RPM_BUILD_ROOT/etc/apache2/conf.d/eximstats.conf cp -p %{SOURCE32} %{buildroot}%{_sysconfdir}/apache2/conf.d/eximstats.conf
%endif %endif
install -m 0755 $RPM_SOURCE_DIR/eximstats-html-update.py $RPM_BUILD_ROOT/%{_sbindir} install -m 0755 $RPM_SOURCE_DIR/eximstats-html-update.py %{buildroot}/%{_sbindir}
# apparmor profile # apparmor profile
install -D -m 0644 $RPM_SOURCE_DIR/apparmor.usr.sbin.exim $RPM_BUILD_ROOT/usr/share/apparmor/extra-profiles/usr.sbin.exim install -D -m 0644 $RPM_SOURCE_DIR/apparmor.usr.sbin.exim %{buildroot}%{_datadir}/apparmor/extra-profiles/usr.sbin.exim
%pretrans -p <lua> %pretrans -p <lua>
docdir = rpm.expand('%{_docdir}') docdir = rpm.expand('%{_docdir}')
@ -441,26 +440,25 @@ done
%if 0%{?suse_version} < 1131 %if 0%{?suse_version} < 1131
%run_permissions %run_permissions
%else %else
%set_permissions /usr/sbin/exim %set_permissions %{_sbindir}/exim
%endif %endif
if ! test -s etc/exim/exim.conf; then if ! test -s etc/exim/exim.conf; then
if test -s etc/exim.conf; then if test -s etc/exim.conf; then
mv etc/exim.conf etc/exim/ mv etc/exim.conf etc/exim/
echo moving exim.conf to /etc/exim/ echo moving exim.conf to %{_sysconfdir}/exim/
else else
cp -p usr/share/doc/packages/%{name}/configure.default etc/exim/exim.conf cp -p usr/share/doc/packages/%{name}/configure.default etc/exim/exim.conf
echo copying default config file to /etc/exim/exim.conf echo copying default config file to %{_sysconfdir}/exim/exim.conf
fi fi
fi fi
%if 0%{?suse_version} > 1220 %if 0%{?suse_version} > 1220
%{fillup_only} %fillup_only
%service_add_post exim.service %service_add_post exim.service
%else %else
%{fillup_and_insserv exim} %{fillup_and_insserv exim}
%endif %endif
exit 0 exit 0
%if %{?suse_version:1}%{?!suse_version:0} %if %{?suse_version:1}%{?!suse_version:0}
%preun %preun
%if 0%{?suse_version} > 1220 %if 0%{?suse_version} > 1220
%service_del_preun exim.service %service_del_preun exim.service
@ -480,32 +478,32 @@ exit 0
%endif %endif
%verifyscript %verifyscript
%verify_permissions -e /usr/sbin/exim %verify_permissions -e %{_sbindir}/exim
%files %files
%defattr(-,root,root)
%ghost %{_docdir}/%{name}/doc/cve-2019-13917.rpmmoved %ghost %{_docdir}/%{name}/doc/cve-2019-13917.rpmmoved
%doc ACKNOWLEDGMENTS CHANGES LICENCE NOTICE README.UPDATING README %license LICENCE
%doc ACKNOWLEDGMENTS CHANGES NOTICE README.UPDATING README
%doc doc %doc doc
%doc src/configure.default %doc src/configure.default
%doc build-Linux-*/convert4r{3,4} %doc build-Linux-*/convert4r{3,4}
%doc util %doc util
%doc %{_mandir}/man8/* %{_mandir}/man8/*
/usr/sbin/exicyclog %{_sbindir}/exicyclog
/usr/sbin/exigrep %{_sbindir}/exigrep
/usr/sbin/exiqgrep %{_sbindir}/exiqgrep
%verify(not mode) %attr(4755,root,root) /usr/sbin/exim %verify(not mode) %attr(4755,root,root) %{_sbindir}/exim
/usr/sbin/exim_* %{_sbindir}/exim_*
/usr/sbin/eximstats %{_sbindir}/eximstats
/usr/sbin/exinext %{_sbindir}/exinext
/usr/sbin/exipick %{_sbindir}/exipick
/usr/sbin/exiqsumm %{_sbindir}/exiqsumm
/usr/sbin/exiwhat %{_sbindir}/exiwhat
%dir /etc/exim %dir %{_sysconfdir}/exim
%if 0%{?suse_version} > 1220 %if 0%{?suse_version} > 1220
%{_unitdir}/exim.service %{_unitdir}/exim.service
%else %else
%config /etc/init.d/exim %config %{_initddir}/exim
%endif %endif
%if 0%{?suse_version} > 1500 %if 0%{?suse_version} > 1500
%{_distconfdir}/logrotate.d/exim %{_distconfdir}/logrotate.d/exim
@ -513,34 +511,32 @@ exit 0
%config(noreplace) %{_sysconfdir}/logrotate.d/exim %config(noreplace) %{_sysconfdir}/logrotate.d/exim
%endif %endif
%if %{?suse_version:%suse_version}%{?!suse_version:99999} < 1000 %if %{?suse_version:%suse_version}%{?!suse_version:99999} < 1000
%config(noreplace) /etc/permissions.d/exim %config(noreplace) %{_sysconfdir}/permissions.d/exim
%endif %endif
%dir /usr/share/apparmor %dir %{_datadir}/apparmor
%dir /usr/share/apparmor/extra-profiles %dir %{_datadir}/apparmor/extra-profiles
%config(noreplace) /usr/share/apparmor/extra-profiles/usr.sbin.exim %config(noreplace) %{_datadir}/apparmor/extra-profiles/usr.sbin.exim
/usr/sbin/rcexim %{_sbindir}/rcexim
/usr/bin/mailq %{_bindir}/mailq
/usr/bin/runq %{_bindir}/runq
/usr/bin/rsmtp %{_bindir}/rsmtp
/usr/bin/newaliases %{_bindir}/newaliases
/usr/sbin/sendmail %{_sbindir}/sendmail
/usr/lib/sendmail %{_prefix}/lib/sendmail
%{_fillupdir}/sysconfig.exim %{_fillupdir}/sysconfig.exim
%dir %attr(750,mail,mail) /var/log/exim %dir %attr(750,mail,mail) %{_localstatedir}/log/exim
%dir %attr(1777,root,root) /var/spool/mail %dir %attr(1777,root,root) %{_localstatedir}/spool/mail
/var/mail %{_localstatedir}/mail
%files -n eximon %files -n eximon
%defattr(-,root,root) %{_bindir}/eximon
/usr/bin/eximon %{_bindir}/eximon.bin
/usr/bin/eximon.bin
%files -n eximstats-html %files -n eximstats-html
%defattr(-,root,root)
%attr(0750,root,www) /srv/www/eximstats %attr(0750,root,www) /srv/www/eximstats
%dir /etc/apache2 %dir %{_sysconfdir}/apache2
%dir /etc/apache2/conf.d %dir %{_sysconfdir}/apache2/conf.d
%config /etc/apache2/conf.d/eximstats.conf %config %{_sysconfdir}/apache2/conf.d/eximstats.conf
%{_sbindir}/eximstats-html-update.py %{_sbindir}/eximstats-html-update.py
%changelog %changelog