aboutsummaryrefslogtreecommitdiff
path: root/mail/mta/postfix/postfix.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'mail/mta/postfix/postfix.SlackBuild')
-rwxr-xr-xmail/mta/postfix/postfix.SlackBuild191
1 files changed, 191 insertions, 0 deletions
diff --git a/mail/mta/postfix/postfix.SlackBuild b/mail/mta/postfix/postfix.SlackBuild
new file mode 100755
index 00000000..56a61586
--- /dev/null
+++ b/mail/mta/postfix/postfix.SlackBuild
@@ -0,0 +1,191 @@
+#!/bin/bash
+#
+# original script from http://www.slacky.it/download/network/tool/postfix/2.2.10/src/postfix.SlackBuild
+# changes by rhatto at riseup.net
+#
+# TODO: atualizar para o postfix 2.3.0
+# slack-required
+# arrumar pasta de construcao
+#
+
+cat << EOECHO
+To build postfix with full capabilities (pcre, mysql, sasl, tls, ldap, vda and
+postfix-anon support, first build/install the following packages:
+
+ db3 and/or db4
+ libgpg-error
+ libgcrypt
+ courier-authlib
+ courier-imap
+ gnutls
+ cyrus-sasl
+ openldap-client
+
+EOECHO
+
+if [ "$INTERACT" != "no" ]; then
+ echo "Hit ENTER do continue, Crtl-C to abort"
+ read crap
+else
+ echo sleeping 3 seconds...
+ sleep 3
+fi
+
+CWD=`pwd`
+
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+# default settings
+PACKAGE=postfix
+ARCH=${ARCH:=i486}
+VERSION=${VERSION:=2.2.11}
+BUILD=${BUILD:=2rha}
+SRC_DIR=${SRC:=$CWD}
+TMP=${TMP:=/tmp}
+REPOS=${REPOS:=$TMP}
+
+if [ "$ARCH" == "x86_64" ]; then
+ LIBDIR=/usr/lib64
+else
+ LIBDIR=/usr/lib
+fi
+
+# general definitions
+PACKAGE_EXT="gz"
+NAME=$PACKAGE
+DOCDIR=/usr/doc/${NAME}-${VERSION}
+READMEDIR=${DOCDIR}/README_FILES
+HTMLDIR=${DOCDIR}/HTML
+MANDIR=/usr/man
+TMP="$TMP/$PACKAGE"
+PKGDIR=${TMP}/package-${NAME}
+SOURCEDIR=${TMP}/${NAME}-${VERSION}
+RTOOL="wget"
+SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
+
+# url definitions
+VDA="$PACKAGE-$VERSION-vda.patch.gz"
+VDA_URL="http://web.onda.com.br/nadal/postfix/VDA/$VDA"
+ANON="postfix-anon-$VERSION.diff"
+URL="ftp://ftp.pucpr.br/$PACKAGE/official/$SRC"
+
+SRC_DIR="$SRC_DIR/$PACKAGE"
+mkdir -p $SRC_DIR
+
+# download sources
+if [ "$RTOOL" == "wget" ]; then
+ if [ ! -f "$SRC_DIR/$SRC" ]; then
+ wget "$URL" -O "$SRC_DIR/$SRC"
+ fi
+ if [ ! -f "$SRC_DIR/$VDA" ]; then
+ wget "$VDA_URL" -O "$SRC_DIR/$VDA"
+ fi
+ if [ ! -f "$SRC_DIR/$SRC.sig" ]; then
+ wget "$URL.sig" -O "$SRC_DIR/$SRC.sig"
+ fi
+fi
+
+rm -rf ${PKGDIR}
+mkdir -p ${PKGDIR}
+
+cd ${PKGDIR}
+# install scripts
+
+if [ -e ${CWD}/script_${NAME}.tgz ]; then
+ tar zxvf ${CWD}/script_${NAME}.tgz
+else
+ mkdir -v install
+fi
+sleep 1
+if [ -e ${CWD}/slack-desc ];then
+ cat ${CWD}/slack-desc | grep ^${NAME} > ${PKGDIR}/install/slack-desc
+fi
+
+# Extract
+
+cd ${TMP}
+rm -rf ${NAME}-${VERSION} ${SOURCEDIR}
+tar xzvf $SRC_DIR/${NAME}-$VERSION.tar.gz
+# Patch
+
+if [ -f "$SRC_DIR/$VDA" ]; then
+ gzip -dc $SRC_DIR/$VDA | patch -p0
+fi
+
+if [ -f "$CWD/$ANON" ]; then
+ patch -p0 < $CWD/$ANON
+fi
+
+cd ${SOURCEDIR}
+sleep 1
+
+# Build
+
+# make -f Makefile.init makefiles \
+# 'CCARGS=-DUSE_TLS -DHAS_SSL -I/usr/include/openssl -DHAS_MYSQL -I/usr/include/mysql' \
+# 'AUXLIBS=-L/usr/lib -lssl -lcrypto -L/usr/lib/mysql -lmysqlclient -lz -lm'
+
+# db3 explicit
+# make -f Makefile.init makefiles CCARGS="-DUSE_SASL_AUTH -I/usr/include/sasl/ -DHAS_MYSQL -I/usr/include/mysql/ -I/usr/include -DHAS_LDAP -DUSE_TLS -I/usr/include/gnutls/ -DHAS_PCRE -I/usr/include -DHAS_DB -I/usr/include/db3" AUXLIBS="-L/usr/lib -lsasl2 -L/usr/lib/mysql/ -lmysqlclient -lz -lm -L/usr/lib -lssl -lcrypto -L/usr/lib -lpcre -L/usr/lib -lldap -L/usr/lib -llber -L/usr/include/db3 -ldb3"
+
+make -f Makefile.init makefiles CCARGS="-DUSE_SASL_AUTH -I/usr/include/sasl/ -DHAS_MYSQL -I/usr/include/mysql/ -I/usr/include -DHAS_LDAP -DUSE_TLS -I/usr/include/gnutls/ -DHAS_PCRE -I/usr/include" AUXLIBS="-L/usr/lib -lsasl2 -L/usr/lib/mysql/ -lmysqlclient -lz -lm -L/usr/lib -lssl -lcrypto -L/usr/lib -lpcre -L/usr/lib -lldap -L/usr/lib -llber"
+
+make || exit 32
+sleep 1
+
+sh postfix-install \
+ install_root=${PKGDIR} \
+ tempdir=${SOURCE} \
+ manpage_directory=${MANDIR} \
+ readme_directory=${READMEDIR} \
+ html_directory=${HTMLDIR} \
+ config_directory=/etc/postfix \
+ sample_directory=/etc/postfix/sample \
+ daemon_directory=/usr/libexec/postfix \
+ command_directory=/usr/sbin/ \
+ queue_directory=/var/spool/postfix \
+ sendmail_path=/usr/sbin/sendmail \
+ newaliases_path=/usr/sbin/newaliases \
+ mailq_path=/usr/sbin/mailq \
+ mail_owner=postfix \
+ setgid_group=postdrop \
+ -non-interactive
+
+cd ${PKGDIR}/etc/postfix
+
+for a in access aliases canonical header_checks main.cf makedefs.out master.cf postfix-files relocated transport virtual; do
+ mv ${a} ${a}.new
+done
+
+sleep 2
+
+mkdir -p ${PKGDIR}/${DOCDIR}
+
+for file in AUTHORS COPYING HACKING NEWS README TODO INSTALL AAAREADME COMPATIBILITY COPYRIGHT HISTORY LICENSE RELEASE_NOTES* TLS_* US_PATENT_6321267; do
+ if [ -e "${SOURCEDIR}/${file}" ]; then
+ cp -v ${SOURCEDIR}/${file} ${PKGDIR}/${DOCDIR}/
+ fi
+done
+
+( cd $PKGDIR
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+find ${PKGDIR}/${DOCDIR} ${PKGDIR}/${MANDIR} -type f | xargs gzip -v
+
+find ${PKGDIR}/bin ${PKGDIR}/sbin ${PKGDIR}/usr/bin ${PKGDIR}/usr/sbin -type f | xargs chown -v root.bin
+# Build the package:
+cd $PKGDIR
+#requiredbuilder -v -y -s $CWD $PKGDIR
+/sbin/makepkg -l n -c n --prepend $REPOS/${NAME}-${VERSION}-${ARCH}-${BUILD}.tgz
+
+# Clean up the extra stuff:
+if [ "$CLEANUP" == "yes" ]; then
+ rm -rf $TMP
+fi
+