Introduce systemd unit file, thanks to Jóhann B. Guðmundsson <johannbg@hi.is>
Resolves: rhbz#718793
This commit is contained in:
parent
90b2c2e18c
commit
c581f4f085
20
postfix.aliasesdb
Normal file
20
postfix.aliasesdb
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
ALIASESDB_STAMP=/var/lib/misc/postfix.aliasesdb-stamp
|
||||||
|
|
||||||
|
make_aliasesdb() {
|
||||||
|
if [ "$(/usr/sbin/postconf -h alias_database)" == "hash:/etc/aliases" ]
|
||||||
|
then
|
||||||
|
# /etc/aliases.db may be used by other MTA, make sure nothing
|
||||||
|
# has touched it since our last newaliases call
|
||||||
|
[ /etc/aliases -nt /etc/aliases.db ] ||
|
||||||
|
[ "$ALIASESDB_STAMP" -nt /etc/aliases.db ] ||
|
||||||
|
[ "$ALIASESDB_STAMP" -ot /etc/aliases.db ] || return 0
|
||||||
|
/usr/bin/newaliases
|
||||||
|
touch -r /etc/aliases.db "$ALIASESDB_STAMP"
|
||||||
|
else
|
||||||
|
/usr/bin/newaliases
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
make_aliasesdb
|
17
postfix.service
Normal file
17
postfix.service
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Postfix Mail Transport Agent
|
||||||
|
After=syslog.target network.target
|
||||||
|
Conflicts=sendmail.service exim.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=forking
|
||||||
|
PIDFile=/var/spool/postfix/pid/master.pid
|
||||||
|
EnvironmentFile=-/etc/sysconfig/network
|
||||||
|
ExecStartPre=-/usr/libexec/postfix/aliasesdb
|
||||||
|
ExecStartPre=-/etc/postfix/chroot-update
|
||||||
|
ExecStart=/usr/sbin/postfix start
|
||||||
|
ExecReload=/usr/sbin/postfix reload
|
||||||
|
ExecStop=/usr/sbin/postfix stop
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
80
postfix.spec
80
postfix.spec
@ -7,6 +7,8 @@
|
|||||||
%bcond_without ipv6
|
%bcond_without ipv6
|
||||||
%bcond_without pflogsumm
|
%bcond_without pflogsumm
|
||||||
|
|
||||||
|
%global sysv2systemdnvr 2.8.7-2
|
||||||
|
|
||||||
# hardened build if not overrided
|
# hardened build if not overrided
|
||||||
%{!?_hardened_build:%global _hardened_build 1}
|
%{!?_hardened_build:%global _hardened_build 1}
|
||||||
|
|
||||||
@ -36,25 +38,25 @@
|
|||||||
Name: postfix
|
Name: postfix
|
||||||
Summary: Postfix Mail Transport Agent
|
Summary: Postfix Mail Transport Agent
|
||||||
Version: 2.8.7
|
Version: 2.8.7
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
Epoch: 2
|
Epoch: 2
|
||||||
Group: System Environment/Daemons
|
Group: System Environment/Daemons
|
||||||
URL: http://www.postfix.org
|
URL: http://www.postfix.org
|
||||||
License: IBM
|
License: IBM
|
||||||
Requires(post): /sbin/chkconfig
|
Requires(post): systemd-units systemd-sysv
|
||||||
Requires(post): %{_sbindir}/alternatives
|
Requires(post): %{_sbindir}/alternatives
|
||||||
Requires(pre): %{_sbindir}/groupadd
|
Requires(pre): %{_sbindir}/groupadd
|
||||||
Requires(pre): %{_sbindir}/useradd
|
Requires(pre): %{_sbindir}/useradd
|
||||||
Requires(preun): /sbin/chkconfig
|
|
||||||
Requires(preun): /sbin/service
|
|
||||||
Requires(preun): %{_sbindir}/alternatives
|
Requires(preun): %{_sbindir}/alternatives
|
||||||
Requires(postun): /sbin/service
|
Requires(preun): systemd-units
|
||||||
|
Requires(postun): systemd-units
|
||||||
Provides: MTA smtpd smtpdaemon server(smtp)
|
Provides: MTA smtpd smtpdaemon server(smtp)
|
||||||
|
|
||||||
Source0: ftp://ftp.porcupine.org/mirrors/postfix-release/official/%{name}-%{version}.tar.gz
|
Source0: ftp://ftp.porcupine.org/mirrors/postfix-release/official/%{name}-%{version}.tar.gz
|
||||||
Source1: postfix-etc-init.d-postfix
|
Source1: postfix-etc-init.d-postfix
|
||||||
|
Source2: postfix.service
|
||||||
Source3: README-Postfix-SASL-RedHat.txt
|
Source3: README-Postfix-SASL-RedHat.txt
|
||||||
|
Source4: postfix.aliasesdb
|
||||||
|
|
||||||
# Sources 50-99 are upstream [patch] contributions
|
# Sources 50-99 are upstream [patch] contributions
|
||||||
|
|
||||||
@ -85,6 +87,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
|||||||
|
|
||||||
# Determine the different packages required for building postfix
|
# Determine the different packages required for building postfix
|
||||||
BuildRequires: libdb-devel, pkgconfig, zlib-devel
|
BuildRequires: libdb-devel, pkgconfig, zlib-devel
|
||||||
|
BuildRequires: systemd-units
|
||||||
|
|
||||||
%{?with_ldap:BuildRequires: openldap-devel}
|
%{?with_ldap:BuildRequires: openldap-devel}
|
||||||
%{?with_sasl:BuildRequires: cyrus-sasl-devel}
|
%{?with_sasl:BuildRequires: cyrus-sasl-devel}
|
||||||
@ -97,6 +100,17 @@ BuildRequires: libdb-devel, pkgconfig, zlib-devel
|
|||||||
Postfix is a Mail Transport Agent (MTA), supporting LDAP, SMTP AUTH (SASL),
|
Postfix is a Mail Transport Agent (MTA), supporting LDAP, SMTP AUTH (SASL),
|
||||||
TLS
|
TLS
|
||||||
|
|
||||||
|
%package sysvinit
|
||||||
|
Summary: SysV initscript for postfix
|
||||||
|
Group: System Environment/Daemons
|
||||||
|
BuildArch: noarch
|
||||||
|
Requires: %{name} = %{version}-%{release}
|
||||||
|
Requires(preun): chkconfig
|
||||||
|
Requires(post): chkconfig
|
||||||
|
|
||||||
|
%description sysvinit
|
||||||
|
This package contains the SysV initscript.
|
||||||
|
|
||||||
%package perl-scripts
|
%package perl-scripts
|
||||||
Summary: Postfix utilities written in perl
|
Summary: Postfix utilities written in perl
|
||||||
Group: Applications/System
|
Group: Applications/System
|
||||||
@ -224,6 +238,11 @@ sh postfix-install -non-interactive \
|
|||||||
mkdir -p $RPM_BUILD_ROOT%{_initrddir}
|
mkdir -p $RPM_BUILD_ROOT%{_initrddir}
|
||||||
install -c %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}/postfix
|
install -c %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}/postfix
|
||||||
|
|
||||||
|
# Systemd
|
||||||
|
mkdir -p %{buildroot}%{_unitdir}
|
||||||
|
install -m 644 %{SOURCE2} %{buildroot}%{_unitdir}
|
||||||
|
install -m 755 %{SOURCE4} %{buildroot}%{postfix_daemon_dir}/aliasesdb
|
||||||
|
|
||||||
install -c auxiliary/rmail/rmail $RPM_BUILD_ROOT%{_bindir}/rmail.postfix
|
install -c auxiliary/rmail/rmail $RPM_BUILD_ROOT%{_bindir}/rmail.postfix
|
||||||
|
|
||||||
for i in active bounce corrupt defer deferred flush incoming private saved maildrop public pid saved trace; do
|
for i in active bounce corrupt defer deferred flush incoming private saved maildrop public pid saved trace; do
|
||||||
@ -298,7 +317,7 @@ do
|
|||||||
done
|
done
|
||||||
|
|
||||||
%post
|
%post
|
||||||
/sbin/chkconfig --add postfix
|
[ $1 -eq 1 ] && bin/systemctl daemon-reload >/dev/null 2>&1 || :
|
||||||
|
|
||||||
# upgrade configuration files if necessary
|
# upgrade configuration files if necessary
|
||||||
%{_sbindir}/postfix set-permissions upgrade-configuration \
|
%{_sbindir}/postfix set-permissions upgrade-configuration \
|
||||||
@ -342,19 +361,38 @@ exit 0
|
|||||||
|
|
||||||
%preun
|
%preun
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
# stop postfix silently, but only if it's running
|
/bin/systemctl --no-reload disable postfix.service > /dev/null 2>&1 || :
|
||||||
/sbin/service postfix stop &>/dev/null
|
/bin/systemctl stop postfix.service > /dev/null 2>&1 || :
|
||||||
/sbin/chkconfig --del postfix
|
|
||||||
%{_sbindir}/alternatives --remove mta %{postfix_command_dir}/sendmail.postfix
|
%{_sbindir}/alternatives --remove mta %{postfix_command_dir}/sendmail.postfix
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
%postun
|
%postun
|
||||||
if [ "$1" != 0 ]; then
|
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
|
||||||
/sbin/service postfix condrestart 2>&1 > /dev/null
|
if [ "$1" -ge 1 ]; then
|
||||||
|
/bin/systemctl try-restart postfix.service >/dev/null 2>&1 || :
|
||||||
fi
|
fi
|
||||||
exit 0
|
|
||||||
|
%post sysvinit
|
||||||
|
/sbin/chkconfig --add postfix >/dev/null 2>&1 ||:
|
||||||
|
|
||||||
|
%preun sysvinit
|
||||||
|
if [ "$1" = 0 ]; then
|
||||||
|
%{_initrddir}/postfix stop >/dev/null 2>&1 ||:
|
||||||
|
/sbin/chkconfig --del postfix >/dev/null 2>&1 ||:
|
||||||
|
|
||||||
|
%postun sysvinit
|
||||||
|
[ "$1" -ge 1 ] && %{_initrddir}/postfix condrestart >/dev/null 2>&1 ||:
|
||||||
|
|
||||||
|
%triggerun -- postfix < %{sysv2systemdnvr}
|
||||||
|
%{_bindir}/systemd-sysv-convert --save postfix >/dev/null 2>&1 ||:
|
||||||
|
/bin/systemctl enable postfix.service >/dev/null 2>&1
|
||||||
|
/sbin/chkconfig --del postfix >/dev/null 2>&1 || :
|
||||||
|
/bin/systemctl try-restart postfix.service >/dev/null 2>&1 || :
|
||||||
|
|
||||||
|
%triggerpostun -n postfix-sysvinit -- postfix < %{sysv2systemdnvr}
|
||||||
|
/sbin/chkconfig --add postfix >/dev/null 2>&1 || :
|
||||||
|
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
rm -rf $RPM_BUILD_ROOT
|
rm -rf $RPM_BUILD_ROOT
|
||||||
@ -366,7 +404,7 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
# It reads the file postfix-files which defines the ownership
|
# It reads the file postfix-files which defines the ownership
|
||||||
# and permissions for all files postfix installs.
|
# and permissions for all files postfix installs.
|
||||||
|
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root, -)
|
||||||
|
|
||||||
# Config files not part of upstream
|
# Config files not part of upstream
|
||||||
|
|
||||||
@ -374,7 +412,7 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%config(noreplace) %{sasl_config_dir}/smtpd.conf
|
%config(noreplace) %{sasl_config_dir}/smtpd.conf
|
||||||
%endif
|
%endif
|
||||||
%config(noreplace) %{_sysconfdir}/pam.d/smtp.postfix
|
%config(noreplace) %{_sysconfdir}/pam.d/smtp.postfix
|
||||||
%attr(0755, root, root) %{_initrddir}/postfix
|
%{_unitdir}/postfix.service
|
||||||
|
|
||||||
# Documentation
|
# Documentation
|
||||||
|
|
||||||
@ -471,8 +509,12 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
|
|
||||||
%ghost %attr(0644, root, root) %{_var}/lib/misc/postfix.aliasesdb-stamp
|
%ghost %attr(0644, root, root) %{_var}/lib/misc/postfix.aliasesdb-stamp
|
||||||
|
|
||||||
|
%files sysvinit
|
||||||
|
%defattr(-, root, root, -)
|
||||||
|
%{_initrddir}/postfix
|
||||||
|
|
||||||
%files perl-scripts
|
%files perl-scripts
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root, -)
|
||||||
%attr(0755, root, root) %{postfix_command_dir}/qshape
|
%attr(0755, root, root) %{postfix_command_dir}/qshape
|
||||||
%attr(0644, root, root) %{_mandir}/man1/qshape*
|
%attr(0644, root, root) %{_mandir}/man1/qshape*
|
||||||
%if %{with pflogsumm}
|
%if %{with pflogsumm}
|
||||||
@ -482,6 +524,10 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Nov 8 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 2:2.8.7-2
|
||||||
|
- Introduce systemd unit file, thanks to Jóhann B. Guðmundsson <johannbg@hi.is>
|
||||||
|
Resolves: rhbz#718793
|
||||||
|
|
||||||
* Mon Nov 7 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 2:2.8.7-1
|
* Mon Nov 7 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 2:2.8.7-1
|
||||||
- Update to 2.8.7
|
- Update to 2.8.7
|
||||||
Resolves: rhbz#751622
|
Resolves: rhbz#751622
|
||||||
|
Loading…
Reference in New Issue
Block a user