postfix/postfix.spec

Mon, 20 Apr 2009 19:22:00 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Mon, 20 Apr 2009 19:22:00 +0200
changeset 178
0ba300bdf30a
parent 147
13509f36148e
child 495
01294b31a79e
permissions
-rw-r--r--

Change unfortunate but partly useful overreaching security tradeoff.
The principle of allocating each running process an individual system
user and group can have security benefits, however maintining a plethora
of users, groups, processes, file modes, file permissions, and even
nonportable file ACLs on a host serving from a hundred processes has
some security disadvantages. This tradeoff is even worse for systems
like OpenPKG which benefit from administration transparency through the
use of minimal system intrusion and only three usage privilege levels.

michael@146 1 ##
michael@146 2 ## postfix.spec -- OpenPKG RPM Package Specification
michael@178 3 ## Copyright (c) 2000-2009 OpenPKG Foundation e.V. <http://openpkg.net/>
michael@146 4 ##
michael@146 5 ## Permission to use, copy, modify, and distribute this software for
michael@146 6 ## any purpose with or without fee is hereby granted, provided that
michael@146 7 ## the above copyright notice and this permission notice appear in all
michael@146 8 ## copies.
michael@146 9 ##
michael@146 10 ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
michael@146 11 ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
michael@146 12 ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
michael@146 13 ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
michael@146 14 ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
michael@146 15 ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
michael@146 16 ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
michael@146 17 ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
michael@146 18 ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
michael@146 19 ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
michael@146 20 ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
michael@146 21 ## SUCH DAMAGE.
michael@146 22 ##
michael@146 23
michael@146 24 # package versions
michael@146 25 %define V_postfix 2.5.6
michael@146 26 %define V_pflogsumm 1.1.2
michael@146 27 %define V_whoson 2.4.0
michael@146 28
michael@146 29 # package information
michael@146 30 Name: postfix
michael@146 31 Summary: Mail Transfer Agent (MTA)
michael@146 32 URL: http://www.postfix.org/
michael@146 33 Vendor: Wietse Venema
michael@146 34 Packager: OpenPKG Foundation e.V.
michael@146 35 Distribution: OpenPKG Community
michael@146 36 Class: BASE
michael@146 37 Group: Mail
michael@146 38 License: IPL
michael@146 39 Version: %{V_postfix}
michael@178 40 Release: 20090418
michael@146 41
michael@146 42 # package options
michael@146 43 %option with_fsl yes
michael@146 44 %option with_ssl no
michael@146 45 %option with_sasl no
michael@146 46 %option with_mysql no
michael@146 47 %option with_pgsql no
michael@146 48 %option with_ldap no
michael@146 49 %option with_whoson no
michael@146 50 %option with_fdsetsize no
michael@146 51
michael@146 52 # list of sources
michael@146 53 Source0: ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-%{V_postfix}.tar.gz
michael@146 54 Source1: http://jimsun.linxnet.com/downloads/pflogsumm-%{V_pflogsumm}.tar.gz
michael@146 55 Source2: postfix.txt
michael@146 56 Source3: fsl.postfix
michael@146 57 Source4: rc.postfix
michael@146 58 Patch0: postfix.patch
michael@146 59 Patch1: postfix.patch.pfls
michael@146 60 Patch2: ftp://ftp.openpkg.org/sources/CPY/postfix/postfix-%{V_whoson}-whoson.patch
michael@146 61
michael@146 62 # build information
michael@146 63 Prefix: %{l_prefix}
michael@146 64 BuildRoot: %{l_buildroot}
michael@146 65 BuildPreReq: OpenPKG, openpkg >= 20060823, perl, gcc
michael@146 66 PreReq: OpenPKG, openpkg >= 20060823, perl, procmail, perl-time
michael@146 67 BuildPreReq: make, pcre, db
michael@146 68 PreReq: make, pcre, db
michael@146 69 %if "%{with_fsl}" == "yes"
michael@146 70 BuildPreReq: fsl
michael@146 71 PreReq: fsl
michael@146 72 %endif
michael@146 73 %if "%{with_ssl}" == "yes"
michael@146 74 BuildPreReq: openssl
michael@146 75 PreReq: openssl
michael@146 76 %endif
michael@146 77 %if "%{with_sasl}" == "yes"
michael@146 78 BuildPreReq: sasl
michael@146 79 PreReq: sasl
michael@146 80 %endif
michael@146 81 %if "%{with_mysql}" == "yes"
michael@146 82 BuildPreReq: mysql
michael@146 83 PreReq: mysql
michael@146 84 %endif
michael@146 85 %if "%{with_pgsql}" == "yes"
michael@146 86 BuildPreReq: postgresql, openssl
michael@146 87 PreReq: postgresql, openssl
michael@146 88 %endif
michael@146 89 %if "%{with_ldap}" == "yes"
michael@146 90 BuildPreReq: openldap, openssl
michael@146 91 PreReq: openldap, openssl
michael@146 92 %endif
michael@146 93 %if "%{with_whoson}" == "yes"
michael@146 94 BuildPreReq: whoson
michael@146 95 PreReq: whoson
michael@146 96 %endif
michael@146 97 AutoReq: no
michael@146 98 AutoReqProv: no
michael@146 99 Provides: MTA
michael@146 100 Conflicts: exim, sendmail, ssmtp
michael@146 101
michael@146 102 %description
michael@146 103 Postfix is a new-generation Mail Transfer Agent (MTA) able to fully
michael@146 104 replace the Sendmail MTA. It is fully standards compliant and
michael@146 105 supports SMTP, ESMTP, LMTP over IPv4/IPv6 with optional TLS/SASL.
michael@146 106
michael@146 107 Local specifics in this OpenPKG version:
michael@146 108 o Postfix delivers locally via Procmail
michael@146 109 o Postfix logs directly to the filesystem via OSSP fsl
michael@146 110 o Berkeley-DB dictionary support
michael@146 111 o PCRE matching support
michael@146 112 o Optional STARTTLS encryption support (see package options)
michael@146 113 o Optional SASL2 authentication support (see package options)
michael@146 114 o Optional MySQL dictionary support (see package options)
michael@146 115 o Optional PostgreSQL dictionary support (see package options)
michael@146 116 o Optional OpenLDAP dictionary support (see package options)
michael@146 117 o Optional WHOSON dictionary support (see package options)
michael@146 118
michael@146 119 %track
michael@146 120 prog postfix = {
michael@146 121 version = %{V_postfix}
michael@146 122 url = ftp://ftp.porcupine.org/mirrors/postfix-release/official/
michael@146 123 regex = postfix-(\d+\.\d+\.\d+)\.tar\.gz
michael@146 124 }
michael@146 125 prog postfix:pflogsumm = {
michael@146 126 version = %{V_pflogsumm}
michael@146 127 url = http://jimsun.linxnet.com/postfix_contrib.html
michael@146 128 regex = pflogsumm-(__VER__)\.tar\.gz
michael@146 129 }
michael@146 130 prog postfix:whoson = {
michael@146 131 version = %{V_whoson}
michael@146 132 url = ftp://ftp.openpkg.org/sources/CPY/postfix/
michael@146 133 regex = postfix-(__VER__)-whoson.patch
michael@146 134 }
michael@146 135
michael@146 136 %prep
michael@146 137 # unpack distribution files
michael@146 138 %setup -q
michael@146 139 %setup -q -T -D -a 1
michael@146 140
michael@146 141 # apply OpenPKG patches
michael@146 142 %patch -p0
michael@146 143 ( cd pflogsumm-%{V_pflogsumm} && %{l_patch} -p0 -b <%{PATCH1} ) || exit $?
michael@146 144
michael@178 145 # remove OpenPKG privelege model incompatible exit conditions
michael@178 146 %{l_shtool} subst \
michael@178 147 -e 's;msg_fatal\(.*attribute specifies mail system\);msg_info\1;g' \
michael@178 148 src/pipe/pipe.c
michael@178 149
michael@146 150 # apply vendor WHOSON patch
michael@146 151 %if "%{with_whoson}" == "yes"
michael@146 152 %patch -p0 -P 2
michael@146 153 %endif
michael@146 154
michael@146 155 %build
michael@146 156 # configure Postfix (hard-core part I)
michael@146 157 %{l_shtool} subst \
michael@146 158 -e 's/var_config_dir, /var_command_dir, /' \
michael@146 159 src/postfix/postfix.c
michael@146 160 %{l_shtool} subst \
michael@146 161 -e 's;config_directory/postfix-script;command_directory/postfix-script;' \
michael@146 162 -e 's;config_directory/post-install;command_directory/postfix-install;' \
michael@146 163 conf/postfix-script
michael@146 164 %{l_shtool} subst \
michael@146 165 -e 's;/usr/include;%{l_prefix}/include;g' \
michael@146 166 makedefs
michael@146 167
michael@146 168 # configure Postfix (regular part)
michael@146 169 unset LD_LIBRARY_PATH || true
michael@146 170 CCARGS=""
michael@146 171 CCARGS="$CCARGS %{l_cflags -O}"
michael@146 172 CCARGS="$CCARGS %{l_cppflags}"
michael@146 173 CCARGS="$CCARGS -DDEF_COMMAND_DIR=\\\"%{l_prefix}/sbin\\\""
michael@146 174 CCARGS="$CCARGS -DDEF_SENDMAIL_PATH=\\\"%{l_prefix}/sbin/sendmail\\\""
michael@146 175 CCARGS="$CCARGS -DDEF_CONFIG_DIR=\\\"%{l_prefix}/etc/postfix\\\""
michael@146 176 CCARGS="$CCARGS -DDEF_DAEMON_DIR=\\\"%{l_prefix}/libexec/postfix\\\""
michael@146 177 CCARGS="$CCARGS -DDEF_QUEUE_DIR=\\\"%{l_prefix}/var/postfix\\\""
michael@146 178 CCARGS="$CCARGS -DDEF_DATA_DIR=\\\"%{l_prefix}/var/postfix/data\\\""
michael@146 179 AUXLIBS=""
michael@146 180 AUXLIBS="$AUXLIBS %{l_ldflags}"
michael@146 181 CCARGS="$CCARGS -DHAS_DB"
michael@146 182 AUXLIBS="$AUXLIBS -ldb"
michael@146 183 CCARGS="$CCARGS -DHAS_PCRE"
michael@146 184 AUXLIBS="$AUXLIBS -lpcre"
michael@146 185 %if "%{with_mysql}" == "yes"
michael@146 186 CCARGS="$CCARGS -DHAS_MYSQL %{l_cppflags mysql .}"
michael@146 187 AUXLIBS="$AUXLIBS %{l_ldflags mysql .} -lmysqlclient -lz -lm"
michael@146 188 %endif
michael@146 189 %if "%{with_pgsql}" == "yes"
michael@146 190 CCARGS="$CCARGS -DHAS_PGSQL %{l_cppflags postgresql .}"
michael@146 191 AUXLIBS="$AUXLIBS -lpq -lssl -lcrypto -lcrypt"
michael@146 192 %endif
michael@146 193 %if "%{with_sasl}" == "yes"
michael@146 194 CCARGS="$CCARGS -DUSE_SASL_AUTH -DUSE_CYRUS_SASL %{l_cppflags sasl .}"
michael@146 195 AUXLIBS="$AUXLIBS -lsasl2 -lcrypt"
michael@146 196 if [ -f /usr/lib/libdl.so -o -f /usr/lib/libdl.a ]; then
michael@146 197 AUXLIBS="$AUXLIBS -ldl"
michael@146 198 fi
michael@146 199 if [ -f /usr/lib64/libdl.so -o -f /usr/lib64/libdl.a ]; then
michael@146 200 AUXLIBS="$AUXLIBS -ldl"
michael@146 201 fi
michael@146 202 %endif
michael@146 203 %if "%{with_ssl}" == "yes"
michael@146 204 CCARGS="$CCARGS -DUSE_TLS"
michael@146 205 AUXLIBS="$AUXLIBS -lssl -lcrypto"
michael@146 206 %endif
michael@146 207 %if "%{with_ldap}" == "yes"
michael@146 208 CCARGS="$CCARGS -DHAS_LDAP"
michael@146 209 AUXLIBS="$AUXLIBS -lldap -llber -lssl -lcrypto"
michael@146 210 %endif
michael@146 211 %if "%{with_fsl}" == "yes"
michael@146 212 AUXLIBS="$AUXLIBS %{l_fsl_ldflags} %{l_fsl_libs}"
michael@146 213 CCARGS="$CCARGS -DUSE_SOFTLIMITONLY"
michael@146 214 %endif
michael@146 215 %if "%{with_fdsetsize}" != "no"
michael@146 216 %if "%{with_fdsetsize}" == "yes"
michael@146 217 CCARGS="$CCARGS -DFD_SETSIZE=1024"
michael@146 218 %else
michael@146 219 CCARGS="$CCARGS -DFD_SETSIZE=%{with_fdsetsize}"
michael@146 220 %endif
michael@146 221 %endif
michael@146 222 case "%{l_platform -t}" in
michael@146 223 *-sunos* ) AUXLIBS="$AUXLIBS -lrt" ;;
michael@146 224 esac
michael@146 225 %{l_make} %{l_mflags} -f Makefile.init makefiles \
michael@146 226 CC="%{l_cc}" CCARGS="$CCARGS" AUXLIBS="$AUXLIBS"
michael@146 227
michael@146 228 # configure Postfix (hard-core part II)
michael@146 229 %{l_shtool} subst \
michael@146 230 -e 's;#define HAS_DBM;#define HAS_DBM_DISABLED;' \
michael@146 231 -e 's;#define HAS_DB;#define HAS_DB_DISABLED;' \
michael@146 232 src/util/sys_defs.h
michael@146 233
michael@146 234 # build Postfix
michael@146 235 %{l_make} %{l_mflags}
michael@146 236
michael@146 237 %install
michael@146 238 rm -rf $RPM_BUILD_ROOT
michael@146 239
michael@146 240 # perform standard installation procedure
michael@146 241 %{l_shtool} subst -e "s;chown;true;" postfix-install
michael@146 242 sh postfix-install -non-interactive \
michael@146 243 install_root=$RPM_BUILD_ROOT \
michael@146 244 config_directory=%{l_prefix}/etc/postfix \
michael@146 245 daemon_directory=%{l_prefix}/libexec/postfix \
michael@146 246 command_directory=%{l_prefix}/sbin \
michael@146 247 queue_directory=%{l_prefix}/var/postfix \
michael@146 248 data_directory=%{l_prefix}/var/postfix/data \
michael@146 249 sendmail_path=%{l_prefix}/sbin/sendmail \
michael@146 250 newaliases_path=%{l_prefix}/sbin/newaliases \
michael@146 251 mailq_path=%{l_prefix}/sbin/mailq \
michael@146 252 manpage_directory=%{l_prefix}/man \
michael@146 253 mail_user=%{l_musr} \
michael@146 254 setgid_group=%{l_rgrp}
michael@146 255
michael@146 256 # post-adjust binaries
michael@146 257 rm -f $RPM_BUILD_ROOT%{l_prefix}/sbin/mailq
michael@146 258 ln $RPM_BUILD_ROOT%{l_prefix}/sbin/sendmail \
michael@146 259 $RPM_BUILD_ROOT%{l_prefix}/sbin/mailq
michael@146 260 rm -f $RPM_BUILD_ROOT%{l_prefix}/sbin/newaliases
michael@146 261 ln $RPM_BUILD_ROOT%{l_prefix}/sbin/sendmail \
michael@146 262 $RPM_BUILD_ROOT%{l_prefix}/sbin/newaliases
michael@146 263 strip $RPM_BUILD_ROOT%{l_prefix}/sbin/* >/dev/null 2>&1 || true
michael@146 264 strip $RPM_BUILD_ROOT%{l_prefix}/libexec/postfix/* >/dev/null 2>&1 || true
michael@146 265
michael@146 266 # post-adjust configuration
michael@146 267 for cfg in \
michael@146 268 *LICENSE makedefs.out bounce.cf.default access aliases \
michael@146 269 canonical header_checks relocated transport virtual \
michael@146 270 main.cf master.cf main.cf.default; do
michael@146 271 rm -f $RPM_BUILD_ROOT%{l_prefix}/etc/postfix/$cfg
michael@146 272 done
michael@146 273 mv $RPM_BUILD_ROOT%{l_prefix}/etc/postfix/postfix-script \
michael@146 274 $RPM_BUILD_ROOT%{l_prefix}/sbin/postfix-script
michael@146 275 rm -f $RPM_BUILD_ROOT%{l_prefix}/etc/postfix/postfix-script*
michael@146 276 mv $RPM_BUILD_ROOT%{l_prefix}/etc/postfix/post-install \
michael@146 277 $RPM_BUILD_ROOT%{l_prefix}/sbin/postfix-install
michael@146 278
michael@146 279 # install default configuration
michael@146 280 for name in `grep "^<file" %{SOURCE postfix.txt} | sed -e 's;^.*name=";;' -e 's;".*$;;'`; do
michael@146 281 (echo ""; cat %{SOURCE postfix.txt}; echo "") |\
michael@146 282 sed -e "1,/^<file name=\"$name\">/d" -e "/<\/file>/,\$d" >$name
michael@146 283 %{l_shtool} install -c -m 644 %{l_value -s -a} \
michael@146 284 $name $RPM_BUILD_ROOT%{l_prefix}/etc/postfix/
michael@146 285 done
michael@146 286
michael@146 287 # pre-create variable stuff
michael@146 288 ( cd $RPM_BUILD_ROOT%{l_prefix}/var/postfix
michael@146 289 %{l_shtool} mkdir -f -p -m 700 data
michael@146 290 %{l_shtool} mkdir -f -p -m 755 log
michael@146 291 ) || exit $?
michael@146 292
michael@146 293 # install addons
michael@146 294 %{l_shtool} install -c -m 755 \
michael@146 295 -e 's;/usr/sbin/sendmail;%{l_prefix}/sbin/sendmail;g' \
michael@146 296 auxiliary/rmail/rmail $RPM_BUILD_ROOT%{l_prefix}/sbin/rmail
michael@146 297 %{l_shtool} install -c -m 755 \
michael@146 298 -e 's;/usr/bin/perl;%{l_prefix}/bin/perl;g' \
michael@146 299 -e 's;postconf -h;%{l_prefix}/sbin/postconf -h;' \
michael@146 300 auxiliary/qshape/qshape.pl $RPM_BUILD_ROOT%{l_prefix}/sbin/qshape
michael@146 301 %{l_shtool} install -c -m 644 \
michael@146 302 man/man1/qshape.1 $RPM_BUILD_ROOT%{l_prefix}/man/man8/qshape.8
michael@146 303 ( cd pflogsumm-%{V_pflogsumm}
michael@146 304 %{l_shtool} install -c -m 755 \
michael@146 305 -e 's;/usr/bin/perl;%{l_prefix}/bin/perl;g' \
michael@146 306 pflogsumm.pl $RPM_BUILD_ROOT%{l_prefix}/sbin/pflogsumm
michael@146 307 %{l_shtool} install -c -m 644 \
michael@146 308 pflogsumm.1 $RPM_BUILD_ROOT%{l_prefix}/man/man1/
michael@146 309 ) || exit $?
michael@146 310
michael@146 311 # install run-command script
michael@146 312 %{l_shtool} mkdir -f -p -m 755 \
michael@146 313 $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d
michael@146 314 %{l_shtool} install -c -m 755 %{l_value -s -a} \
michael@146 315 %{SOURCE rc.postfix} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
michael@146 316
michael@146 317 # adjust installation to avoid file name conflicts
michael@146 318 ( cd $RPM_BUILD_ROOT%{l_prefix}/man/man8
michael@146 319 mv master.8 postfix_master.8
michael@146 320 ) || exit $?
michael@146 321
michael@146 322 # install OSSP fsl configuration
michael@146 323 %{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/etc/fsl
michael@146 324 %{l_shtool} install -c -m 644 %{l_value -s -a} \
michael@146 325 %{SOURCE fsl.postfix} \
michael@146 326 $RPM_BUILD_ROOT%{l_prefix}/etc/fsl/
michael@146 327
michael@146 328 # generate file list
michael@146 329 %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
michael@146 330 %{l_files_std} \
michael@146 331 '%config %{l_prefix}/etc/fsl/fsl.postfix' \
michael@146 332 '%attr(-,%{l_susr},%{l_mgrp}) %{l_prefix}/etc/postfix' \
michael@146 333 '%config %attr(-,%{l_susr},%{l_mgrp}) %{l_prefix}/etc/postfix/*' \
michael@146 334 '%attr(-,%{l_susr},%{l_mgrp}) %{l_prefix}/libexec/postfix/*' \
michael@146 335 '%attr(2755,%{l_musr},%{l_rgrp}) %{l_prefix}/sbin/{postdrop,postqueue}' \
michael@146 336 '%dir %attr(-,%{l_susr},%{l_mgrp}) %{l_prefix}/libexec/postfix' \
michael@146 337 '%dir %attr(-,%{l_susr},%{l_mgrp}) %{l_prefix}/var/postfix' \
michael@146 338 '%dir %attr(-,%{l_musr},%{l_rgrp}) %{l_prefix}/var/postfix/{maildrop,public}'
michael@146 339
michael@146 340 %files -f files
michael@146 341
michael@146 342 %clean
michael@146 343 rm -rf $RPM_BUILD_ROOT
michael@146 344
michael@146 345 %pre
michael@146 346 # before upgrade, save status and stop service
michael@146 347 [ $1 -eq 2 ] || exit 0
michael@146 348 eval `%{l_rc} postfix status 2>/dev/null | tee %{l_tmpfile}`
michael@146 349 %{l_rc} postfix stop 2>/dev/null
michael@146 350 exit 0
michael@146 351
michael@146 352 %post
michael@146 353 if [ $1 -eq 1 ]; then
michael@146 354 # after install, generate configuration
michael@146 355 ( cd $RPM_INSTALL_PREFIX/etc/postfix && %{l_make} all; true ) >/dev/null 2>&1
michael@146 356 fi
michael@146 357 if [ $1 -eq 2 ]; then
michael@146 358 # after upgrade, regenerate configuration
michael@146 359 ( cd $RPM_INSTALL_PREFIX/etc/postfix && %{l_make} clean all; true ) >/dev/null 2>&1
michael@146 360 # after upgrade, restore status
michael@146 361 eval `cat %{l_tmpfile}`; rm -f %{l_tmpfile} >/dev/null 2>&1 || true
michael@146 362 [ ".$postfix_active" = .yes ] && %{l_rc} postfix start
michael@146 363 fi
michael@146 364 exit 0
michael@146 365
michael@146 366 %preun
michael@146 367 # before erase, stop service and remove log files
michael@146 368 [ $1 -eq 0 ] || exit 0
michael@146 369 %{l_rc} postfix stop 2>/dev/null
michael@146 370 rm -f $RPM_INSTALL_PREFIX/var/postfix/log/postfix.log* >/dev/null 2>&1 || true
michael@146 371 rm -f $RPM_INSTALL_PREFIX/var/postfix/log/postfix.sum* >/dev/null 2>&1 || true
michael@146 372 # remove generated configuration files
michael@146 373 ( cd $RPM_INSTALL_PREFIX/etc/postfix && %{l_make} clean >/dev/null 2>&1; true ) || true
michael@146 374 # remove generated run-time files and directories
michael@146 375 rm -rf $RPM_INSTALL_PREFIX/etc/postfix/data/*
michael@146 376 rm -rf $RPM_INSTALL_PREFIX/var/postfix/pid/*
michael@146 377 rm -rf $RPM_INSTALL_PREFIX/var/postfix/private/*
michael@146 378 rm -rf $RPM_INSTALL_PREFIX/var/postfix/public/*
michael@146 379 find $RPM_INSTALL_PREFIX/var/postfix/active/ -type d -print |\
michael@146 380 xargs rmdir >/dev/null 2>&1 || true
michael@146 381 find $RPM_INSTALL_PREFIX/var/postfix/incoming/ -type d -print |\
michael@146 382 xargs rmdir >/dev/null 2>&1 || true
michael@146 383 exit 0
michael@146 384

mercurial