postfix/postfix.spec
Marcus Rueckert 4a313bda65 Accepting request 373635 from home:varkoly:branches:server:mail
- update to 3.1.0 
- Since version 3.0 postfix supports dynamic loading of cdb:, ldap:, 
  lmdb:, mysql:, pcre:, pgsql:, sdbm:, and sqlite: database clients.
  Thats why the patches dynamic_maps.patch and dynamic_maps_pie.patch
  could be removed.
- Adapting all the patches to postfix 3.1.0
- The patch postfix-db6.diff is not more neccessary
- Backwards-compatibility safety net.
  With NEW Postfix installs, you MUST install a main.cf file with
  the setting "compatibility_level = 2". See conf/main.cf for an
  example.
  
  With UPGRADES of existing Postfix systems, you MUST NOT change the
  main.cf compatibility_level setting, nor add this setting if it
  does not exist.
  
  Several Postfix default settings have changed with Postfix 3.0.  To
  avoid massive frustration with existing Postfix installations,
  Postfix 3.0 comes with a safety net that forces Postfix to keep
  running with backwards-compatible main.cf and master.cf default
  settings. This safety net depends on the main.cf compatibility_level
  setting (default: 0). Details are in COMPATIBILITY_README.
- Major changes - tls
* [Feature 20160207] A new "postfix tls" command to quickly enable
  opportunistic TLS in the Postfix SMTP client or server, and to
  manage SMTP server keys and certificates, including certificate
  signing requests and TLSA DNS records for DANE.
* As of the middle of 2015, all supported Postfix releases no longer
  nable "export" grade ciphers for opportunistic TLS, and no longer
  use the deprecated SSLv2 and SSLv3 protocols for mandatory or

OBS-URL: https://build.opensuse.org/request/show/373635
OBS-URL: https://build.opensuse.org/package/show/server:mail/postfix?expand=0&rev=232
2016-03-18 17:07:45 +00:00

601 lines
24 KiB
RPMSpec

#
# spec file for package postfix
#
# Copyright (c) 2016 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/
#
#
# Some defines
#
%define pf_docdir %{_docdir}/%{name}-doc
%define pf_config_directory %{_sysconfdir}/%{name}
%define pf_daemon_directory /usr/lib/%{name}
%define pf_command_directory %{_prefix}/sbin
%define pf_queue_directory var/spool/%{name}
%define pf_sendmail_path %{_sbindir}/sendmail
%define pf_newaliases_path %{_bindir}/newaliases
%define pf_mailq_path %{_bindir}/mailq
%define pf_setgid_group maildrop
%define pf_readme_directory %{_docdir}/%{name}-doc/README_FILES
%define pf_html_directory %{_docdir}/%{name}-doc/html
%define pf_sample_directory %{_docdir}/%{name}-doc/samples
%define pf_data_directory %{_localstatedir}/lib/%{name}
%define pf_uid 51
%define pf_gid 51
%define maildrop_gid 59
%define mail_gid 12
%define conf_backup_dir %{_localstatedir}/adm/backup/%{name}
%define omc_pdir %{_datadir}/omc/
%define omc_dir %{_datadir}/omc/svcinfo.d/
#
%define vmusr vmail
%define vmgid 303
%define vmid 303
%define vmdir /srv/maildirs
#
# ---------------------------------------------------------------------------
%if 0%{?suse_version} > 1220
%define _unitdir %{_libexecdir}/systemd
%else
%define _unitdir /lib/systemd
%endif
Name: postfix
Version: 3.1.0
Release: 0
Summary: A fast, secure, and flexible mailer
License: IPL-1.0
Group: Productivity/Networking/Email/Servers
Url: http://www.postfix.org/
#Source: http://www.artfiles.org/postfix.org/postfix-release/official/postfix-%{version}.tar.gz
Source: postfix-%{version}.tar.gz
Source2: %{name}-SuSE.tar.gz
Source3: %{name}-mysql.tar.bz2
Source10: %{name}-rpmlintrc
Source11: check_mail_queue
Patch1: %{name}-no-md5.patch
Patch2: pointer_to_literals.patch
Patch3: ipv6_disabled.patch
Patch4: %{name}-main.cf.patch
Patch5: %{name}-master.cf.patch
Patch6: %{name}-post-install.patch
Patch7: %{name}-ssl-release-buffers.patch
Patch8: %{name}-vda-v13-3.10.0.patch
BuildRequires: cyrus-sasl-devel
BuildRequires: db-devel
BuildRequires: libopenssl-devel
BuildRequires: mysql-devel
BuildRequires: openldap2-devel
BuildRequires: pcre-devel
BuildRequires: postgresql-devel
Requires: iproute2
Requires(pre): permissions
Requires(pre): %insserv_prereq
Requires(pre): %fillup_prereq
Provides: smtp_daemon
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Conflicts: sendmail exim
%if 0%{?suse_version} > 1130
Requires(pre): sysvinit(network)
Requires(pre): sysvinit(syslog)
%endif
%if 0%{?suse_version} >= 1100
BuildRequires: fdupes
%endif
%if 0%{?suse_version} > 1210
BuildRequires: systemd
%{?systemd_requires}
%else
Requires(pre): %insserv_prereq %fillup_prereq
Requires(pre): %{_bindir}/getent
Requires(pre): pwdutils
Requires(pre): /bin/awk
Requires(pre): /bin/grep
Requires(pre): /bin/sed
Requires(pre): fileutils
Requires(pre): netcfg
Requires(pre): pcre
Requires(pre): sh-utils
Requires(pre): textutils
%endif
%description
Postfix aims to be an alternative to the widely-used sendmail program.
%package devel
Summary: Development headers for the postfix package
Group: Development/Libraries/C and C++
Requires(pre): %{name} = %{version}
%description devel
Postfix aims to be an alternative to the widely-used sendmail program.
%package doc
Summary: Documentations for the postfix package
Group: Productivity/Networking/Email/Servers
%if 0%{?suse_version} >= 1120
BuildArch: noarch
%endif
%description doc
Postfix aims to be an alternative to the widely-used sendmail program.
This package contains the documentation for %{name}
%package mysql
Summary: Postfix plugin to support MySQL maps
Group: Productivity/Networking/Email/Servers
Requires(pre): %{name} = %{version}
%description mysql
Postfix plugin to support MySQL maps. This library will be loaded by
starting %{name} if you'll access a postmap which is stored in mysql.
%package postgresql
Summary: Postfix plugin to support PostgreSQL maps
Group: Productivity/Networking/Email/Servers
Requires(pre): %{name} = %{version}
%description postgresql
Postfix plugin to support PostgreSQL maps. This library will be loaded
by starting %{name} if you'll access a postmap which is stored in
PostgreSQL.
%prep
%setup -q -a 2 -a 3
%patch1 -p1
%patch2 -p1
%patch3
%patch4
%patch5
%patch6
%patch7
%patch8 -p1
# ---------------------------------------------------------------------------
%build
export CCARGS="-DHAS_PCRE -DUSE_SASL_AUTH -I/usr/include/sasl"
export CCARGS="-DHAS_LDAP -DHAS_PCRE -DUSE_SASL_AUTH -I%{_includedir}/sasl"
export CCARGS="$CCARGS -DHAS_MYSQL -I/usr/include/mysql"
export CCARGS="$CCARGS -DHAS_PGSQL -I/usr/include/pgsql"
export CCARGS="$CCARGS -DHAS_LDAP -I/usr/include/ldap"
export CCARGS="$CCARGS -DUSE_CYRUS_SASL"
export AUXLIBS="-lldap -llber -lpcre"
export AUXLIBS="$AUXLIBS -lsasl2"
export AUXLIBS="$AUXLIBS -lssl -lcrypto"
export AUXLIBS="$AUXLIBS -L/usr/local/lib -lldap -L/usr/local/lib -llber"
export CCARGS="$CCARGS -DUSE_TLS"
export CCARGS="$CCARGS %{optflags} -Wno-comments"
export PIE=-pie
make makefiles pie=yes shared=yes dynamicmaps=yes shlib_directory=/usr/lib/postfix meta_directory=/usr/lib/postfix config_directory=/etc/postfix
make
# ---------------------------------------------------------------------------
%install
groupadd -g %{pf_gid} -o -r %{name} 2> /dev/null || :
groupadd -g %{maildrop_gid} -o -r maildrop 2> /dev/null || :
useradd -r -o -g %{name} -u %{pf_uid} -s /bin/false -c "Postfix Daemon" -d /%{pf_queue_directory} %{name} 2> /dev/null || :
usermod -G %{maildrop_gid},%{mail_gid} %{name} 2> /dev/null || :
mkdir -p %{buildroot}/%{_libdir}
mkdir -p %{buildroot}/etc/postfix
cp conf/* %{buildroot}/etc/postfix/
cp lib/libpostfix-* %{buildroot}/%{_libdir}
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:%{buildroot}/%{_libdir}
sh postfix-install -non-interactive \
install_root=%{buildroot} \
config_directory=%{pf_config_directory} \
daemon_directory=%{pf_daemon_directory} \
command_directory=%{pf_command_directory} \
queue_directory=/%{pf_queue_directory} \
sendmail_path=%{pf_sendmail_path} \
newaliases_path=%{pf_newaliases_path} \
mailq_path=%{pf_mailq_path} \
manpage_directory=%{_mandir} \
setgid_group=%{pf_setgid_group} \
readme_directory=%{pf_readme_directory} \
data_directory=%{pf_data_directory}
ln -sf ../sbin/sendmail %{buildroot}%{_libexecdir}/sendmail
for i in qmqp-source smtp-sink smtp-source; do
install -m 755 bin/$i %{buildroot}%{_sbindir}/$i
done
mkdir -p %{buildroot}%{_sysconfdir}/init.d
mkdir -p %{buildroot}/sbin/conf.d
mkdir -p %{buildroot}%{_sysconfdir}/permissions.d
mkdir -p %{buildroot}/%{_libdir}/sasl2
mkdir -p %{buildroot}%{_prefix}/sbin
mkdir -p %{buildroot}/%{conf_backup_dir}
mkdir -p %{buildroot}/%{pf_sample_directory}
mkdir -p %{buildroot}/%{pf_html_directory}
mkdir -p %{buildroot}%{_includedir}/%{name}
mkdir -p %{buildroot}%{_sysconfdir}/pam.d
install -m 644 %{name}-SuSE/smtp %{buildroot}%{_sysconfdir}/pam.d/smtp
#mkdir samples
mkdir -p %{buildroot}%{_localstatedir}/adm/fillup-templates
rm -f %{buildroot}%{_localstatedir}/adm/fillup-templates/sysconfig.%{name}
sed -e 's;@lib@;%{_lib};g' %{name}-SuSE/sysconfig.%{name} > %{buildroot}%{_localstatedir}/adm/fillup-templates/sysconfig.%{name}
install -m 644 %{name}-SuSE/sysconfig.mail-%{name} %{buildroot}%{_localstatedir}/adm/fillup-templates/sysconfig.mail-%{name}
sed -e 's;@lib@;%{_lib};g' \
-e 's;@conf_backup_dir@;%{conf_backup_dir};' \
-e 's;@daemon_directory@;%{pf_daemon_directory};' \
-e 's;@readme_directory@;%{pf_readme_directory};' \
-e 's;@html_directory@;%{pf_html_directory};' \
-e 's;@sendmail_path@;%{pf_sendmail_path};' \
-e 's;@setgid_group@;%{pf_setgid_group};' \
-e 's;@manpage_directory@;%{_mandir};' \
-e 's;@newaliases_path@;%{pf_newaliases_path};' \
-e 's;@sample_directory@;%{pf_sample_directory};' \
-e 's;@mailq_path@;%{pf_mailq_path};' %{name}-SuSE/config.%{name} > %{buildroot}%{_sbindir}/config.%{name}
chmod 755 %{buildroot}%{_sbindir}/config.%{name}
install -m 644 %{name}-SuSE/dynamicmaps.cf %{buildroot}%{_sysconfdir}/%{name}/dynamicmaps.cf
install -m 644 %{name}-SuSE/ldap_aliases.cf %{buildroot}%{_sysconfdir}/%{name}/ldap_aliases.cf
install -m 644 %{name}-SuSE/helo_access %{buildroot}%{_sysconfdir}/postfix/helo_access
install -m 644 %{name}-SuSE/permissions %{buildroot}%{_sysconfdir}/permissions.d/%{name}
install -m 644 %{name}-SuSE/sender_canonical %{buildroot}%{_sysconfdir}/%{name}/sender_canonical
install -m 644 %{name}-SuSE/relay %{buildroot}%{_sysconfdir}/postfix/relay
install -m 644 %{name}-SuSE/relay_ccerts %{buildroot}%{_sysconfdir}/%{name}/relay_ccerts
install -m 600 %{name}-SuSE/sasl_passwd %{buildroot}%{_sysconfdir}/%{name}/sasl_passwd
mkdir -p %{buildroot}%{_sysconfdir}/sasl2
install -m 600 %{name}-SuSE/smtpd.conf %{buildroot}%{_sysconfdir}/sasl2/smtpd.conf
install -m 644 %{name}-SuSE/openssl_%{name}.conf.in %{buildroot}%{_sysconfdir}/%{name}/openssl_%{name}.conf.in
install -m 755 %{name}-SuSE/mk%{name}cert %{buildroot}%{_sbindir}/mk%{name}cert
mkdir -p %{buildroot}/%{omc_dir}
install -m 644 %{name}-SuSE/%{name}.xml %{buildroot}/%{omc_dir}
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/
install -m 644 %{name}-SuSE/%{name}-fw %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/smtp
{
cat<<EOF
#
# -----------------------------------------------------------------------
# NOTE: Many parameters have already been added to the end of this file
# by config.postfix. So take care that you don't uncomment
# and set a parameter without checking whether it has been added
# to the end of this file.
# -----------------------------------------------------------------------
#
EOF
cat conf/main.cf
} > %{buildroot}%{_sysconfdir}/%{name}/main.cf
%{buildroot}%{_sbindir}/postconf -c %{buildroot}%{_sysconfdir}/%{name} \
-e "manpage_directory = %{_mandir}" \
"setgid_group = %{pf_setgid_group}" \
"mailq_path = %{pf_mailq_path}" \
"newaliases_path = %{pf_newaliases_path}" \
"sendmail_path = %{pf_sendmail_path}" \
"readme_directory = %{pf_readme_directory}" \
"html_directory = %{pf_html_directory}" \
"sample_directory = %{pf_sample_directory}" \
"daemon_directory = %{pf_daemon_directory}" \
"smtpd_helo_required = yes" \
"smtpd_delay_reject = yes" \
"disable_vrfy_command = yes" \
'smtpd_banner = $myhostname ESMTP'
#Set Permissions
install -m 644 %{name}-SuSE/%{name}-files %{buildroot}%{_libexecdir}/postfix/postfix-files
# postfix-mysql
install -m 644 %{name}-mysql/main.cf-mysql %{buildroot}%{_sysconfdir}/%{name}/main.cf-mysql
install -m 640 %{name}-mysql/*_maps.cf %{buildroot}%{_sysconfdir}/%{name}/
# create paranoid permissions file
printf '%%-38s %%-18s %%s\n' %{_sbindir}/postdrop "root.%{pf_setgid_group}" "0755" >> %{buildroot}%{_sysconfdir}/permissions.d/%{name}.paranoid
printf '%%-38s %%-18s %%s\n' %{_sbindir}/postqueue "root.%{pf_setgid_group}" "0755" >> %{buildroot}%{_sysconfdir}/permissions.d/%{name}.paranoid
install -m 644 include/*.h %{buildroot}%{_includedir}/%{name}/
# some rpmlint stuff
# remove unneeded examples/chroot-setup
for example in AIX42 BSDI* F* HPUX* IRIX* NETBSD1 NEXTSTEP3 OPENSTEP4 OSF1 Solaris*; do
rm examples/chroot-setup/${example}
done
cp -a examples/* %{buildroot}%{pf_sample_directory}
cp -a html/* %{buildroot}%{pf_html_directory}
cp -a auxiliary/ %{buildroot}%{pf_docdir}/
%if 0%{?suse_version} >= 1210
mkdir -p %{buildroot}%{_unitdir}/system
mkdir -p %{buildroot}%{_sysconfdir}/postfix/system
install -m 0644 %{name}-SuSE/postfix.service %{buildroot}%{_unitdir}/system/postfix.service
install -m 0755 %{name}-SuSE/config_postfix.systemd %{buildroot}%{_sysconfdir}/postfix/system/config_postfix
install -m 0755 %{name}-SuSE/update_chroot.systemd %{buildroot}%{_sysconfdir}/postfix/system/update_chroot
install -m 0755 %{name}-SuSE/update_postmaps.systemd %{buildroot}%{_sysconfdir}/postfix/system/update_postmaps
install -m 0755 %{name}-SuSE/wait_qmgr.systemd %{buildroot}%{_sysconfdir}/postfix/system/wait_qmgr
install -m 0755 %{name}-SuSE/cond_slp.systemd %{buildroot}%{_sysconfdir}/postfix/system/cond_slp
ln -sv %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}
%else
install -m 755 %{name}-SuSE/rc.%{name} %{buildroot}%{_initddir}/%{name}
ln -s -f %{_initddir}/%{name} %{buildroot}%{_sbindir}/rc%{name}
%endif
%if 0%{?suse_version} >= 1100
%fdupes %{buildroot}%{pf_docdir}
%fdupes %{buildroot}%{_mandir}
%endif
# ---------------------------------------------------------------------------
install -m 755 %{SOURCE11} %{buildroot}%{_sbindir}/
%pre
%if 0%{?suse_version} > 1210
%service_add_pre %{name}.service
%endif
VERSIONTEST=$(test -x usr/sbin/postconf && usr/sbin/postconf proxy_read_maps 2>/dev/null || :)
if [ -z "$VERSIONTEST" -a -f %{pf_queue_directory}/pid/master.pid ]; then
if checkproc -p %{pf_queue_directory}/pid/master.pid usr/lib/%{name}/master; then
echo "%{name} is still running. You have to stop %{name} in order to"
echo "install a newer version."
exit 1
fi
fi
%{_sbindir}/groupadd -g %{pf_gid} -o -r %{name} 2> /dev/null || :
%{_sbindir}/groupadd -g %{maildrop_gid} -o -r maildrop 2> /dev/null || :
%{_sbindir}/useradd -r -o -g %{name} -u %{pf_uid} -s /bin/false -c "Postfix Daemon" -d /%{pf_queue_directory} %{name} 2> /dev/null || :
%{_sbindir}/usermod -G %{maildrop_gid},%{mail_gid} %{name} 2> /dev/null || :
# ---------------------------------------------------------------------------
%pre mysql
#echo "PARAM_pre: "$1
# on `rpm -ivh` PARAM is 1
# on `rpm -Uvh` PARAM is 2
if [ "$1" = "1" ]; then
echo "Adding %{vmusr} user"
if [ -z "`getent group %{vmusr} 2>/dev/null`" ]; then
groupadd -r -g %{vmgid} %{vmusr}
fi
if [ -z "`getent passwd %{vmusr} 2>/dev/null`" ]; then
useradd -c "maildirs chef" -d %{vmdir} -g %{vmusr} -u %{vmid} -r -s /bin/false %{vmusr}
fi
fi
# ---------------------------------------------------------------------------
%preun
%stop_on_removal %{name}
%if 0%{?suse_version} > 1210
%service_del_preun %{name}.service
%endif
# ---------------------------------------------------------------------------
%preun mysql
#echo "PARAM_preun: "$1
# on `rpm -e` PARAM is 0
if [ "$1" = "0" ]; then
FILE=etc/%{name}/dynamicmaps.cf
if [ -e "$FILE" ] ; then
if grep -q "^mysql[[:space:]]" ${FILE}; then
echo "Removing mysql map entry from ${FILE}"
sed "/^mysql[[:space:]]/d" ${FILE} > ${FILE}.$$ && \
cp --remove-destination ${FILE}.$$ ${FILE} && \
rm ${FILE}.$$
fi
else
echo "Can not find \"$FILE\". Not updating the file." >&2
fi
echo "Removing %{vmusr} user"
userdel %{vmusr} 2> /dev/null
groupdel %{vmusr} 2> /dev/null
fi
# ---------------------------------------------------------------------------
%preun postgresql
if [ "$1" = 0 ] ; then
FILE=etc/%{name}/dynamicmaps.cf
if [ -e "$FILE" ] ; then
if grep -q "^pgsql[[:space:]]" ${FILE}; then
echo "Removing pgsql map entry from ${FILE}"
sed "/^pgsql[[:space:]]/d" ${FILE} > ${FILE}.$$ && \
cp --remove-destination ${FILE}.$$ ${FILE} && \
rm ${FILE}.$$
fi
else
echo "Can not find \"$FILE\". Not updating the file." >&2
fi
fi
# ---------------------------------------------------------------------------
%post
# We never have to run suseconfig for postfix after installation
# We only start postfix own upgrade-configuration by update
if [ ${1:-0} -gt 1 ]; then
touch %{_localstatedir}/adm/postfix.configured
# Check if main.cf and master.cf was changed manualy
MAINCH=0
if [ -e %{_localstatedir}/adm/SuSEconfig/md5%{_sysconfdir}/postfix/main.cf ]; then
MD5SUM1=$( cat %{_localstatedir}/adm/SuSEconfig/md5%{_sysconfdir}/postfix/main.cf )
MD5SUM2=$( grep -v "^#" %{_sysconfdir}/postfix/main.cf | md5sum )
if [ "$MD5SUM1" != "$MD5SUM2" ]; then
MAINCH=1
fi
fi
MASTERCH=0
if [ -e %{_localstatedir}/adm/SuSEconfig/md5%{_sysconfdir}/postfix/master.cf ]; then
MD5SUM1=$( cat %{_localstatedir}/adm/SuSEconfig/md5%{_sysconfdir}/postfix/master.cf )
MD5SUM2=$( grep -v "^#" %{_sysconfdir}/postfix/master.cf | md5sum )
if [ "$MD5SUM1" != "$MD5SUM2" ]; then
MASTERCH=1
fi
fi
echo "Executing upgrade-configuration."
%{_sbindir}/postfix set-permissions upgrade-configuration setgid_group=%{pf_setgid_group} || :
if [ $MASTERCH -eq 0 ]; then
test -e %{_localstatedir}/adm/SuSEconfig/md5%{_sysconfdir}/postfix/master.cf && grep -v "^#" %{_sysconfdir}/postfix/master.cf | md5sum > %{_localstatedir}/adm/SuSEconfig/md5%{_sysconfdir}/postfix/master.cf
fi
if [ $MAINCH -eq 0 ]; then
test -e %{_localstatedir}/adm/SuSEconfig/md5%{_sysconfdir}/postfix/main.cf && grep -v "^#" %{_sysconfdir}/postfix/main.cf | md5sum > %{_localstatedir}/adm/SuSEconfig/md5%{_sysconfdir}/postfix/main.cf
fi
fi
%if 0%{?suse_version} > 1210
%service_add_post %{name}.service
%set_permissions %{_sbindir}/postqueue
%set_permissions %{_sbindir}/postdrop
%set_permissions %{_sysconfdir}/%{name}/sasl_passwd
%set_permissions %{_sbindir}/sendmail
%{fillup_only -y postfix}
%else
%{fillup_and_insserv -y postfix}
%endif
%{fillup_only -an mail}
/sbin/ldconfig
%if 0%{?suse_version} > 1210
%verifyscript
%verify_permissions -e %{_sbindir}/postqueue
%verify_permissions -e %{_sbindir}/postdrop
%verify_permissions -e %{_sysconfdir}/%{name}/sasl_passwd
%verify_permissions -e %{_sbindir}/sendmail
%{fillup_only postfix}
%else
%{fillup_and_insserv -y postfix}
%endif
# ---------------------------------------------------------------------------
%postun
%restart_on_update %{name}
%insserv_cleanup
%if 0%{?suse_version} > 1210
%service_del_postun %{name}.service
%endif
/sbin/ldconfig
# ---------------------------------------------------------------------------
%post postgresql
FILE=etc/%{name}/dynamicmaps.cf
if ! grep -q "^pgsql[[:space:]]" ${FILE}; then
echo "Adding pgsql map entry to ${FILE}"
echo "pgsql %{_libexecdir}/%{name}/dict_pgsql.so dict_pgsql_open" >> ${FILE}
fi
# ---------------------------------------------------------------------------
%post mysql
FILE=etc/%{name}/dynamicmaps.cf
if ! grep -q "^mysql[[:space:]]" ${FILE}; then
echo "Adding mysql map entry to ${FILE}"
echo "mysql %{_libexecdir}/%{name}/dict_mysql.so dict_mysql_open" >> ${FILE}
fi
# ---------------------------------------------------------------------------
%files
%defattr(-,root,root)
%doc LICENSE
%config %{_sysconfdir}/pam.d/*
%{_localstatedir}/adm/fillup-templates/sysconfig.%{name}
%{_localstatedir}/adm/fillup-templates/sysconfig.mail-%{name}
%{_sbindir}/config.%{name}
%config(noreplace) %{omc_dir}/%{name}.xml
%dir %{_sysconfdir}/%{name}
%config %{_sysconfdir}/%{name}/main.cf.default
%config(noreplace) %{_sysconfdir}/%{name}/[^mysql]*[^mysql]
%config(noreplace) %{_sysconfdir}/%{name}/access
%config(noreplace) %{_sysconfdir}/%{name}/aliases
%config(noreplace) %{_sysconfdir}/%{name}/canonical
%config(noreplace) %{_sysconfdir}/%{name}/header_checks
%config(noreplace) %{_sysconfdir}/%{name}/helo_access
%config(noreplace) %{_sysconfdir}/%{name}/ldap_aliases.cf
%config(noreplace) %{_sysconfdir}/%{name}/main.cf
%config(noreplace) %{_sysconfdir}/%{name}/master.cf
%config(noreplace) %{_sysconfdir}/%{name}/post-install
%config(noreplace) %{_sysconfdir}/%{name}/postfix-files
%config(noreplace) %{_sysconfdir}/%{name}/relay
%config(noreplace) %{_sysconfdir}/%{name}/relay_ccerts
%config(noreplace) %{_sysconfdir}/%{name}/sasl_passwd
%config(noreplace) %{_sysconfdir}/%{name}/sender_canonical
%config(noreplace) %{_sysconfdir}/%{name}/virtual
%config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/smtp
%dir %{_sysconfdir}/sasl2/
%config(noreplace) %{_sysconfdir}/sasl2/smtpd.conf
%config %{_sysconfdir}/%{name}/LICENSE
%config %{_sysconfdir}/%{name}/TLS_LICENSE
%config %{_sysconfdir}/permissions.d/%{name}
%config %{_sysconfdir}/permissions.d/%{name}.paranoid
%attr(0644, root, root) %config %{_sysconfdir}/%{name}/makedefs.out
%{_libexecdir}/%{name}/%{name}-files
%if 0%{?suse_version} >= 1210
%dir %{_sysconfdir}/postfix/system
%config %attr(0755,root,root) %{_sysconfdir}/postfix/system/*
%config %{_unitdir}/system/postfix.service
%else
%config %attr(0755,root,root) %{_initddir}/%{name}
%endif
%verify(not mode) %attr(2755,root,%{pf_setgid_group}) %{_sbindir}/postdrop
%verify(not mode) %attr(2755,root,%{pf_setgid_group}) %{_sbindir}/postqueue
%{_bindir}/mailq
%{_bindir}/newaliases
%attr(0755,root,root) %{_sbindir}/sendmail
%attr(0755,root,root) %{_sbindir}/postalias
%attr(0755,root,root) %{_sbindir}/postcat
%attr(0755,root,root) %{_sbindir}/postconf
%attr(0755,root,root) %{_sbindir}/postfix
%attr(0755,root,root) %{_sbindir}/postkick
%attr(0755,root,root) %{_sbindir}/postlock
%attr(0755,root,root) %{_sbindir}/postlog
%attr(0755,root,root) %{_sbindir}/postmap
%attr(0755,root,root) %{_sbindir}/postmulti
%attr(0755,root,root) %{_sbindir}/postsuper
%attr(0755,root,root) %{_sbindir}/qmqp-source
%attr(0755,root,root) %{_sbindir}/smtp-sink
%attr(0755,root,root) %{_sbindir}/smtp-source
%attr(0755,root,root) %{_sbindir}/mkpostfixcert
%attr(0755,root,root) %{_sbindir}/check_mail_queue
%attr(0755,root,root) %{_sbindir}/config.postfix
%{_sbindir}/rc%{name}
%{_libdir}/lib*
%{_libexecdir}/sendmail
%dir %{_libexecdir}/%{name}
%{_libexecdir}/%{name}/*[^.so]
%{_libexecdir}/%{name}/postfix-ldap.so
%{_libexecdir}/%{name}/postfix-pcre.so
%{_libexecdir}/%{name}/libpostfix-dns.so
%{_libexecdir}/%{name}/libpostfix-global.so
%{_libexecdir}/%{name}/libpostfix-master.so
%{_libexecdir}/%{name}/libpostfix-tls.so
%{_libexecdir}/%{name}/libpostfix-util.so
%{_libexecdir}/%{name}/main.cf.proto
%{_libexecdir}/%{name}/master.cf.proto
%{conf_backup_dir}
%dir %attr(0700,%{name},root) %{pf_data_directory}
%{_mandir}/man?/*.gz
%dir %attr(0755,root,root) /%{pf_queue_directory}
%dir %attr(0700,%{name},root) /%{pf_queue_directory}/active
%dir %attr(0700,%{name},root) /%{pf_queue_directory}/bounce
%dir %attr(0700,%{name},root) /%{pf_queue_directory}/corrupt
%dir %attr(0700,%{name},root) /%{pf_queue_directory}/defer
%dir %attr(0700,%{name},root) /%{pf_queue_directory}/deferred
%dir %attr(0700,%{name},root) /%{pf_queue_directory}/flush
%dir %attr(0700,%{name},root) /%{pf_queue_directory}/hold
%dir %attr(0700,%{name},root) /%{pf_queue_directory}/incoming
%dir %attr(0700,%{name},root) /%{pf_queue_directory}/private
%dir %attr(0700,%{name},root) /%{pf_queue_directory}/saved
%dir %attr(0700,%{name},root) /%{pf_queue_directory}/trace
%dir %attr(0730,%{name},maildrop) /%{pf_queue_directory}/maildrop
%dir %attr(0710,%{name},maildrop) /%{pf_queue_directory}/public
%files devel
%defattr(-,root,root)
%{_includedir}/%{name}/
%files doc
%defattr(0644,root,root,0755)
%{pf_docdir}/
%files mysql
%defattr(-,root,root)
%doc %{name}-mysql/%{name}-mysql.sql
%config(noreplace) %attr(640, root, %{name}) %{_sysconfdir}/%{name}/*_maps.cf
%config(noreplace) %{_sysconfdir}/%{name}/main.cf-mysql
%{_libexecdir}/%{name}/postfix-mysql.so
%files postgresql
%defattr(-,root,root)
%{_libexecdir}/%{name}/postfix-pgsql.so
%changelog