#! /bin/bash
# definiamo alcune variabili contenenti la directory corrente e quella temporanea di lavoro:
CWD=`pwd`
if ["$TMP" = ""]; then
TMP=/tmp/tmp-xl2tpd
fi
PKG=$TMP/xl2tpd
#PKGslash=$(echo $PKG | sed 's/\//\\\//g')
# Settiamo qualche altra variabile per velocizzare il lavoro:
NAME=xl2tpd
VERSION=1.1.09
ARCH=i486
BUILD=1ld
if [ ! -d $TMP ]; then
mkdir -p $TMP # posizione dove creiamo il sorgente
fi
if [ ! -d $PKG ]; then
mkdir -p $PKG # posizione dove creiamo il package
fi
echo "+----------------+"
echo "| $NAME-$VERSION  |"
echo "+----------------+"
cd $TMP
# scompattiamo i sorgenti
tar xzf $CWD/$NAME-$VERSION.tar.gz
# Sistemiamo un po' di permessi
chown -R root:root .
find . -perm 777 -exec chmod 755 {} \; 
find . -perm 775 -exec chmod 755 {} \; 
find . -perm 555 -exec chmod 755 {} \; 
find . -perm 664 -exec chmod 644 {} \;
find . -perm 666 -exec chmod 644 {} \;
find . -perm 444 -exec chmod 644 {} \;
# compiliamo e passiamo a make il parametro DESTDIR la dir dove creiamo il package
#mkdir -p $PKG/etc/rc.d ## creo rc.d per non avere problemi nel make install
echo -e "\n ----- Compiliamo ----- \n"
cd $TMP/$NAME-$VERSION
make \
 MANDIR=/usr/man \
 DESTDIR=$PKG install
make \
 MANDIR=/usr/man \
 DESTDIR=$PKG install
# strippiamo gli eseguibili e le librerie
( cd $PKG
  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 . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs strip -g 2> /dev/null
)
# rinominiamo e spostiamo la cartella doc standard, nel caso venga creata in un path non corretto
# copiamo i file con informazioni da conservare della dir doc
mkdir -p $PKG/etc/rc.d
mkdir -p $PKG/etc/xl2tpd
mkdir -p $PKG/usr/doc/$NAME-$VERSION
cat $CWD/rc.xl2tpd > $PKG/etc/rc.d/rc.xl2tpd
cp -a -r doc examples BUGS CHANGES CREDITS LICENSE README TODO $PKG/usr/doc/$NAME-$VERSION/
FILE_CONF=`find ./doc/ -name "*.sample"`
for conf in $FILE_CONF
do
    cp $conf $PKG/etc/xl2tpd/$(basename $conf .sample).new
done
# gzippiamo le man pages
MAN_DIR=`find $PKG/usr/man/ -type f`
for man in $MAN_DIR
do
    gzip $man
done

# Puliamo la cartella doc da doppioni
rm $PKG/usr/doc/$NAME-$VERSION/doc/*.5
rm $PKG/usr/doc/$NAME-$VERSION/doc/*.8
rm $PKG/usr/doc/$NAME-$VERSION/doc/*.sample

# aggiungiamo la dir Install
mkdir -p $PKG/install
# impostiamo i permessi
chown -R root:root $PKG
chmod -R 644 $PKG/usr/doc/$NAME-$VERSION/*
chmod -R 644 $PKG/etc/*
chmod -R 744 $PKG/etc/rc.d/*

#chmod 644 $PKG/lib/modules/$NAME-$VERSION/kernel/extra/*
# permetto di accedere alle directory in doc
PERM_DOC=`find $PKG/usr/doc/$NAME-$VERSION/ -type d`
for dir in $PERM_DOC
do
    chmod +x $dir
done
# copiamo slack-desc in install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cat $CWD/slack-desc > $PKG/usr/doc/$NAME-$VERSION/slack-desc
cat $CWD/$NAME.SlackBuild > $PKG/usr/doc/$NAME-$VERSION/$NAME.SlackBuild
cd $PKG
# Creiamo il pacchetto con makepkg
requiredbuilder -v -y -s $CWD $PKG
makepkg -l y -c n $CWD/$NAME-$VERSION-$ARCH-$BUILD.tgz
# eliminiamo le dir di lavoro qualora avessimo eseguito lo SlackBuild con l'opzione --cleanup
if [ "$1" = "--cleanup" ]; then
rm -rf $TMP
fi
echo -e "\n"
echo -e "           \|||/          "
echo -e "           (o o)          "
echo -e "--------ooO-(_)-Ooo-------"
echo -e " by Diego @ www.slacky.eu "
echo -e "\n"
