auto-import changelog data from postfix-1.1.7-1.src.rpm
Mon Apr 08 2002 Bernhard Rosenkraenzer <bero@redhat.com> 1.1.7-1 - 1.1.7, fixes 2 critical bugs - Make sure there's a resolv.conf in the chroot jail Wed Mar 27 2002 Bernhard Rosenkraenzer <bero@redhat.com> 1.1.5-3 - Add Provides: lines for alternatives stuff (#60879) Tue Mar 26 2002 Nalin Dahyabhai <nalin@redhat.com> 1.1.5-2 - rebuild Tue Mar 26 2002 Bernhard Rosenkraenzer <bero@redhat.com> 1.1.5-1 - 1.1.5 (bugfix release) - Rebuild with current db Thu Mar 14 2002 Bill Nottingham <notting@redhat.com> 1.1.4-3 - remove db trigger, it's both dangerous and pointless - clean up other triggers a little Wed Mar 13 2002 Bernhard Rosenkraenzer <bero@redhat.com> 1.1.4-2 - Some trigger tweaks to make absolutely sure /etc/services is in the chroot jail Mon Mar 11 2002 Bernhard Rosenkraenzer <bero@redhat.com> 1.1.4-1 - 1.1.4 - TLS 0.8.4 - Move postalias run from %post to init script to work around anaconda being broken. Fri Mar 08 2002 Bill Nottingham <notting@redhat.com> 1.1.3-5 - use alternatives --initscript support Thu Feb 28 2002 Bill Nottingham <notting@redhat.com> 1.1.3-4 - run alternatives --remove in %preun - add various prereqs Thu Feb 28 2002 Nalin Dahyabhai <nalin@redhat.com> 1.1.3-3 - adjust the default postfix-files config file to match the alternatives setup by altering the arguments passed to post-install in the %install phase (otherwise, it might point to sendmail's binaries, breaking it rather rudely) - adjust the post-install script so that it silently uses paths which have been modified for use with alternatives, for upgrade cases where the postfix-files configuration file isn't overwritten - don't forcefully strip files -- that's a build root policy - remove hard requirement on openldap, library dependencies take care of it - redirect %postun to /dev/null - don't remove the postfix user and group when the package is removed Wed Feb 20 2002 Bernhard Rosenkraenzer <bero@redhat.com> 1.1.3-2 - listen on 127.0.0.1 only by default (#60071) - Put config samples in /usr/share/doc/postfix-1.1.7 rather than /etc/postfix (#60072) - Some spec file cleanups Tue Feb 19 2002 Bernhard Rosenkraenzer <bero@redhat.com> 1.1.3-1 - 1.1.3, TLS 0.8.3 - Fix updating - Don't run the statistics cron job - remove requirement on perl Date::Calc Thu Jan 31 2002 Bernhard Rosenkraenzer <bero@redhat.com> 1.1.2-3 - Fix up alternatives stuff Wed Jan 30 2002 Bernhard Rosenkraenzer <bero@redhat.com> 1.1.2-2 - Use alternatives Sun Jan 27 2002 Bernhard Rosenkraenzer <bero@redhat.com> 1.1.2-1 - Initial Red Hat Linux packaging, based on spec file from Simon J Mudd <sjmudd@pobox.com> - Changes from that: - Set up chroot environment in triggers to make sure we catch glibc errata - Remove some hacks to support building on all sorts of distributions at the cost of specfile readability - Remove postdrop group on deletion
This commit is contained in:
parent
bbab718381
commit
16927f37d2
@ -0,0 +1,2 @@
|
||||
pfixtls-0.8.7-1.1.7-0.9.6c.tar.bz2
|
||||
postfix-1.1.7.tar.bz2
|
87
postfix-aliases
Normal file
87
postfix-aliases
Normal file
@ -0,0 +1,87 @@
|
||||
# Default aliases file for postfix
|
||||
#
|
||||
# this file should be in /etc or in /etc/postfix but if you want it in
|
||||
# /etc/postfix you'll have to adjust your /etc/postfix/main.cf file accordingly
|
||||
#
|
||||
# Aliases in this file will NOT be expanded in the header from
|
||||
# mail, but WILL be visible over networks or from /bin/mail.
|
||||
#
|
||||
# Following alias is required by the mail protocol, RFC 822 (and by RFC2142)
|
||||
# Set it to the address of a HUMAN who deals with this system's mail problems.
|
||||
#
|
||||
# For various security reasons, postfix WILL NOT deliver mail as root, so
|
||||
# ensure that the root alias is aliased to a HUMAN user, as otherwise
|
||||
# mail may get delivered to the $default_privs user (nobody).
|
||||
postmaster: root
|
||||
|
||||
# Many mailers use this address to represent the empty SMTP return
|
||||
# path
|
||||
MAILER-DAEMON: postmaster
|
||||
|
||||
|
||||
# Common aliases for system accounts.
|
||||
bin: root
|
||||
daemon: root
|
||||
games: root
|
||||
ingres: root
|
||||
nobody: root
|
||||
system: root
|
||||
toor: root
|
||||
foo: root
|
||||
falken: root
|
||||
|
||||
# Well-known aliases.
|
||||
admin: root
|
||||
manager: root
|
||||
dumper: root
|
||||
operator: root
|
||||
|
||||
# traps to catch security attacks
|
||||
decode: root
|
||||
moof: root
|
||||
moog: root
|
||||
|
||||
# The following aliases are required by RFC 2142
|
||||
info: staff
|
||||
marketing: staff
|
||||
sales: staff
|
||||
support: staff
|
||||
|
||||
# Standard aliases also defined by RFC 2142
|
||||
abuse: postmaster
|
||||
# reports of network infrastructure difficulties
|
||||
noc: root
|
||||
# address to report secuirty problems
|
||||
security: root
|
||||
# DNS administrator (DNS soa records should use this)
|
||||
hostmaster: root
|
||||
# Usenet news service administrator
|
||||
news: usenet
|
||||
usenet: root
|
||||
# http/web service administrator
|
||||
www: webmaster
|
||||
webmaster: root
|
||||
# UUCP service administrator
|
||||
uucp: root
|
||||
# FTP administrator (especially anonymouse FTP)
|
||||
ftp: root
|
||||
|
||||
# Commonly used group aliases:
|
||||
#
|
||||
staff: postmaster
|
||||
office: postmaster
|
||||
all: postmaster
|
||||
tech: postmaster
|
||||
ops: postmaster
|
||||
|
||||
# Person who should get root's mail. This alias
|
||||
# must exist.
|
||||
# CHANGE THIS LINE to an account of a HUMAN
|
||||
root: postfix
|
||||
|
||||
# Note to the user: You must create the alias above!
|
||||
# The root alias *must* exist under postfix because
|
||||
# postfix runs as a non-privileged user and cannot
|
||||
# touch a spool file which is UID/GID root
|
||||
# The mapping to the postfix user is to ensure that root's mail
|
||||
# doesn't get lost on a system installed out of the box.
|
22
postfix-alternatives.patch
Normal file
22
postfix-alternatives.patch
Normal file
@ -0,0 +1,22 @@
|
||||
Changing the postfix-files config file won't work right on upgrades because
|
||||
it's a noreplace configuration (the new version with the right paths in it is
|
||||
installed as postfix-files.rpmnew), so we just munge the post-install script.
|
||||
--- postfix-1.1.3/conf/post-install Thu Feb 28 16:15:08 2002
|
||||
+++ postfix-1.1.3/conf/post-install Thu Feb 28 16:14:54 2002
|
||||
@@ -429,6 +429,16 @@
|
||||
case $path in
|
||||
no|no/*) continue;;
|
||||
esac
|
||||
+ # Munge paths for alternatives.
|
||||
+ case $path in
|
||||
+ /usr/bin/mailq) path=$path.postfix ;;
|
||||
+ /usr/bin/newaliases) path=$path.postfix ;;
|
||||
+ /usr/bin/rmail) path=$path.postfix ;;
|
||||
+ /usr/sbin/sendmail) path=$path.postfix ;;
|
||||
+ /usr/share/man/man1/mailq.1.gz) path=/usr/share/man/man1/mailq.postfix.1.gz ;;
|
||||
+ /usr/share/man/man1/newaliases.1.gz) path=/usr/share/man/man1/newaliases.postfix.1.gz ;;
|
||||
+ /usr/share/man/man5/aliases.5.gz) path=/usr/share/man/man5/aliases.postfix.5.gz ;;
|
||||
+ esac
|
||||
# Pick up the flags.
|
||||
case $flags in *u*) upgrade_flag=1;; *) upgrade_flag=;; esac
|
||||
case $flags in *c*) create_flag=1;; *) create_flag=;; esac
|
118
postfix-etc-init.d-postfix
Normal file
118
postfix-etc-init.d-postfix
Normal file
@ -0,0 +1,118 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# postfix Postfix Mail Transfer Agent
|
||||
#
|
||||
# chkconfig: 2345 80 30
|
||||
# description: Postfix is a Mail Transport Agent, which is the program \
|
||||
# that moves mail from one machine to another.
|
||||
# processname: master
|
||||
# pidfile: /var/spool/postfix/pid/master.pid
|
||||
# config: /etc/postfix/main.cf
|
||||
# config: /etc/postfix/master.cf
|
||||
#
|
||||
# $Revision: 1.12 $
|
||||
#
|
||||
# Written by Package Author: Simon J Mudd <sjmudd@pobox.com>
|
||||
# 25/02/99: Mostly s/sendmail/postfix/g by John A. Martin <jam@jamux.com>
|
||||
# 23/11/00: Changes & suggestions by Ajay Ramaswamy <ajayr@bigfoot.com>
|
||||
# 20/01/01: Changes to fall in line with RedHat 7.0 style
|
||||
# 23/02/01: Fix a few untidy problems with help from Daniel Roesen.
|
||||
|
||||
# Source function library.
|
||||
. /etc/rc.d/init.d/functions
|
||||
|
||||
# Source networking configuration.
|
||||
. /etc/sysconfig/network
|
||||
|
||||
# Check that networking is up.
|
||||
[ ${NETWORKING} = "no" ] && exit 0
|
||||
|
||||
[ -x /usr/sbin/postfix ] || exit 0
|
||||
[ -d /etc/postfix ] || exit 0
|
||||
[ -d /var/spool/postfix ] || exit 0
|
||||
|
||||
RETVAL=0
|
||||
|
||||
start() {
|
||||
# Start daemons.
|
||||
echo -n "Starting postfix: "
|
||||
if [ ! -e /var/spool/postfix/etc/resolv.conf ]; then
|
||||
cp -f /etc/resolv.conf /var/spool/postfix/etc
|
||||
fi
|
||||
/usr/sbin/postalias /etc/postfix/aliases
|
||||
/usr/sbin/postfix start 2>/dev/null 1>&2 && success || failure
|
||||
RETVAL=$?
|
||||
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/postfix
|
||||
echo
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
stop() {
|
||||
# Stop daemons.
|
||||
echo -n "Shutting down postfix: "
|
||||
/usr/sbin/postfix stop 2>/dev/null 1>&2 && success || failure
|
||||
RETVAL=$?
|
||||
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/postfix
|
||||
echo
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
reload() {
|
||||
echo -n "Reloading postfix: "
|
||||
/usr/sbin/postfix reload 2>/dev/null 1>&2 && success || failure
|
||||
RETVAL=$?
|
||||
echo
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
abort() {
|
||||
/usr/sbin/postfix abort 2>/dev/null 1>&2 && success || failure
|
||||
return $?
|
||||
}
|
||||
|
||||
flush() {
|
||||
/usr/sbin/postfix flush 2>/dev/null 1>&2 && success || failure
|
||||
return $?
|
||||
}
|
||||
|
||||
check() {
|
||||
/usr/sbin/postfix check 2>/dev/null 1>&2 && success || failure
|
||||
return $?
|
||||
}
|
||||
|
||||
# See how we were called.
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
restart)
|
||||
stop
|
||||
start
|
||||
;;
|
||||
reload)
|
||||
reload
|
||||
;;
|
||||
abort)
|
||||
abort
|
||||
;;
|
||||
flush)
|
||||
flush
|
||||
;;
|
||||
check)
|
||||
check
|
||||
;;
|
||||
status)
|
||||
status master
|
||||
;;
|
||||
condrestart)
|
||||
[ -f /var/lock/subsys/postfix ] && restart || :
|
||||
;;
|
||||
*)
|
||||
echo "Usage: postfix {start|stop|restart|reload|abort|flush|check|status|condrestart}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit $?
|
549
postfix.spec
Normal file
549
postfix.spec
Normal file
@ -0,0 +1,549 @@
|
||||
%define copy_cmd copy() { ln -f "$1" "$2" 2>/dev/null || cp -df "$1" "$2"; }
|
||||
%define ROOT /var/spool/postfix
|
||||
|
||||
%define LDAP 0
|
||||
%define MYSQL 0
|
||||
%define PCRE 1
|
||||
%define SASL 0
|
||||
%define TLS 1
|
||||
%define SMTPD_MULTILINE_GREETING 1
|
||||
%define POSTDROP_GID 90
|
||||
|
||||
# If set to 1 if official version, 0 if snapshot
|
||||
%define official 1
|
||||
%define ver 1.1.7
|
||||
%define releasedate 20020115
|
||||
%define alternatives 1
|
||||
%if %{official}
|
||||
Version: %{ver}
|
||||
%define ftp_directory official
|
||||
%else
|
||||
Version: %{ver}-%{releasedate}
|
||||
%define ftp_directory experimental
|
||||
%endif
|
||||
|
||||
%define tlsno pfixtls-0.8.7-1.1.7-0.9.6c
|
||||
|
||||
# Postfix requires one exlusive uid/gid and a 2nd exclusive gid for its own
|
||||
# use. Let me know if the second gid collides with another package.
|
||||
# Be careful: Redhat's 'mail' user & group isn't unique!
|
||||
%define postfix_uid 89
|
||||
%define postfix_gid 89
|
||||
%define maildrop_group postdrop
|
||||
%define maildrop_gid %{POSTDROP_GID}
|
||||
|
||||
Name: postfix
|
||||
Group: System Environment/Daemons
|
||||
URL: http://www.postfix.org
|
||||
License: IBM Public License
|
||||
PreReq: /sbin/chkconfig, /sbin/service, sh-utils
|
||||
PreReq: fileutils, textutils,
|
||||
%if %alternatives
|
||||
PreReq: /usr/sbin/alternatives
|
||||
%else
|
||||
Obsoletes: sendmail exim qmail
|
||||
%endif
|
||||
PreReq: %{_sbindir}/groupadd, %{_sbindir}/useradd
|
||||
Epoch: 2
|
||||
Provides: MTA smtpd smtpdaemon
|
||||
Release: 1
|
||||
Summary: Postfix Mail Transport Agent
|
||||
Source0: ftp://ftp.porcupine.org/mirrors/postfix-release/%{ftp_directory}/%{name}-%{version}.tar.bz2
|
||||
Source3: postfix-etc-init.d-postfix
|
||||
Source5: postfix-aliases
|
||||
Source6: postfix-chroot-setup.awk
|
||||
Source9: ftp://ftp.aet.tu-cottbus.de/pub/postfix_tls/%{tlsno}.tar.bz2
|
||||
Patch1: postfix-config.patch
|
||||
Patch2: postfix-smtp_sasl_proto.c.patch
|
||||
Patch3: postfix-alternatives.patch
|
||||
|
||||
# Optional patches - set the appropriate environment variables to include
|
||||
# them when building the package/spec file
|
||||
|
||||
# applied if %SMTPD_MULTILINE_GREETING=1
|
||||
Patch99: postfix-smtpd_multiline_greeting.patch
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-buildroot
|
||||
|
||||
# Determine the different packages required for building postfix
|
||||
BuildRequires: gawk, perl, sed, ed, db3-devel
|
||||
|
||||
%if %{LDAP}
|
||||
BuildRequires: openldap >= 1.2.9, openldap-devel >= 1.2.9
|
||||
%endif
|
||||
|
||||
%if %{PCRE}
|
||||
Requires: pcre
|
||||
BuildRequires: pcre, pcre-devel
|
||||
%endif
|
||||
|
||||
%if %{MYSQL}
|
||||
Requires: mysql, mysqlclient9
|
||||
BuildRequires: mysql, mysqlclient9, mysql-devel
|
||||
%endif
|
||||
|
||||
%if %{SASL}
|
||||
Requires: cyrus-sasl
|
||||
BuildRequires: cyrus-sasl, cyrus-sasl-devel
|
||||
%endif
|
||||
|
||||
%if %{TLS}
|
||||
Requires: openssl
|
||||
BuildRequires: openssl-devel
|
||||
%endif
|
||||
|
||||
Provides: /usr/sbin/sendmail /usr/bin/mailq /usr/bin/rmail
|
||||
|
||||
%description
|
||||
Postfix is a Mail Transport Agent (MTA), supporting LDAP, SMTP AUTH (SASL),
|
||||
TLS and running in a chroot environment.
|
||||
|
||||
%prep
|
||||
umask 022
|
||||
|
||||
%setup -q -a 9
|
||||
# Apply the TLS patch, must be at first, because the changes of master.cf
|
||||
%if %{TLS}
|
||||
patch -p1 <%{tlsno}/pfixtls.diff
|
||||
%endif
|
||||
|
||||
# Apply obligatory patches
|
||||
%patch1 -p1 -b .config
|
||||
%patch2 -p1 -b .auth
|
||||
%if %alternatives
|
||||
%patch3 -p1 -b .alternatives
|
||||
%endif
|
||||
|
||||
# Apply optional patches
|
||||
|
||||
# Apply my SMTPD Multiline greeting patch
|
||||
%if %{SMTPD_MULTILINE_GREETING}
|
||||
%patch99 -p1 -b .multiline
|
||||
%endif
|
||||
|
||||
# Move around the TLS docs
|
||||
%if %{TLS}
|
||||
mkdir html/TLS
|
||||
mv %{tlsno}/doc/* html/TLS
|
||||
for i in ACKNOWLEDGEMENTS CHANGES INSTALL README TODO; do
|
||||
mv %{tlsno}/$i $i.TLS
|
||||
done
|
||||
%endif
|
||||
|
||||
# setup master.cf to be chrooted
|
||||
mv conf/master.cf conf/master.cf-nochroot
|
||||
awk -f %{_sourcedir}/postfix-chroot-setup.awk < conf/master.cf-nochroot > conf/master.cf
|
||||
|
||||
%build
|
||||
umask 022
|
||||
|
||||
CCARGS=
|
||||
AUXLIBS=
|
||||
|
||||
%ifarch s390 s390x ppc
|
||||
CCARGS="${CCARGS} -fsigned-char"
|
||||
%endif
|
||||
|
||||
%if %{LDAP}
|
||||
CCARGS="${CCARGS} -DHAS_LDAP"
|
||||
AUXLIBS="${AUXLIBS} -L/usr/lib -lldap -llber"
|
||||
%endif
|
||||
%if %{PCRE}
|
||||
# -I option required for pcre 3.4 (and later?)
|
||||
CCARGS="${CCARGS} -DHAS_PCRE -I/usr/include/pcre"
|
||||
AUXLIBS="${AUXLIBS} -lpcre"
|
||||
%endif
|
||||
%if %{MYSQL}
|
||||
CCARGS="${CCARGS} -DHAS_MYSQL -I/usr/include/mysql"
|
||||
AUXLIBS="${AUXLIBS} -L/usr/lib/mysql -lmysqlclient -lm"
|
||||
%endif
|
||||
%if %{SASL}
|
||||
CCARGS="${CCARGS} -DUSE_SASL_AUTH"
|
||||
AUXLIBS="${AUXLIBS} -lsasl"
|
||||
%endif
|
||||
%if %{TLS}
|
||||
LIBS=
|
||||
CCARGS="${CCARGS} -DHAS_SSL -I/usr/include/openssl"
|
||||
AUXLIBS="${AUXLIBS} -lssl -lcrypto"
|
||||
%endif
|
||||
|
||||
export CCARGS AUXLIBS
|
||||
make -f Makefile.init makefiles
|
||||
|
||||
unset CCARGS AUXLIBS
|
||||
make DEBUG="" OPT="$RPM_OPT_FLAGS"
|
||||
|
||||
%install
|
||||
umask 022
|
||||
/bin/rm -rf $RPM_BUILD_ROOT
|
||||
/bin/mkdir -p $RPM_BUILD_ROOT
|
||||
|
||||
# install postfix into $RPM_BUILD_ROOT
|
||||
sh postfix-install -non-interactive \
|
||||
install_root=$RPM_BUILD_ROOT \
|
||||
config_directory=%{_sysconfdir}/postfix \
|
||||
daemon_directory=%{_libexecdir}/postfix \
|
||||
command_directory=%{_sbindir} \
|
||||
queue_directory=%{_var}/spool/postfix \
|
||||
sendmail_path=%{_sbindir}/sendmail.postfix \
|
||||
newaliases_path=%{_bindir}/newaliases.postfix \
|
||||
mailq_path=%{_bindir}/mailq.postfix \
|
||||
mail_owner=postfix \
|
||||
setgid_group=%{maildrop_group} \
|
||||
manpage_directory=%{_mandir} \
|
||||
sample_directory=/samples \
|
||||
readme_directory=%{_sysconfdir}/postfix/README_FILES || exit 1
|
||||
|
||||
rm -fr ./samples
|
||||
mv $RPM_BUILD_ROOT/samples .
|
||||
|
||||
# Change alias_maps and alias_database default directory to %{_sysconfdir}/postfix
|
||||
bin/postconf -c $RPM_BUILD_ROOT%{_sysconfdir}/postfix -e \
|
||||
"alias_maps = hash:%{_sysconfdir}/postfix/aliases" \
|
||||
"alias_database = hash:%{_sysconfdir}/postfix/aliases" \
|
||||
|| exit 1
|
||||
|
||||
# This installs into the /etc/rc.d/init.d directory
|
||||
/bin/mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
|
||||
install -c %{_sourcedir}/postfix-etc-init.d-postfix \
|
||||
$RPM_BUILD_ROOT/etc/rc.d/init.d/postfix
|
||||
|
||||
# These set up the chroot directory structure
|
||||
mkdir -p $RPM_BUILD_ROOT%{_var}/spool/postfix/etc
|
||||
mkdir -p $RPM_BUILD_ROOT%{_var}/spool/postfix/lib
|
||||
mkdir -p $RPM_BUILD_ROOT%{_var}/spool/postfix/usr/lib/zoneinfo
|
||||
|
||||
install -c auxiliary/rmail/rmail $RPM_BUILD_ROOT%{_bindir}/rmail
|
||||
|
||||
# copy new aliases files and generate a ghost aliases.db file
|
||||
cp -f %{_sourcedir}/postfix-aliases $RPM_BUILD_ROOT%{_sysconfdir}/postfix/aliases
|
||||
chmod 644 $RPM_BUILD_ROOT%{_sysconfdir}/postfix/aliases
|
||||
|
||||
touch $RPM_BUILD_ROOT/%{_sysconfdir}/postfix/aliases.db
|
||||
|
||||
for i in active bounce corrupt defer deferred flush incoming private saved maildrop public pid; do
|
||||
mkdir -p $RPM_BUILD_ROOT%{_var}/spool/postfix/$i
|
||||
done
|
||||
|
||||
# install smtp-sink/smtp-source by hand
|
||||
for i in smtp-sink smtp-source; do
|
||||
install -c -m 755 bin/$i $RPM_BUILD_ROOT%{_sbindir}/
|
||||
done
|
||||
|
||||
# Move stuff around so we don't conflict with sendmail
|
||||
mv $RPM_BUILD_ROOT%{_bindir}/rmail $RPM_BUILD_ROOT%{_bindir}/rmail.postfix
|
||||
mv $RPM_BUILD_ROOT%{_mandir}/man1/mailq.1 $RPM_BUILD_ROOT%{_mandir}/man1/mailq.postfix.1
|
||||
mv $RPM_BUILD_ROOT%{_mandir}/man1/newaliases.1 $RPM_BUILD_ROOT%{_mandir}/man1/newaliases.postfix.1
|
||||
mv $RPM_BUILD_ROOT%{_mandir}/man5/aliases.5 $RPM_BUILD_ROOT%{_mandir}/man5/aliases.postfix.5
|
||||
|
||||
# RPM compresses man pages automatically.
|
||||
# - Edit postfix-files to reflect this, so post-install won't get confused
|
||||
# when called during package installation.
|
||||
ed $RPM_BUILD_ROOT%{_sysconfdir}/postfix/postfix-files <<EOF || exit 1
|
||||
%s/\(\/man[158]\/.*\.[158]\):/\1.gz:/
|
||||
w
|
||||
q
|
||||
EOF
|
||||
|
||||
%post
|
||||
umask 022
|
||||
|
||||
/sbin/chkconfig --add postfix
|
||||
|
||||
# upgrade configuration files if necessary
|
||||
sh %{_sysconfdir}/postfix/post-install \
|
||||
config_directory=%{_sysconfdir}/postfix \
|
||||
daemon_directory=%{_libexecdir}/postfix \
|
||||
command_directory=%{_sbindir} \
|
||||
mail_owner=postfix \
|
||||
setgid_group=%{maildrop_group} \
|
||||
manpage_directory=%{_mandir} \
|
||||
sample_directory=%{_docdir}/%{name}-%{version}/samples \
|
||||
readme_directory=%{_sysconfdir}/postfix/README_FILES \
|
||||
upgrade-package
|
||||
|
||||
# setup chroot config
|
||||
mkdir -p %{ROOT}/etc
|
||||
[ -e /etc/localtime ] && cp /etc/localtime %{ROOT}/etc
|
||||
|
||||
%if %alternatives
|
||||
/usr/sbin/alternatives --install %{_sbindir}/sendmail mta %{_sbindir}/sendmail.postfix 30 \
|
||||
--slave %{_bindir}/mailq mta-mailq %{_bindir}/mailq.postfix \
|
||||
--slave %{_bindir}/newaliases mta-newaliases %{_bindir}/newaliases.postfix \
|
||||
--slave %{_bindir}/rmail mta-rmail %{_bindir}/rmail.postfix \
|
||||
--slave %{_mandir}/man1/mailq.1.gz mta-mailqman %{_mandir}/man1/mailq.postfix.1.gz \
|
||||
--slave %{_mandir}/man1/newaliases.1.gz mta-newaliasesman %{_mandir}/man1/newaliases.postfix.1.gz \
|
||||
--slave %{_mandir}/man5/aliases.5.gz mta-aliasesman %{_mandir}/man5/aliases.postfix.5.gz \
|
||||
--initscript postfix
|
||||
%endif
|
||||
|
||||
# Generate chroot jails on the fly when needed things are installed/upgraded
|
||||
%triggerin -- glibc
|
||||
%{copy_cmd}
|
||||
# Kill off old versions
|
||||
rm -rf %{ROOT}/lib/libnss* %{ROOT}/lib/libresolv*
|
||||
# Copy the relevant parts in
|
||||
LIBCVER=`ls -l /lib/libc.so.6* | sed "s/.*libc-\(.*\).so$/\1/g"`
|
||||
for i in compat dns files hesiod nis nisplus winbind wins; do
|
||||
[ -e /lib/libnss_$i-${LIBCVER}.so ] && copy /lib/libnss_$i-${LIBCVER}.so %{ROOT}/lib
|
||||
[ -e /lib/libnss_$i.so ] && copy /lib/libnss_$i.so %{ROOT}/lib
|
||||
done
|
||||
copy /lib/libresolv-${LIBCVER}.so %{ROOT}/lib
|
||||
ldconfig -n %{ROOT}/lib
|
||||
|
||||
%if %{LDAP}
|
||||
%triggerin -- openldap
|
||||
rm -rf %{ROOT}/usr/lib/liblber* %{ROOT}/usr/lib/libldap*
|
||||
%{copy_cmd}
|
||||
copy /usr/lib/liblber.so.2 %{ROOT}/usr/lib
|
||||
copy /usr/lib/libldap_r.so.2 %{ROOT}/usr/lib
|
||||
copy /usr/lib/libldap.so.2 %{ROOT}/usr/lib
|
||||
ldconfig -n %{ROOT}/usr/lib
|
||||
%endif
|
||||
|
||||
%triggerin -- setup
|
||||
rm -f %{ROOT}/etc/services
|
||||
%{copy_cmd}
|
||||
copy /etc/services %{ROOT}/etc
|
||||
|
||||
%pre
|
||||
# Add user and groups if necessary
|
||||
%{_sbindir}/groupadd -g %{maildrop_gid} -r %{maildrop_group} 2>/dev/null || :
|
||||
%{_sbindir}/groupadd -g %{postfix_gid} -r postfix 2>/dev/null || :
|
||||
%{_sbindir}/useradd -d %{_var}/spool/postfix -s /bin/true -g postfix -M -r -u %{postfix_uid} postfix 2>/dev/null || :
|
||||
|
||||
%preun
|
||||
umask 022
|
||||
|
||||
# selectively remove the rest of the queue directory structure
|
||||
# first remove the "queues" (and assume the hash depth is still 2)
|
||||
queue_directory_remove () {
|
||||
for dir in active bounce defer deferred flush incoming; do
|
||||
for a in 0 1 2 3 4 5 6 7 8 9 A B C D E F; do
|
||||
test -d $dir/$a && {
|
||||
for b in 0 1 2 3 4 5 6 7 8 9 A B C D E F; do
|
||||
test -d $dir/$a/$b && (
|
||||
/bin/rm -f $dir/$a/$b/*
|
||||
/bin/rmdir $dir/$a/$b
|
||||
)
|
||||
done
|
||||
/bin/rmdir $dir/$a || echo "WARNING: preun - unable to remove directory %{_var}/spool/postfix/$dir/$a"
|
||||
}
|
||||
done
|
||||
/bin/rmdir $dir || echo "WARNING: preun - unable to remove directory %{_var}/spool/postfix/$dir"
|
||||
done
|
||||
|
||||
# now remove the other directories
|
||||
for dir in corrupt maildrop pid private public saved; do
|
||||
test -d $dir && {
|
||||
/bin/rm -f $dir/*
|
||||
/bin/rmdir $dir || echo "WARNING: preun - unable to remove directory %{_var}/spool/postfix/$dir"
|
||||
}
|
||||
done
|
||||
}
|
||||
|
||||
if [ "$1" = 0 ]; then
|
||||
# stop postfix silently, but only if it's running
|
||||
/sbin/service postfix stop &>/dev/null
|
||||
/sbin/chkconfig --del postfix
|
||||
%if %alternatives
|
||||
/usr/sbin/alternatives --remove mta %{_sbindir}/sendmail.postfix
|
||||
%endif
|
||||
|
||||
cd %{_var}/spool/postfix && {
|
||||
# Clean up chroot environment
|
||||
rm -rf %{ROOT}/lib %{ROOT}/usr %{ROOT}/etc
|
||||
queue_directory_remove
|
||||
}
|
||||
true # to ensure we exit safely
|
||||
fi
|
||||
|
||||
# Remove unneeded symbolic links
|
||||
for i in samples README_FILES; do
|
||||
test -L %{_sysconfdir}/postfix/$i && rm %{_sysconfdir}/postfix/$i || true
|
||||
done
|
||||
|
||||
%postun
|
||||
if [ "$1" != 0 ]; then
|
||||
/sbin/service postfix condrestart 2>&1 > /dev/null
|
||||
fi
|
||||
exit 0
|
||||
|
||||
%clean
|
||||
/bin/rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
|
||||
%files
|
||||
%defattr(-, root, root)
|
||||
%verify(not md5 size mtime) %config %dir %{_sysconfdir}/postfix
|
||||
%attr(0644, root, root) %{_sysconfdir}/postfix/LICENSE
|
||||
%attr(0755, root, root) %config %{_sysconfdir}/postfix/postfix-script
|
||||
%attr(0755, root, root) %config %{_sysconfdir}/postfix/post-install
|
||||
%attr(0644, root, root) %{_sysconfdir}/postfix/postfix-files
|
||||
%attr(0644, root, root) %verify(not md5 size mtime) %config(noreplace) %{_sysconfdir}/postfix/main.cf
|
||||
%attr(0644, root, root) %{_sysconfdir}/postfix/main.cf.default
|
||||
%attr(0644, root, root) %verify(not md5 size mtime) %config(noreplace) %{_sysconfdir}/postfix/master.cf
|
||||
%attr(0644, root, root) %verify(not md5 size mtime) %config(noreplace) %{_sysconfdir}/postfix/access
|
||||
%attr(0644, root, root) %verify(not md5 size mtime) %config(noreplace) %{_sysconfdir}/postfix/aliases
|
||||
%attr(0644, root, root) %verify(not md5 size mtime) %ghost %{_sysconfdir}/postfix/aliases.db
|
||||
%attr(0644, root, root) %verify(not md5 size mtime) %config(noreplace) %{_sysconfdir}/postfix/canonical
|
||||
%attr(0644, root, root) %verify(not md5 size mtime) %config(noreplace) %{_sysconfdir}/postfix/pcre_table
|
||||
%attr(0644, root, root) %verify(not md5 size mtime) %config(noreplace) %{_sysconfdir}/postfix/regexp_table
|
||||
%attr(0644, root, root) %verify(not md5 size mtime) %config(noreplace) %{_sysconfdir}/postfix/relocated
|
||||
%attr(0644, root, root) %verify(not md5 size mtime) %config(noreplace) %{_sysconfdir}/postfix/transport
|
||||
%attr(0644, root, root) %verify(not md5 size mtime) %config(noreplace) %{_sysconfdir}/postfix/virtual
|
||||
|
||||
%dir %attr(-, root, root) %{_sysconfdir}/postfix/README_FILES
|
||||
%attr(0644, root, root) %{_sysconfdir}/postfix/README_FILES/*
|
||||
|
||||
%attr(0755, root, root) %config /etc/rc.d/init.d/postfix
|
||||
|
||||
%dir %verify(not md5 size mtime) %{_var}/spool/postfix
|
||||
%dir %attr(-, root, root) %verify(not md5 size mtime) %{_var}/spool/postfix/etc
|
||||
%dir %attr(-, root, root) %verify(not md5 size mtime) %{_var}/spool/postfix/lib
|
||||
%attr(-, root, root) %verify(not md5 size mtime) %{_var}/spool/postfix/usr
|
||||
|
||||
# For correct directory permissions check postfix-install script
|
||||
%dir %attr(0700, postfix, root) %verify(not md5 size mtime) %{_var}/spool/postfix/active
|
||||
%dir %attr(0700, postfix, root) %verify(not md5 size mtime) %{_var}/spool/postfix/bounce
|
||||
%dir %attr(0700, postfix, root) %verify(not md5 size mtime) %{_var}/spool/postfix/corrupt
|
||||
%dir %attr(0700, postfix, root) %verify(not md5 size mtime) %{_var}/spool/postfix/defer
|
||||
%dir %attr(0700, postfix, root) %verify(not md5 size mtime) %{_var}/spool/postfix/deferred
|
||||
%dir %attr(0700, postfix, root) %verify(not md5 size mtime) %{_var}/spool/postfix/flush
|
||||
%dir %attr(0700, postfix, root) %verify(not md5 size mtime) %{_var}/spool/postfix/incoming
|
||||
%dir %attr(0700, postfix, root) %verify(not md5 size mtime) %{_var}/spool/postfix/private
|
||||
%dir %attr(0700, postfix, root) %verify(not md5 size mtime) %{_var}/spool/postfix/saved
|
||||
|
||||
%dir %attr(0730, postfix, %{maildrop_group}) %verify(not md5 size mtime) %{_var}/spool/postfix/maildrop
|
||||
%dir %attr(0710, postfix, %{maildrop_group}) %verify(not md5 size mtime) %{_var}/spool/postfix/public
|
||||
|
||||
%dir %attr(0755, root, root) %verify(not md5 size mtime) %{_var}/spool/postfix/pid
|
||||
|
||||
%doc 0README COMPATIBILITY HISTORY INSTALL LICENSE PORTING RELEASE_NOTES
|
||||
%if %{TLS}
|
||||
%doc ACKNOWLEDGEMENTS.TLS CHANGES.TLS README.TLS TODO.TLS html/TLS/*
|
||||
%endif
|
||||
%doc html
|
||||
%doc samples
|
||||
|
||||
%dir %attr(0755, root, root) %verify(not md5 size mtime) %{_libexecdir}/postfix
|
||||
%{_libexecdir}/postfix/bounce
|
||||
%{_libexecdir}/postfix/cleanup
|
||||
%{_libexecdir}/postfix/error
|
||||
%{_libexecdir}/postfix/flush
|
||||
%{_libexecdir}/postfix/lmtp
|
||||
%{_libexecdir}/postfix/local
|
||||
%{_libexecdir}/postfix/master
|
||||
%{_libexecdir}/postfix/nqmgr
|
||||
%{_libexecdir}/postfix/pickup
|
||||
%{_libexecdir}/postfix/pipe
|
||||
%{_libexecdir}/postfix/qmgr
|
||||
%{_libexecdir}/postfix/qmqpd
|
||||
%{_libexecdir}/postfix/showq
|
||||
%{_libexecdir}/postfix/smtp
|
||||
%{_libexecdir}/postfix/smtpd
|
||||
%{_libexecdir}/postfix/spawn
|
||||
%{_libexecdir}/postfix/trivial-rewrite
|
||||
%{_libexecdir}/postfix/virtual
|
||||
|
||||
%if %{TLS}
|
||||
%{_libexecdir}/postfix/tlsmgr
|
||||
%endif
|
||||
|
||||
%{_sbindir}/postalias
|
||||
%{_sbindir}/postcat
|
||||
%{_sbindir}/postconf
|
||||
%attr(2755,root,%{maildrop_group}) %{_sbindir}/postdrop
|
||||
%attr(2755,root,%{maildrop_group}) %{_sbindir}/postqueue
|
||||
%{_sbindir}/postfix
|
||||
%{_sbindir}/postkick
|
||||
%{_sbindir}/postlock
|
||||
%{_sbindir}/postlog
|
||||
%{_sbindir}/postmap
|
||||
%{_sbindir}/postsuper
|
||||
|
||||
%{_sbindir}/smtp-sink
|
||||
%{_sbindir}/smtp-source
|
||||
|
||||
%{_sbindir}/sendmail.postfix
|
||||
%{_bindir}/mailq.postfix
|
||||
%{_bindir}/newaliases.postfix
|
||||
%attr(0755, root, root) %{_bindir}/rmail.postfix
|
||||
|
||||
%{_mandir}/*/*
|
||||
|
||||
%changelog
|
||||
* Mon Apr 8 2002 Bernhard Rosenkraenzer <bero@redhat.com> 1.1.7-1
|
||||
- 1.1.7, fixes 2 critical bugs
|
||||
- Make sure there's a resolv.conf in the chroot jail
|
||||
|
||||
* Wed Mar 27 2002 Bernhard Rosenkraenzer <bero@redhat.com> 1.1.5-3
|
||||
- Add Provides: lines for alternatives stuff (#60879)
|
||||
|
||||
* Tue Mar 26 2002 Nalin Dahyabhai <nalin@redhat.com> 1.1.5-2
|
||||
- rebuild
|
||||
|
||||
* Tue Mar 26 2002 Bernhard Rosenkraenzer <bero@redhat.com> 1.1.5-1
|
||||
- 1.1.5 (bugfix release)
|
||||
- Rebuild with current db
|
||||
|
||||
* Thu Mar 14 2002 Bill Nottingham <notting@redhat.com> 1.1.4-3
|
||||
- remove db trigger, it's both dangerous and pointless
|
||||
- clean up other triggers a little
|
||||
|
||||
* Wed Mar 13 2002 Bernhard Rosenkraenzer <bero@redhat.com> 1.1.4-2
|
||||
- Some trigger tweaks to make absolutely sure /etc/services is in the
|
||||
chroot jail
|
||||
|
||||
* Mon Mar 11 2002 Bernhard Rosenkraenzer <bero@redhat.com> 1.1.4-1
|
||||
- 1.1.4
|
||||
- TLS 0.8.4
|
||||
- Move postalias run from %%post to init script to work around
|
||||
anaconda being broken.
|
||||
|
||||
* Fri Mar 8 2002 Bill Nottingham <notting@redhat.com> 1.1.3-5
|
||||
- use alternatives --initscript support
|
||||
|
||||
* Thu Feb 28 2002 Bill Nottingham <notting@redhat.com> 1.1.3-4
|
||||
- run alternatives --remove in %%preun
|
||||
- add various prereqs
|
||||
|
||||
* Thu Feb 28 2002 Nalin Dahyabhai <nalin@redhat.com> 1.1.3-3
|
||||
- adjust the default postfix-files config file to match the alternatives setup
|
||||
by altering the arguments passed to post-install in the %%install phase
|
||||
(otherwise, it might point to sendmail's binaries, breaking it rather rudely)
|
||||
- adjust the post-install script so that it silently uses paths which have been
|
||||
modified for use with alternatives, for upgrade cases where the postfix-files
|
||||
configuration file isn't overwritten
|
||||
- don't forcefully strip files -- that's a build root policy
|
||||
- remove hard requirement on openldap, library dependencies take care of it
|
||||
- redirect %%postun to /dev/null
|
||||
- don't remove the postfix user and group when the package is removed
|
||||
|
||||
* Wed Feb 20 2002 Bernhard Rosenkraenzer <bero@redhat.com> 1.1.3-2
|
||||
- listen on 127.0.0.1 only by default (#60071)
|
||||
- Put config samples in %{_docdir}/%{name}-%{version} rather than
|
||||
/etc/postfix (#60072)
|
||||
- Some spec file cleanups
|
||||
|
||||
* Tue Feb 19 2002 Bernhard Rosenkraenzer <bero@redhat.com> 1.1.3-1
|
||||
- 1.1.3, TLS 0.8.3
|
||||
- Fix updating
|
||||
- Don't run the statistics cron job
|
||||
- remove requirement on perl Date::Calc
|
||||
|
||||
* Thu Jan 31 2002 Bernhard Rosenkraenzer <bero@redhat.com> 1.1.2-3
|
||||
- Fix up alternatives stuff
|
||||
|
||||
* Wed Jan 30 2002 Bernhard Rosenkraenzer <bero@redhat.com> 1.1.2-2
|
||||
- Use alternatives
|
||||
|
||||
* Sun Jan 27 2002 Bernhard Rosenkraenzer <bero@redhat.com> 1.1.2-1
|
||||
- Initial Red Hat Linux packaging, based on spec file from
|
||||
Simon J Mudd <sjmudd@pobox.com>
|
||||
- Changes from that:
|
||||
- Set up chroot environment in triggers to make sure we catch glibc errata
|
||||
- Remove some hacks to support building on all sorts of distributions at
|
||||
the cost of specfile readability
|
||||
- Remove postdrop group on deletion
|
||||
|
Loading…
Reference in New Issue
Block a user