#!/bin/bash

# postfix.Slackbuild by tomekk

# begin ;-)
set -e

CWD=`pwd`

if [ "$TMP" = "" ]; then
  TMP=/tmp
fi

# wersja, arch, nazwa, build
PKGNAME=postfix
VERSION=2.4.3
ARCH=i686
BUILD=1
##

# przenies gotowa paczke do
PKGDIR=/home
## 

# flagi
if [ "$ARCH" == "i386" ]; then
        XFLAGS="-O2 -march=i386 -mcpu=i686"
elif [ "$ARCH" == "i486" ]; then
        XFLAGS="-O2 -march=i486 -mcpu=i686"
elif [ "$ARCH" == "i686" ]; then
        XFLAGS="-O2 -march=i686"
elif [ "$ARCH" == "x86_64" ]; then
        XFLAGS="-O2 -march=x86_64"
fi
##

# eksportujemy flagi
export CFLAGS="$XFLAGS"
export CXXFLAGS="$XFLAGS"
##

# sprawy z TMP
PKG=$TMP/package-$PKGNAME
rm -rf $PKG

if [ ! -d $TMP ]; then
  mkdir -p $TMP
fi
if [ ! -d $PKG ]; then
  mkdir -p $PKG
fi

cd $TMP
rm -rf $PKGNAME-$VERSION
##

# unpack
tar zxvf $CWD/$PKGNAME-$VERSION.tar.gz
cd $PKGNAME-$VERSION
##

# zmiana praw
find . -perm 777 -exec chmod 755 {} \;
find . -perm 666 -exec chmod 644 {} \;
find . -perm 664 -exec chmod 644 {} \;
find . -perm 555 -exec chmod 755 {} \;
find . -perm 444 -exec chmod 644 {} \;
##

# make, konfiguracja dla SASL+TLS
make makefiles CCARGS="-DHAS_SSL -DUSE_SASL_AUTH -I/usr/include/sasl" AUXLIBS="-L/usr/lib -lsasl2 -lssl -lcrypto"
make
sh postfix-install -non-interactive \
  install_root=$PKG \
  config_directory=/etc/postfix \
  html_directory=/usr/doc/postfix-$VERSION/html \
  sendmail_path=/usr/sbin/sendmail \
  mail_owner=postfix \
  setgid_group=postdrop \
  manpage_directory=/usr/man \
  readme_directory=/usr/doc/postfix-$VERSION/readme
##

# strip
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
##

# prawa, many
chown -R root:root $PKG
find $PKG/usr/man -type f -not -name '*.gz' -print0 | xargs -0 gzip
##

# tworzmy katalog 'install'
mkdir -p $PKG/install
##

# opis pakietu, skrypt uruchamiajacy
cat $CWD/slack-desc > $PKG/install/slack-desc
mkdir -p $PKG/etc/rc.d
cp $CWD/rc.postfix $PKG/etc/rc.d
##

# dokumentacja
mkdir -p $PKG/usr/doc/$PKGNAME-$VERSION
cp examples $PKG/usr/doc/$PKGNAME-$VERSION -r
cp AAAREADME COMPATIBILITY COPYRIGHT HISTORY IPv6-ChangeLog PORTING RELEASE_NOTES* TLS* US_PATENT_6321267 \
   $PKG/usr/doc/$PKGNAME-$VERSION -r
##

# usuwamy zbedny katolog z paczki
rm -rf $PKG/usr/local
#

# tworzymy paczuszke
cd $PKG
makepkg -l y -c n $PKGDIR/$PKGNAME-$VERSION-$ARCH-$BUILD.tgz
##

# sprzatamy po sobie
if [ "$1" = "--cleanup" ]; then
	rm -rf $TMP/$PKGNAME-$VERSION
	rm -rf $PKG
fi
##

# end ;-)
