#!/bin/sh # Heavily based on the Slackware 12.0 SlackBuild # Set initial variables: NAME=postfix VERSION=2.4.6 ARCH=i686 BUILD=1 PACKAGERINITIALS=mvx PATCH=postfix-2.4.6-vda-ng ######################## CWD=`pwd` DOCDIR=/usr/doc/${NAME}-${VERSION} READMEDIR=${DOCDIR}/README_FILES HTMLDIR=${DOCDIR}/HTML MANDIR=/usr/man if [ "${TMP}" = "" ]; then TMP=/tmp fi PKGDIR=${TMP}/package-${NAME} SOURCEDIR=${TMP}/${NAME}-${VERSION} 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 if [ -e ${CWD}/${PATCH}.patch.gz ]; then cp ${CWD}/${PATCH}.patch.gz ${TMP} gunzip ${TMP}/${PATCH}.patch.gz fi # Extract cd ${TMP} rm -rvf ${NAME}-${VERSION} tar xzvf ${CWD}/${NAME}-$VERSION.tar.gz cd ${SOURCEDIR} patch -p1 < ${TMP}/${PATCH}.patch 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' make 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 # Build the package: cd $PKGDIR chown -R root:root . requiredbuilder -v -y -s $CWD $PKGDIR /sbin/makepkg -l n -c n --prepend ${TMP}/${NAME}-${VERSION}-${ARCH}-${BUILD}${PACKAGERINITIALS}.tgz # Clean up the extra stuff: if [ "$1" = "--cleanup" ]; then rm -rf ${SOURCE} rm -rf ${PKGDIR} fi cp ${TMP}/${NAME}-${VERSION}-${ARCH}-${BUILD}${PACKAGERINITIALS}.tgz ${CWD}